def test_changed_max_gap_length(self): record = create_fake_record() json = cassis.CassisResults(record.id).to_json() assert isinstance(cassis.regenerate_previous_results(json, record, None), cassis.CassisResults) cassis.MAX_GAP_LENGTH += 1 assert cassis.regenerate_previous_results(json, record, None) is None
def test_changed_max_percentage(self): record = create_fake_record() json = cassis.CassisResults(record.id).to_json() assert isinstance(cassis.regenerate_previous_results(json, record, None), cassis.CassisResults) cassis.MAX_PERCENTAGE += 5 assert cassis.regenerate_previous_results(json, record, None) is None
def test_not_same_record(self): record = create_fake_record() record.id = "A" other = create_fake_record() other.id = "B" json = cassis.CassisResults(record.id).to_json() assert isinstance(cassis.regenerate_previous_results(json, record, None), cassis.CassisResults) assert cassis.regenerate_previous_results(json, other, None) is None
def test_regeneration(self): record = create_fake_record() results = cassis.CassisResults(record.id) # create a prediction, since it will generate a border with many extra qualifiers start_marker = ClusterMarker("gene1", Motif(3, 3, score=1)) start_marker.promoter = "gene1" start_marker.abundance = 2 end_marker = ClusterMarker("gene4", Motif(3, 3, score=1)) end_marker.promoter = "gene3+gene4" assert end_marker.abundance == 1 cluster = cassis.ClusterPrediction(start_marker, end_marker) results.subregions = cassis.create_subregions("gene1", [cluster], record) assert results.subregions results.promoters = [ Promoter("gene1", 10, 20, seq=Seq("cgtacgtacgt")), Promoter("gene2", 30, 40, seq=Seq("cgtacgtacgt")), CombinedPromoter("gene3", "gene4", 50, 60, seq=Seq("cgtacgtacgt")) ] round_trip = cassis.regenerate_previous_results( results.to_json(), record, None) assert isinstance(round_trip, cassis.CassisResults) assert len(results.subregions) == len(round_trip.subregions) for old, new in zip(results.subregions, round_trip.subregions): assert old.location == new.location assert old.to_biopython()[0].qualifiers == new.to_biopython( )[0].qualifiers assert round_trip.promoters == results.promoters