Exemplo n.º 1
0
    def redo_compare_all_releases(self):
        """
            When problems in release comparisons are discovered, use this
            function in manual mode to recompute the release difference table.
        """
        all_releases = self.list_all_releases(self.motif_type)
        for i in xrange(len(all_releases)):
            release = all_releases[i]
            c1 = MotifCollection(release=release,type=self.motif_type)
            for j in xrange((i+1),len(all_releases)):
                print '%s vs %s' % (all_releases[i], all_releases[j])

                c2 = MotifCollection(release=all_releases[j],type=self.motif_type)
                logging.info('Comparing %s and %s' % (c1.release, c2.release))
                A = Uploader(ensembles=MotifCollectionMerger(c1,c2),
                             upload_mode='release_diff',
                             motif_type=self.motif_type)
                A.import_release()

                # set direct parent flag
                if j == i+1:
                    a = session.query(Release_diff).filter(Release_diff.release_id1==release)\
                                                   .filter(Release_diff.release_id2==all_releases[j])\
                                                   .first()
                    a.direct_parent = 1;
                    session.merge(a)
                    session.commit()
Exemplo n.º 2
0
 def import_motif_release(self):
     """
     """
     c1 = MotifCollection(file=self.f['MotifList'], type=self.motif_type)
     c2 = MotifCollection(release='latest', type=self.motif_type)
     A = Uploader(ensembles=MotifCollectionMerger(c1,c2),
                     mode=self.config['release_mode']['motifs'], #'minor',
                     description=self.f['description'],
                     files=self.f,
                     motif_type=self.motif_type)
     A.import_release()
Exemplo n.º 3
0
 def compare_all_releases(self):
     """
     """
     all_releases = self.list_all_releases(self.motif_type)
     if len(all_releases) <= 2:
         return
     all_releases = all_releases[2:]
     c1 = MotifCollection(release='latest',type=self.motif_type)
     for release in all_releases:
         c2 = MotifCollection(release=release,type=self.motif_type)
         logging.info('Comparing %s and %s' % (c1.release, c2.release))
         A = Uploader(ensembles=MotifCollectionMerger(c1,c2),
                      upload_mode='release_diff',
                      motif_type=self.motif_type)
         A.import_release()