annotate commons/core/parsing/test/Test_VarscanHit.py @ 31:0ab839023fe4

Uploaded
author m-zytnicki
date Tue, 30 Apr 2013 14:33:21 -0400
parents 769e306b7933
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1 import unittest
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
2 from commons.core.parsing.VarscanHit import VarscanHit
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
3 from commons.core.checker.CheckerException import CheckerException
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
4
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
5 class Test_VarscanHit(unittest.TestCase):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
6
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
7 def test_setAttributesFromString(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
8 line = "C02HBa0291P19_LR48\t32\tC\tT\t1\t2\t66,67%\t1\t1\t37\t35\t0.3999999999999999\n"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
9
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
10 expChrom = "C02HBa0291P19_LR48"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
11 expPosition = "32"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
12 expRef = "C"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
13 expVar = "T"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
14
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
15 varscanHit = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
16 varscanHit.setAttributesFromString(line)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
17
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
18 obsChrom = varscanHit.getChrom()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
19 obsPosition = varscanHit.getPosition()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
20 obsRef = varscanHit.getRef()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
21 obsVar = varscanHit.getVar()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
22
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
23 self.assertEquals(expChrom, obsChrom)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
24 self.assertEquals(expPosition, obsPosition)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
25 self.assertEquals(expRef, obsRef)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
26 self.assertEquals(expVar, obsVar)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
27
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
28 def test_setAttributesFromString_empty_chrom(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
29 line = "\t32\tC\tT\t1\t2\t66,67%\t1\t1\t37\t35\t0.3999999999999999\n"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
30 iVarscanHit = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
31 try :
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
32 iVarscanHit.setAttributesFromString(line)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
33 except CheckerException, e:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
34 checkerExceptionInstance = e
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
35
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
36 expMessage = "The field Chrom is empty in varscan file in line "
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
37 obsMessage = checkerExceptionInstance.msg
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
38
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
39 self.assertEquals(expMessage, obsMessage)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
40
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
41 def test_setAttributesFromString_less_than_12_fields(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
42 line = "C02HBa0291P19_LR48\t32\tC\tT\t1\t2\t66,67%\t1\t1\t37\n"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
43 iVarscanHit = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
44 iVarscanHit.setAttributesFromString(line)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
45 self.assertEquals("", iVarscanHit.getQualVar())
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
46 self.assertEquals("", iVarscanHit.getPValue())
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
47
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
48 def test_setAttributes(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
49 lResults = ["C02HBa0291P19_LR48", "32", "C", "T", "1", "2", "66,67%", "1", "1", "37", "35", "0.3999999999999999"]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
50 lineNumber = 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
51
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
52 expChrom = "C02HBa0291P19_LR48"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
53 expPosition = "32"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
54 expRef = "C"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
55 expVar = "T"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
56
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
57 varscanHit = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
58 varscanHit.setAttributes(lResults, lineNumber)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
59
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
60 obsChrom = varscanHit.getChrom()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
61 obsPosition = varscanHit.getPosition()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
62 obsRef = varscanHit.getRef()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
63 obsVar = varscanHit.getVar()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
64
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
65 self.assertEquals(expChrom, obsChrom)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
66 self.assertEquals(expPosition, obsPosition)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
67 self.assertEquals(expRef, obsRef)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
68 self.assertEquals(expVar, obsVar)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
69
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
70 def test_setAttributes_empty_chrom(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
71 lResults = ["", "", "", "", "", "", "10", "", "", "", "", ""]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
72 lineNumber = 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
73
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
74 varscanHit = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
75 checkerExceptionInstance = None
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
76 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
77 varscanHit.setAttributes(lResults, lineNumber)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
78 except CheckerException, e:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
79 checkerExceptionInstance = e
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
80
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
81 expMessage = "The field Chrom is empty in varscan file in line 1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
82 obsMessage = checkerExceptionInstance.msg
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
83
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
84 self.assertEquals(expMessage, obsMessage)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
85
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
86 def test_setAttributes_empty_position(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
87 lResults = ["chrom", "", "", "", "", "", "10", "", "", "", "", ""]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
88 lineNumber = 5
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
89
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
90 varscanHit = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
91 checkerExceptionInstance = None
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
92 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
93 varscanHit.setAttributes(lResults, lineNumber)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
94 except CheckerException, e:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
95 checkerExceptionInstance = e
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
96
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
97 expMessage = "The field Position is empty in varscan file in line 5"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
98 obsMessage = checkerExceptionInstance.msg
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
99
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
100 self.assertEquals(expMessage, obsMessage)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
101
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
102 def test_setAttributes_empty_ref(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
103 lResults = ["chrom", "position", "", "", "", "", "10", "", "", "", "", ""]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
104 lineNumber = 5
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
105
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
106 varscanHit = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
107 checkerExceptionInstance = None
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
108 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
109 varscanHit.setAttributes(lResults, lineNumber)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
110 except CheckerException, e:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
111 checkerExceptionInstance = e
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
112
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
113 expMessage = "The field Ref is empty in varscan file in line 5"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
114 obsMessage = checkerExceptionInstance.msg
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
115
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
116 self.assertEquals(expMessage, obsMessage)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
117
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
118 def test_setAttributes_empty_var(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
119 lResults = ["chrom", "position", "ref", "", "", "", "10", "", "", "", "", ""]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
120 lineNumber = 5
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
121
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
122 varscanHit = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
123 checkerExceptionInstance = None
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
124 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
125 varscanHit.setAttributes(lResults, lineNumber)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
126 except CheckerException, e:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
127 checkerExceptionInstance = e
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
128
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
129 expMessage = "The field Var is empty in varscan file in line 5"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
130 obsMessage = checkerExceptionInstance.msg
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
131
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
132 self.assertEquals(expMessage, obsMessage)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
133
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
134 def test__eq__notEquals(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
135 varscanHit1 = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
136 varscanHit1.setChrom('C02HBa0291P19_LR48')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
137 varscanHit1.setPosition('32')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
138 varscanHit1.setRef('C')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
139 varscanHit1.setVar('T')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
140
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
141 varscanHit2 = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
142 varscanHit2.setChrom('C02HBa0291P19_LR48')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
143 varscanHit2.setPosition('34')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
144 varscanHit2.setRef('A')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
145 varscanHit2.setVar('T')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
146
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
147 self.assertFalse(varscanHit1 == varscanHit2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
148
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
149 def test__eq__Equals(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
150 varscanHit1 = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
151 varscanHit1.setChrom('C02HBa0291P19_LR48')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
152 varscanHit1.setPosition('32')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
153 varscanHit1.setRef('C')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
154 varscanHit1.setVar('T')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
155
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
156 varscanHit2 = VarscanHit()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
157 varscanHit2.setChrom('C02HBa0291P19_LR48')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
158 varscanHit2.setPosition('32')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
159 varscanHit2.setRef('C')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
160 varscanHit2.setVar('T')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
161
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
162 self.assertTrue(varscanHit1 == varscanHit2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
163
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
164 if __name__ == "__main__":
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
165 unittest.main()