예제 #1
0
def test_lev():
    s0 = "CAAAAAAAAAAAAAAAATTTTTTTT"
    s1 = "CAAAAAAAAAAAAATTTTTTTTCGG"
    k = len(s0)
    x0 = basics.kmer(s0)
    x1 = basics.kmer(s1)
    assert basics.lev(k, x0, x1) == 3
예제 #2
0
def test_ham():
    random.seed(17)
    k = 25
    a = ''.join([random.choice("ACGT") for i in range(k)])
    b = ''.join([random.choice("ACGT") for i in range(k)])
    x = basics.kmer(a)
    y = basics.kmer(b)
    h = 0
    for i in range(k):
        if a[i] != b[i]:
            h += 1
    j = basics.ham(x, y)
    assert h == j
예제 #3
0
def test_kmers():
    s = "CCTCGTACGCCATATTTTCGCATTTCACGTACGTATTGTTTTTGCAACATAATTACCTATTCTCTTTTGGGGGGGGTTTTAGGCATTCCATTTAATNGCTTTTCTTTTAATGCATGGAGTTTTTCCCATTCATCCTTTGATATATTATCTTTACTTGCTTCGAAGTCTNTTGCTGTGAGATGTATATCTTCTGGATGGATTTGTTTACGTTCTTTTGTTACTGGATCTATAGTAAATGGAATCATTTCCTT"
    k = 25
    xs = list(basics.kmers(k, s, False))
    ys = []
    for i in range(len(s) - k + 1):
        y = basics.kmer(s[i:i + k])
        if y is not None:
            ys.append(y)
    assert xs == ys
예제 #4
0
def test_lcp():
    random.seed(17)
    k = 25
    a = ''.join([random.choice("ACGT") for i in range(k)])
    x = basics.kmer(a)
    y = x ^ (1 << 18)
    b = basics.render(k, y)
    h = 0
    for i in range(k):
        h = i
        if a[i] != b[i]:
            break
    j = basics.lcp(k, x, y)
    assert h == j
예제 #5
0
def test_rc_1():
    s = "CTTTTTTT"
    k = len(s)
    x = basics.kmer(s)
    y = basics.rc(k, x)
    assert y == 2
예제 #6
0
def test_kmer_CpolyA():
    s = "CAAAAAAAAAAAAAAAAAAAAAAAA"
    x = basics.kmer(s)
    assert x == (1 << 48)
예제 #7
0
def test_kmer_polyAT():
    s = "AAAAAAAAAAAAAAAAAAAAAAAAT"
    x = basics.kmer(s)
    assert x == 3
예제 #8
0
def test_kmer_polyAG():
    s = "AAAAAAAAAAAAAAAAAAAAAAAAG"
    x = basics.kmer(s)
    assert x == 2
예제 #9
0
def test_kmer_polyAC():
    s = "AAAAAAAAAAAAAAAAAAAAAAAAC"
    x = basics.kmer(s)
    assert x == 1
예제 #10
0
def test_kmer_polyA():
    s = "AAAAAAAAAAAAAAAAAAAAAAAAA"
    x = basics.kmer(s)
    assert x == 0
예제 #11
0
파일: spoligo.py 프로젝트: bwgoudey/zotmer
def probe(s):
    return (len(s), kmer(s))