Mercurial > repos > yufei-luo > s_mart
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