File: test_SearchIO_hmmer3_tab_index.py

package info (click to toggle)
python-biopython 1.68%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 46,860 kB
  • ctags: 13,237
  • sloc: python: 160,306; xml: 93,216; ansic: 9,118; sql: 1,208; makefile: 155; sh: 63
file content (80 lines) | stat: -rw-r--r-- 4,497 bytes parent folder | download | duplicates (3)
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
# 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-tab indexing."""

import os
import unittest

from search_tests_common import CheckRaw, CheckIndex


class Hmmer3TabRawCases(CheckRaw):

    fmt = 'hmmer3-tab'

    def test_hmmer3tab_30_multiple_first(self):
        """Test hmmer3-tab raw string retrieval, HMMER 3.0, multiple queries, first (tab_30_hmmscan_001.out)"""
        filename = os.path.join('Hmmer', 'tab_30_hmmscan_001.out')
        raw = """Globin               PF00042.17 gi|4885477|ref|NP_005359.1| -              6e-21   74.6   0.3   9.2e-21   74.0   0.2   1.3   1   0   0   1   1   1   1 Globin
"""
        self.check_raw(filename, "gi|4885477|ref|NP_005359.1|", raw)

    def test_hmmer3tab_30_multiple_middle(self):
        """Test hmmer3-tab raw string retrieval, HMMER 3.0, multiple queries, middle (tab_30_hmmscan_001.out)"""
        filename = os.path.join('Hmmer', 'tab_30_hmmscan_001.out')
        raw = """Ig_3                 PF13927.1  gi|126362951:116-221 -            1.4e-09   38.2   0.4   2.1e-09   37.6   0.3   1.3   1   0   0   1   1   1   1 Immunoglobulin domain
Ig_2                 PF13895.1  gi|126362951:116-221 -            3.5e-05   23.7   0.1   4.3e-05   23.4   0.1   1.1   1   0   0   1   1   1   1 Immunoglobulin domain
"""
        self.check_raw(filename, "gi|126362951:116-221", raw)

    def test_hmmer3tab_30_multiple_last(self):
        """Test hmmer3-tab raw string retrieval, HMMER 3.0, multiple queries, last (tab_30_hmmscan_001.out)"""
        filename = os.path.join('Hmmer', 'tab_30_hmmscan_001.out')
        raw = """Pou                  PF00157.12 gi|125490392|ref|NP_038661.2| -              7e-37  124.8   0.5   1.4e-36  123.9   0.3   1.5   1   0   0   1   1   1   1 Pou domain - N-terminal to homeobox domain
Homeobox             PF00046.24 gi|125490392|ref|NP_038661.2| -            2.1e-18   65.5   1.1   4.1e-18   64.6   0.7   1.5   1   0   0   1   1   1   1 Homeobox domain
HTH_31               PF13560.1  gi|125490392|ref|NP_038661.2| -              0.012   15.6   0.0      0.16   12.0   0.0   2.2   2   0   0   2   2   2   0 Helix-turn-helix domain
Homeobox_KN          PF05920.6  gi|125490392|ref|NP_038661.2| -              0.039   13.5   0.0     0.095   12.3   0.0   1.6   1   0   0   1   1   1   0 Homeobox KN domain
DUF521               PF04412.8  gi|125490392|ref|NP_038661.2| -               0.14   10.5   0.1      0.26    9.6   0.1   1.4   1   0   0   1   1   1   0 Protein of unknown function (DUF521)
"""
        self.check_raw(filename, "gi|125490392|ref|NP_038661.2|", raw)

    def test_hmmer3tab_30_single(self):
        """Test hmmer3-tab raw string retrieval, HMMER 3.0, single query (tab_30_hmmscan_004.out)"""
        filename = os.path.join('Hmmer', 'tab_30_hmmscan_004.out')
        raw = """Ig_3                 PF13927.1  gi|126362951:116-221 -            1.4e-09   38.2   0.4   2.1e-09   37.6   0.3   1.3   1   0   0   1   1   1   1 Immunoglobulin domain
Ig_2                 PF13895.1  gi|126362951:116-221 -            3.5e-05   23.7   0.1   4.3e-05   23.4   0.1   1.1   1   0   0   1   1   1   1 Immunoglobulin domain
"""
        self.check_raw(filename, "gi|126362951:116-221", raw)


class Hmmer3TabIndexCases(CheckIndex):

    fmt = 'hmmer3-tab'

    def test_hmmer3tab_30_hmmscan_001(self):
        """Test hmmer3-tab indexing, HMMER 3.0, multiple queries"""
        filename = os.path.join('Hmmer', 'tab_30_hmmscan_001.out')
        self.check_index(filename, self.fmt)

    def test_hmmer3tab_30_hmmscan_002(self):
        """Test hmmer3-tab indexing, HMMER 3.0, single query, no hits"""
        filename = os.path.join('Hmmer', 'tab_30_hmmscan_002.out')
        self.check_index(filename, self.fmt)

    def test_hmmer3tab_30_hmmscan_003(self):
        """Test hmmer3-tab indexing, HMMER 3.0, single query, multiple hits"""
        filename = os.path.join('Hmmer', 'tab_30_hmmscan_003.out')
        self.check_index(filename, self.fmt)

    def test_hmmer3tab_30_hmmscan_004(self):
        """Test hmmer3-tab indexing, HMMER 3.0, single query, no alignments"""
        filename = os.path.join('Hmmer', 'tab_30_hmmscan_004.out')
        self.check_index(filename, self.fmt)


if __name__ == "__main__":
    runner = unittest.TextTestRunner(verbosity=2)
    unittest.main(testRunner=runner)