annotate commons/tools/tests/Test_F_LaunchBlaster.py @ 31:0ab839023fe4

Uploaded
author m-zytnicki
date Tue, 30 Apr 2013 14:33:21 -0400
parents 94ab73e8a190
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 from commons.core.utils.FileUtils import FileUtils
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2 import unittest
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 import os
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 import glob
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 from commons.tools.LaunchBlaster import LaunchBlaster
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7 class Test_F_LaunchBlaster(unittest.TestCase):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9 def setUp(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10 self._inFileName = "DmelChr4.fa"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 inFilePath = "%s/Tools/%s" % (os.environ["REPET_DATA"], self._inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 try:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 os.remove(self._inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 except:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 pass
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 os.symlink(inFilePath, self._inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17 self._iLaunchBlaster = LaunchBlaster(self._inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18 self._iLaunchBlaster.setDoAllByall(True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 self._iLaunchBlaster.setVerbosity(4)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 def tearDown(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 try:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 FileUtils.removeFilesByPattern("%s*" % self._inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 os.remove("formatdb.log")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25 except:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 pass
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28 def test_run_as_class_1_file(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29 expFileName = "%s/Tools/DmelChr4.align" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 obsFileName = "%s.align" % self._inFileName
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32 self._iLaunchBlaster.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 def test_run_as_class_1_file_changed_params(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 expFileName = "DmelChr4.align"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 with open(expFileName, "w") as fh:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 fh.write("dmel_chr4\t691910\t692326\tdmel_chr4\t700019\t700435\t0\t827\t100\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 obsFileName = "%s.align" % self._inFileName
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42 self._iLaunchBlaster.setIdentity(100)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43 self._iLaunchBlaster.setCPU(4)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44 self._iLaunchBlaster.setDoClean(True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45 self._iLaunchBlaster.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 os.remove(expFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 self.assertTrue(glob.glob("*fa_cut*") == [])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 self.assertTrue(glob.glob("*Nstretch*") == [])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51 self.assertTrue(glob.glob("*seq_treated*") == [])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 self.assertTrue(glob.glob("*.log") == [])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 def test_run_as_script_1bank_1file(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 inputFileName = "chunks.fa"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56 with open(inputFileName, "w") as f:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 f.write(">chunk1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 f.write("GAATTCGCGTCCGCTTACCCATGTGCCTGTGGATGCCGAACAGGAGGCGCCGTTGACGGC\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59 f.write("GAATGACTTACTCAAGGGAGTAGCCAATCTGTCGGATACGCCCGGATTGGAGCTGCCCAT\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60 expFileName = "exp.align"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 with open(expFileName, "w") as f:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62 f.write("chunk1\t1\t120\tdmel_chr4\t1\t120\t2e-64\t238\t100\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 obsFileName = "%s.align" % inputFileName
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65 cmd = "LaunchBlaster.py -q %s -s %s -e 0.1 -a" % (inputFileName, self._inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 os.system(cmd)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69 FileUtils.removeFilesByPattern("%s*" % inputFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70 os.remove(expFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
72 def test_run_as_script_1bank_1file_withoutABA(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
73 queryFileName = "chunks.fa"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
74 with open(queryFileName, "w") as f:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
75 f.write(">chunk1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
76 f.write("GAATTCGCGTCCGCTTACCCATGTGCCTGTGGATGCCGAACAGGAGGCGCCGTTGACGGC\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
77 f.write("GAATGACTTACTCAAGGGAGTAGCCAATCTGTCGGATACGCCCGGATTGGAGCTGCCCAT\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
78 subjectFileName = "genome.fa"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
79 with open(subjectFileName, "w") as f:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
80 f.write(">chunk1\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
81 f.write("GAATTCGCGTCCGCTTACCCATGTGCCTGTGGATGCCGAACAGGAGGCGCCGTTGACGGC\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
82 f.write("GAATGACTTACTCAAGGGAGTAGCCAATCTGTCGGATACGCCCGGATTGGAGCTGCCCAT\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
83 f.write(">chunk2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
84 f.write("GAATTCGCGTCCGCTTACCCATGTGCCTGTGGATGCCGAACAGGAGGCGCCGTTGACGGC\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
85 f.write("GAATGACTTACTCAAGGGAGTAGCCAATCTGTCGGATACGCCCGGATTGGAGCTGCCCAT\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
86 expFileName = "exp.align"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
87 with open(expFileName, "w") as f:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
88 f.write("chunk1\t1\t120\tchunk1\t1\t120\t4e-68\t238\t100\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
89 f.write("chunk1\t1\t120\tchunk2\t1\t120\t4e-68\t238\t100\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
90 obsFileName = "%s.align" % queryFileName
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
91
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
92 cmd = "LaunchBlaster.py -q %s -s %s -e 0.1" % (queryFileName, subjectFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
93 os.system(cmd)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
94
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
95 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
96 FileUtils.removeFilesByPattern("%s*" % queryFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
97 FileUtils.removeFilesByPattern("%s*" % subjectFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
98 os.remove(expFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
99
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
100 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
101 unittest.main()