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()
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()
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()