Mercurial > repos > yufei-luo > s_mart
comparison SMART/Java/Python/test/Test_F_compareOverlapping.py @ 18:94ab73e8a190
Uploaded
author | m-zytnicki |
---|---|
date | Mon, 29 Apr 2013 03:20:15 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
17:b0e8584489e6 | 18:94ab73e8a190 |
---|---|
1 import unittest | |
2 import os, os.path | |
3 from SMART.Java.Python.misc import Utils | |
4 | |
5 SMART_PATH = os.environ["REPET_PATH"] + "/SMART" | |
6 | |
7 class Test_F_compareOverlapping(unittest.TestCase): | |
8 | |
9 def setUp(self): | |
10 self._inputFileQuery = "inputFileTest1.bed" | |
11 self._inputFileReference = "inputFileTest2.bed" | |
12 self._inputFileName3 = "inputFileTest3.bed" | |
13 self._expOutputFileName = "expOutput.gff3" | |
14 self._outputFileName = "output.gff3" | |
15 self._writeInputFileQuery() | |
16 self._writeInputFileRefence() | |
17 self._writeInputFile3() | |
18 | |
19 def tearDown(self): | |
20 for fileName in (self._inputFileQuery, self._inputFileReference, self._inputFileName3, self._expOutputFileName, self._outputFileName): | |
21 if os.path.exists(fileName): | |
22 os.remove(fileName) | |
23 | |
24 def test_runAsScript_withoutOption(self): | |
25 self._writeOutputFile_withoutOption(self._expOutputFileName) | |
26 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
27 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
28 | |
29 def test_runAsScript_optionNFirstNucleotide(self): | |
30 self._writeOutputFile_NFirstNucleotide(self._expOutputFileName) | |
31 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -S 200 -s 200 -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
32 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
33 | |
34 def test_runAsScript_optionNLastNucleotide(self): | |
35 self._writeOutputFile_NLastNucleotide(self._expOutputFileName) | |
36 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -U 200 -u 200 -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
37 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
38 | |
39 def test_runAsScript_option_5PrimeExtension(self): | |
40 self._writeOutputFile_5PrimeExtension(self._expOutputFileName) | |
41 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -E 110 -e 110 -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
42 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
43 | |
44 def test_runAsScript_option_3PrimeExtension(self): | |
45 self._writeOutputFile_3PrimeExtension(self._expOutputFileName) | |
46 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -N 110 -n 110 -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
47 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
48 | |
49 def test_runAsScript_colinear(self): | |
50 self._writeOutputFile_colinear(self._expOutputFileName) | |
51 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -c -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
52 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
53 | |
54 def test_runAsScript_antisense(self): | |
55 self._writeOutputFile_antisense(self._expOutputFileName) | |
56 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -a -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
57 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
58 | |
59 def test_runAsScript_minOverlap(self): | |
60 self._writeOutputFile_minOverlap(self._expOutputFileName) | |
61 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -m 51 -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileName3, self._outputFileName)) | |
62 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
63 | |
64 def test_runAsScript_pcOverlap(self): | |
65 self._writeOutputFile_pcOverlap(self._expOutputFileName) | |
66 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -p 60 -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileName3, self._outputFileName)) | |
67 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
68 | |
69 def test_runAsScript_included(self): | |
70 self._writeOutputFile_included(self._expOutputFileName) | |
71 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -k -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
72 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
73 | |
74 def test_runAsScript_including(self): | |
75 self._writeOutputFile_including(self._expOutputFileName) | |
76 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -K -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
77 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
78 | |
79 def test_runAsScript_includeNotOverlap(self): | |
80 self._writeOutputFile_includeNotOverlap(self._expOutputFileName) | |
81 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -O -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
82 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
83 | |
84 def test_runAsScript_exclude(self): | |
85 self._writeOutputFile_exclude(self._expOutputFileName) | |
86 os.system("python %s/Java/Python/CompareOverlapping.py -i %s -f bed -j %s -g bed -o %s -x -v 0" % (SMART_PATH, self._inputFileQuery, self._inputFileReference, self._outputFileName)) | |
87 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
88 | |
89 def _writeInputFileQuery(self): | |
90 f = open(self._inputFileQuery, "w") | |
91 f.write("arm_X\t1000\t2000\ttest1.1\t1000\t+\t1000\t2000\t0\t1\t1000,\t0,\n") | |
92 f.write("arm_X\t1000\t2000\ttest1.2\t1000\t-\t1000\t2000\t0\t1\t1000,\t0,\n") | |
93 f.write("arm_X\t100\t200\ttest1.3\t1000\t+\t100\t200\t0\t1\t100,\t0,\n") | |
94 f.write("arm_X\t100\t3200\ttest1.4\t1000\t+\t100\t3200\t0\t1\t3100,\t0,\n") | |
95 f.close() | |
96 | |
97 def _writeInputFileRefence(self): | |
98 f = open(self._inputFileReference, "w") | |
99 f.write("arm_X\t1000\t2000\ttest2.1\t1000\t+\t1000\t2000\t0\t1\t1000,\t0,\n") | |
100 f.close() | |
101 | |
102 def _writeInputFile3(self): | |
103 f = open(self._inputFileName3, "w") | |
104 f.write("arm_X\t1000\t2000\ttest2.1\t1000\t+\t1000\t2000\t0\t1\t1000,\t0,\n") | |
105 f.write("arm_X\t250\t350\ttest2.2\t1000\t+\t250\t350\t0\t1\t100,\t0,\n") | |
106 f.write("arm_X\t150\t250\ttest2.3\t1000\t+\t150\t250\t0\t1\t100,\t0,\n") | |
107 f.close() | |
108 | |
109 def _writeOutputFile_withoutOption(self, outputFileName): | |
110 f = open(outputFileName, "w") | |
111 f.write("arm_X\tS-MART\ttranscript\t100\t3199\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.4;Name=test1.4\n") | |
112 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
113 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
114 f.close() | |
115 | |
116 def _writeOutputFile_NFirstNucleotide(self, outputFileName): | |
117 f = open(outputFileName, "w") | |
118 f.write("arm_X\tS-MART\ttranscript\t1000\t1199\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
119 f.close() | |
120 | |
121 def _writeOutputFile_NLastNucleotide(self, outputFileName): | |
122 f = open(outputFileName, "w") | |
123 f.write("arm_X\tS-MART\ttranscript\t1800\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
124 f.close() | |
125 | |
126 def _writeOutputFile_5PrimeExtension(self, outputFileName): | |
127 f = open(outputFileName, "w") | |
128 f.write("arm_X\tS-MART\ttranscript\t0\t3199\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.4;Name=test1.4\n") | |
129 f.write("arm_X\tS-MART\ttranscript\t890\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
130 f.write("arm_X\tS-MART\ttranscript\t1000\t2109\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
131 f.close() | |
132 | |
133 def _writeOutputFile_3PrimeExtension(self, outputFileName): | |
134 f = open(outputFileName, "w") | |
135 f.write("arm_X\tS-MART\ttranscript\t100\t3309\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.4;Name=test1.4\n") | |
136 f.write("arm_X\tS-MART\ttranscript\t1000\t2109\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
137 f.write("arm_X\tS-MART\ttranscript\t890\t1999\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
138 f.close() | |
139 | |
140 def _writeOutputFile_colinear(self, outputFileName): | |
141 f = open(outputFileName, "w") | |
142 f.write("arm_X\tS-MART\ttranscript\t100\t3199\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.4;Name=test1.4\n") | |
143 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
144 f.close() | |
145 | |
146 def _writeOutputFile_antisense(self, outputFileName): | |
147 f = open(outputFileName, "w") | |
148 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
149 f.close() | |
150 | |
151 def _writeOutputFile_minOverlap(self, outputFileName): | |
152 f = open(outputFileName, "w") | |
153 f.write("arm_X\tS-MART\ttranscript\t100\t3199\t.\t+\t.\toverlapWith=test2.3,test2.2,test2.1;nbOverlaps=3.000000;ID=test1.4;Name=test1.4\n") | |
154 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
155 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
156 f.close() | |
157 | |
158 def _writeOutputFile_pcOverlap(self, outputFileName): | |
159 f = open(outputFileName, "w") | |
160 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
161 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
162 f.close() | |
163 | |
164 def _writeOutputFile_includeNotOverlap(self, outputFileName): | |
165 f = open(outputFileName, "w") | |
166 f.write("arm_X\tS-MART\ttranscript\t100\t3199\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.4;Name=test1.4\n") | |
167 f.write("arm_X\tS-MART\ttranscript\t100\t199\t.\t+\t.\tnbOverlaps=0;ID=test1.3;Name=test1.3\n") | |
168 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
169 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
170 f.close() | |
171 | |
172 def _writeOutputFile_exclude(self, outputFileName): | |
173 f = open(outputFileName, "w") | |
174 f.write("arm_X\tS-MART\ttranscript\t100\t199\t.\t+\t.\tID=test1.3;Name=test1.3\n") | |
175 f.close() | |
176 | |
177 def _writeOutputFile_included(self, outputFileName): | |
178 f = open(outputFileName, "w") | |
179 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
180 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
181 f.close() | |
182 | |
183 def _writeOutputFile_including(self, outputFileName): | |
184 f = open(outputFileName, "w") | |
185 f.write("arm_X\tS-MART\ttranscript\t100\t3199\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.4;Name=test1.4\n") | |
186 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t+\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.1;Name=test1.1\n") | |
187 f.write("arm_X\tS-MART\ttranscript\t1000\t1999\t.\t-\t.\toverlapWith=test2.1;nbOverlaps=1.000000;ID=test1.2;Name=test1.2\n") | |
188 f.close() | |
189 | |
190 def _writeInputFileQuery_withExon(self): | |
191 f = open(self._inputFileQuery, "w") | |
192 f.write("arm_X\t1000\t2000\ttest1.1\t1000\t+\t1000\t2000\t0\t1\t1000,\t0,\n") | |
193 f.write("arm_X\t1000\t2000\ttest1.2\t1000\t-\t1000\t2000\t0\t1\t1000,\t0,\n") | |
194 f.write("arm_X\t100\t200\ttest1.3\t1000\t+\t100\t200\t0\t1\t100,\t0,\n") | |
195 f.write("arm_X\t100\t3200\ttest1.4\t1000\t+\t100\t3200\t0\t2\t100,100,\t0,3000,\n") | |
196 f.close() | |
197 | |
198 if __name__ == "__main__": | |
199 unittest.main() |