Mercurial > repos > yufei-luo > s_mart
comparison smart_toolShed/commons/core/parsing/test/Test_F_BlatToGff.py @ 0:e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
author | yufei-luo |
---|---|
date | Thu, 17 Jan 2013 10:52:14 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e0f8dcca02ed |
---|---|
1 import unittest | |
2 import os | |
3 from commons.core.utils.FileUtils import FileUtils | |
4 | |
5 | |
6 class Test_F_BlatToGff(unittest.TestCase): | |
7 | |
8 | |
9 def test_run(self): | |
10 blatInputFileName = '%s/commons/core/parsing/test/inputFile.tab' % os.environ['REPET_PATH'] | |
11 self._writeBlatInputFile(blatInputFileName) | |
12 | |
13 obsOutputFileName = '%s/commons/core/parsing/test/obsOutputFile.tab' % os.environ['REPET_PATH'] | |
14 cmd = 'python %s/commons/core/parsing/BlatToGff.py -i %s -o %s' % (os.environ['REPET_PATH'], blatInputFileName, obsOutputFileName) | |
15 os.system(cmd) | |
16 | |
17 expOutputFileName = '%s/commons/core/parsing/test/expOutputFile.tab' % os.environ['REPET_PATH'] | |
18 self._writeExpOutputFile(expOutputFileName) | |
19 | |
20 self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) | |
21 os.remove(blatInputFileName) | |
22 os.remove(obsOutputFileName) | |
23 os.remove(expOutputFileName) | |
24 | |
25 def test_run_with_methodName(self): | |
26 blatInputFileName = '%s/commons/core/parsing/test/inputFile.tab' % os.environ['REPET_PATH'] | |
27 self._writeBlatInputFile(blatInputFileName) | |
28 | |
29 obsOutputFileName = '%s/commons/core/parsing/test/obsOutputFile.tab' % os.environ['REPET_PATH'] | |
30 cmd = 'python %s/commons/core/parsing/BlatToGff.py -i %s -o %s -n Test_F' % (os.environ['REPET_PATH'], blatInputFileName, obsOutputFileName) | |
31 os.system(cmd) | |
32 | |
33 expOutputFileName = '%s/commons/core/parsing/test/expOutputFile.tab' % os.environ['REPET_PATH'] | |
34 self._writeExpOutputFile_with_methodName(expOutputFileName) | |
35 | |
36 self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName)) | |
37 os.remove(blatInputFileName) | |
38 os.remove(obsOutputFileName) | |
39 os.remove(expOutputFileName) | |
40 | |
41 def _writeBlatInputFile(self, blatInputFileName): | |
42 file = open(blatInputFileName, 'w') | |
43 file.write('psLayout version 3\n') | |
44 file.write('\n') | |
45 file.write('match mis- rep. N\'s Q gap Q gap T gap T gap strand Q Q Q Q T T T T block blockSizes qStarts tStarts\n') | |
46 file.write(' match match count bases count bases name size start end name size start end count\n') | |
47 file.write('---------------------------------------------------------------------------------------------------------------------------------------------------------------\n') | |
48 file.write('315\t20\t0\t0\t3\t10\t2\t9\t+\tMRRE1H001H13FM1\t378\t0\t345\tchr16\t22053297\t21686950\t21687294\t4\t76,185,7,67,\t0,77,263,278,\t21686950,21687026,21687213,21687227,\n') | |
49 file.write('690\t11\t0\t0\t1\t3\t2\t4\t-\tmachin1\t704\t0\t704\tchr16\t22053297\t21736364\t21737069\t3\t40,647,14,\t0,43,690,\t21736364,21736406,21737055,\n') | |
50 file.write('554\t26\t0\t0\t1\t16\t1\t17\t-\tMRRE1H032F08FM1\t606\t10\t606\tchr11\t19818926\t3725876\t3726473\t2\t553,27,\t10,579,\t3725876,3726446,\n') | |
51 file.write('620\t23\t0\t0\t0\t0\t0\t0\t-\tmachin2\t643\t0\t643\tchr11\t19818926\t3794984\t3795627\t1\t643,\t0,\t3794984,\n') | |
52 file.write('347\t25\t0\t0\t0\t0\t0\t0\t-\tmachin3\t393\t21\t393\tchr18\t29360087\t12067347\t12067719\t1\t372,\t0,\t12067347,\n') | |
53 file.close() | |
54 | |
55 def _writeExpOutputFile(self, expOutputFileName): | |
56 file = open(expOutputFileName, 'w') | |
57 file.write('##gff-version 3\n') | |
58 file.write('chr16\tBlatToGff\tBES\t21686950\t21687294\t.\t+\t.\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297\n') | |
59 file.write('chr16\tBlatToGff\tBES\t21736364\t21737069\t.\t+\t.\tID=machin1;Name=machin1;bes_start=21736364;bes_end=21737069;bes_size=22053297\n') | |
60 file.write('chr11\tBlatToGff\tBES\t3725876\t3726473\t.\t+\t.\tID=MRRE1H032F08FM1;Name=MRRE1H032F08FM1;bes_start=3725876;bes_end=3726473;bes_size=19818926\n') | |
61 file.write('chr11\tBlatToGff\tBES\t3794984\t3795627\t.\t+\t.\tID=machin2;Name=machin2;bes_start=3794984;bes_end=3795627;bes_size=19818926\n') | |
62 file.write('chr18\tBlatToGff\tBES\t12067347\t12067719\t.\t+\t.\tID=machin3;Name=machin3;bes_start=12067347;bes_end=12067719;bes_size=29360087\n') | |
63 file.close() | |
64 | |
65 def _writeExpOutputFile_with_methodName(self, expOutputFileName): | |
66 file = open(expOutputFileName, 'w') | |
67 file.write('##gff-version 3\n') | |
68 file.write('chr16\tBlatToGff\tTest_F:BES\t21686950\t21687294\t.\t+\t.\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297\n') | |
69 file.write('chr16\tBlatToGff\tTest_F:BES\t21736364\t21737069\t.\t+\t.\tID=machin1;Name=machin1;bes_start=21736364;bes_end=21737069;bes_size=22053297\n') | |
70 file.write('chr11\tBlatToGff\tTest_F:BES\t3725876\t3726473\t.\t+\t.\tID=MRRE1H032F08FM1;Name=MRRE1H032F08FM1;bes_start=3725876;bes_end=3726473;bes_size=19818926\n') | |
71 file.write('chr11\tBlatToGff\tTest_F:BES\t3794984\t3795627\t.\t+\t.\tID=machin2;Name=machin2;bes_start=3794984;bes_end=3795627;bes_size=19818926\n') | |
72 file.write('chr18\tBlatToGff\tTest_F:BES\t12067347\t12067719\t.\t+\t.\tID=machin3;Name=machin3;bes_start=12067347;bes_end=12067719;bes_size=29360087\n') | |
73 file.close() | |
74 | |
75 | |
76 if __name__ == "__main__": | |
77 unittest.main() |