Mercurial > repos > yufei-luo > s_mart
comparison smart_toolShed/commons/core/parsing/test/Test_VarscanHit_v2_2_8.py @ 0:e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
author | yufei-luo |
---|---|
date | Thu, 17 Jan 2013 10:52:14 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e0f8dcca02ed |
---|---|
1 import unittest | |
2 from commons.core.checker.CheckerException import CheckerException | |
3 from commons.core.parsing.VarscanHit_v2_2_8 import VarscanHit_v2_2_8 | |
4 from commons.core.parsing.VarscanHit import VarscanHit | |
5 | |
6 class Test_VarscanHit_v2_2_8(unittest.TestCase): | |
7 | |
8 def test_setAttributesFromString(self): | |
9 line = "chr1\t1804\tT\tC\t0\t1\t100%\t0\t1\t0\t53\t0.98\t0\t1\t0\t0\t1\t0\tC\n" | |
10 | |
11 expChrom = "chr1" | |
12 expPosition = "1804" | |
13 expRef = "T" | |
14 expCns = "C" | |
15 expReadsRef = "0" | |
16 expReadsVar = "1" | |
17 expVarFreq = "100%" | |
18 expStrandsRef = "0" | |
19 expStrandsVar = "1" | |
20 expQualRef = "0" | |
21 expQualVar = "53" | |
22 expPValue = "0.98" | |
23 expMapQualRef = "0" | |
24 expMapQualVar = "1" | |
25 expReadsRefPlus = "0" | |
26 expReadsRefMinus = "0" | |
27 expReadsVarPlus = "1" | |
28 expReadsVarMinus = "0" | |
29 expVar = "C" | |
30 | |
31 varscanHit = VarscanHit_v2_2_8() | |
32 varscanHit.setAttributesFromString(line) | |
33 | |
34 obsChrom = varscanHit.getChrom() | |
35 obsPosition = varscanHit.getPosition() | |
36 obsRef = varscanHit.getRef() | |
37 obsCns = varscanHit.getCns() | |
38 obsReadsRef = varscanHit.getReadsRef() | |
39 obsReadsVar = varscanHit.getReadsVar() | |
40 obsVarFreq = varscanHit.getVarFreq() | |
41 obsStrandsRef = varscanHit.getStrandsRef() | |
42 obsStrandsVar = varscanHit.getStrandsVar() | |
43 obsQualRef = varscanHit.getQualRef() | |
44 obsQualVar = varscanHit.getQualVar() | |
45 obsPValue = varscanHit.getPValue() | |
46 obsMapQualRef = varscanHit.getMapQualRef() | |
47 obsMapQualVar = varscanHit.getMapQualVar() | |
48 obsReadsRefPlus = varscanHit.getReadsRefPlus() | |
49 obsReadsRefMinus = varscanHit.getReadsRefMinus() | |
50 obsReadsVarPlus = varscanHit.getReadsVarPlus() | |
51 obsReadsVarMinus = varscanHit.getReadsVarMinus() | |
52 obsVar = varscanHit.getVar() | |
53 | |
54 self.assertEquals(expChrom, obsChrom) | |
55 self.assertEquals(expPosition, obsPosition) | |
56 self.assertEquals(expRef, obsRef) | |
57 self.assertEquals(expCns, obsCns) | |
58 self.assertEquals(expReadsRef, obsReadsRef) | |
59 self.assertEquals(expReadsVar, obsReadsVar) | |
60 self.assertEquals(expVarFreq, obsVarFreq) | |
61 self.assertEquals(expStrandsRef, obsStrandsRef) | |
62 self.assertEquals(expStrandsVar, obsStrandsVar) | |
63 self.assertEquals(expQualRef, obsQualRef) | |
64 self.assertEquals(expQualVar, obsQualVar) | |
65 self.assertEquals(expPValue, obsPValue) | |
66 self.assertEquals(expMapQualRef, obsMapQualRef) | |
67 self.assertEquals(expMapQualVar, obsMapQualVar) | |
68 self.assertEquals(expReadsRefPlus, obsReadsRefPlus) | |
69 self.assertEquals(expReadsRefMinus, obsReadsRefMinus) | |
70 self.assertEquals(expReadsVarPlus, obsReadsVarPlus) | |
71 self.assertEquals(expReadsVarMinus, obsReadsVarMinus) | |
72 self.assertEquals(expVar, obsVar) | |
73 | |
74 def test_setAttributesFromString_empty_chrom(self): | |
75 line = "\t1804\tT\tC\t0\t1\t100%\t0\t1\t0\t53\t0.98\t0\t1\t0\t0\t1\t0\tC\n" | |
76 varscanHit = VarscanHit_v2_2_8() | |
77 try : | |
78 varscanHit.setAttributesFromString(line) | |
79 except CheckerException, e: | |
80 checkerExceptionInstance = e | |
81 expMessage = "The field Chrom is empty in varscan file in line " | |
82 obsMessage = checkerExceptionInstance.msg | |
83 self.assertEquals(expMessage, obsMessage) | |
84 | |
85 def test_setAttributesFromString_less_than_19_fields(self): | |
86 line = "chr1\t1804\tT\tC\t0\t1\t100%\t0\t1\t53\t0.98\t0\t1\t0\t0\t1\t0\tC\n" | |
87 varscanHit = VarscanHit_v2_2_8() | |
88 try : | |
89 varscanHit.setAttributesFromString(line) | |
90 except CheckerException, e: | |
91 checkerExceptionInstance = e | |
92 expMessage = "This varscan line (l.) is not complete" | |
93 obsMessage = checkerExceptionInstance.msg | |
94 self.assertEquals(expMessage, obsMessage) | |
95 | |
96 def test_setAttributes(self): | |
97 lResults = ['chr1', '1804', 'T', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', '0', '1', '0', '0', '1', '0', 'C'] | |
98 lineNumber = 1 | |
99 | |
100 expChrom = "chr1" | |
101 expPosition = "1804" | |
102 expRef = "T" | |
103 expCns = "C" | |
104 expReadsRef = "0" | |
105 expReadsVar = "1" | |
106 expVarFreq = "100%" | |
107 expStrandsRef = "0" | |
108 expStrandsVar = "1" | |
109 expQualRef = "0" | |
110 expQualVar = "53" | |
111 expPValue = "0.98" | |
112 expMapQualRef = "0" | |
113 expMapQualVar = "1" | |
114 expReadsRefPlus = "0" | |
115 expReadsRefMinus = "0" | |
116 expReadsVarPlus = "1" | |
117 expReadsVarMinus = "0" | |
118 expVar = "C" | |
119 | |
120 varscanHit = VarscanHit_v2_2_8() | |
121 varscanHit.setAttributes(lResults, lineNumber) | |
122 | |
123 obsChrom = varscanHit.getChrom() | |
124 obsPosition = varscanHit.getPosition() | |
125 obsRef = varscanHit.getRef() | |
126 obsCns = varscanHit.getCns() | |
127 obsReadsRef = varscanHit.getReadsRef() | |
128 obsReadsVar = varscanHit.getReadsVar() | |
129 obsVarFreq = varscanHit.getVarFreq() | |
130 obsStrandsRef = varscanHit.getStrandsRef() | |
131 obsStrandsVar = varscanHit.getStrandsVar() | |
132 obsQualRef = varscanHit.getQualRef() | |
133 obsQualVar = varscanHit.getQualVar() | |
134 obsPValue = varscanHit.getPValue() | |
135 obsMapQualRef = varscanHit.getMapQualRef() | |
136 obsMapQualVar = varscanHit.getMapQualVar() | |
137 obsReadsRefPlus = varscanHit.getReadsRefPlus() | |
138 obsReadsRefMinus = varscanHit.getReadsRefMinus() | |
139 obsReadsVarPlus = varscanHit.getReadsVarPlus() | |
140 obsReadsVarMinus = varscanHit.getReadsVarMinus() | |
141 obsVar = varscanHit.getVar() | |
142 | |
143 self.assertEquals(expChrom, obsChrom) | |
144 self.assertEquals(expPosition, obsPosition) | |
145 self.assertEquals(expRef, obsRef) | |
146 self.assertEquals(expCns, obsCns) | |
147 self.assertEquals(expReadsRef, obsReadsRef) | |
148 self.assertEquals(expReadsVar, obsReadsVar) | |
149 self.assertEquals(expVarFreq, obsVarFreq) | |
150 self.assertEquals(expStrandsRef, obsStrandsRef) | |
151 self.assertEquals(expStrandsVar, obsStrandsVar) | |
152 self.assertEquals(expQualRef, obsQualRef) | |
153 self.assertEquals(expQualVar, obsQualVar) | |
154 self.assertEquals(expPValue, obsPValue) | |
155 self.assertEquals(expMapQualRef, obsMapQualRef) | |
156 self.assertEquals(expMapQualVar, obsMapQualVar) | |
157 self.assertEquals(expReadsRefPlus, obsReadsRefPlus) | |
158 self.assertEquals(expReadsRefMinus, obsReadsRefMinus) | |
159 self.assertEquals(expReadsVarPlus, obsReadsVarPlus) | |
160 self.assertEquals(expReadsVarMinus, obsReadsVarMinus) | |
161 self.assertEquals(expVar, obsVar) | |
162 | |
163 def test_setAttributes_empty_chrom(self): | |
164 lResults = ['', '1804', 'T', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', '0', '1', '0', '0', '1', '0', 'C'] | |
165 lineNumber = 1 | |
166 | |
167 varscanHit = VarscanHit_v2_2_8() | |
168 checkerExceptionInstance = None | |
169 try: | |
170 varscanHit.setAttributes(lResults, lineNumber) | |
171 except CheckerException, e: | |
172 checkerExceptionInstance = e | |
173 | |
174 expMessage = "The field Chrom is empty in varscan file in line 1" | |
175 obsMessage = checkerExceptionInstance.msg | |
176 | |
177 self.assertEquals(expMessage, obsMessage) | |
178 | |
179 def test_setAttributes_empty_position(self): | |
180 lResults = ['chr1', '', 'T', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', '0', '1', '0', '0', '1', '0', 'C'] | |
181 lineNumber = 1 | |
182 | |
183 varscanHit = VarscanHit_v2_2_8() | |
184 checkerExceptionInstance = None | |
185 try: | |
186 varscanHit.setAttributes(lResults, lineNumber) | |
187 except CheckerException, e: | |
188 checkerExceptionInstance = e | |
189 | |
190 expMessage = "The field Position is empty in varscan file in line 1" | |
191 obsMessage = checkerExceptionInstance.msg | |
192 | |
193 self.assertEquals(expMessage, obsMessage) | |
194 | |
195 def test_setAttributes_empty_ref(self): | |
196 lResults = ['chr1', '1000', '', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', '0', '1', '0', '0', '1', '0', 'C'] | |
197 lineNumber = 1 | |
198 | |
199 varscanHit = VarscanHit_v2_2_8() | |
200 checkerExceptionInstance = None | |
201 try: | |
202 varscanHit.setAttributes(lResults, lineNumber) | |
203 except CheckerException, e: | |
204 checkerExceptionInstance = e | |
205 | |
206 expMessage = "The field Ref is empty in varscan file in line 1" | |
207 obsMessage = checkerExceptionInstance.msg | |
208 | |
209 self.assertEquals(expMessage, obsMessage) | |
210 | |
211 def test_setAttributes_empty_cns(self): | |
212 lResults = ['chr1', '1000', 'T', '', '0', '1', '100%', '0', '1', '0', '53', '0.98', '0', '1', '0', '0', '1', '0', 'C'] | |
213 lineNumber = 1 | |
214 | |
215 varscanHit = VarscanHit_v2_2_8() | |
216 checkerExceptionInstance = None | |
217 try: | |
218 varscanHit.setAttributes(lResults, lineNumber) | |
219 except CheckerException, e: | |
220 checkerExceptionInstance = e | |
221 | |
222 expMessage = "The field Cons is empty in varscan file in line 1" | |
223 obsMessage = checkerExceptionInstance.msg | |
224 | |
225 self.assertEquals(expMessage, obsMessage) | |
226 | |
227 def test_setAttributes_empty_var(self): | |
228 lResults = ['chr1', '1000', 'T', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', '0', '1', '0', '0', '1', '0', ''] | |
229 lineNumber = 1 | |
230 | |
231 varscanHit = VarscanHit_v2_2_8() | |
232 checkerExceptionInstance = None | |
233 try: | |
234 varscanHit.setAttributes(lResults, lineNumber) | |
235 except CheckerException, e: | |
236 checkerExceptionInstance = e | |
237 | |
238 expMessage = "The field varAllele is empty in varscan file in line 1" | |
239 obsMessage = checkerExceptionInstance.msg | |
240 | |
241 self.assertEquals(expMessage, obsMessage) | |
242 | |
243 def test__eq__notEquals(self): | |
244 varscanHit1 = VarscanHit_v2_2_8() | |
245 varscanHit1.setChrom('C02HBa0291P19_LR48') | |
246 varscanHit1.setPosition('32') | |
247 varscanHit1.setRef('C') | |
248 varscanHit1.setCns('T') | |
249 varscanHit1.setVar('T') | |
250 | |
251 varscanHit2 = VarscanHit_v2_2_8() | |
252 varscanHit2.setChrom('C02HBa0291P19_LR48') | |
253 varscanHit2.setPosition('34') | |
254 varscanHit2.setRef('A') | |
255 varscanHit2.setCns('T') | |
256 varscanHit2.setVar('T') | |
257 | |
258 self.assertFalse(varscanHit1 == varscanHit2) | |
259 | |
260 def test__eq__Equals(self): | |
261 varscanHit1 = VarscanHit_v2_2_8() | |
262 varscanHit1.setChrom('C02HBa0291P19_LR48') | |
263 varscanHit1.setPosition('34') | |
264 varscanHit1.setRef('A') | |
265 varscanHit1.setCns('T') | |
266 varscanHit1.setVar('T') | |
267 | |
268 varscanHit2 = VarscanHit_v2_2_8() | |
269 varscanHit2.setChrom('C02HBa0291P19_LR48') | |
270 varscanHit2.setPosition('34') | |
271 varscanHit2.setRef('A') | |
272 varscanHit2.setCns('T') | |
273 varscanHit2.setVar('T') | |
274 | |
275 self.assertTrue(varscanHit1 == varscanHit2) | |
276 | |
277 def test_convertVarscanHit_v2_2_8_To_VarscanHit(self): | |
278 line = "chr1\t1804\tT\tC\t0\t1\t100%\t0\t1\t0\t53\t0.98\t0\t1\t0\t0\t1\t0\tC\n" | |
279 iVarscanHit_v2_2_8_WithTag = VarscanHit_v2_2_8() | |
280 iVarscanHit_v2_2_8_WithTag.setAttributesFromString(line) | |
281 obsVarcanHit_WithTag = iVarscanHit_v2_2_8_WithTag.convertVarscanHit_v2_2_8_To_VarscanHit() | |
282 | |
283 line = "chr1\t1804\tT\tC\t0\t1\t100%\t0\t1\t0\t53\t0.98\n" | |
284 expVarcanHit_WithTag = VarscanHit() | |
285 expVarcanHit_WithTag.setAttributesFromString(line) | |
286 | |
287 self.assertEquals(expVarcanHit_WithTag, obsVarcanHit_WithTag) | |
288 | |
289 if __name__ == "__main__": | |
290 unittest.main() |