annotate commons/tools/tests/Test_F_GetMultiAlignAndPhylogenyPerTErefSeq.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 import subprocess
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 from commons.core.utils.FileUtils import FileUtils
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 from commons.core.sql.DbMySql import DbMySql
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 from commons.tools.GetMultAlignAndPhylogenyPerTErefSeq import GetMultAlignAndPhylogenyPerTErefSeq
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7 from shutil import rmtree
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8 from glob import glob
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10 class Test_F_GetMultAlignAndPhylogenyPerTErefSeq(unittest.TestCase):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 def setUp(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 self._verbosity = 3
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 self._testPrefix = 'Test_GMAAPperTErefSeq_'
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 self._configFileName = "%sConfig.cfg" % self._testPrefix
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17 self._iDb = DbMySql()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 self.inPathTableName = "%sDmelChr4_chr_allTEs_nr_noSSR_join_path" % (self._testPrefix)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20 self.inPathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 self._iDb.createTable(self.inPathTableName, "path", self.inPathFileName, True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 self.RefTETableName = "%sDmelChr4_refTEs" % (self._testPrefix)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 self.RefTEFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25 self._iDb.createTable(self.RefTETableName, "seq", self.RefTEFileName, True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 self.genomeTableName = "%sDmelChr4_chr" % (self._testPrefix)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28 self.genomeFileName = "%s/Tools/DmelChr4.fa" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29 self._iDb.createTable(self.genomeTableName, "seq", self.genomeFileName, True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31 try:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32 os.makedirs(self._testPrefix)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33 except:pass
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 os.chdir(self._testPrefix)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 self._writeConfigFile()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 # self._expFileName_FullLengthCopy = "%s/Tools/GiveInfoTeAnnotFile_ConsensusWithFullLengthCopy.txt" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 # self._expFileName_Copy = "%s/Tools/GiveInfoTeAnnotFile_ConsensusWithCopy.txt" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 # self._expFileName_FullLengthFrag = "%s/Tools/GiveInfoTeAnnotFile_ConsensusWithFullLengthFrag.txt" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 # self._expFastaFileName_FullLengthCopy = "%s/Tools/GiveInfoTeAnnotFile_ConsensusWithFullLengthCopy.fa" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 # self._expFastaFileName_Copy = "%s/Tools/GiveInfoTeAnnotFile_ConsensusWithCopy.fa" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42 # self._expFastaFileName_FullLengthFrag = "%s/Tools/GiveInfoTeAnnotFile_ConsensusWithFullLengthFrag.fa" % os.environ["REPET_DATA"]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45 # inputFastaFileName = "input_TEannot_refTEs.fa"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46 # os.symlink(self._expFastaFileName_Copy, inputFastaFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 # self._tableName = "Dummy_Atha_refTEs_seq"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 # self._iDb.createTable(self._tableName, "seq", inputFastaFileName, True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 # os.remove(inputFastaFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 # self._obsFileName_FullLengthCopy = "%s_FullLengthCopy.txt" % os.path.splitext(os.path.basename(self._inFileName))[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53 # self._obsFileName_Copy = "%s_OneCopyAndMore.txt" % os.path.splitext(os.path.basename(self._inFileName))[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 # self._obsFileName_FullLengthFrag = "%s_FullLengthFrag.txt" % os.path.splitext(os.path.basename(self._inFileName))[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 # self._obsFastaFileName_FullLengthCopy = "%s.fa" % os.path.splitext(self._obsFileName_FullLengthCopy)[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56 # self._obsFastaFileName_Copy = "%s.fa" % os.path.splitext(self._obsFileName_Copy)[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 # self._obsFastaFileName_FullLengthFrag = "%s.fa" % os.path.splitext(self._obsFileName_FullLengthFrag)[0]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59 def tearDown(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60 # self._iDb.dropTable(self.inPathTableName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 # self._iDb.dropTable(self.RefTETableName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62 # self._iDb.dropTable(self.genomeTableName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 # self._iDb.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65 os.chdir("..")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 # try:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67 # rmtree(self._testPrefix)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68 # except:pass
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71 # def test_run_step1(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
72 # iGMAAPperTErefSeq = GetMultAlignAndPhylogenyPerTErefSeq(pathTableName= self.inPathTableName, refSeqTableName=self.RefTETableName, genomeSeqTableName= self.genomeTableName, configFileName=self._configFileName, step=1, verbosity=self._verbosity)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
73 # iGMAAPperTErefSeq.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
74 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
75 # copiesFiles = glob("*_copies.fa")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
76 # self.assertTrue(len(copiesFiles) > 0)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
77 # self.assertTrue(os.stat("DmelChr4-B-R9-Map3_NoCat_copies.fa")[6] != 0)#check if file is empty
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
78 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
79 # def test_run_step1Step2Map(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
80 # iGMAAPperTErefSeq = GetMultAlignAndPhylogenyPerTErefSeq(pathTableName= self.inPathTableName, refSeqTableName=self.RefTETableName, genomeSeqTableName= self.genomeTableName, mSAmethod="Map", configFileName=self._configFileName, step=1, verbosity=self._verbosity)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
81 # iGMAAPperTErefSeq.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
82 # iGMAAPperTErefSeq.step = 2
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
83 # iGMAAPperTErefSeq.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
84 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
85 # self.assertTrue(os.stat("DmelChr4-B-G9-Map3_NoCat_all.fa.oriented_map.fa_aln")[6] != 0)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
86 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
87 # def test_run_step1Step2RefAlign(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
88 # iGMAAPperTErefSeq = GetMultAlignAndPhylogenyPerTErefSeq(pathTableName= self.inPathTableName, refSeqTableName=self.RefTETableName, genomeSeqTableName= self.genomeTableName, mSAmethod="RefAlign", configFileName=self._configFileName, step=1, verbosity=self._verbosity)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
89 # iGMAAPperTErefSeq.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
90 # iGMAAPperTErefSeq.step = 2
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
91 # iGMAAPperTErefSeq.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
92 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
93 # self.assertTrue(os.stat("DmelChr4-B-G9-Map3_NoCat_all.fa.oriented_refalign.fa_aln")[6] != 0)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
94
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
95 def test_run_step1Step2Step3Map(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
96 iGMAAPperTErefSeq = GetMultAlignAndPhylogenyPerTErefSeq(pathTableName= self.inPathTableName, refSeqTableName=self.RefTETableName, genomeSeqTableName= self.genomeTableName, mSAmethod="Map", configFileName=self._configFileName, step=1, verbosity=self._verbosity)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
97 iGMAAPperTErefSeq.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
98 iGMAAPperTErefSeq.step = 2
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
99 iGMAAPperTErefSeq.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
100 iGMAAPperTErefSeq.step = 3
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
101 iGMAAPperTErefSeq.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
102
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
103 self.assertTrue(os.stat("DmelChr4-B-G9-Map3_NoCat_all.fa.oriented_map.fa_aln")[6] != 0)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
104
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
105 def _writeConfigFile(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
106 f = open(self._configFileName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
107 f.write("[repet_env]\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
108 f.write("repet_host: %s\n" % os.environ["REPET_HOST"])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
109 f.write("repet_user: %s\n" % os.environ["REPET_USER"])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
110 f.write("repet_pw: %s\n" % os.environ["REPET_PW"])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
111 f.write("repet_db: %s\n" % os.environ["REPET_DB"])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
112 f.write("repet_port: %s\n" % os.environ["REPET_PORT"])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
113 f.write("repet_job_manager: SGE\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
114 f.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
115
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
116
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
117 # def test_run_as_script_step1Step2Map(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
118 # #cmd= "GetMultAlignAndPhylogenyPerTErefSeq.py -S 1 -m 'Map' -p %s -s %s -g %s -C %s" % (self._inPathTableName,self._RefTETableName, self._genomeTableName, self._configFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
119 # cmd= "GetMultAlignAndPhylogenyPerTErefSeq.py -S 1 -p %s -s %s -g %s -C %s" % (self.inPathTableName,self.RefTETableName, self.genomeTableName, self._configFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
120 # subprocess.call(cmd, shell = True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
121 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
122 # cmd= "GetMultAlignAndPhylogenyPerTErefSeq.py -S 2 -p %s -s %s -g %s -C %s" % (self.inPathTableName,self.RefTETableName, self.genomeTableName, self._configFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
123 # subprocess.call(cmd, shell = True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
124 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
125 # self.assertTrue(os.stat("DmelChr4-B-G9-Map3_NoCat_all.fa.oriented_map.fa_aln")[6] != 0)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
126
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
127
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
128 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName_FullLengthCopy, self._obsFileName_FullLengthCopy))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
129 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName_Copy, self._obsFileName_Copy))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
130 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName_FullLengthFrag, self._obsFileName_FullLengthFrag))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
131 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFastaFileName_FullLengthCopy, self._obsFastaFileName_FullLengthCopy))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
132 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFastaFileName_Copy, self._obsFastaFileName_Copy))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
133 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFastaFileName_FullLengthFrag, self._obsFastaFileName_FullLengthFrag))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
134
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
135 # def test_run_as_script_step2(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
136 # cmd= "GetMultAlignAndPhylogenyPerTErefSeq.py -S 1 -p %s -s %s -g %s -C %s" % (self._inPathTableName,self._RefTETableName, self._genomeTableName, self._configFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
137 # print cmd
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
138 # subprocess.call(cmd, shell = True)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
139 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName_FullLengthCopy, self._obsFileName_FullLengthCopy))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
140 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName_Copy, self._obsFileName_Copy))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
141 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFileName_FullLengthFrag, self._obsFileName_FullLengthFrag))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
142 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFastaFileName_FullLengthCopy, self._obsFastaFileName_FullLengthCopy))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
143 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFastaFileName_Copy, self._obsFastaFileName_Copy))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
144 # self.assertTrue(FileUtils.are2FilesIdentical(self._expFastaFileName_FullLengthFrag, self._obsFastaFileName_FullLengthFrag))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
145
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
146 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
147 unittest.main()