Beispiel #1
0
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
Beispiel #2
0
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'
Beispiel #3
0
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')
Beispiel #4
0
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