def test_genome_protocol_by_split(self, genomic_event1, genomic_event2, transcripts, distances): genomic_event1.call_method = CALL_METHOD.SPLIT genomic_event2.call_method = CALL_METHOD.SPLIT assert pairing.equivalent(genomic_event1, genomic_event2, distances=distances) distances[CALL_METHOD.FLANK] = 100 distances[CALL_METHOD.SPLIT] = 10 genomic_event1.break1.start = 11 genomic_event1.break1.end = 20 assert not pairing.equivalent(genomic_event1, genomic_event2, distances=distances)
def test_genome_protocol_by_split(self): self.gev1.call_method = CALL_METHOD.SPLIT self.gev2.call_method = CALL_METHOD.SPLIT self.assertTrue( pairing.equivalent(self.gev1, self.gev2, distances=self.distances)) self.distances[CALL_METHOD.FLANK] = 100 self.distances[CALL_METHOD.SPLIT] = 10 self.gev1.break1.start = 11 self.gev1.break1.end = 20 self.assertFalse( pairing.equivalent(self.gev1, self.gev2, distances=self.distances))
def test_genome_protocol_by_contig(self): self.gev1.call_method = CALL_METHOD.CONTIG self.gev2.call_method = CALL_METHOD.CONTIG self.distances[CALL_METHOD.CONTIG] = 0 self.distances[CALL_METHOD.SPLIT] = 10 self.assertTrue( pairing.equivalent(self.gev1, self.gev2, distances=self.distances)) self.gev1.break1.start = 2 self.gev1.break1.end = 20 self.assertFalse( pairing.equivalent(self.gev1, self.gev2, distances=self.distances))
def test_genome_protocol_by_contig( self, genomic_event1, genomic_event2, transcripts, distances ): genomic_event1.call_method = CALL_METHOD.CONTIG genomic_event2.call_method = CALL_METHOD.CONTIG distances[CALL_METHOD.CONTIG] = 0 distances[CALL_METHOD.SPLIT] = 10 assert pairing.equivalent(genomic_event1, genomic_event2, distances=distances) genomic_event1.break1.start = 2 genomic_event1.break1.end = 20 assert not pairing.equivalent(genomic_event1, genomic_event2, distances=distances)
def test_mixed_protocol_fusions_same_sequence(self): genome_ev = BreakpointPair(Breakpoint('1', 1), Breakpoint('1', 10), opposing_strands=True, data={ COLUMNS.event_type: SVTYPE.DEL, COLUMNS.call_method: CALL_METHOD.CONTIG, COLUMNS.fusion_sequence_fasta_id: None, COLUMNS.protocol: PROTOCOL.GENOME, COLUMNS.transcript1: None, COLUMNS.transcript2: None, COLUMNS.fusion_cdna_coding_start: 1, COLUMNS.fusion_cdna_coding_end: 10 }) trans_ev = BreakpointPair(Breakpoint('1', 50), Breakpoint('1', 60), opposing_strands=True, data={ COLUMNS.event_type: SVTYPE.DEL, COLUMNS.call_method: CALL_METHOD.CONTIG, COLUMNS.fusion_sequence_fasta_id: None, COLUMNS.protocol: PROTOCOL.TRANS, COLUMNS.transcript1: None, COLUMNS.transcript2: None, COLUMNS.fusion_cdna_coding_start: 1, COLUMNS.fusion_cdna_coding_end: 10 }) self.assertFalse( pairing.equivalent(genome_ev, trans_ev, self.TRANSCRIPTS)) genome_ev.data[COLUMNS.fusion_sequence_fasta_id] = 'a' trans_ev.data[COLUMNS.fusion_sequence_fasta_id] = 'a' self.assertTrue( pairing.inferred_equivalent(genome_ev, trans_ev, self.TRANSCRIPTS))
def test_useq_uncertainty(self): event1 = BreakpointPair(Breakpoint('1', 157540650, orient='L'), Breakpoint('1', 157540877, orient='R'), event_type='deletion', call_method='contig', untemplated_seq='GCCTGGCCGCA') event2 = BreakpointPair(Breakpoint('1', 157540661, orient='L'), Breakpoint('1', 157540877, orient='R'), event_type='deletion', call_method='spanning reads') self.assertTrue(pairing.equivalent(event1, event2))
def test_useq_uncertainty2(self): event1 = BreakpointPair(Breakpoint('1', 32, orient='L'), Breakpoint('1', 61, orient='R'), event_type='deletion', call_method='contig', untemplated_seq='A') event2 = BreakpointPair(Breakpoint('1', 24, orient='L'), Breakpoint('1', 61, orient='R'), event_type='deletion', call_method='contig', untemplated_seq='TTTTTTTTT') self.assertTrue(pairing.equivalent(event1, event2))
def test_mixed_protocol_one_predicted_one_mismatch(self): genome_ev = BreakpointPair( Breakpoint('1', 350, orient=ORIENT.LEFT), Breakpoint('1', 400, orient=ORIENT.RIGHT), opposing_strands=False, data={ COLUMNS.event_type: SVTYPE.DEL, COLUMNS.call_method: CALL_METHOD.CONTIG, COLUMNS.fusion_sequence_fasta_id: None, COLUMNS.protocol: PROTOCOL.GENOME, COLUMNS.transcript1: self.ust1.name, COLUMNS.transcript2: None, }, ) trans_ev = BreakpointPair( Breakpoint('1', 350, orient=ORIENT.LEFT), Breakpoint('1', 400, orient=ORIENT.RIGHT), opposing_strands=False, data={ COLUMNS.event_type: SVTYPE.DEL, COLUMNS.call_method: CALL_METHOD.CONTIG, COLUMNS.fusion_sequence_fasta_id: None, COLUMNS.protocol: PROTOCOL.TRANS, COLUMNS.transcript1: self.ust1.name, COLUMNS.transcript2: None, }, ) self.assertTrue( pairing.equivalent(genome_ev, trans_ev, self.TRANSCRIPTS)) self.assertTrue( pairing.equivalent(trans_ev, genome_ev, self.TRANSCRIPTS)) genome_ev.data[COLUMNS.transcript2] = self.ust1.name genome_ev.data[COLUMNS.transcript1] = None trans_ev.data[COLUMNS.transcript2] = self.ust1.name trans_ev.data[COLUMNS.transcript1] = None self.assertTrue( pairing.inferred_equivalent(genome_ev, trans_ev, self.TRANSCRIPTS)) self.assertTrue( pairing.inferred_equivalent(trans_ev, genome_ev, self.TRANSCRIPTS))
def test_mixed_protocol_one_predicted_one_mismatch( self, genomic_event1, genomic_event2, transcripts, unspliced_transcript1 ): genome_ev = BreakpointPair( Breakpoint('1', 350, orient=ORIENT.LEFT), Breakpoint('1', 400, orient=ORIENT.RIGHT), opposing_strands=False, **{ COLUMNS.event_type: SVTYPE.DEL, COLUMNS.call_method: CALL_METHOD.CONTIG, COLUMNS.fusion_sequence_fasta_id: None, COLUMNS.protocol: PROTOCOL.GENOME, COLUMNS.transcript1: unspliced_transcript1.name, COLUMNS.transcript2: None, }, ) trans_ev = BreakpointPair( Breakpoint('1', 350, orient=ORIENT.LEFT), Breakpoint('1', 400, orient=ORIENT.RIGHT), opposing_strands=False, **{ COLUMNS.event_type: SVTYPE.DEL, COLUMNS.call_method: CALL_METHOD.CONTIG, COLUMNS.fusion_sequence_fasta_id: None, COLUMNS.protocol: PROTOCOL.TRANS, COLUMNS.transcript1: unspliced_transcript1.name, COLUMNS.transcript2: None, }, ) assert pairing.equivalent(genome_ev, trans_ev, transcripts) assert pairing.equivalent(trans_ev, genome_ev, transcripts) genome_ev.data[COLUMNS.transcript2] = unspliced_transcript1.name genome_ev.data[COLUMNS.transcript1] = None trans_ev.data[COLUMNS.transcript2] = unspliced_transcript1.name trans_ev.data[COLUMNS.transcript1] = None assert pairing.inferred_equivalent(genome_ev, trans_ev, transcripts) assert pairing.inferred_equivalent(trans_ev, genome_ev, transcripts)
def test_genome_protocol_ns_orient(self): self.gev2.break1.orient = ORIENT.LEFT self.gev1.break2.orient = ORIENT.RIGHT self.assertTrue( pairing.equivalent(self.gev1, self.gev2, self.TRANSCRIPTS))
def test_genome_protocol_diff_event_type(self): self.gev2.data[COLUMNS.event_type] = SVTYPE.DEL self.gev1.data[COLUMNS.event_type] = SVTYPE.INS self.assertFalse( pairing.equivalent(self.gev1, self.gev2, self.TRANSCRIPTS))
def test_genome_protocol_diff_strand(self): self.gev2.break1.strand = STRAND.POS self.gev1.break1.strand = STRAND.NEG self.assertFalse( pairing.equivalent(self.gev1, self.gev2, self.TRANSCRIPTS))
def test_genome_protocol_diff_chrom(self): self.gev2.break1.chr = '2' self.assertFalse( pairing.equivalent(self.gev1, self.gev2, self.TRANSCRIPTS))
def test_genome_protocol_ns_orient(self, genomic_event1, genomic_event2, transcripts): genomic_event2.break1.orient = ORIENT.LEFT genomic_event1.break2.orient = ORIENT.RIGHT assert pairing.equivalent(genomic_event1, genomic_event2, transcripts)
def test_genome_protocol_diff_event_type(self, genomic_event1, genomic_event2, transcripts): genomic_event2.data[COLUMNS.event_type] = SVTYPE.DEL genomic_event1.data[COLUMNS.event_type] = SVTYPE.INS assert not pairing.equivalent(genomic_event1, genomic_event2, transcripts)
def test_genome_protocol_diff_strand(self, genomic_event1, genomic_event2, transcripts): genomic_event2.break1.strand = STRAND.POS genomic_event1.break1.strand = STRAND.NEG assert not pairing.equivalent(genomic_event1, genomic_event2, transcripts)
def test_genome_protocol_diff_chrom(self, genomic_event1, genomic_event2, transcripts): genomic_event2.break1.chr = '2' assert not pairing.equivalent(genomic_event1, genomic_event2, transcripts)