annotate commons/launcher/tests/Test_LaunchBlastclust.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 import unittest
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2 import time
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 import os
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 from commons.launcher.LaunchBlastclust import LaunchBlastclust
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 from commons.core.utils.FileUtils import FileUtils
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7 class Test_LaunchBlastclust( unittest.TestCase ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9 def setUp(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10 self._iLaunchBlastclust = LaunchBlastclust()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 self._iLaunchBlastclust.setClean()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 self._uniqId = "%s_%s" % (time.strftime("%Y%m%d%H%M%S"), os.getpid())
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 def tearDown(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 self._iLaunchBlastclust = None
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 self._uniqId = None
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18 def test_getClustersFromTxtFile(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 inFileName = "dummyInFile_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20 inF = open(inFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 inF.write("seq1 seq3 seq4 \n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 inF.write("seq2 seq5 \n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 inF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 dExp = {1:["seq1","seq3","seq4"], 2:["seq2","seq5"]}
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25 self._iLaunchBlastclust.setTmpFileName(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 dObs = self._iLaunchBlastclust.getClustersFromTxtFile()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 self.assertEqual(dObs, dExp)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28 os.remove(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 def test_getClusteringResultsInFasta_without_filtering(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31 inFileName = "dummyInFile_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32 inF = open(inFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33 inF.write(">seq1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 inF.write(">seq2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 inF.write(">seq3\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 inF.write(">seq4\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 inF.write(">seq5\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43 inF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45 tmpFileName = "%s_blastclust.txt" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46 inF = open(tmpFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 inF.write("seq1 seq3 seq4 \n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 inF.write("seq2 seq5 \n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 inF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 self._iLaunchBlastclust.setTmpFileName(tmpFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 fileExp = "getClusteringResultsInFastaExpected.fa"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53 outF = open(fileExp, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 outF.write(">BlastclustCluster1Mb1_seq1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56 outF.write(">BlastclustCluster1Mb2_seq3\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 outF.write(">BlastclustCluster1Mb3_seq4\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60 outF.write(">BlastclustCluster2Mb1_seq2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62 outF.write(">BlastclustCluster2Mb2_seq5\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64 outF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 self._iLaunchBlastclust.getClusteringResultsInFasta(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67 fileObs = "%s_Blastclust.fa" % os.path.splitext(inFileName)[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69 if not FileUtils.are2FilesIdentical(fileObs, fileExp):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70 print "Files are different"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71 return
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
72 else:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
73 print "Files are identical\n"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
74
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
75 os.remove(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
76 os.remove(tmpFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
77 os.remove(fileExp)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
78 os.remove(fileObs)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
79
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
80 def test_getClusteringResultsInFasta_with_filtering(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
81 inFileName = "dummyInFile_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
82 inF = open(inFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
83 inF.write(">seq1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
84 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
85 inF.write(">seq2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
86 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
87 inF.write(">seq3\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
88 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
89 inF.write(">seq4\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
90 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
91 inF.write(">seq5\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
92 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
93 inF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
94
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
95 tmpFileName = "%s_blastclust.txt" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
96 inF = open(tmpFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
97 inF.write("seq1 seq3 seq4 \n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
98 inF.write("seq2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
99 inF.write("seq5\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
100 inF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
101 self._iLaunchBlastclust.setTmpFileName(tmpFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
102
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
103 fileExp = "getClusteringResultsInFastaExpected.fa"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
104 outF = open(fileExp, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
105 outF.write(">BlastclustCluster1Mb1_seq1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
106 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
107 outF.write(">BlastclustCluster1Mb2_seq3\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
108 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
109 outF.write(">BlastclustCluster1Mb3_seq4\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
110 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
111 outF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
112
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
113 self._iLaunchBlastclust.setFilterUnclusteredSequences()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
114 self._iLaunchBlastclust.getClusteringResultsInFasta(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
115 fileObs = "%s_Blastclust.fa" % os.path.splitext(inFileName)[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
116
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
117 if not FileUtils.are2FilesIdentical(fileObs, fileExp):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
118 print "Files are different"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
119 return
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
120 else:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
121 print "Files are identical\n"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
122
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
123 os.remove(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
124 os.remove(tmpFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
125 os.remove(fileExp)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
126 os.remove(fileObs)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
127
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
128 def test_getLinkInitNewHeaders(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
129 inFileName = "dummyInput_%s.shortHlink" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
130 inF = open(inFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
131 inF.write("seq1\tHeader1\t1\t5193\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
132 inF.write("seq2\tHeader2\t1\t5193\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
133 inF.write("seq3\tHeader3\t1\t5193\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
134 inF.write("seq4\tHeader4\t1\t5193\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
135 inF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
136
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
137 self._iLaunchBlastclust.setInputFileName("dummyInput_%s" % self._uniqId)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
138 dObs = self._iLaunchBlastclust.getLinkInitNewHeaders()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
139 dExp = {"seq1":"Header1", "seq2":"Header2", "seq3":"Header3", "seq4":"Header4"}
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
140
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
141 self.assertEqual(dObs, dExp)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
142 os.remove(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
143
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
144 def test_retrieveInitHeaders(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
145 dIn = {"seq1":"Header1", "seq2":"Header2", "seq3":"Header3", "seq4":"Header4"}
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
146
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
147 inFileName = "dummyInFile_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
148 outFilePrefix = self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
149
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
150 tmpFileName = "%s_blastclust.txt" % outFilePrefix
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
151 inF = open(tmpFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
152 inF.write("seq1 seq3 seq4\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
153 inF.write("seq2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
154 inF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
155
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
156 shortHFile = "%s.shortH_Blastclust.fa" % inFileName
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
157 shF = open(shortHFile, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
158 shF.write(">BlastclustCluster1Mb1_seq1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
159 shF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
160 shF.write(">BlastclustCluster1Mb2_seq3\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
161 shF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
162 shF.write(">BlastclustCluster1Mb3_seq4\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
163 shF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
164 shF.write(">BlastclustCluster2Mb1_seq2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
165 shF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
166 shF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
167
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
168 fileExp = "retrieveInitHeadersExpected.fa"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
169 outF = open(fileExp, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
170 outF.write(">BlastclustCluster1Mb1_Header1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
171 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
172 outF.write(">BlastclustCluster1Mb2_Header3\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
173 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
174 outF.write(">BlastclustCluster1Mb3_Header4\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
175 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
176 outF.write(">BlastclustCluster2Mb1_Header2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
177 outF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
178 outF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
179
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
180 self._iLaunchBlastclust.setInputFileName(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
181 self._iLaunchBlastclust.setTmpFileName(tmpFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
182 self._iLaunchBlastclust.setOutputFilePrefix(outFilePrefix)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
183 self._iLaunchBlastclust.retrieveInitHeaders(dIn)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
184 fileObs = "%s_Blastclust.fa" % outFilePrefix
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
185
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
186 if not FileUtils.are2FilesIdentical(fileObs, fileExp):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
187 print "Files are different"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
188 return
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
189 else:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
190 print "Files are identical\n"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
191
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
192 os.remove(fileObs)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
193 os.remove(fileExp)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
194 os.remove(tmpFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
195
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
196 def test_filterUnclusteredSequences(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
197 dClusterId2SeqHeaders = {1: ["seq1","seq2"], 2: ["seq3"]}
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
198 dExp = {1: ["seq1","seq2"]}
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
199 dObs = self._iLaunchBlastclust.filterUnclusteredSequences(dClusterId2SeqHeaders)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
200 self.assertEqual(dObs, dExp)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
201
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
202 def test_blastclustToMap(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
203 inFileName = "dummyBlastclustOut_%s.fa" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
204 inF = open(inFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
205 inF.write(">BlastclustCluster1Mb1_chunk1 (dbseq-nr 1) [1,14]\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
206 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
207 inF.write(">BlastclustCluster1Mb2_chunk1 (dbseq-nr 1) [30,44]\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
208 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
209 inF.write(">BlastclustCluster2Mb1_chunk2 (dbseq-nr 1) [100,114]\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
210 inF.write("gaattgtttactta\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
211 inF.write(">BlastclustCluster3Mb1_chunk5 (dbseq-nr 8) [1000,1014]\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
212 inF.write("gaattgtttactta")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
213 inF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
214
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
215 fileExp = "blastclustToMapExpected.map"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
216 outF = open(fileExp, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
217 outF.write("BlastclustCluster1Mb1\tchunk1\t1\t14\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
218 outF.write("BlastclustCluster1Mb2\tchunk1\t30\t44\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
219 outF.write("BlastclustCluster2Mb1\tchunk2\t100\t114\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
220 outF.write("BlastclustCluster3Mb1\tchunk5\t1000\t1014\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
221 outF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
222
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
223 self._iLaunchBlastclust.blastclustToMap(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
224 fileObs = "%s.map" % os.path.splitext(inFileName)[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
225
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
226 if not FileUtils.are2FilesIdentical(fileObs, fileExp):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
227 print "Files are different"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
228 return
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
229 else:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
230 print "Files are identical\n"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
231
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
232 os.remove(inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
233 os.remove(fileObs)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
234 os.remove(fileExp)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
235
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
236 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
237 unittest.main()