comparison commons/pyRepetUnit/blastnForClassifierStep1/tests/Test_RepbaseBLRnForClassifierStep1.py @ 31:0ab839023fe4

Uploaded
author m-zytnicki
date Tue, 30 Apr 2013 14:33:21 -0400
parents 94ab73e8a190
children
comparison
equal deleted inserted replaced
30:5677346472b5 31:0ab839023fe4
1 import unittest
2 import os
3 import shutil
4 import ConfigParser
5 import sys
6 from commons.pyRepetUnit.blastnForClassifierStep1.RepbaseBLRnForClassifierStep1 import RepbaseBLRnForClassifierStep1
7 from commons.core.utils.FileUtils import FileUtils
8 from commons.core.sql.DbFactory import DbFactory
9 from commons.core.sql.TablePathAdaptator import TablePathAdaptator
10 from commons.core.coord.Path import Path
11 import pyRepet.launcher.programLauncher
12
13 if not os.environ.has_key( "REPET_PATH" ):
14 print "*** Error: no environment variable REPET_PATH"
15 sys.exit(1)
16 sys.path.append( os.environ["REPET_PATH"] )
17
18 NB_EXPECTED_LINES_IN_PATH_FILE = 10
19 CURRENT_DIR = os.getcwd()
20
21
22 class Test_RepbaseBLRnForClassifierStep1( unittest.TestCase ):
23
24
25 def setUp( self ):
26 os.chdir(CURRENT_DIR)
27 self._inFileName = "dummyFileName"
28 self._launch_1 = "log = os.system( \""
29 self._launch_2 = "\" )\n"
30 self._launch_2 += "if log != 0:\n"
31 self._launch_2 += "\tsys.exit(1)\n"
32 self._cDir = "/home/user/dummy_cdir"
33 self._tmpDir = "/home/user/dummy_tmpDir"
34 self._configFileName = "configFile"
35 self._repbaseName = "dummyRepbase_nt.fa"
36 f = open(self._configFileName, "w")
37 f.write("[repet_env]\n")
38 f.write("repet_host: %s\n" % os.environ["REPET_HOST"])
39 f.write("repet_user: %s\n" % os.environ["REPET_USER"])
40 f.write("repet_pw: %s\n" % os.environ["REPET_PW"])
41 f.write("repet_db: %s\n" % os.environ["REPET_DB"])
42 f.write("repet_port: %s\n" % os.environ["REPET_PORT"])
43 f.write("[detect_features]\n")
44 f.write("TE_BLRn: yes\n")
45 f.write("TE_nucl_bank: %s\n" % self._repbaseName)
46 f.write("wublast: yes\n")
47 f.close()
48 self._verbose = 0
49 self._config = ConfigParser.ConfigParser()
50 self._config.readfp( open(self._configFileName) )
51 self._pL = pyRepet.launcher.programLauncher.programLauncher()
52 self._project = "dummyProject"
53 self._repbaseBLRn = RepbaseBLRnForClassifierStep1(self._inFileName, self._launch_1, self._launch_2, self._cDir, self._tmpDir, self._configFileName, self._verbose, self._pL, self._project)
54 self._expFileName = "expFile"
55 self._bank = self._config.get("detect_features","TE_nucl_bank")
56 self._db = DbFactory.createInstance()
57
58
59 def tearDown( self ):
60 self._db.dropTable("%s_TE_BLRn_path" % (self._project))
61 os.chdir(CURRENT_DIR)
62 self._repbaseBLRn = None
63 os.remove(self._configFileName)
64 if os.path.isfile("%s_BLRn_%s.align.clean_match.path" % (self._project, self._bank)):
65 os.remove("%s_BLRn_%s.align.clean_match.path" % (self._project, self._bank))
66 if os.path.isfile("%s_BLRn_%s.align.clean_match.path.tmp" % (self._project, self._bank)):
67 os.remove("%s_BLRn_%s.align.clean_match.path.tmp" % (self._project, self._bank))
68 if os.path.isfile("batch_1.fa_BLRn_%s.*" % (self._bank)):
69 os.remove("batch_1.fa_BLRn_%s.*" % (self._bank))
70 if os.path.isfile("batch_2.fa_BLRn_%s.*" % (self._bank)):
71 os.remove("batch_2.fa_BLRn_%s.*" % (self._bank))
72 if os.path.isfile("batch_1.fa_BLRn_%s.align.clean_match.path" % (self._bank)):
73 os.remove("batch_1.fa_BLRn_%s.align.clean_match.path" % (self._bank))
74 if os.path.isfile("batch_2.fa_BLRn_%s.align.clean_match.path" % (self._bank)):
75 os.remove("batch_2.fa_BLRn_%s.align.clean_match.path" % (self._bank))
76 if os.path.isfile(self._repbaseName):
77 os.remove(self._repbaseName)
78 os.remove(self._repbaseName + "_cut")
79 os.remove(self._repbaseName + "_cut.xnd")
80 os.remove(self._repbaseName + "_cut.xns")
81 os.remove(self._repbaseName + "_cut.xnt")
82 os.remove(self._repbaseName + ".Nstretch.map")
83 os.remove("last_time_stamp.log")
84 if os.path.isdir( "TE_BLRn" ):
85 os.chdir( "TE_BLRn" )
86 os.chdir(CURRENT_DIR)
87 shutil.rmtree("TE_BLRn")
88 if os.path.isfile(self._expFileName):
89 os.remove(self._expFileName)
90
91
92 def test_formatRepbase_ntIfNecessaryWithoutLog( self ):
93 f = open(self._repbaseName, "w")
94 f.write(">seq1\n")
95 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTGGCGTATGCGTGCAT\n")
96 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTTTTTTTGCGCGTGGCGTATGCGTGCAT\n")
97 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTAAAGTATGCGTGCAT\n")
98 f.write(">seq2\n")
99 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTGGCGTATGCGTGCAT\n")
100 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTTTTTTTGCGCGTGGCGTATGCGTGCAT\n")
101 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTAAAGTATGCGTGCAT\n")
102 f.close()
103 f = open(self._expFileName, "w")
104 f.write(">1 seq1 {Cut} 1..180\n")
105 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTGGCGTATGCGTGCAT\n")
106 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTTTTTTTGCGCGTGGCGTATGCGTGCAT\n")
107 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTAAAGTATGCGTGCAT\n")
108 f.write(">2 seq2 {Cut} 1..180\n")
109 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTGGCGTATGCGTGCAT\n")
110 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTTTTTTTGCGCGTGGCGTATGCGTGCAT\n")
111 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTAAAGTATGCGTGCAT\n")
112 f.close()
113 self._repbaseBLRn.formatRepbase_ntIfNecessary()
114 obsFileName = self._repbaseName + "_cut"
115 self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName, obsFileName))
116
117
118 def test_formatRepbase_ntIfNecessary_withLogFile( self ):
119 f = open(self._repbaseName, "w")
120 f.write(">seq1\n")
121 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTGGCGTATGCGTGCAT\n")
122 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTTTTTTTGCGCGTGGCGTATGCGTGCAT\n")
123 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTAAAGTATGCGTGCAT\n")
124 f.write(">seq2\n")
125 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTGGCGTATGCGTGCAT\n")
126 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTTTTTTTGCGCGTGGCGTATGCGTGCAT\n")
127 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTAAAGTATGCGTGCAT\n")
128 f.close()
129 f = open(self._expFileName, "w")
130 f.write(">1 seq1 {Cut} 1..180\n")
131 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTGGCGTATGCGTGCAT\n")
132 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTTTTTTTGCGCGTGGCGTATGCGTGCAT\n")
133 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTAAAGTATGCGTGCAT\n")
134 f.write(">2 seq2 {Cut} 1..180\n")
135 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTGGCGTATGCGTGCAT\n")
136 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTTTTTTTGCGCGTGGCGTATGCGTGCAT\n")
137 f.write("ATGCGTGCGTAAATGCGTAATGCGTAAATGCGTAAATTTGCGCGTAAAGTATGCGTGCAT\n")
138 f.close()
139 repbaseBLRnWithLog = RepbaseBLRnForClassifierStep1(self._inFileName, self._launch_1, self._launch_2, self._cDir, self._tmpDir, self._configFileName, self._verbose, self._pL, self._project)
140 repbaseBLRnWithLog.formatRepbase_ntIfNecessary()
141 obsFileName = self._repbaseName + "_cut"
142 self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName, obsFileName))
143
144
145 def test_createCmdToLaunch( self ):
146 bank = self._config.get("detect_features","TE_nucl_bank")
147 obsCmd = self._repbaseBLRn.createCmdToLaunch()
148 expCmd = self._launch_1 + os.environ["REPET_PATH"] + "/bin/blaster"
149 expCmd += " -q %s" % ( self._inFileName )
150 expCmd += " -s %s/%s" % ( self._cDir, bank )
151 expCmd += " -B %s_BLRn_%s" % ( self._inFileName, bank )
152 expCmd += " -n blastn"
153 if self._config.get("detect_features","wublast") == "yes":
154 expCmd += " -W"
155 expCmd += " -r"
156 expCmd += " -v 1"
157 expCmd += self._launch_2
158 expCmd += "if not os.path.exists( \"%s/%s_BLRn_%s.param\" ):\n" % ( self._cDir, self._inFileName, bank )
159 expCmd += "\tos.system( \"mv %s_BLRn_%s.param %s\" )\n" % ( self._inFileName, bank, self._cDir )
160 expCmd += "if os.path.exists( \"%s_cut\" ):\n" % ( self._inFileName )
161 expCmd += "\tos.system( \"rm -f %s_cut*\" )\n" % ( self._inFileName )
162 expCmd += "if os.path.exists( \"%s.Nstretch.map\" ):\n" % ( self._inFileName )
163 expCmd += "\tos.remove( \"%s.Nstretch.map\" )\n" % ( self._inFileName )
164 expCmd += "if os.path.exists( \"%s_BLRn_%s.raw\" ):\n" % ( self._inFileName, bank )
165 expCmd += "\tos.remove( \"%s_BLRn_%s.raw\" )\n" % ( self._inFileName, bank )
166 expCmd += "if os.path.exists( \"%s_BLRn_%s.seq_treated\" ):\n" % ( self._inFileName, bank )
167 expCmd += "\tos.remove( \"%s_BLRn_%s.seq_treated\" )\n" % ( self._inFileName, bank )
168 expCmd += self._launch_1
169 expCmd += os.environ["REPET_PATH"] + "/bin/matcher"
170 expCmd += " -m %s_BLRn_%s.align" % ( self._inFileName, bank )
171 expCmd += " -q %s" % ( self._inFileName )
172 expCmd += " -s %s/%s" % ( self._cDir, bank )
173 expCmd += " -j"
174 expCmd += " -v 1"
175 expCmd += self._launch_2
176 expCmd += "if not os.path.exists( \"%s/%s_BLRn_%s.align.clean_match.path\" ):\n" % ( self._cDir, self._inFileName, bank )
177 expCmd += "\tos.system( \"mv %s_BLRn_%s.align.clean_match.path %s\" )\n" % ( self._inFileName, bank, self._cDir )
178 expCmd += "if not os.path.exists( \"%s/%s_BLRn_%s.align.clean_match.param\" ):\n" % ( self._cDir, self._inFileName, bank )
179 expCmd += "\tos.system( \"mv %s_BLRn_%s.align.clean_match.param %s\" )\n" % ( self._inFileName, bank, self._cDir )
180 expCmd += "if os.path.exists( \"%s_BLRn_%s.align\" ):\n" % ( self._inFileName, bank )
181 expCmd += "\tos.remove( \"%s_BLRn_%s.align\" )\n" % ( self._inFileName, bank )
182 expCmd += "if os.path.exists( \"%s_BLRn_%s.align.clean_match.fa\" ):\n" % ( self._inFileName, bank )
183 expCmd += "\tos.remove( \"%s_BLRn_%s.align.clean_match.fa\" )\n" % ( self._inFileName, bank )
184 expCmd += "if os.path.exists( \"%s_BLRn_%s.align.clean_match.map\" ):\n" % ( self._inFileName, bank )
185 expCmd += "\tos.remove( \"%s_BLRn_%s.align.clean_match.map\" )\n" % ( self._inFileName, bank )
186 expCmd += "if os.path.exists( \"%s_BLRn_%s.align.clean_match.tab\" ):\n" % ( self._inFileName, bank )
187 expCmd += "\tos.remove( \"%s_BLRn_%s.align.clean_match.tab\" )\n" % ( self._inFileName, bank )
188 if self._tmpDir != self._cDir:
189 expCmd += "if os.path.exists( \"%s\" ):\n" % ( bank )
190 expCmd += "\tos.remove( \"%s\" )\n" % ( bank )
191 self.assertEquals( expCmd, obsCmd )
192
193
194 def test_concatPathFile( self ):
195 os.chdir(CURRENT_DIR)
196 if not FileUtils.isRessourceExists("TE_BLRn"):
197 os.mkdir( "TE_BLRn" )
198 self._createPathFiles(self._bank)
199 os.chdir( "TE_BLRn" )
200 f = open(self._expFileName, "w")
201 f.write("1\tQueryName1\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
202 f.write("2\tQueryName1\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
203 f.write("3\tQueryName2\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
204 f.write("4\tQueryName3\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
205 f.write("5\tQueryName1\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
206 f.write("1\tQueryName4\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
207 f.write("2\tQueryName4\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
208 f.write("3\tQueryName5\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
209 f.write("4\tQueryName6\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
210 f.write("5\tQueryName7\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
211 f.close()
212 FileUtils.sortFileContent(self._expFileName)
213 obsFileName = "%s_BLRn_%s.align.clean_match.path.tmp" % (self._project, self._bank)
214 self._repbaseBLRn._concatPathFile(self._bank)
215 FileUtils.sortFileContent(obsFileName)
216 self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName, obsFileName))
217
218
219 def test_adaptIDInPathFile( self ):
220 f = open("%s_BLRn_%s.align.clean_match.path.tmp" % (self._project, self._bank), "w")
221 f.write("1\tQueryName1\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
222 f.write("2\tQueryName1\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
223 f.write("3\tQueryName2\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
224 f.write("4\tQueryName3\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
225 f.write("5\tQueryName1\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
226 f.write("1\tQueryName4\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
227 f.write("2\tQueryName4\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
228 f.write("3\tQueryName5\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
229 f.write("4\tQueryName6\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
230 f.write("5\tQueryName7\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
231 f.close()
232 self._repbaseBLRn._adaptIDInPathFile(self._bank)
233 f = open(self._expFileName, "w")
234 f.write("1\tQueryName1\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
235 f.write("2\tQueryName1\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
236 f.write("3\tQueryName2\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
237 f.write("4\tQueryName3\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
238 f.write("5\tQueryName1\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
239 f.write("6\tQueryName4\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
240 f.write("7\tQueryName4\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
241 f.write("8\tQueryName5\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
242 f.write("9\tQueryName6\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
243 f.write("10\tQueryName7\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
244 f.close()
245 obsFileName = "%s_BLRn_%s.align.clean_match.path" % (self._project, self._bank)
246 self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName, obsFileName))
247
248
249 def test_loadPathFileInTable( self ):
250 os.chdir(CURRENT_DIR)
251 if not FileUtils.isRessourceExists("TE_BLRn"):
252 os.mkdir( "TE_BLRn" )
253 self._createPathFiles(self._bank)
254 os.chdir( "TE_BLRn" )
255 f = open("%s_BLRn_%s.align.clean_match.path" % (self._project, self._bank), "w")
256 f.write("1\tQueryName1\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
257 f.write("2\tQueryName1\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
258 f.write("3\tQueryName2\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
259 f.write("4\tQueryName3\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
260 f.write("5\tQueryName1\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
261 f.write("6\tQueryName4\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
262 f.write("7\tQueryName4\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
263 f.write("8\tQueryName5\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
264 f.write("9\tQueryName6\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
265 f.write("10\tQueryName7\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
266 f.close()
267 self._repbaseBLRn._loadPathFileInTable(self._bank)
268 resultFromFilePathList = self._readPathResultsFromFileAndFillList()
269 resultFromTablePathList = self._readPathResultsFromTableAndFillList()
270 self.assertEquals(resultFromFilePathList, resultFromTablePathList)
271
272
273 def test_findAndRemoveUselessFiles( self ):
274 self._createFile("%s_BLRn_%s.align.clean_match.path.tmp" % (self._project, self._bank))
275 self._createFile("batch_1.fa_BLRn_%s.*" % (self._bank))
276 self._createFile("batch_2.fa_BLRn_%s.*" % (self._bank))
277 self._repbaseBLRn._findAndRemoveUselessFiles(self._bank)
278 self.assertFalse(FileUtils.isRessourceExists("%s_BLRn_%s.align.clean_match.path.tmp" % (self._project, self._bank)))
279 self.assertFalse(FileUtils.isRessourceExists("batch_1.fa_BLRn_%s.*" % (self._bank)))
280 self.assertFalse(FileUtils.isRessourceExists("batch_2.fa_BLRn_%s.*" % (self._bank)))
281
282
283 def test_collectRepbaseBLRn( self ):
284 os.chdir(CURRENT_DIR)
285 if not FileUtils.isRessourceExists("TE_BLRn"):
286 os.mkdir( "TE_BLRn" )
287 self._createPathFiles(self._bank)
288 os.chdir( "TE_BLRn" )
289 self._repbaseBLRn.collectRepbaseBLRn()
290 self.assertTrue(FileUtils.isRessourceExists("%s_BLRn_%s.align.clean_match.path" % ( self._project, self._bank )))
291 self.assertEquals(NB_EXPECTED_LINES_IN_PATH_FILE, FileUtils.getNbLinesInSingleFile("%s_BLRn_%s.align.clean_match.path" % ( self._project, self._bank )))
292 self.assertTrue(self._db.doesTableExist("%s_TE_BLRn_path" % (self._project)))
293 self._db.execute('select * from %s_TE_BLRn_path' % (self._project))
294 self.assertEquals(NB_EXPECTED_LINES_IN_PATH_FILE, len(self._db.fetchall()))
295 self._db.dropTable("%s_TE_BLRn_path" % (self._project))
296
297
298 def _createPathFiles( self, bankFull ):
299 bank = os.path.split(bankFull)[1]
300 fileName = "batch_1.fa_BLRn_" + bank + ".align.clean_match.path"
301 f = open(fileName, "w")
302 f.write("1\tQueryName1\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
303 f.write("2\tQueryName1\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
304 f.write("3\tQueryName2\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
305 f.write("4\tQueryName3\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
306 f.write("5\tQueryName1\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
307 f.close()
308 fileName = "batch_2.fa_BLRn_" + bank + ".align.clean_match.path"
309 f = open(fileName, "w")
310 f.write("1\tQueryName4\t2\t250\tsubjectName1\t5\t255\t4.1e-39\t132\t88.2\n")
311 f.write("2\tQueryName4\t255\t550\tsubjectName2\t5\t255\t0.0002\t32\t78.2\n")
312 f.write("3\tQueryName5\t1\t150\tsubjectName1\t250\t400\t5.1e-59\t132\t98\n")
313 f.write("4\tQueryName6\t2\t250\tsubjectName3\t5\t255\t4.1e-39\t132\t88.2\n")
314 f.write("5\tQueryName7\t300\t450\tsubjectName1\t300\t450\t4.1e-39\t132\t80.2\n")
315 f.close()
316
317
318 def _readPathResultsFromTableAndFillList( self ):
319 tablePathAdaptatorInstance = TablePathAdaptator (self._db, "%s_TE_BLRn_path" % (self._project))
320 pathList = tablePathAdaptatorInstance.getListOfAllPaths()
321 return pathList
322
323
324 def _readPathResultsFromFileAndFillList( self ):
325 pathInstance = Path()
326 pathList = []
327 f = open( "%s_BLRn_%s.align.clean_match.path" % (self._project, self._bank) , "r")
328 while pathInstance.read( f ):
329 pathList.append(pathInstance)
330 pathInstance = Path()
331 f.close()
332 return pathList
333
334
335 def _createFile( self, nameFile ):
336 f = open(nameFile, "w")
337 f.close()
338
339
340 test_suite = unittest.TestSuite()
341 test_suite.addTest( unittest.makeSuite( Test_RepbaseBLRnForClassifierStep1 ) )
342 if __name__ == "__main__":
343 unittest.TextTestRunner(verbosity=2).run( test_suite )