-
Notifications
You must be signed in to change notification settings - Fork 1
/
test_bioprov_programs.py
144 lines (102 loc) 路 3.33 KB
/
test_bioprov_programs.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
__author__ = "Vini Salazar"
__license__ = "MIT"
__maintainer__ = "Vini Salazar"
__url__ = "https://github.com/vinisalazar/bioprov"
__version__ = "0.1.18a"
"""
Testing for the programs package.
"""
from bioprov import Sample
from bioprov.data import synechococcus_genome
from bioprov.programs import (
blastn,
blastp,
diamond,
kaiju,
kaiju2table,
prodigal,
prokka,
)
def test_diamond():
s = Sample("Synechococcus", files={"query": synechococcus_genome})
reference_db = "./path_to_a_valid_blastdb"
dmnd_extra = diamond(
blast_type="blastp",
sample=s,
db=reference_db,
extra_flags=["--sensitive", "--log"],
)
expected = [
"blastp",
"--db",
"--outfmt",
"--query",
"--out",
"--sensitive",
"--log",
]
dmnd_params = list(dmnd_extra.serializer()["params"].keys())
assert dmnd_params == expected
def test_blastn():
s = Sample("Synechococcus", files={"query": synechococcus_genome})
reference_db = "./path_to_a_valid_blastdb"
blast = blastn(s, reference_db)
blast_params = blast.serializer()["params"]
expected = ["-db", "-outfmt", "-query", "-out"]
assert list(blast_params.keys()) == expected
assert blast_params["-outfmt"]["value"] == "6"
def test_blastn():
s = Sample("Synechococcus", files={"query": synechococcus_genome})
reference_db = "./path_to_a_valid_blastdb"
blast = blastn(s, reference_db)
blast_params = blast.serializer()["params"]
expected = ["-db", "-outfmt", "-query", "-out"]
assert list(blast_params.keys()) == expected
assert blast_params["-outfmt"]["value"] == "6"
def test_blastp():
s = Sample("Synechococcus", files={"query": synechococcus_genome})
reference_db = "./path_to_a_valid_blastdb"
blast = blastp(s, reference_db)
blast_params = blast.serializer()["params"]
expected = ["-db", "-outfmt", "-query", "-out"]
assert list(blast_params.keys()) == expected
assert blast_params["-outfmt"]["value"] == "6"
def test_prodigal():
"""
Testing the 'prodigal' program.
:return:
"""
s = Sample("Synechococcus", files={"assembly": synechococcus_genome})
p_ = prodigal(s)
p_.run()
pass
def test_prokka():
"""
Testing the 'prokka' program.
:return:
"""
s = Sample("Synechococcus", files={"assembly": synechococcus_genome})
prokka_program = prokka(s)
prokka_params = list(prokka_program.serializer()["params"].keys())
expected_params = ["--prefix", "--outdir", "--cpus", ""]
assert prokka_params == expected_params
def test_kaiju():
"""
Testing the 'kaiju' program.
:return:
"""
s = Sample("Synechococcus", files={"R1": synechococcus_genome, "R2": "r2.fastq"})
kaiju_program = kaiju(s)
kaiju_params = list(kaiju_program.serializer()["params"].keys())
expected_params = ["-t", "-i", "-j", "-f", "-z", "-o"]
assert kaiju_params == expected_params
def test_kaiju2table():
"""
Testing the 'kaiju2table' program
:return:
"""
s = Sample("Synechococcus", files={"kaiju_output": synechococcus_genome})
kaiju2tab_program = kaiju2table(s)
kaiju2tab_params = list(kaiju2tab_program.serializer()["params"].keys())
expected_params = ["-o", "-t", "-n", "-r"]
assert kaiju2tab_params == expected_params