Mercurial > repos > yufei-luo > s_mart
diff commons/launcher/tests/Test_F_BlatProgramLauncher.py @ 31:0ab839023fe4
Uploaded
author | m-zytnicki |
---|---|
date | Tue, 30 Apr 2013 14:33:21 -0400 |
parents | 94ab73e8a190 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commons/launcher/tests/Test_F_BlatProgramLauncher.py Tue Apr 30 14:33:21 2013 -0400 @@ -0,0 +1,139 @@ +import os +import unittest +from commons.core.utils.FileUtils import FileUtils +from devTools.tests.MockFastaSupctg30 import MockFastaSupctg30 +from devTools.tests.MockMiniProtBankSupctg30 import MockMiniProtBankSupctg30 +from commons.launcher.tests.MockDataBankForBlat import MockDataBankForBlat +from commons.launcher.tests.MockESTBankForBlat import MockESTBankForBlat +from commons.launcher.tests.MockOutputForBlat import MockOutputForBlat +from commons.launcher.BlatProgramLauncher import BlatProgramLauncher + +class Test_F_BlatProgramLauncher(unittest.TestCase): + + def test_run_empty_result(self): + queryFileName = "smallProtBank_supctg30.fa" + mock = MockMiniProtBankSupctg30() + mock.write(queryFileName) + subjectFileName = "subjectBank.fa" + mock = MockFastaSupctg30() + mock.write(subjectFileName) + + expOutputFileName = "expBlatOutput.blast.align" + self.writeEmptyExpOutputFile(expOutputFileName) + + obsOutputFileName = "obsBlatOutput.blast.align" + + bpl = BlatProgramLauncher() + bpl.setInputFile(queryFileName) + bpl.setSubjectFile(subjectFileName) + bpl.setOutputFile(obsOutputFileName) + bpl.setProgramParameters("") + bpl.run() + + blastFileName = queryFileName + ".blast" + + self.assertTrue(os.path.exists(obsOutputFileName)) + self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) + + os.remove(queryFileName) + os.remove(subjectFileName) + os.remove(blastFileName) + os.remove(expOutputFileName) + os.remove(obsOutputFileName) + + def test_as_script_empty_result(self): + queryFileName = "smallProtBank_supctg30.fa" + mock = MockMiniProtBankSupctg30() + mock.write(queryFileName) + subjectFileName = "subjectBank.fa" + mock = MockFastaSupctg30() + mock.write(subjectFileName) + + expOutputFileName = "expBlatOutput.blast.align" + self.writeEmptyExpOutputFile(expOutputFileName) + + obsOutputFileName = "obsBlatOutput.blast.align" + + cmd2Launch = "python ../BlatProgramLauncher.py -s " + subjectFileName + " -i " + queryFileName + " -p '' -o " + obsOutputFileName + + os.system(cmd2Launch) + + blastFileName = queryFileName + ".blast" + + self.assertTrue(os.path.exists(obsOutputFileName)) + self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) + + os.remove(queryFileName) + os.remove(subjectFileName) + os.remove(blastFileName) + os.remove(expOutputFileName) + os.remove(obsOutputFileName) + + def test_run(self): + queryFileName = "smallESTBank.fa" + mock = MockESTBankForBlat() + mock.write(queryFileName) + subjectFileName = "subjectBank.fa" + mock = MockDataBankForBlat() + mock.write(subjectFileName) + + expOutputFileName = "expBlatOutput.blast.align" + mock = MockOutputForBlat() + mock.write(expOutputFileName) + + obsOutputFileName = "obsBlatOutput.blast.align" + + bpl = BlatProgramLauncher() + bpl.setInputFile(queryFileName) + bpl.setSubjectFile(subjectFileName) + bpl.setOutputFile(obsOutputFileName) + bpl.setProgramParameters("") + bpl.run() + + blastFileName = queryFileName + ".blast" + + self.assertTrue(os.path.exists(obsOutputFileName)) + self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) + + os.remove(queryFileName) + os.remove(subjectFileName) + os.remove(blastFileName) + os.remove(expOutputFileName) + os.remove(obsOutputFileName) + + def test_as_script(self): + queryFileName = "smallESTBank.fa" + mock = MockESTBankForBlat() + mock.write(queryFileName) + subjectFileName = "subjectBank.fa" + mock = MockDataBankForBlat() + mock.write(subjectFileName) + + expOutputFileName = "expBlatOutput.blast.align" + mock = MockOutputForBlat() + mock.write(expOutputFileName) + + obsOutputFileName = "obsBlatOutput.blast.align" + + cmd2Launch = "python ../BlatProgramLauncher.py -s " + subjectFileName + " -i " + queryFileName + " -p '' -o " + obsOutputFileName + + os.system(cmd2Launch) + + blastFileName = queryFileName + ".blast" + + self.assertTrue(os.path.exists(obsOutputFileName)) + self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) + + os.remove(queryFileName) + os.remove(subjectFileName) + os.remove(blastFileName) + os.remove(expOutputFileName) + os.remove(obsOutputFileName) + + def writeEmptyExpOutputFile(self, outputFileName): + f = open(outputFileName, "w") + f.write("") + f.close() + +if __name__ == "__main__": + unittest.main() \ No newline at end of file