Mercurial > repos > yufei-luo > s_mart
comparison commons/launcher/tests/Test_F_BlatProgramLauncher.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 os | |
2 import unittest | |
3 from commons.core.utils.FileUtils import FileUtils | |
4 from devTools.tests.MockFastaSupctg30 import MockFastaSupctg30 | |
5 from devTools.tests.MockMiniProtBankSupctg30 import MockMiniProtBankSupctg30 | |
6 from commons.launcher.tests.MockDataBankForBlat import MockDataBankForBlat | |
7 from commons.launcher.tests.MockESTBankForBlat import MockESTBankForBlat | |
8 from commons.launcher.tests.MockOutputForBlat import MockOutputForBlat | |
9 from commons.launcher.BlatProgramLauncher import BlatProgramLauncher | |
10 | |
11 class Test_F_BlatProgramLauncher(unittest.TestCase): | |
12 | |
13 def test_run_empty_result(self): | |
14 queryFileName = "smallProtBank_supctg30.fa" | |
15 mock = MockMiniProtBankSupctg30() | |
16 mock.write(queryFileName) | |
17 subjectFileName = "subjectBank.fa" | |
18 mock = MockFastaSupctg30() | |
19 mock.write(subjectFileName) | |
20 | |
21 expOutputFileName = "expBlatOutput.blast.align" | |
22 self.writeEmptyExpOutputFile(expOutputFileName) | |
23 | |
24 obsOutputFileName = "obsBlatOutput.blast.align" | |
25 | |
26 bpl = BlatProgramLauncher() | |
27 bpl.setInputFile(queryFileName) | |
28 bpl.setSubjectFile(subjectFileName) | |
29 bpl.setOutputFile(obsOutputFileName) | |
30 bpl.setProgramParameters("") | |
31 bpl.run() | |
32 | |
33 blastFileName = queryFileName + ".blast" | |
34 | |
35 self.assertTrue(os.path.exists(obsOutputFileName)) | |
36 self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) | |
37 | |
38 os.remove(queryFileName) | |
39 os.remove(subjectFileName) | |
40 os.remove(blastFileName) | |
41 os.remove(expOutputFileName) | |
42 os.remove(obsOutputFileName) | |
43 | |
44 def test_as_script_empty_result(self): | |
45 queryFileName = "smallProtBank_supctg30.fa" | |
46 mock = MockMiniProtBankSupctg30() | |
47 mock.write(queryFileName) | |
48 subjectFileName = "subjectBank.fa" | |
49 mock = MockFastaSupctg30() | |
50 mock.write(subjectFileName) | |
51 | |
52 expOutputFileName = "expBlatOutput.blast.align" | |
53 self.writeEmptyExpOutputFile(expOutputFileName) | |
54 | |
55 obsOutputFileName = "obsBlatOutput.blast.align" | |
56 | |
57 cmd2Launch = "python ../BlatProgramLauncher.py -s " + subjectFileName + " -i " + queryFileName + " -p '' -o " + obsOutputFileName | |
58 | |
59 os.system(cmd2Launch) | |
60 | |
61 blastFileName = queryFileName + ".blast" | |
62 | |
63 self.assertTrue(os.path.exists(obsOutputFileName)) | |
64 self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) | |
65 | |
66 os.remove(queryFileName) | |
67 os.remove(subjectFileName) | |
68 os.remove(blastFileName) | |
69 os.remove(expOutputFileName) | |
70 os.remove(obsOutputFileName) | |
71 | |
72 def test_run(self): | |
73 queryFileName = "smallESTBank.fa" | |
74 mock = MockESTBankForBlat() | |
75 mock.write(queryFileName) | |
76 subjectFileName = "subjectBank.fa" | |
77 mock = MockDataBankForBlat() | |
78 mock.write(subjectFileName) | |
79 | |
80 expOutputFileName = "expBlatOutput.blast.align" | |
81 mock = MockOutputForBlat() | |
82 mock.write(expOutputFileName) | |
83 | |
84 obsOutputFileName = "obsBlatOutput.blast.align" | |
85 | |
86 bpl = BlatProgramLauncher() | |
87 bpl.setInputFile(queryFileName) | |
88 bpl.setSubjectFile(subjectFileName) | |
89 bpl.setOutputFile(obsOutputFileName) | |
90 bpl.setProgramParameters("") | |
91 bpl.run() | |
92 | |
93 blastFileName = queryFileName + ".blast" | |
94 | |
95 self.assertTrue(os.path.exists(obsOutputFileName)) | |
96 self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) | |
97 | |
98 os.remove(queryFileName) | |
99 os.remove(subjectFileName) | |
100 os.remove(blastFileName) | |
101 os.remove(expOutputFileName) | |
102 os.remove(obsOutputFileName) | |
103 | |
104 def test_as_script(self): | |
105 queryFileName = "smallESTBank.fa" | |
106 mock = MockESTBankForBlat() | |
107 mock.write(queryFileName) | |
108 subjectFileName = "subjectBank.fa" | |
109 mock = MockDataBankForBlat() | |
110 mock.write(subjectFileName) | |
111 | |
112 expOutputFileName = "expBlatOutput.blast.align" | |
113 mock = MockOutputForBlat() | |
114 mock.write(expOutputFileName) | |
115 | |
116 obsOutputFileName = "obsBlatOutput.blast.align" | |
117 | |
118 cmd2Launch = "python ../BlatProgramLauncher.py -s " + subjectFileName + " -i " + queryFileName + " -p '' -o " + obsOutputFileName | |
119 | |
120 os.system(cmd2Launch) | |
121 | |
122 blastFileName = queryFileName + ".blast" | |
123 | |
124 self.assertTrue(os.path.exists(obsOutputFileName)) | |
125 self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) | |
126 | |
127 os.remove(queryFileName) | |
128 os.remove(subjectFileName) | |
129 os.remove(blastFileName) | |
130 os.remove(expOutputFileName) | |
131 os.remove(obsOutputFileName) | |
132 | |
133 def writeEmptyExpOutputFile(self, outputFileName): | |
134 f = open(outputFileName, "w") | |
135 f.write("") | |
136 f.close() | |
137 | |
138 if __name__ == "__main__": | |
139 unittest.main() |