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