Mercurial > repos > yufei-luo > s_mart
diff commons/tools/tests/Test_F_LaunchBlaster.py @ 18:94ab73e8a190
Uploaded
author | m-zytnicki |
---|---|
date | Mon, 29 Apr 2013 03:20:15 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commons/tools/tests/Test_F_LaunchBlaster.py Mon Apr 29 03:20:15 2013 -0400 @@ -0,0 +1,101 @@ +from commons.core.utils.FileUtils import FileUtils +import unittest +import os +import glob +from commons.tools.LaunchBlaster import LaunchBlaster + +class Test_F_LaunchBlaster(unittest.TestCase): + + def setUp(self): + self._inFileName = "DmelChr4.fa" + inFilePath = "%s/Tools/%s" % (os.environ["REPET_DATA"], self._inFileName) + try: + os.remove(self._inFileName) + except: + pass + os.symlink(inFilePath, self._inFileName) + self._iLaunchBlaster = LaunchBlaster(self._inFileName) + self._iLaunchBlaster.setDoAllByall(True) + self._iLaunchBlaster.setVerbosity(4) + + def tearDown(self): + try: + FileUtils.removeFilesByPattern("%s*" % self._inFileName) + os.remove("formatdb.log") + except: + pass + + def test_run_as_class_1_file(self): + expFileName = "%s/Tools/DmelChr4.align" % os.environ["REPET_DATA"] + obsFileName = "%s.align" % self._inFileName + + self._iLaunchBlaster.run() + + self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) + + def test_run_as_class_1_file_changed_params(self): + expFileName = "DmelChr4.align" + with open(expFileName, "w") as fh: + fh.write("dmel_chr4\t691910\t692326\tdmel_chr4\t700019\t700435\t0\t827\t100\n") + obsFileName = "%s.align" % self._inFileName + + self._iLaunchBlaster.setIdentity(100) + self._iLaunchBlaster.setCPU(4) + self._iLaunchBlaster.setDoClean(True) + self._iLaunchBlaster.run() + + self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) + os.remove(expFileName) + self.assertTrue(glob.glob("*fa_cut*") == []) + self.assertTrue(glob.glob("*Nstretch*") == []) + self.assertTrue(glob.glob("*seq_treated*") == []) + self.assertTrue(glob.glob("*.log") == []) + + def test_run_as_script_1bank_1file(self): + inputFileName = "chunks.fa" + with open(inputFileName, "w") as f: + f.write(">chunk1\n") + f.write("GAATTCGCGTCCGCTTACCCATGTGCCTGTGGATGCCGAACAGGAGGCGCCGTTGACGGC\n") + f.write("GAATGACTTACTCAAGGGAGTAGCCAATCTGTCGGATACGCCCGGATTGGAGCTGCCCAT\n") + expFileName = "exp.align" + with open(expFileName, "w") as f: + f.write("chunk1\t1\t120\tdmel_chr4\t1\t120\t2e-64\t238\t100\n") + obsFileName = "%s.align" % inputFileName + + cmd = "LaunchBlaster.py -q %s -s %s -e 0.1 -a" % (inputFileName, self._inFileName) + os.system(cmd) + + self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) + FileUtils.removeFilesByPattern("%s*" % inputFileName) + os.remove(expFileName) + + def test_run_as_script_1bank_1file_withoutABA(self): + queryFileName = "chunks.fa" + with open(queryFileName, "w") as f: + f.write(">chunk1\n") + f.write("GAATTCGCGTCCGCTTACCCATGTGCCTGTGGATGCCGAACAGGAGGCGCCGTTGACGGC\n") + f.write("GAATGACTTACTCAAGGGAGTAGCCAATCTGTCGGATACGCCCGGATTGGAGCTGCCCAT\n") + subjectFileName = "genome.fa" + with open(subjectFileName, "w") as f: + f.write(">chunk1\n") + f.write("GAATTCGCGTCCGCTTACCCATGTGCCTGTGGATGCCGAACAGGAGGCGCCGTTGACGGC\n") + f.write("GAATGACTTACTCAAGGGAGTAGCCAATCTGTCGGATACGCCCGGATTGGAGCTGCCCAT\n") + f.write(">chunk2\n") + f.write("GAATTCGCGTCCGCTTACCCATGTGCCTGTGGATGCCGAACAGGAGGCGCCGTTGACGGC\n") + f.write("GAATGACTTACTCAAGGGAGTAGCCAATCTGTCGGATACGCCCGGATTGGAGCTGCCCAT\n") + expFileName = "exp.align" + with open(expFileName, "w") as f: + f.write("chunk1\t1\t120\tchunk1\t1\t120\t4e-68\t238\t100\n") + f.write("chunk1\t1\t120\tchunk2\t1\t120\t4e-68\t238\t100\n") + obsFileName = "%s.align" % queryFileName + + cmd = "LaunchBlaster.py -q %s -s %s -e 0.1" % (queryFileName, subjectFileName) + os.system(cmd) + + self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) + FileUtils.removeFilesByPattern("%s*" % queryFileName) + FileUtils.removeFilesByPattern("%s*" % subjectFileName) + os.remove(expFileName) + +if __name__ == "__main__": + unittest.main() \ No newline at end of file