def test_variant_window(prefix, cigar, refrwindow, altwindow): qfile = data_file(prefix + '.contig.fa') tfile = data_file(prefix + '.gdna.fa') qinstream = kevlar.parse_augmented_fastx(kevlar.open(qfile, 'r')) query = [record for record in qinstream][0] target = [record for record in khmer.ReadParser(tfile)][0] variants = make_call(target, query, cigar, 21) assert len(variants) == 1 assert variants[0].window == altwindow assert variants[0].refrwindow == refrwindow
def test_call_ssc_1bpdel(): """Test 1bp deletion""" qfile = data_file('ssc218.contig.augfasta') tfile = data_file('ssc218.gdna.fa') qinstream = kevlar.parse_augmented_fastx(kevlar.open(qfile, 'r')) query = [record for record in qinstream][0] target = [record for record in khmer.ReadParser(tfile)][0] variants = make_call(target, query, '50D132M1D125M50D', 31) assert isinstance(variants, list) assert len(variants) == 1 assert str(variants[0]) == '6:23230160:1D'
def test_nocall(): # Intentionally mismatched qfile = data_file('phony-deletion-01.contig.fa') tfile = data_file('phony-insertion-01.gdna.fa') qinstream = kevlar.parse_augmented_fastx(kevlar.open(qfile, 'r')) query = [record for record in qinstream][0] target = [record for record in khmer.ReadParser(tfile)][0] variants = make_call(target, query, '25D5M22I5M46D8M13D2M35I', 21) assert len(variants) == 1 assert variants[0].vcf == ( 'yourchr\t801\t.\t.\t.\t.\t.\t' 'CG=25D5M22I5M46D8M13D2M35I;NC=inscrutablecigar;QN=contig4:cc=1;' 'QS=AACTGGTGGGCTCAAGACTAAAAAGACTTTTTTGGTGACAAGCAGGGCGGCCTGCCCTTCCTGTAG' 'TGCAAGAAAAT')
def test_call_ssc_two_proximal_snvs(): """ Test two proximal SNVs Currently this serves as a negative control for calling isolated SNVs, but distinguishing which (if any) of a set of proximal SNVs is novel will be supported soon, and this test will need to be updated. """ qfile = data_file('ssc107.contig.augfasta.gz') tfile = data_file('ssc107.gdna.fa.gz') qinstream = kevlar.parse_augmented_fastx(kevlar.open(qfile, 'r')) query = [record for record in qinstream][0] target = [record for record in khmer.ReadParser(tfile)][0] variants = make_call(target, query, '25D263M25D', 31) assert len(variants) == 2