예제 #1
0
파일: test_pairing.py 프로젝트: bcgsc/mavis
 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)
예제 #2
0
 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))
예제 #3
0
    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))
예제 #4
0
파일: test_pairing.py 프로젝트: bcgsc/mavis
    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)
예제 #5
0
 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))
예제 #6
0
 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))
예제 #7
0
 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))
예제 #8
0
    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))
예제 #9
0
파일: test_pairing.py 프로젝트: bcgsc/mavis
    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)
예제 #10
0
 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))
예제 #11
0
 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))
예제 #12
0
 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))
예제 #13
0
 def test_genome_protocol_diff_chrom(self):
     self.gev2.break1.chr = '2'
     self.assertFalse(
         pairing.equivalent(self.gev1, self.gev2, self.TRANSCRIPTS))
예제 #14
0
파일: test_pairing.py 프로젝트: bcgsc/mavis
 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)
예제 #15
0
파일: test_pairing.py 프로젝트: bcgsc/mavis
 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)
예제 #16
0
파일: test_pairing.py 프로젝트: bcgsc/mavis
 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)
예제 #17
0
파일: test_pairing.py 프로젝트: bcgsc/mavis
 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)