Mercurial > repos > yufei-luo > s_mart
comparison commons/tools/tests/Test_F_TEclassifierPE.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 os | |
| 2 import unittest | |
| 3 from commons.tools.TEclassifierPE import TEclassifierPE | |
| 4 from commons.core.utils.FileUtils import FileUtils | |
| 5 from commons.core.sql.DbFactory import DbFactory | |
| 6 | |
| 7 class Test_F_TEclassifierPE(unittest.TestCase): | |
| 8 | |
| 9 def test_run(self): | |
| 10 projectName = "dummy" | |
| 11 configFileName = "dummy.cfg" | |
| 12 self.writeConfigFile(configFileName, projectName) | |
| 13 inputFileName = "dummy.fa" | |
| 14 with open(inputFileName, "w") as f: | |
| 15 f.write(">dummySSR\n") | |
| 16 f.write("AGTTACCATGCCCAGCATTAACCCCCCTCAACAACCACCTCCGCCTATGAAGCCCGCCCG\n") | |
| 17 f.write("AGTTACCATGCCCAGCATTAACCCCCCTCAACAACCACCTCCGCCTATGAAGCCCGCCCG\n") | |
| 18 expFileName = "exp.classif" | |
| 19 with open(expFileName, "w") as f: | |
| 20 f.write("dummySSR\t120\t.\tok\tNA\tSSR\tNA\tCI=100; struct=(TElength: <150bps; SSRCoverage=0.00)\n") | |
| 21 obsFileName = "%s.classif" % projectName | |
| 22 statsFileName = "%s.classif_stats.txt" % projectName | |
| 23 analysisFileName = "%s.SSR.set" % inputFileName | |
| 24 | |
| 25 iTEclassifierPE = TEclassifierPE(inputFileName, configFileName, doClean = True) | |
| 26 iTEclassifierPE.run() | |
| 27 | |
| 28 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) | |
| 29 | |
| 30 iDb = DbFactory.createInstance() | |
| 31 iDb.dropTable("%s_TR_set" % projectName) | |
| 32 iDb.dropTable("%s_polyA_set" % projectName) | |
| 33 iDb.dropTable("%s_ORF_map" % projectName) | |
| 34 iDb.dropTable("%s_SSR_set" % projectName) | |
| 35 iDb.close() | |
| 36 os.remove(configFileName) | |
| 37 os.remove(inputFileName) | |
| 38 os.remove(expFileName) | |
| 39 os.remove(obsFileName) | |
| 40 os.remove(statsFileName) | |
| 41 os.remove(analysisFileName) | |
| 42 | |
| 43 def writeConfigFile(self, fileName, projectName): | |
| 44 with open(fileName, "w") as f: | |
| 45 f.write("[repet_env]\n") | |
| 46 f.write("repet_host: %s\n" % os.environ["REPET_HOST"]) | |
| 47 f.write("repet_user: %s\n" % os.environ["REPET_USER"]) | |
| 48 f.write("repet_pw: %s\n" % os.environ["REPET_PW"]) | |
| 49 f.write("repet_db: %s\n" % os.environ["REPET_DB"]) | |
| 50 f.write("repet_port: %s\n" % os.environ["REPET_PORT"]) | |
| 51 f.write("\n") | |
| 52 f.write("[project]\n") | |
| 53 f.write("project_name: %s\n" % projectName) | |
| 54 f.write("project_dir: %s\n" % os.getcwd()) | |
| 55 f.write("\n") | |
| 56 f.write("[detect_features]\n") | |
| 57 f.write("clean: yes\n") | |
| 58 f.write("blast: ncbi\n") | |
| 59 f.write("term_rep: no\n") | |
| 60 f.write("polyA: no\n") | |
| 61 f.write("tand_rep: yes\n") | |
| 62 f.write("orf: no\n") | |
| 63 f.write("TE_HMMER: no\n") | |
| 64 f.write("TE_BLRtx: no\n") | |
| 65 f.write("TE_BLRn: no\n") | |
| 66 f.write("TE_BLRx: no\n") | |
| 67 f.write("HG_BLRn: no\n") | |
| 68 f.write("rDNA_BLRn: no\n") | |
| 69 f.write("tRNA_scan: no\n") | |
| 70 f.write("TRFmaxPeriod: 15\n") | |
| 71 f.write("\n") | |
| 72 f.write("[classif_consensus]\n") | |
| 73 f.write("max_profiles_evalue: 1e-3\n") | |
| 74 f.write("min_TE_profiles_coverage: 20\n") | |
| 75 f.write("min_HG_profiles_coverage: 75\n") | |
| 76 f.write("max_helitron_extremities_evalue: 1e-3\n") | |
| 77 f.write("min_TE_bank_coverage: 5\n") | |
| 78 f.write("min_HG_bank_coverage: 95\n") | |
| 79 f.write("min_rDNA_bank_coverage: 95\n") | |
| 80 f.write("min_HG_bank_identity: 90\n") | |
| 81 f.write("min_rDNA_bank_identity: 90\n") | |
| 82 f.write("min_SSR_coverage: 0.75\n") | |
| 83 f.write("max_SSR_size: 150\n") | |
| 84 f.write("clean: yes\n") | |
| 85 | |
| 86 if __name__ == "__main__": | |
| 87 unittest.main() | 
