6
|
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() |