Mercurial > repos > yufei-luo > s_mart
comparison commons/tools/tests/Test_F_LaunchMatcherInParallel.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 from commons.core.utils.FileUtils import FileUtils | |
| 2 import shutil | |
| 3 import unittest | |
| 4 import os | |
| 5 from commons.tools.LaunchMatcherInParallel import LaunchMatcherInParallel | |
| 6 | |
| 7 class Test_F_LaunchMatcherInParallel(unittest.TestCase): | |
| 8 | |
| 9 CLUSTER_HOST = "compute-2-46.local" | |
| 10 | |
| 11 def setUp(self): | |
| 12 self._configFileName = "TE.cfg" | |
| 13 self._writeConfig() | |
| 14 | |
| 15 def tearDown(self): | |
| 16 FileUtils.removeFilesByPattern("DmelChr4*") | |
| 17 os.remove(self._configFileName) | |
| 18 | |
| 19 def test_run_as_class_1_seq(self): | |
| 20 inFileName = "DmelChr4.align" | |
| 21 fastaFileName = "DmelChr4.fa" | |
| 22 inFilePath = "%s/Tools/%s" % (os.environ["REPET_DATA"], inFileName) | |
| 23 inFastaPath = "%s/Tools/%s" % (os.environ["REPET_DATA"], fastaFileName) | |
| 24 os.symlink(inFilePath, inFileName) | |
| 25 os.symlink(inFastaPath, fastaFileName) | |
| 26 expPathFileName = "%s/Tools/DmelChr4.align.match.path" % os.environ["REPET_DATA"] | |
| 27 expTabFileName = "%s/Tools/DmelChr4.align.match.tab" % os.environ["REPET_DATA"] | |
| 28 | |
| 29 obsPathFileName = "%s.match.path" % inFileName | |
| 30 obsTabFileName = "%s.match.tab" % inFileName | |
| 31 | |
| 32 iLaunchMatcherInParallel = LaunchMatcherInParallel(align=inFileName, queryFileName=fastaFileName, subjectFileName=fastaFileName, doJoin=True, evalue="1e-20", keepConflict=True, config=self._configFileName) | |
| 33 iLaunchMatcherInParallel.run() | |
| 34 | |
| 35 self.assertTrue(FileUtils.are2FilesIdentical(expPathFileName, obsPathFileName)) | |
| 36 self.assertTrue(FileUtils.are2FilesIdentical(expTabFileName, obsTabFileName)) | |
| 37 | |
| 38 def test_run_as_class_n_seq_less_jobs_than_n(self): | |
| 39 inFileName = "DmelChr4_dummy.align" | |
| 40 fastaFileName = "DmelChr4.fa" | |
| 41 inFilePath = "%s/Tools/%s" % (os.environ["REPET_DATA"], inFileName) | |
| 42 inFastaPath = "%s/Tools/%s" % (os.environ["REPET_DATA"], fastaFileName) | |
| 43 os.symlink(inFilePath, inFileName) | |
| 44 os.symlink(inFastaPath, fastaFileName) | |
| 45 expPathFileName = "%s/Tools/DmelChr4_dummy.align.match.path" % os.environ["REPET_DATA"] | |
| 46 expTabFileName = "%s/Tools/DmelChr4_dummy.align.match.tab" % os.environ["REPET_DATA"] | |
| 47 | |
| 48 obsPathFileName = "%s.match.path" % inFileName | |
| 49 obsTabFileName = "%s.match.tab" % inFileName | |
| 50 | |
| 51 iLaunchMatcherInParallel = LaunchMatcherInParallel(align=inFileName, queryFileName=fastaFileName, subjectFileName=fastaFileName, doJoin=True, evalue="1e-20", keepConflict=True, config=self._configFileName, doClean=True) | |
| 52 iLaunchMatcherInParallel.run() | |
| 53 | |
| 54 self.assertTrue(FileUtils.are2FilesIdentical(expPathFileName, obsPathFileName)) | |
| 55 self.assertTrue(FileUtils.are2FilesIdentical(expTabFileName, obsTabFileName)) | |
| 56 | |
| 57 def test_run_as_class_n_seq_less_jobs_than_n_not_merged_results(self): | |
| 58 inFileName = "DmelChr4_dummy.align" | |
| 59 fastaFileName = "DmelChr4.fa" | |
| 60 inFilePath = "%s/Tools/%s" % (os.environ["REPET_DATA"], inFileName) | |
| 61 inFastaPath = "%s/Tools/%s" % (os.environ["REPET_DATA"], fastaFileName) | |
| 62 os.symlink(inFilePath, inFileName) | |
| 63 os.symlink(inFastaPath, fastaFileName) | |
| 64 | |
| 65 iLaunchMatcherInParallel = LaunchMatcherInParallel(align=inFileName, queryFileName=fastaFileName, subjectFileName=fastaFileName, doJoin=True, evalue="1e-20", keepConflict=True, config=self._configFileName, maxFileSize=100, mergeResults=False) | |
| 66 iLaunchMatcherInParallel.run() | |
| 67 | |
| 68 baseFileName = os.path.splitext(inFileName)[0] | |
| 69 lExpMatchFileNames = ["%s_1.align.match.path" % baseFileName, "%s_2.align.match.path" % baseFileName, "%s_3.align.match.path" % baseFileName] | |
| 70 lExpTabFileNames = ["%s_1.align.match.tab" % baseFileName, "%s_2.align.match.tab" % baseFileName, "%s_3.align.match.tab" % baseFileName] | |
| 71 for i in range(0,3): | |
| 72 self.assertTrue(FileUtils.isRessourceExists("tmpMatcher/%s" % lExpMatchFileNames[i])) | |
| 73 self.assertTrue(FileUtils.isRessourceExists("tmpMatcher/%s" % lExpTabFileNames[i])) | |
| 74 shutil.rmtree("tmpMatcher") | |
| 75 | |
| 76 def _writeConfig(self): | |
| 77 with open(self._configFileName, "w") as fh: | |
| 78 fh.write("[jobs]\n") | |
| 79 if os.getenv("HOSTNAME") == self.CLUSTER_HOST: | |
| 80 fh.write("resources: test\n") | |
| 81 else: | |
| 82 fh.write("resources:\n") | |
| 83 fh.write("tmpDir:\n") | |
| 84 fh.write("copy: no\n") | |
| 85 fh.write("clean: yes\n") | |
| 86 | |
| 87 if __name__ == "__main__": | |
| 88 unittest.main() |
