diff commons/tools/tests/Test_F_AlignTEOnGenomeAccordingToAnnotation.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commons/tools/tests/Test_F_AlignTEOnGenomeAccordingToAnnotation.py	Mon Apr 29 03:20:15 2013 -0400
@@ -0,0 +1,122 @@
+from commons.core.sql.DbFactory import DbFactory
+from commons.core.utils.FileUtils import FileUtils
+import subprocess
+import os
+import unittest
+from commons.tools.AlignTEOnGenomeAccordingToAnnotation import AlignTEOnGenomeAccordingToAnnotation
+
+class Test_F_AlignTEOnGenomeAccordingToAnnotation(unittest.TestCase):
+
+    def test_run_merge_same_paths(self):
+        pathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
+        queryFileName = "%s/commons/DmelChr4.fa" % os.environ["REPET_DATA"]
+        subjectFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
+        pathTableName = "testDmelChr4_chr_allTEs_nr_noSSR_join_path"
+        queryTableName = "testDmelChr4_chr_seq"
+        subjectTableName = "testDmelChr4_refTEs_seq"
+        iDb = DbFactory.createInstance()
+        iDb.createTable(queryTableName, "seq", queryFileName, True)
+        iDb.createTable(subjectTableName, "seq", subjectFileName, True)
+        iDb.createTable(pathTableName, "path", pathFileName, True)
+        expFileName = "%s/Tools/exp%s_merge.alignedSeq" % (os.environ["REPET_DATA"], pathTableName)
+        
+        iATOGATA = AlignTEOnGenomeAccordingToAnnotation(pathTableName, queryTableName, subjectTableName, True)
+        iATOGATA.run()
+        obsFileName = "obs%s_merge.alignedSeq" % pathTableName
+        iDb.exportDataToFile("%s_align" % pathTableName, obsFileName)
+        
+        self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
+        
+        os.remove(obsFileName)
+        iDb.dropTable(queryTableName)
+        iDb.dropTable(subjectTableName)
+        iDb.dropTable(pathTableName)
+        iDb.dropTable("%s_align" % pathTableName)
+        iDb.close()
+
+    def test_run_as_script_merge_same_paths(self):
+        pathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
+        queryFileName = "%s/commons/DmelChr4.fa" % os.environ["REPET_DATA"]
+        subjectFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
+        pathTableName = "testDmelChr4_chr_allTEs_nr_noSSR_join_path"
+        queryTableName = "testDmelChr4_chr_seq"
+        subjectTableName = "testDmelChr4_refTEs_seq"
+        iDb = DbFactory.createInstance()
+        iDb.createTable(queryTableName, "seq", queryFileName, True)
+        iDb.createTable(subjectTableName, "seq", subjectFileName, True)
+        iDb.createTable(pathTableName, "path", pathFileName, True)
+        expFileName = "%s/Tools/exp%s_merge.alignedSeq" % (os.environ["REPET_DATA"], pathTableName)
+        
+        cmd = "AlignTEOnGenomeAccordingToAnnotation.py -p %s -q %s -s %s -m " % (pathTableName, queryTableName, subjectTableName)
+        process = subprocess.Popen(cmd, shell = True)
+        process.communicate()
+        obsFileName = "obs%s_merge.alignedSeq" % pathTableName
+        iDb.exportDataToFile("%s_align" % pathTableName, obsFileName)
+        
+        self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
+        
+        os.remove(obsFileName)
+        iDb.dropTable(queryTableName)
+        iDb.dropTable(subjectTableName)
+        iDb.dropTable(pathTableName)
+        iDb.dropTable("%s_align" % pathTableName)
+        iDb.close()
+
+    def test_run_as_script_without_merge(self):
+        pathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
+        queryFileName = "%s/commons/DmelChr4.fa" % os.environ["REPET_DATA"]
+        subjectFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
+        pathTableName = "testDmelChr4_chr_allTEs_nr_noSSR_join_path"
+        queryTableName = "testDmelChr4_chr_seq"
+        subjectTableName = "testDmelChr4_refTEs_seq"
+        iDb = DbFactory.createInstance()
+        iDb.createTable(queryTableName, "seq", queryFileName, True)
+        iDb.createTable(subjectTableName, "seq", subjectFileName, True)
+        iDb.createTable(pathTableName, "path", pathFileName, True)
+        expFileName = "%s/Tools/exp%s.alignedSeq" % (os.environ["REPET_DATA"], pathTableName)
+        
+        cmd = "AlignTEOnGenomeAccordingToAnnotation.py -p %s -q %s -s %s" % (pathTableName, queryTableName, subjectTableName)
+        process = subprocess.Popen(cmd, shell = True)
+        process.communicate()
+        obsFileName = "obs%s.alignedSeq" % pathTableName
+        iDb.exportDataToFile("%s_align" % pathTableName, obsFileName)
+        
+        self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
+        
+        os.remove(obsFileName)
+        iDb.dropTable(queryTableName)
+        iDb.dropTable(subjectTableName)
+        iDb.dropTable(pathTableName)
+        iDb.dropTable("%s_align" % pathTableName)
+        iDb.close()
+        
+#    def test_run_as_script_merge_same_paths_old(self):
+#        pathFileName = "%s/Tools/DmelChr4_chr_allTEs_nr_noSSR_join_path.path" % os.environ["REPET_DATA"]
+#        queryFileName = "%s/commons/DmelChr4.fa" % os.environ["REPET_DATA"]
+#        subjectFileName = "%s/Tools/DmelChr4_refTEs.fa" % os.environ["REPET_DATA"]
+#        pathTableName = "testDmelChr4_chr_allTEs_nr_noSSR_join_path"
+#        queryTableName = "testDmelChr4_chr_seq"
+#        subjectTableName = "testDmelChr4_refTEs_seq"
+#        iDb = DbFactory.createInstance()
+#        iDb.createTable(queryTableName, "seq", queryFileName, True)
+#        iDb.createTable(subjectTableName, "seq", subjectFileName, True)
+#        iDb.createTable(pathTableName, "path", pathFileName, True)
+#        expFileName = "%s/Tools/exp%s_merge_old.alignedSeq" % (os.environ["REPET_DATA"], pathTableName)
+#        
+#        cmd = "srptAlignPath.py -m %s -q %s -s %s" % (pathTableName, queryTableName, subjectTableName)
+#        process = subprocess.Popen(cmd, shell = True)
+#        process.communicate()
+#        obsFileName = "obs%s.alignedSeq" % pathTableName
+#        iDb.exportDataToFile("%s_align" % pathTableName, obsFileName)
+#        
+#        self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
+#        
+#        os.remove(obsFileName)
+#        iDb.dropTable(queryTableName)
+#        iDb.dropTable(subjectTableName)
+#        iDb.dropTable(pathTableName)
+#        iDb.dropTable("%s_align" % pathTableName)
+#        iDb.close()
+#        
+if __name__ == "__main__":
+    unittest.main()
\ No newline at end of file