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