forked from biopython/biopython
/
test_SearchIO_hmmer3_domtab_index.py
83 lines (65 loc) · 5.33 KB
/
test_SearchIO_hmmer3_domtab_index.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Copyright 2012 by Wibowo Arindrarto. All rights reserved.
# This code is part of the Biopython distribution and governed by its
# license. Please see the LICENSE file that should have been included
# as part of this package.
"""Tests for SearchIO hmmer3-domtab indexing."""
import os
import unittest
from search_tests_common import CheckRaw, CheckIndex
class HmmerDomtabRawCases(CheckRaw):
fmt = "hmmscan3-domtab"
def test_hmmerdomtab_30_multiple_first(self):
"""Test hmmscan-domtab raw string retrieval, HMMER 3.0, multiple queries, first (domtab_30_hmmscan_001.out)."""
filename = os.path.join("Hmmer", "domtab_30_hmmscan_001.out")
raw = """Globin PF00042.17 108 gi|4885477|ref|NP_005359.1| - 154 6e-21 74.6 0.3 1 1 6.7e-25 9.2e-21 74.0 0.2 1 107 7 112 7 113 0.97 Globin
"""
self.check_raw(filename, "gi|4885477|ref|NP_005359.1|", raw)
def test_hmmerdomtab_30_multiple_middle(self):
"""Test hmmscan-domtab raw string retrieval, HMMER 3.0, multiple queries, middle (domtab_30_hmmscan_001.out)."""
filename = os.path.join("Hmmer", "domtab_30_hmmscan_001.out")
raw = """Ig_3 PF13927.1 75 gi|126362951:116-221 - 106 1.4e-09 38.2 0.4 1 1 3e-13 2.1e-09 37.6 0.3 1 73 9 84 9 88 0.94 Immunoglobulin domain
Ig_2 PF13895.1 80 gi|126362951:116-221 - 106 3.5e-05 23.7 0.1 1 1 6.2e-09 4.3e-05 23.4 0.1 1 80 9 104 9 104 0.71 Immunoglobulin domain
"""
self.check_raw(filename, "gi|126362951:116-221", raw)
def test_hmmerdomtab_30_multiple_last(self):
"""Test hmmscan-domtab raw string retrieval, HMMER 3.0, multiple queries, last (domtab_30_hmmscan_001.out)."""
filename = os.path.join("Hmmer", "domtab_30_hmmscan_001.out")
raw = """Pou PF00157.12 75 gi|125490392|ref|NP_038661.2| - 352 7e-37 124.8 0.5 1 1 5e-40 1.4e-36 123.9 0.3 3 75 133 205 131 205 0.97 Pou domain - N-terminal to homeobox domain
Homeobox PF00046.24 57 gi|125490392|ref|NP_038661.2| - 352 2.1e-18 65.5 1.1 1 1 1.5e-21 4.1e-18 64.6 0.7 1 57 224 280 224 280 0.98 Homeobox domain
HTH_31 PF13560.1 64 gi|125490392|ref|NP_038661.2| - 352 0.012 15.6 0.0 1 2 5.7e-05 0.16 12.0 0.0 1 35 141 181 141 184 0.96 Helix-turn-helix domain
HTH_31 PF13560.1 64 gi|125490392|ref|NP_038661.2| - 352 0.012 15.6 0.0 2 2 0.19 5.2e+02 0.8 0.0 39 62 245 268 243 270 0.86 Helix-turn-helix domain
Homeobox_KN PF05920.6 40 gi|125490392|ref|NP_038661.2| - 352 0.039 13.5 0.0 1 1 3.5e-05 0.095 12.3 0.0 7 39 244 276 241 277 0.91 Homeobox KN domain
DUF521 PF04412.8 400 gi|125490392|ref|NP_038661.2| - 352 0.14 10.5 0.1 1 1 9.4e-05 0.26 9.6 0.1 273 334 221 280 197 294 0.77 Protein of unknown function (DUF521)
"""
self.check_raw(filename, "gi|125490392|ref|NP_038661.2|", raw)
def test_hmmerdomtab_30_single(self):
"""Test hmmscan-domtab raw string retrieval, HMMER 3.0, single query (domtab_30_hmmscan_004.out)."""
filename = os.path.join("Hmmer", "domtab_30_hmmscan_004.out")
raw = """Ig_3 PF13927.1 75 gi|126362951:116-221 - 106 1.4e-09 38.2 0.4 1 1 3e-13 2.1e-09 37.6 0.3 1 73 9 84 9 88 0.94 Immunoglobulin domain
Ig_2 PF13895.1 80 gi|126362951:116-221 - 106 3.5e-05 23.7 0.1 1 1 6.2e-09 4.3e-05 23.4 0.1 1 80 9 104 9 104 0.71 Immunoglobulin domain
"""
self.check_raw(filename, "gi|126362951:116-221", raw)
class HmmerDomtabIndexCases(CheckIndex):
def test_hmmerdomtab_30_hmmscan_001(self):
"""Test hmmscan-domtab indexing, HMMER 3.0, multiple queries."""
filename = os.path.join("Hmmer", "domtab_30_hmmscan_001.out")
self.check_index(filename, "hmmscan3-domtab")
def test_hmmerdomtab_30_hmmscan_002(self):
"""Test hmmscan-domtab indexing, HMMER 3.0, single query, no hits."""
filename = os.path.join("Hmmer", "domtab_30_hmmscan_002.out")
self.check_index(filename, "hmmscan3-domtab")
def test_hmmerdomtab_30_hmmscan_003(self):
"""Test hmmscan-domtab indexing, HMMER 3.0, single query, multiple hits."""
filename = os.path.join("Hmmer", "domtab_30_hmmscan_003.out")
self.check_index(filename, "hmmscan3-domtab")
def test_hmmerdomtab_30_hmmscan_004(self):
"""Test hmmscan-domtab indexing, HMMER 3.0, single query, no alignments."""
filename = os.path.join("Hmmer", "domtab_30_hmmscan_004.out")
self.check_index(filename, "hmmscan3-domtab")
def test_hmmerdomtab_30_hmmsearch_001(self):
"""Test hmmsearch-domtab indexing, HMMER 3.0, single query, no alignments."""
filename = os.path.join("Hmmer", "domtab_30_hmmsearch_001.out")
self.check_index(filename, "hmmsearch3-domtab")
if __name__ == "__main__":
runner = unittest.TextTestRunner(verbosity=2)
unittest.main(testRunner=runner)