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