Ejemplo n.º 1
0
def test_standard_profile_nonhomo_and_homologous(PF03373):
    with open_hmmer(PF03373) as reader:
        hmmer = create_profile(reader.read_profile())

    alphabet = hmmer.alphabet
    seq = Sequence(b"KKKPGKEDNNK", alphabet)
    assert_equal(hmmer.multiple_hits, True)
    r = hmmer.search(seq)
    assert_allclose(r.loglikelihood, 10.707618955640605)
    frags = r.fragments
    assert_equal(len(frags), 2)
    assert_equal(frags[0].homologous, False)
    assert_equal(frags[0].sequence.symbols, b"KKK")
    assert_equal(frags[1].homologous, True)
    assert_equal(frags[1].sequence.symbols, b"PGKEDNNK")

    hmmer.multiple_hits = False
    assert_equal(hmmer.multiple_hits, False)
    r = hmmer.search(seq)
    assert_allclose(r.loglikelihood, 10.96037578075283)
    frags = r.fragments
    assert_equal(len(frags), 2)
    assert_equal(frags[0].homologous, False)
    assert_equal(frags[0].sequence.symbols, b"KKK")
    assert_equal(frags[1].homologous, True)
    assert_equal(frags[1].sequence.symbols, b"PGKEDNNK")
Ejemplo n.º 2
0
def test_standard_profile_unihit_homologous_3(PF03373):
    with open_hmmer(PF03373) as reader:
        hmmer = create_profile(reader.read_profile())

    alphabet = hmmer.alphabet
    seq = Sequence(b"PGKEPNNK", alphabet)
    r = hmmer.search(seq)
    assert_allclose(r.loglikelihood, 6.883636719423446)
    frags = r.fragments
    assert_equal(len(frags), 1)
    frag = frags[0]
    assert_equal(frag.homologous, True)
    assert_equal(frag.sequence.symbols, seq.symbols)
Ejemplo n.º 3
0
def test_standard_profile_unihit_homologous_2(PF03373):
    with open_hmmer(PF03373) as reader:
        hmmer = create_profile(reader.read_profile())

    alphabet = hmmer.alphabet
    seq = Sequence(b"PGKENNK", alphabet)
    r = hmmer.search(seq)
    assert_allclose(r.loglikelihood, 3.299501501364073)
    frags = r.fragments
    assert_equal(len(frags), 1)
    frag = frags[0]
    assert_equal(frag.homologous, True)
    assert_equal(frag.sequence.symbols, seq.symbols)
    assert_equal(str(frag), "[PGKENNK]")
Ejemplo n.º 4
0
def test_standard_profile_unihit_homologous_1(PF03373):
    with open_hmmer(PF03373) as reader:
        hmmer = create_profile(reader.read_profile())

    alphabet = hmmer.alphabet
    most_likely_seq = Sequence(b"PGKEDNNK", alphabet)
    r = hmmer.search(most_likely_seq)

    assert_allclose(r.loglikelihood, 11.867796719423442)
    frags = r.fragments
    assert_equal(len(frags), 1)
    frag = frags[0]
    assert_equal(frag.homologous, True)
    assert_equal(frag.sequence.symbols, most_likely_seq.symbols)

    hmmer.multiple_hits = False
    r = hmmer.search(most_likely_seq)
    assert_allclose(r.loglikelihood, 11.94063404337571)
    frags = r.fragments
    assert_equal(len(frags), 1)
    frag = frags[0]
    assert_equal(frag.homologous, True)
    assert_equal(frag.sequence.symbols, most_likely_seq.symbols)
Ejemplo n.º 5
0
def test_standard_profile_multihit_homologous1(PF03373):
    with open_hmmer(PF03373) as reader:
        hmmer = create_profile(reader.read_profile())

    alphabet = hmmer.alphabet
    seq = Sequence(b"PPPPGKEDNNKDDDPGKEDNNKEEEE", alphabet)
    r = hmmer.search(seq)
    assert_allclose(r.loglikelihood, 20.329227532144742)
    frags = r.fragments
    assert_equal(len(frags), 5)
    assert_equal(frags[0].homologous, False)
    assert_equal(frags[0].sequence.symbols, b"PPP")
    assert_equal(frags[1].homologous, True)
    assert_equal(frags[1].sequence.symbols, b"PGKEDNNK")
    assert_equal(frags[2].homologous, False)
    assert_equal(frags[2].sequence.symbols, b"DDD")
    assert_equal(frags[3].homologous, True)
    assert_equal(frags[3].sequence.symbols, b"PGKEDNNK")
    assert_equal(frags[4].homologous, False)
    assert_equal(frags[4].sequence.symbols, b"EEEE")

    items = list(frags[0].items())

    assert_equal(items[0][0], b"")
    assert_equal(str(items[0][1]), "<S,0>")
    assert_equal(items[1][0], b"P")
    assert_equal(str(items[1][1]), "<N,1>")
    assert_equal(items[2][0], b"P")
    assert_equal(str(items[2][1]), "<N,1>")
    assert_equal(items[3][0], b"P")
    assert_equal(str(items[3][1]), "<N,1>")
    assert_equal(items[4][0], b"")
    assert_equal(str(items[4][1]), "<B,0>")

    items = list(frags[1].items())

    assert_equal(items[0][0], b"P")
    assert_equal(str(items[0][1]), "<M1,1>")
    assert_equal(items[1][0], b"G")
    assert_equal(str(items[1][1]), "<M2,1>")
    assert_equal(items[2][0], b"K")
    assert_equal(str(items[2][1]), "<M3,1>")
    assert_equal(items[3][0], b"E")
    assert_equal(str(items[3][1]), "<M4,1>")
    assert_equal(items[4][0], b"D")
    assert_equal(str(items[4][1]), "<M5,1>")
    assert_equal(items[5][0], b"N")
    assert_equal(str(items[5][1]), "<M6,1>")
    assert_equal(items[6][0], b"N")
    assert_equal(str(items[6][1]), "<M7,1>")
    assert_equal(items[7][0], b"K")
    assert_equal(str(items[7][1]), "<M8,1>")

    hmmer.multiple_hits = False
    r = hmmer.search(seq)
    assert_allclose(r.loglikelihood, 8.666478660222928)
    frags = r.fragments
    assert_equal(len(frags), 3)
    assert_equal(frags[0].homologous, False)
    assert_equal(frags[1].homologous, True)
    assert_equal(frags[1].sequence.symbols, b"PGKEDNNK")
    assert_equal(frags[2].homologous, False)