comparison commons/tools/tests/Test_F_SplicerFromAnnotation.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 import unittest
2 import os
3 from commons.core.sql.DbMySql import DbMySql
4 from commons.core.utils.FileUtils import FileUtils
5 #from commons.tools.SplicerFromAnnotation import SplicerFromAnnotation
6
7 class Test_F_SplicerFromAnnotation(unittest.TestCase):
8
9 def setUp(self):
10 self._inFastaFileName = "%s/Tools/Splicer_inputFile.fa" % os.environ["REPET_DATA"]
11 self._outFastaFileName = "%s/Tools/Splicer_outputSplicedFile.fa.splice" % os.environ["REPET_DATA"]
12 self._refTEseqFileName = "%s/Tools/Splicer_refTEs_seq.fa" % os.environ["REPET_DATA"]
13 self.configFileName = "TEdenovo.cfg"
14 self._writeConfigFile()
15 self.pathFileName = "annotations_path"
16 self._writePathFile()
17 self._iDb = DbMySql(cfgFileName = self.configFileName)
18 self._tableName = "Splicer_inputFile_chr_allTEs_nr_noSSR_join_path"
19 self._iDb.createTable(self._tableName, "path", self.pathFileName, True)
20 self._tableName_refTEseq = "Splicer_inputFile_refTEs_seq"
21 self._iDb.createTable(self._tableName_refTEseq, "seq", self._refTEseqFileName, True)
22
23 def tearDown(self):
24 self._iDb.dropTable(self._tableName)
25 self._iDb.dropTable(self._tableName_refTEseq)
26 self._iDb.dropTable("Splicer_inputFile_annotationIdentitySup80_path")
27 self._iDb.dropTable("Splicer_inputFile_annotationToSplice_path")
28 self._iDb.close()
29 os.remove("annotations_path")
30 os.remove("Splicer_inputFile_chr_allTEs_nr_noSSR_join_path.annotStatsPerTE.tab")
31 os.remove("Splicer_inputFile_chr_allTEs_nr_noSSR_join_path.globalAnnotStatsPerTE.txt")
32 os.remove("Splicer_inputFile_chr_allTEs_nr_noSSR_join_path.annotStatsPerTE_FullLengthCopy.fa")
33 os.remove("Splicer_inputFile_chr_allTEs_nr_noSSR_join_path.annotStatsPerTE_FullLengthCopy.txt")
34 os.remove("Splicer_inputFile_chr_allTEs_nr_noSSR_join_path.annotStatsPerTE_FullLengthFrag.fa")
35 os.remove("Splicer_inputFile_chr_allTEs_nr_noSSR_join_path.annotStatsPerTE_FullLengthFrag.txt")
36 os.remove("Splicer_inputFile_chr_allTEs_nr_noSSR_join_path.annotStatsPerTE_OneCopyAndMore.txt")
37 os.remove("Splicer_inputFile_chr_allTEs_nr_noSSR_join_path.annotStatsPerTE_OneCopyAndMore.fa")
38 os.remove("Splicer_inputFile_annotationToSplice_path.path")
39 os.remove(self.configFileName)
40 # os.remove(self.obsOutSplicedFastaFileName)
41
42 def test_run_as_script_FLC(self):
43 expOutSplicedFastaFileName = "%s/Tools/Splicer_outputSplicedFile_FLC.fa.splice" % os.environ["REPET_DATA"]
44 self.obsOutSplicedFastaFileName = "Splicer_inputFile_FLC.fa.splice"
45 self._writeConfigFile()
46 self._writePathFile()
47 cmd = 'SplicerFromAnnotation.py -i %s -C %s -o %s -v 2' % (self._inFastaFileName,self.configFileName, self.obsOutSplicedFastaFileName)
48 os.system(cmd)
49
50 self.assertTrue(FileUtils.are2FilesIdentical(expOutSplicedFastaFileName, self.obsOutSplicedFastaFileName))
51
52 def test_run_as_script_FLF(self):
53 expOutSplicedFastaFileName = "%s/Tools/Splicer_outputSplicedFile_FLF.fa.splice" % os.environ["REPET_DATA"]
54 self.obsOutSplicedFastaFileName = "Splicer_inputFile_FLF.fa.splice"
55 self._writeConfigFile()
56 self._writePathFile()
57 cmd = 'SplicerFromAnnotation.py -i %s -t 3 -C %s -o %s -v 2' % (self._inFastaFileName,self.configFileName, self.obsOutSplicedFastaFileName)
58 os.system(cmd)
59
60 self.assertTrue(FileUtils.are2FilesIdentical(expOutSplicedFastaFileName, self.obsOutSplicedFastaFileName))
61
62 def _writeConfigFile(self):
63 f = open(self.configFileName, "w")
64 f.write("[repet_env]\n")
65 f.write("repet_version: 2.0\n")
66 f.write("repet_host: %s\n" % os.environ["REPET_HOST"])
67 f.write("repet_user: %s\n" % os.environ["REPET_USER"])
68 f.write("repet_pw: %s\n" % os.environ["REPET_PW"])
69 f.write("repet_db: %s\n" % os.environ["REPET_DB"])
70 f.write("repet_port: %s\n" % os.environ["REPET_PORT"])
71 f.write("repet_job_manager: %s\n" % os.environ["REPET_JOB_MANAGER"])
72 f.close()
73
74 def _writePathFile(self):
75 f = open(self.pathFileName, "w")
76 f.write("1\tA_contig00012\t2853\t3530\tRLX-comp_3b_Itr1_v2-L-B1064-Map1_reversed\t8127\t8803\t0\t648\t95.7227\n")
77 f.write("3\tA_contig00012\t3531\t6064\tRLX-incomp_3b_Itr1_v2-L-B450-Map1\t3207\t709\t0\t2166\t85.4973\n")
78 f.write("4\tA_contig00012\t1\t1542\tDTX-incomp_3b_Itr1_v2-L-B1836-Map1\t673\t2218\t0\t1460\t94.7437\n")
79 f.write("4\tA_contig00012\t1523\t2849\tDTX-incomp_3b_Itr1_v2-L-B1836-Map1\t2385\t3693\t0\t1086\t81.9079\n")
80 f.write("23\tA_contig00033\t10551\t10668\tRLX-comp_3b_Itr1_v2-L-B2275-Map1\t668\t784\t1.3e-11\t97\t82.8571\n")
81 f.write("24\tA_contig00033\t7649\t7753\tRLX-comp_3b_Itr1_v2-L-B1105-Map1\t5349\t5453\t1.4e-13\t82\t78.5714\n")
82 f.write("25\tA_contig00033\t2998\t3243\tRLX-comp_3b_Itr1_v2-L-B757-Map1\t4422\t4659\t1.2e-12\t201\t81.8182\n")
83 f.write("26\tA_contig00033\t30462\t30502\tRLX-comp_3b_Itr1_v2-L-B389-Map1_reversed\t1548\t1509\t0\t38\t95.12\n")
84 f.write("26\tA_contig00033\t30462\t30504\tRLX-comp_3b_Itr1_v2-L-B389-Map1_reversed\t1548\t1505\t0\t41\t94.8026\n")
85 f.write("28\tA_contig00033\t6826\t7046\tRLX-comp_3b_Itr1_v2-L-B381-Map1\t5655\t5443\t0\t170\t77.3196\n")
86 f.write("30\tA_contig00033\t11712\t11818\tRLX-comp_3b_Itr1_v2-L-B108-Map1_reversed\t7782\t7682\t0\t80\t75\n")
87 f.write("31\tA_contig00033\t17122\t17221\tRLX-comp-chim_3b_Itr1_v2-L-B410-Map1_reversed\t9987\t9889\t0\t75\t75.2187\n")
88 f.write("32\tA_contig00033\t19069\t19131\tRLX-comp-chim_3b_Itr1_v2-L-B410-Map1_reversed\t8261\t8325\t2.8e-14\t45\t71.345\n")
89 f.write("33\tA_contig00033\t19343\t19375\tRLX-comp-chim_3b_Itr1_v2-L-B410-Map1_reversed\t8229\t8197\t0\t29\t86.6953\n")
90 f.write("34\tA_contig00033\t20411\t20783\tRLX-comp-chim_3b_Itr1_v2-L-B410-Map1_reversed\t7558\t7186\t0\t314\t84.4327\n")
91 f.write("35\tA_contig00033\t6346\t6541\tRLX-incomp-chim_3b_Itr1_v2-L-B359-Map1_reversed\t10604\t10416\t1.9e-24\t163\t83.2536\n")
92 f.write("36\tA_contig00033\t16757\t17121\tDTX-incomp-chim_3b_Itr1_v2-L-B171-Map1_reversed\t8290\t7930\t0\t282\t77.5216\n")
93 f.write("37\tA_contig00033\t17222\t18658\tDTX-incomp-chim_3b_Itr1_v2-L-B171-Map1_reversed\t7243\t5796\t0\t1094\t76.1977\n")
94 f.write("38\tA_contig00033\t19132\t19342\tDTX-incomp-chim_3b_Itr1_v2-L-B171-Map1_reversed\t5780\t5567\t0\t191\t90.9524\n")
95 f.write("39\tA_contig00033\t19409\t19455\tDTX-incomp-chim_3b_Itr1_v2-L-B171-Map1_reversed\t5558\t5512\t0\t38\t82.9787\n")
96 f.write("39\tA_contig00033\t19416\t19441\tDTX-incomp-chim_3b_Itr1_v2-L-B171-Map1_reversed\t5551\t5526\t0\t24\t96.15\n")
97 f.write("40\tA_contig00033\t19641\t20410\tDTX-incomp-chim_3b_Itr1_v2-L-B171-Map1_reversed\t5533\t4749\t0\t651\t84.55\n")
98 f.write("41\tA_contig00033\t19475\t19640\tDTX-incomp-chim_3b_Itr1_v2-L-B151-Map1_reversed\t9514\t9708\t0\t127\t76.7025\n")
99 f.write("42\tA_contig00033\t3244\t3364\tDTX-incomp_3b_Itr1_v2-L-B1836-Map1\t2536\t2405\t6.8e-23\t95\t78.8462\n")
100 f.write("43\tA_contig00033\t19376\t19408\tRLX-comp_3b_Itr1_v2-L-B1517-Map1\t705\t733\t1.1e-11\t27\t80.4348\n")
101 f.write("43\tA_contig00033\t19456\t19474\tRLX-comp_3b_Itr1_v2-L-B1517-Map1\t775\t790\t1.1e-11\t15\t80.4348\n")
102 f.write("44\tA_contig00033\t5494\t5583\tRIX-incomp-chim_3b_Itr1_v2-L-B121-Map1\t7419\t7507\t4.9e-11\t68\t76.1905\n")
103 f.write("45\tA_contig00033\t10810\t11031\tRLX-comp_3b_Itr1_v2-L-B2073-Map1\t3079\t3297\t1e-17\t171\t77.2021\n")
104 f.write("46\tA_contig00033\t11253\t11406\tRLX-comp_3b_Itr1_v2-L-B1616-Map1\t1726\t1569\t0\t120\t78.2609\n")
105 f.write("47\tA_contig00033\t11407\t11508\tRLX-comp_3b_Itr1_v2-L-B351-Map1_reversed\t10133\t10039\t0\t79\t77.8689\n")
106 f.write("48\tA_contig00033\t3673\t3719\tRLX-comp_3b_Itr1_v2-L-B228-Map1_reversed\t13011\t12966\t0\t37\t78.629\n")
107 f.write("49\tA_contig00033\t3959\t4055\tRLX-comp_3b_Itr1_v2-L-B134-Map1_reversed\t1917\t2010\t5.5e-24\t74\t77.2727\n")
108 f.write("50\tA_contig00033\t30505\t37270\tRLX-comp_3b_Itr1_v2-L-B124-Map1\t14149\t7383\t0\t6365\t94.0818\n")
109 f.write("51\tA_contig00033\t8859\t9079\tRLX-incomp_3b_Itr1_v2-L-B2010-Map1_reversed\t390\t603\t1.9e-11\t171\t77.6596\n")
110 f.write("52\tA_contig00033\t9080\t9140\tRLX-incomp_3b_Itr1_v2-L-B1720-Map1_reversed\t1393\t1460\t0\t49\t80.8333\n")
111 f.write("53\tA_contig00033\t12386\t12435\tRLX-incomp_3b_Itr1_v2-L-B1706-Map1\t2678\t2725\t1.3e-25\t40\t81.1765\n")
112 f.write("54\tA_contig00033\t5052\t5096\tRLX-incomp_3b_Itr1_v2-L-B77-Map2_reversed\t5445\t5402\t6.1e-13\t37\t84.507\n")
113 f.write("55\tA_contig00033\t14485\t16756\tRLX-incomp_3b_Itr1_v2-L-B965-Map1\t4566\t6848\t0\t1881\t82.8154\n")
114 f.write("57\tA_contig00033\t10229\t10370\tRLX-incomp_3b_Itr1_v2-L-B502-Map1_reversed\t8598\t8438\t0\t109\t77.2727\n")
115 f.write("59\tA_contig00033\t2457\t2617\tRLX-incomp_3b_Itr1_v2-L-B405-Map1\t4742\t4910\t0\t129\t80.2721\n")
116 f.write("60\tA_contig00033\t8071\t8183\tRLX-incomp_3b_Itr1_v2-L-B109-Map1\t4413\t4529\t0\t97\t86.5979\n")
117 f.write("61\tA_contig00033\t12867\t14362\tRXX-LARD-chim_3b_Itr1_v2-L-B1998-Map1_reversed\t1465\t3000\t0\t1283\t85.8025\n")
118 f.write("62\tA_contig00033\t90\t256\tRXX-LARD-chim_3b_Itr1_v2-L-B1928-Map1\t905\t717\t2.5e-38\t128\t76.875\n")
119 f.write("63\tA_contig00033\t5097\t5249\tRXX-LARD-chim_3b_Itr1_v2-L-B1928-Map1\t4158\t4017\t4e-36\t127\t83.3333\n")
120 f.write("64\tA_contig00033\t8689\t8796\tRXX-LARD-chim_3b_Itr1_v2-L-B1905-Map1\t5584\t5469\t5.04467e-44\t85\t79.2079\n")
121 f.write("65\tA_contig00033\t6800\t6825\tRXX-LARD-chim_3b_Itr1_v2-L-B1790-Map1_reversed\t3426\t3399\t0\t21\t79.1667\n")
122 f.write("66\tA_contig00033\t10193\t10228\tRLX-comp-chim_3b_Itr1_v2-L-B1760-Map1_reversed\t1470\t1504\t8.7e-23\t29\t80.5195\n")
123 f.write("67\tA_contig00033\t6542\t6603\tRXX-LARD-chim_3b_Itr1_v2-L-B1741-Map1_reversed\t5509\t5567\t0\t48\t77.9412\n")
124 f.write("69\tA_contig00033\t12769\t12816\tRLX-comp-chim_3b_Itr1_v2-L-B1518-Map1\t2026\t1979\t0\t39\t81.25\n")
125 f.write("70\tA_contig00033\t28383\t29146\tRLX-comp-chim_3b_Itr1_v2-L-B1494-Map1_reversed\t999\t1761\t0\t672\t88.0282\n")
126 f.write("71\tA_contig00033\t21712\t28382\tRLX-incomp-chim_3b_Itr1_v2-L-B1485-Map1\t1132\t7813\t0\t6011\t90.1124\n")
127 f.write("71\tA_contig00033\t20784\t21728\tRLX-incomp-chim_3b_Itr1_v2-L-B1485-Map1\t159\t1113\t0\t833\t88.172 \n")
128 f.close()
129
130 if __name__ == "__main__":
131 unittest.main()