Mercurial > repos > yufei-luo > s_mart
comparison SMART/Java/Python/test/Test_F_findTss.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 unittest | |
2 import os, os.path | |
3 from SMART.Java.Python.misc import Utils | |
4 | |
5 | |
6 TestF_PATH = os.environ['REPET_PATH'] + '/SMART/Java/Python/TestFiles' | |
7 | |
8 | |
9 class Test_F_findTss(unittest.TestCase): | |
10 | |
11 def setUp(self): | |
12 self._outputFileName = 'output.gff3' | |
13 self._expOutputFileName = 'expOutput.gff3' | |
14 | |
15 def tearDown(self): | |
16 os.remove(self._outputFileName) | |
17 os.remove(self._expOutputFileName) | |
18 | |
19 def test_run_default_option(self): | |
20 cmd = "python ../findTss.py -i %s/mapperAnalyzerExpected.gff3 -f gff3 -o output.gff3 -v 0" % TestF_PATH | |
21 os.system(cmd) | |
22 self._writeExpDefaultOption(self._expOutputFileName) | |
23 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
24 | |
25 def test_run_normalize_option(self): | |
26 cmd = "python ../findTss.py -i %s/mapperAnalyzerExpected.gff3 -f gff3 -o output.gff3 -n -v 0" % TestF_PATH | |
27 os.system(cmd) | |
28 self._writeExpNormalizeOption(self._expOutputFileName) | |
29 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
30 | |
31 def test_run_distance_option(self): | |
32 cmd = "python ../findTss.py -i %s/mapperAnalyzerExpected.gff3 -f gff3 -o output.gff3 -d 20 -v 0" % TestF_PATH | |
33 os.system(cmd) | |
34 self._writeExpDistance_option(self._expOutputFileName) | |
35 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
36 | |
37 def test_run_colinear_option(self): | |
38 cmd = "python ../findTss.py -i %s/mapperAnalyzerExpected.gff3 -f gff3 -o output.gff3 -e -v 0" % TestF_PATH | |
39 os.system(cmd) | |
40 self._writeExpColinearOption(self._expOutputFileName) | |
41 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
42 | |
43 def test_run_excel_option(self): | |
44 cmd = "python ../findTss.py -i %s/mapperAnalyzerExpected.gff3 -f gff3 -o output.gff3 -c output.csv -v 0" % TestF_PATH | |
45 os.system(cmd) | |
46 obsCsv = 'output.csv' | |
47 self.assertTrue(os.path.exists(obsCsv)) | |
48 os.remove(obsCsv) | |
49 self._writeExpExcelOption(self._expOutputFileName) | |
50 self.assertTrue(Utils.diff(self._expOutputFileName, self._outputFileName)) | |
51 | |
52 def _writeExpDefaultOption(self, fileName): | |
53 f = open(fileName, 'w') | |
54 f.write("chr1\tS-MART\tmatch\t6155418\t6155418\t24\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=1;nbMismatches=0;ID=test1/1;identity=100;Name=test1/1\n") | |
55 f.write("chr2\tS-MART\tmatch\t26303950\t26303950\t32\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-1;identity=93;Name=test2/1\n") | |
56 f.write("chr3\tS-MART\tmatch\t28320540\t28320540\t35\t+\t.\toccurrence=2;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-2;identity=94;Name=test2/1\n") | |
57 f.write("chr4\tS-MART\tmatch\t28565007\t28565007\t35\t+\t.\toccurrence=3;rank=3;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=4;ID=test2/1-3;identity=88;Name=test2/1\n") | |
58 f.close() | |
59 | |
60 def _writeExpNormalizeOption(self, fileName): | |
61 f = open(fileName, 'w') | |
62 f.write("chr1\tS-MART\tmatch\t6155418\t6155418\t24\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=1;nbMismatches=0;ID=test1/1;identity=100;Name=test1/1\n") | |
63 f.write("chr2\tS-MART\tmatch\t26303950\t26303950\t32\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-1;identity=93;Name=test2/1\n") | |
64 f.write("chr3\tS-MART\tmatch\t28320540\t28320540\t35\t+\t.\toccurrence=2;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-2;identity=94;Name=test2/1\n") | |
65 f.write("chr4\tS-MART\tmatch\t28565007\t28565007\t35\t+\t.\toccurrence=3;rank=3;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=4;ID=test2/1-3;identity=88;Name=test2/1\n") | |
66 f.close() | |
67 | |
68 def _writeExpDistance_option(self, fileName): | |
69 f = open(fileName, 'w') | |
70 f.write("chr1\tS-MART\tmatch\t6155418\t6155418\t24\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=1;nbMismatches=0;ID=test1/1;identity=100;Name=test1/1\n") | |
71 f.write("chr2\tS-MART\tmatch\t26303950\t26303950\t32\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-1;identity=93;Name=test2/1\n") | |
72 f.write("chr3\tS-MART\tmatch\t28320540\t28320540\t35\t+\t.\toccurrence=2;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-2;identity=94;Name=test2/1\n") | |
73 f.write("chr4\tS-MART\tmatch\t28565007\t28565007\t35\t+\t.\toccurrence=3;rank=3;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=4;ID=test2/1-3;identity=88;Name=test2/1\n") | |
74 f.close() | |
75 | |
76 def _writeExpColinearOption(self, fileName): | |
77 f = open(fileName, 'w') | |
78 f.write("chr1\tS-MART\tmatch\t6155418\t6155418\t24\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=1;nbMismatches=0;ID=test1/1;identity=100;Name=test1/1\n") | |
79 f.write("chr2\tS-MART\tmatch\t26303950\t26303950\t32\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-1;identity=93;Name=test2/1\n") | |
80 f.write("chr3\tS-MART\tmatch\t28320540\t28320540\t35\t+\t.\toccurrence=2;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-2;identity=94;Name=test2/1\n") | |
81 f.write("chr4\tS-MART\tmatch\t28565007\t28565007\t35\t+\t.\toccurrence=3;rank=3;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=4;ID=test2/1-3;identity=88;Name=test2/1\n") | |
82 f.close() | |
83 | |
84 def _writeExpExcelOption(self, fileName): | |
85 f = open(fileName, 'w') | |
86 f.write("chr1\tS-MART\tmatch\t6155418\t6155418\t24\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=1;nbMismatches=0;ID=test1/1;identity=100;Name=test1/1\n") | |
87 f.write("chr2\tS-MART\tmatch\t26303950\t26303950\t32\t+\t.\toccurrence=1;rank=1;bestRegion=(self);nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-1;identity=93;Name=test2/1\n") | |
88 f.write("chr3\tS-MART\tmatch\t28320540\t28320540\t35\t+\t.\toccurrence=2;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=2;ID=test2/1-2;identity=94;Name=test2/1\n") | |
89 f.write("chr4\tS-MART\tmatch\t28565007\t28565007\t35\t+\t.\toccurrence=3;rank=3;bestRegion=chr2:26303950-26303981;nbGaps=0;nbOccurrences=3;nbMismatches=4;ID=test2/1-3;identity=88;Name=test2/1\n") | |
90 f.close() | |
91 | |
92 if __name__ == "__main__": | |
93 unittest.main() |