Mercurial > repos > yufei-luo > s_mart
view commons/tools/tests/Test_F_AlignTEOnGenomeAccordingToAnnotation.py @ 31:0ab839023fe4
Uploaded
author | m-zytnicki |
---|---|
date | Tue, 30 Apr 2013 14:33:21 -0400 |
parents | 94ab73e8a190 |
children |
line wrap: on
line source
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()