Mercurial > repos > yufei-luo > s_mart
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() |