18
|
1 from commons.core.sql.DbFactory import DbFactory
|
|
2 from commons.core.utils.FileUtils import FileUtils
|
|
3 import subprocess
|
|
4 import os
|
|
5 import unittest
|
|
6 from commons.tools.AlignTEOnGenomeAccordingToAnnotation import AlignTEOnGenomeAccordingToAnnotation
|
|
7
|
|
8 class Test_F_AlignTEOnGenomeAccordingToAnnotation(unittest.TestCase):
|
|
9
|
|
10 def test_run_merge_same_paths(self):
|
|
11 pathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
|
|
12 queryFileName = "%s/commons/DmelChr4.fa" % os.environ["REPET_DATA"]
|
|
13 subjectFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
|
|
14 pathTableName = "testDmelChr4_chr_allTEs_nr_noSSR_join_path"
|
|
15 queryTableName = "testDmelChr4_chr_seq"
|
|
16 subjectTableName = "testDmelChr4_refTEs_seq"
|
|
17 iDb = DbFactory.createInstance()
|
|
18 iDb.createTable(queryTableName, "seq", queryFileName, True)
|
|
19 iDb.createTable(subjectTableName, "seq", subjectFileName, True)
|
|
20 iDb.createTable(pathTableName, "path", pathFileName, True)
|
|
21 expFileName = "%s/Tools/exp%s_merge.alignedSeq" % (os.environ["REPET_DATA"], pathTableName)
|
|
22
|
|
23 iATOGATA = AlignTEOnGenomeAccordingToAnnotation(pathTableName, queryTableName, subjectTableName, True)
|
|
24 iATOGATA.run()
|
|
25 obsFileName = "obs%s_merge.alignedSeq" % pathTableName
|
|
26 iDb.exportDataToFile("%s_align" % pathTableName, obsFileName)
|
|
27
|
|
28 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
|
|
29
|
|
30 os.remove(obsFileName)
|
|
31 iDb.dropTable(queryTableName)
|
|
32 iDb.dropTable(subjectTableName)
|
|
33 iDb.dropTable(pathTableName)
|
|
34 iDb.dropTable("%s_align" % pathTableName)
|
|
35 iDb.close()
|
|
36
|
|
37 def test_run_as_script_merge_same_paths(self):
|
|
38 pathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
|
|
39 queryFileName = "%s/commons/DmelChr4.fa" % os.environ["REPET_DATA"]
|
|
40 subjectFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
|
|
41 pathTableName = "testDmelChr4_chr_allTEs_nr_noSSR_join_path"
|
|
42 queryTableName = "testDmelChr4_chr_seq"
|
|
43 subjectTableName = "testDmelChr4_refTEs_seq"
|
|
44 iDb = DbFactory.createInstance()
|
|
45 iDb.createTable(queryTableName, "seq", queryFileName, True)
|
|
46 iDb.createTable(subjectTableName, "seq", subjectFileName, True)
|
|
47 iDb.createTable(pathTableName, "path", pathFileName, True)
|
|
48 expFileName = "%s/Tools/exp%s_merge.alignedSeq" % (os.environ["REPET_DATA"], pathTableName)
|
|
49
|
|
50 cmd = "AlignTEOnGenomeAccordingToAnnotation.py -p %s -q %s -s %s -m " % (pathTableName, queryTableName, subjectTableName)
|
|
51 process = subprocess.Popen(cmd, shell = True)
|
|
52 process.communicate()
|
|
53 obsFileName = "obs%s_merge.alignedSeq" % pathTableName
|
|
54 iDb.exportDataToFile("%s_align" % pathTableName, obsFileName)
|
|
55
|
|
56 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
|
|
57
|
|
58 os.remove(obsFileName)
|
|
59 iDb.dropTable(queryTableName)
|
|
60 iDb.dropTable(subjectTableName)
|
|
61 iDb.dropTable(pathTableName)
|
|
62 iDb.dropTable("%s_align" % pathTableName)
|
|
63 iDb.close()
|
|
64
|
|
65 def test_run_as_script_without_merge(self):
|
|
66 pathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
|
|
67 queryFileName = "%s/commons/DmelChr4.fa" % os.environ["REPET_DATA"]
|
|
68 subjectFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
|
|
69 pathTableName = "testDmelChr4_chr_allTEs_nr_noSSR_join_path"
|
|
70 queryTableName = "testDmelChr4_chr_seq"
|
|
71 subjectTableName = "testDmelChr4_refTEs_seq"
|
|
72 iDb = DbFactory.createInstance()
|
|
73 iDb.createTable(queryTableName, "seq", queryFileName, True)
|
|
74 iDb.createTable(subjectTableName, "seq", subjectFileName, True)
|
|
75 iDb.createTable(pathTableName, "path", pathFileName, True)
|
|
76 expFileName = "%s/Tools/exp%s.alignedSeq" % (os.environ["REPET_DATA"], pathTableName)
|
|
77
|
|
78 cmd = "AlignTEOnGenomeAccordingToAnnotation.py -p %s -q %s -s %s" % (pathTableName, queryTableName, subjectTableName)
|
|
79 process = subprocess.Popen(cmd, shell = True)
|
|
80 process.communicate()
|
|
81 obsFileName = "obs%s.alignedSeq" % pathTableName
|
|
82 iDb.exportDataToFile("%s_align" % pathTableName, obsFileName)
|
|
83
|
|
84 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
|
|
85
|
|
86 os.remove(obsFileName)
|
|
87 iDb.dropTable(queryTableName)
|
|
88 iDb.dropTable(subjectTableName)
|
|
89 iDb.dropTable(pathTableName)
|
|
90 iDb.dropTable("%s_align" % pathTableName)
|
|
91 iDb.close()
|
|
92
|
|
93 # def test_run_as_script_merge_same_paths_old(self):
|
|
94 # pathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
|
|
95 # queryFileName = "%s/commons/DmelChr4.fa" % os.environ["REPET_DATA"]
|
|
96 # subjectFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
|
|
97 # pathTableName = "testDmelChr4_chr_allTEs_nr_noSSR_join_path"
|
|
98 # queryTableName = "testDmelChr4_chr_seq"
|
|
99 # subjectTableName = "testDmelChr4_refTEs_seq"
|
|
100 # iDb = DbFactory.createInstance()
|
|
101 # iDb.createTable(queryTableName, "seq", queryFileName, True)
|
|
102 # iDb.createTable(subjectTableName, "seq", subjectFileName, True)
|
|
103 # iDb.createTable(pathTableName, "path", pathFileName, True)
|
|
104 # expFileName = "%s/Tools/exp%s_merge_old.alignedSeq" % (os.environ["REPET_DATA"], pathTableName)
|
|
105 #
|
|
106 # cmd = "srptAlignPath.py -m %s -q %s -s %s" % (pathTableName, queryTableName, subjectTableName)
|
|
107 # process = subprocess.Popen(cmd, shell = True)
|
|
108 # process.communicate()
|
|
109 # obsFileName = "obs%s.alignedSeq" % pathTableName
|
|
110 # iDb.exportDataToFile("%s_align" % pathTableName, obsFileName)
|
|
111 #
|
|
112 # self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
|
|
113 #
|
|
114 # os.remove(obsFileName)
|
|
115 # iDb.dropTable(queryTableName)
|
|
116 # iDb.dropTable(subjectTableName)
|
|
117 # iDb.dropTable(pathTableName)
|
|
118 # iDb.dropTable("%s_align" % pathTableName)
|
|
119 # iDb.close()
|
|
120 #
|
|
121 if __name__ == "__main__":
|
|
122 unittest.main() |