Beispiel #1
0
 def test_id_given(self):
     self.tra.id = 'thing-1'
     bpp_list = _convert_tool_row(
         _parse_vcf_record(self.tra)[0], SUPPORTED_TOOL.VCF, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertEqual('vcf-thing-1', bpp.data[COLUMNS.tracking_id])
Beispiel #2
0
 def test_N_id(self):
     self.tra.id = 'N'
     bpp_list = _convert_tool_row(
         _parse_vcf_record(self.tra)[0], SUPPORTED_TOOL.VCF, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertTrue(bpp.data[COLUMNS.tracking_id])
     self.assertNotEqual('N', bpp.data[COLUMNS.tracking_id])
Beispiel #3
0
 def test_no_ci(self):
     bpp_list = _convert_tool_row(
         _parse_vcf_record(self.tra)[0], SUPPORTED_TOOL.VCF, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertEqual(21673582, bpp.break1.start)
     self.assertEqual(21673582, bpp.break1.end)
     self.assertEqual(58921502, bpp.break2.start)
     self.assertEqual(58921502, bpp.break2.end)
Beispiel #4
0
 def test_ci(self):
     self.tra.info.update({'CIEND': [-700, 700], 'CIPOS': [-700, 700]})
     bpp_list = _convert_tool_row(
         _parse_vcf_record(self.tra)[0], SUPPORTED_TOOL.VCF, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     print(bpp)
     self.assertEqual(21673582 - 700, bpp.break1.start)
     self.assertEqual(21673582 + 700, bpp.break1.end)
     self.assertEqual(58921502 - 700, bpp.break2.start)
     self.assertEqual(58921502 + 700, bpp.break2.end)
Beispiel #5
0
 def testMalformated(self):
     event = Mock(
         chrom='1',
         pos=53678660,
         id=None,
         info={'SVTYPE': 'BND'},
         ref='C',
         alts=('CTTTTAAATGTAACATGACATAATATATTTCCTAAATAATTTAAAATAATC.', ),
         stop=53678660)
     with self.assertRaises(NotImplementedError):
         _convert_tool_row(
             _parse_vcf_record(event)[0], SUPPORTED_TOOL.STRELKA, False)
Beispiel #6
0
    def test_convert_insertion(self):
        row = Mock(chrom='1',
                   pos=247760043,
                   id='1DEL00000330',
                   info={
                       'SVTYPE': 'INS',
                       'CT': 'NtoN',
                       'CHR2': '1',
                       'CIEND': [-10, 10],
                       'CIPOS': [-10, 10]
                   },
                   stop=247760044,
                   alts=[])
        bpp_list = _convert_tool_row(
            _parse_vcf_record(row)[0], SUPPORTED_TOOL.DELLY, False)
        self.assertEqual(1, len(bpp_list))
        bpp = bpp_list[0]
        self.assertEqual('1', bpp.break1.chr)
        self.assertEqual(247760043 - 10, bpp.break1.start)
        self.assertEqual(247760043 + 10, bpp.break1.end)
        self.assertEqual(ORIENT.LEFT, bpp.break1.orient)
        self.assertEqual(STRAND.NS, bpp.break1.strand)
        self.assertEqual(247760044 - 10, bpp.break2.start)
        self.assertEqual(247760044 + 10, bpp.break2.end)
        self.assertEqual(ORIENT.RIGHT, bpp.break2.orient)
        self.assertEqual(STRAND.NS, bpp.break2.strand)
        self.assertEqual('1', bpp.break2.chr)
        self.assertEqual(SVTYPE.INS, bpp.event_type)
        self.assertEqual(None, bpp.untemplated_seq)

        bpp_list = _convert_tool_row(_parse_vcf_record(row)[0],
                                     SUPPORTED_TOOL.DELLY,
                                     False,
                                     assume_no_untemplated=True)
        self.assertEqual(1, len(bpp_list))
        bpp = bpp_list[0]
        self.assertEqual(None, bpp.untemplated_seq)
        self.assertNotEqual('', bpp.untemplated_seq)
Beispiel #7
0
 def test_precise_flag_ignores_ci(self):
     self.tra.info.update({
         'CIEND': [-700, 700],
         'CIPOS': [-700, 700],
         'PRECISE': True
     })
     bpp_list = _convert_tool_row(
         _parse_vcf_record(self.tra)[0], SUPPORTED_TOOL.VCF, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertEqual(21673582, bpp.break1.start)
     self.assertEqual(21673582, bpp.break1.end)
     self.assertEqual(58921502, bpp.break2.start)
     self.assertEqual(58921502, bpp.break2.end)
Beispiel #8
0
 def test_convert_convert_translocation(self):
     row = Mock(chrom='7',
                pos=21673582,
                id='TRA00016056',
                info={
                    'SVTYPE': 'TRA',
                    'CT': '5to5',
                    'CIEND': [-700, 700],
                    'CIPOS': [-700, 700],
                    'CHR2': '2'
                },
                stop=58921502,
                alts=[])
     bpp_list = _convert_tool_row(
         _parse_vcf_record(row)[0], SUPPORTED_TOOL.DELLY, False)
     for b in bpp_list:
         print(b)
     self.assertEqual(1, len(bpp_list))
     row.info['CT'] = 'NtoN'
     bpp_list = _convert_tool_row(
         _parse_vcf_record(row)[0], SUPPORTED_TOOL.DELLY, False)
     for b in bpp_list:
         print(b)
     self.assertEqual(4, len(bpp_list))
Beispiel #9
0
 def testDeletion(self):
     event = Mock(chrom='1',
                  pos=1265353,
                  id=None,
                  info={},
                  ref='GCGTGTGCCATGCA',
                  stop=1265366,
                  alts=('G', ))
     bpp_list = _convert_tool_row(
         _parse_vcf_record(event)[0], SUPPORTED_TOOL.STRELKA, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertEqual(1265353, bpp.break1.start)
     self.assertEqual(1265353, bpp.break1.end)
     self.assertEqual(1265366, bpp.break2.start)
     self.assertEqual(1265366, bpp.break2.end)
     self.assertEqual(SVTYPE.DEL, bpp.event_type)
Beispiel #10
0
 def testInsertion(self):
     event = Mock(chrom='1',
                  pos=724986,
                  id=None,
                  info={},
                  ref='G',
                  stop=724986,
                  alts=('GGAATT', ))
     bpp_list = _convert_tool_row(
         _parse_vcf_record(event)[0], SUPPORTED_TOOL.STRELKA, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertEqual(724986, bpp.break1.start)
     self.assertEqual(724986, bpp.break1.end)
     self.assertEqual(724986, bpp.break2.start)
     self.assertEqual(724986, bpp.break2.end)
     self.assertEqual(SVTYPE.INS, bpp.event_type)
Beispiel #11
0
 def test_convert_duplication(self):
     row = Mock(chrom='1',
                pos=224646602,
                id='MantaDUP:TANDEM:22477:0:1:0:9:0',
                info={
                    'SVTYPE': 'DUP',
                    'SVINSSEQ': 'CAAAACTTACTATAGCAGTTCTGTGAGCTGCTCTAGC'
                },
                stop=224800120,
                alts=[])
     bpp_list = _convert_tool_row(
         _parse_vcf_record(row)[0], SUPPORTED_TOOL.MANTA, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertEqual('1', bpp.break1.chr)
     self.assertEqual('1', bpp.break2.chr)
     self.assertEqual('manta-MantaDUP:TANDEM:22477:0:1:0:9:0',
                      bpp.tracking_id)
Beispiel #12
0
 def test_convert_deletion(self):
     row = Mock(chrom='21',
                pos=9412306,
                id='MantaDEL:20644:0:2:0:0:0',
                info={
                    'SVTYPE': 'DEL',
                    'CIPOS': [0, 4],
                    'CIEND': [0, 4]
                },
                stop=9412400,
                alts=[])
     bpp_list = _convert_tool_row(
         _parse_vcf_record(row)[0], SUPPORTED_TOOL.MANTA, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertEqual('21', bpp.break1.chr)
     self.assertEqual(9412306, bpp.break1.start)
     self.assertEqual(9412310, bpp.break1.end)
     self.assertEqual(9412400, bpp.break2.start)
     self.assertEqual(9412404, bpp.break2.end)
     self.assertEqual('21', bpp.break2.chr)
     print(bpp, bpp.tracking_id)
     self.assertEqual('manta-MantaDEL:20644:0:2:0:0:0', bpp.tracking_id)
Beispiel #13
0
 def test_convert_inversion(self):
     row = Mock(chrom='21',
                pos=9412306,
                info={'SVTYPE': 'INV'},
                stop=9412400,
                id=None,
                alts=[])
     bpp_list = _convert_tool_row(
         _parse_vcf_record(row)[0], SUPPORTED_TOOL.PINDEL, False)
     self.assertEqual(2, len(bpp_list))
     bpp = sorted(bpp_list, key=lambda x: x.break1)[0]
     self.assertEqual('21', bpp.break1.chr)
     self.assertEqual('21', bpp.break2.chr)
     self.assertEqual(SVTYPE.INV, bpp.event_type)
     self.assertEqual(row.pos, bpp.break1.start)
     self.assertEqual(row.pos, bpp.break1.end)
     self.assertEqual(row.stop, bpp.break2.start)
     self.assertEqual(row.stop, bpp.break2.end)
     self.assertEqual(ORIENT.LEFT, bpp.break1.orient)
     self.assertEqual(STRAND.NS, bpp.break1.strand)
     self.assertEqual(ORIENT.LEFT, bpp.break2.orient)
     self.assertEqual(STRAND.NS, bpp.break2.strand)
     self.assertEqual(False, bpp.stranded)
     self.assertEqual(True, bpp.opposing_strands)
Beispiel #14
0
 def test_convert_deletion(self):
     row = Mock(chrom='21',
                pos=9412306,
                info={'SVTYPE': 'DEL'},
                stop=9412400,
                id=None,
                alts=[])
     bpp_list = _convert_tool_row(
         _parse_vcf_record(row)[0], SUPPORTED_TOOL.PINDEL, False)
     self.assertEqual(1, len(bpp_list))
     bpp = bpp_list[0]
     self.assertEqual('21', bpp.break1.chr)
     self.assertEqual('21', bpp.break2.chr)
     self.assertEqual(SVTYPE.DEL, bpp.event_type)
     self.assertEqual(row.pos, bpp.break1.start)
     self.assertEqual(row.pos, bpp.break1.end)
     self.assertEqual(row.stop, bpp.break2.start)
     self.assertEqual(row.stop, bpp.break2.end)
     self.assertEqual(ORIENT.LEFT, bpp.break1.orient)
     self.assertEqual(STRAND.NS, bpp.break1.strand)
     self.assertEqual(ORIENT.RIGHT, bpp.break2.orient)
     self.assertEqual(STRAND.NS, bpp.break2.strand)
     self.assertEqual(False, bpp.stranded)
     self.assertEqual(False, bpp.opposing_strands)