18
|
1 import unittest
|
|
2 import os
|
|
3 from commons.launcher.LaunchBlastclust import LaunchBlastclust
|
|
4 from commons.core.utils.FileUtils import FileUtils
|
|
5
|
|
6 class Test_F_LaunchBlastclust(unittest.TestCase):
|
|
7
|
|
8 def setUp(self):
|
|
9 self._inputFileName = "DmelChr4_LTRharvest_expected_with_default_params.fa"
|
|
10 os.symlink("%s/Tools/%s" % (os.environ["REPET_DATA"], self._inputFileName), self._inputFileName)
|
|
11 self._outputFileName = "%s_Blastclust.fa" % self._inputFileName
|
|
12 self._outBlastclustFileName = "%s_blastclust.txt" % self._inputFileName
|
|
13
|
|
14 def tearDown(self):
|
|
15 if os.path.exists(self._outputFileName):
|
|
16 os.remove(self._outputFileName)
|
|
17 if os.path.exists(self._outBlastclustFileName):
|
|
18 os.remove(self._outBlastclustFileName)
|
|
19 os.remove(self._inputFileName)
|
|
20
|
|
21 def test_run(self):
|
|
22 iLaunchBlastclust = LaunchBlastclust(self._inputFileName, clean = True)
|
|
23 iLaunchBlastclust.run()
|
|
24 expFileName = "%s/Tools/DmelChr4_LTRharvest_Blastclust_expected.fa" % os.environ["REPET_DATA"]
|
|
25 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, self._outputFileName))
|
|
26
|
|
27 def test_run_with_tweaked_params(self):
|
|
28 iLaunchBlastclust = LaunchBlastclust(self._inputFileName, clean = True)
|
|
29 iLaunchBlastclust.setBothSequences("F")
|
|
30 iLaunchBlastclust.setIdentityThreshold(0)
|
|
31 iLaunchBlastclust.setIsBlastToMap()
|
|
32 iLaunchBlastclust.run()
|
|
33
|
|
34 faExpFileName = "%s/Tools/DmelChr4_LTRharvest_Blastclust_expected_with_tweaked_params.fa" % os.environ["REPET_DATA"]
|
|
35 mapExpFileName = "%s/Tools/DmelChr4_LTRharvest_Blastclust_expected_with_tweaked_params.map" % os.environ["REPET_DATA"]
|
|
36
|
|
37 self.assertTrue(FileUtils.are2FilesIdentical(faExpFileName, self._outputFileName))
|
|
38 self.assertTrue(FileUtils.are2FilesIdentical(mapExpFileName, "%s.map" % os.path.splitext(self._outputFileName)[0]))
|
|
39
|
|
40 os.remove("%s.map" % os.path.splitext(self._outputFileName)[0])
|
|
41
|
|
42 def test_run_with_header_options(self):
|
|
43 inFileName = "dummyHeaderForTEdenovo.fa"
|
|
44 expFileName = "expDummyHeaderForTEdenovo.fa"
|
|
45 self._writeInputFile_header_options(inFileName)
|
|
46 self._writeExpFile_header_options(expFileName)
|
|
47 obsFileName = "%s_Blastclust.fa" % inFileName
|
|
48
|
|
49 iLaunchBlastclust = LaunchBlastclust(inFileName, clean = True)
|
|
50 iLaunchBlastclust.setIsHeaderForTEdenovo(True)
|
|
51 iLaunchBlastclust.run()
|
|
52
|
|
53 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
|
|
54
|
|
55 os.remove(inFileName)
|
|
56 os.remove(expFileName)
|
|
57 os.remove(obsFileName)
|
|
58 os.remove("%s_blastclust.txt" % inFileName)
|
|
59
|
|
60 def test_run_as_script(self):
|
|
61 cmd = "LaunchBlastclust.py -i %s" % self._inputFileName
|
|
62 os.system(cmd)
|
|
63 expFileName = "%s/Tools/DmelChr4_LTRharvest_Blastclust_expected.fa" % os.environ["REPET_DATA"]
|
|
64 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, self._outputFileName))
|
|
65
|
|
66 def _writeInputFile_header_options(self, inFileName):
|
|
67 f = open(inFileName,"w")
|
|
68 f.write(">DTX-incomp_DmelChr4-B-R9-Map3_reversed\n")
|
|
69 f.write("CATTAGATTCAAGGCATCATGGATCAGCACATTTACACAGATATCCTGGAAAATGTGATG\n")
|
|
70 f.write("CTGCCATATGCCGGGGATGAAATGCCGTTGGTTTGGACATTTCAACAGGATAACGATTCA\n")
|
|
71 f.write("AAACACACGAGCAAGAAAGCTTGAAAGTGGTTTGAGCAGAAATCGATCCGAGTAATGAAA\n")
|
|
72 f.write("TGGCCTGCTCTGTCATCCGACTTGAATCCAATCGAAAACCTTTGGGCGGACGTGGAAAAA\n")
|
|
73 f.write(">DTX-incomp_DmelChr4-B-R10-Map3_reversed\n")
|
|
74 f.write("CATTAGATTCAAGGCATCATGGATCAGCACATTTACACAGATATCCTGGAAAATGTGATG\n")
|
|
75 f.write("CTGCCATATGCCGGGGATGAAATGCCGTTGGTTTGGACATTTCAACAGGATAACGATTCA\n")
|
|
76 f.write("AAACACACGAGCAAGAAAGCTTGAAAGTGGTTTGAGCAGAAATCGATCCGAGTAATGAAA\n")
|
|
77 f.write("TGGCCTGCTCTGTCATCCGACTTGAATCCAATCGAAAACCTTTGGGCGGACGTGGAAAAA\n")
|
|
78 f.write(">PotentialHostGene-chim_DmelChr4-B-R4-Map5_reversed\n")
|
|
79 f.write("TACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACGATTT\n")
|
|
80 f.write("TTTCGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAG\n")
|
|
81 f.write("AGCGGAGAGCGCTACAGCGAACAGCTCTTTTCAACGCATAAAGTGATAGCAGACAACTGT\n")
|
|
82 f.close()
|
|
83
|
|
84 def _writeExpFile_header_options(self, expFileName):
|
|
85 f = open(expFileName,"w")
|
|
86 f.write(">DTX-incomp_Blc1_DmelChr4-B-R9-Map3_reversed\n")
|
|
87 f.write("CATTAGATTCAAGGCATCATGGATCAGCACATTTACACAGATATCCTGGAAAATGTGATG\n")
|
|
88 f.write("CTGCCATATGCCGGGGATGAAATGCCGTTGGTTTGGACATTTCAACAGGATAACGATTCA\n")
|
|
89 f.write("AAACACACGAGCAAGAAAGCTTGAAAGTGGTTTGAGCAGAAATCGATCCGAGTAATGAAA\n")
|
|
90 f.write("TGGCCTGCTCTGTCATCCGACTTGAATCCAATCGAAAACCTTTGGGCGGACGTGGAAAAA\n")
|
|
91 f.write(">DTX-incomp_Blc1_DmelChr4-B-R10-Map3_reversed\n")
|
|
92 f.write("CATTAGATTCAAGGCATCATGGATCAGCACATTTACACAGATATCCTGGAAAATGTGATG\n")
|
|
93 f.write("CTGCCATATGCCGGGGATGAAATGCCGTTGGTTTGGACATTTCAACAGGATAACGATTCA\n")
|
|
94 f.write("AAACACACGAGCAAGAAAGCTTGAAAGTGGTTTGAGCAGAAATCGATCCGAGTAATGAAA\n")
|
|
95 f.write("TGGCCTGCTCTGTCATCCGACTTGAATCCAATCGAAAACCTTTGGGCGGACGTGGAAAAA\n")
|
|
96 f.write(">PotentialHostGene-chim_Blc2_DmelChr4-B-R4-Map5_reversed\n")
|
|
97 f.write("TACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACGATTT\n")
|
|
98 f.write("TTTCGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAG\n")
|
|
99 f.write("AGCGGAGAGCGCTACAGCGAACAGCTCTTTTCAACGCATAAAGTGATAGCAGACAACTGT\n")
|
|
100 f.close()
|
|
101
|
|
102 if __name__ == "__main__":
|
|
103 unittest.main() |