Mercurial > repos > yufei-luo > s_mart
comparison smart_toolShed/commons/core/parsing/test/Test_FindRep.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 from xml.sax import make_parser | |
5 from xml.sax.handler import feature_namespaces | |
6 from commons.core.parsing.FindRep import FindRep | |
7 | |
8 | |
9 class Test_FindRep(unittest.TestCase): | |
10 def setUp(self): | |
11 self._mrepsOuputFileName = "output.xml" | |
12 self._obsSetFileName = "obsOuput.set" | |
13 self._expSetFileName = "expOuput.set" | |
14 self._writeExpSet(self._expSetFileName) | |
15 self._writeMrepsOutput(self._mrepsOuputFileName) | |
16 | |
17 def tearDown(self): | |
18 os.remove(self._expSetFileName) | |
19 os.remove(self._obsSetFileName) | |
20 os.remove(self._mrepsOuputFileName) | |
21 | |
22 def test_parse(self): | |
23 xmlParser = make_parser() | |
24 xmlParser.setFeature( feature_namespaces, 0 ) | |
25 xmlParser.setContentHandler( FindRep( self._obsSetFileName,0, 0 ) ) | |
26 xmlParser.parse( self._mrepsOuputFileName ) | |
27 self.assertTrue(FileUtils.are2FilesIdentical(self._obsSetFileName, self._expSetFileName)) | |
28 | |
29 def _writeExpSet(self, fileName): | |
30 f = open(fileName, "w") | |
31 f.write("1\t(tatt)3\tseq1\t4\t16\n") | |
32 f.write("2\t(tatt)3\tseq1\t23\t35\n") | |
33 f.write("3\t(tatt)3\tseq1\t42\t54\n") | |
34 f.close() | |
35 | |
36 def _writeMrepsOutput(self, fileName): | |
37 f = open(fileName, "w") | |
38 f.write("<?xml version='1.0' encoding='UTF-8' ?>\n") | |
39 f.write("<mreps>\n") | |
40 f.write("<time>Thu Dec 1 17:25:54 2011\n") | |
41 f.write("</time>\n") | |
42 f.write("<parameters>\n") | |
43 f.write(" <type-of-input>file in fasta format</type-of-input>\n") | |
44 f.write(" <err>3</err>\n") | |
45 f.write(" <from>1</from>\n") | |
46 f.write(" <to>-1</to>\n") | |
47 f.write(" <win>-1</win>\n") | |
48 f.write(" <minsize>1</minsize>\n") | |
49 f.write(" <maxsize>-1</maxsize>\n") | |
50 f.write(" <minperiod>1</minperiod>\n") | |
51 f.write(" <maxperiod>-1</maxperiod>\n") | |
52 f.write(" <minexponent>3.00</minexponent>\n") | |
53 f.write("</parameters>\n") | |
54 f.write("<results>\n") | |
55 f.write("<sequence-name>seq1</sequence-name>\n") | |
56 f.write("<repetitions>\n") | |
57 f.write("<window>\n") | |
58 f.write("<windowstart>1</windowstart>\n") | |
59 f.write("<windowend>60</windowend>\n") | |
60 f.write(" <repeat>\n") | |
61 f.write(" <start>4</start>\n") | |
62 f.write(" <end>16</end>\n") | |
63 f.write(" <length>13</length>\n") | |
64 f.write(" <period>4</period>\n") | |
65 f.write(" <exponent>3.25</exponent>\n") | |
66 f.write(" <score>0.000</score>\n") | |
67 f.write(" <sequence>\n") | |
68 f.write(" <unit>tatt</unit>\n") | |
69 f.write(" <unit>tatt</unit>\n") | |
70 f.write(" <unit>tatt</unit>\n") | |
71 f.write(" <unit>t</unit>\n") | |
72 f.write(" </sequence>\n") | |
73 f.write(" </repeat>\n") | |
74 f.write(" <repeat>\n") | |
75 f.write(" <start>23</start>\n") | |
76 f.write(" <end>35</end>\n") | |
77 f.write(" <length>13</length>\n") | |
78 f.write(" <period>4</period>\n") | |
79 f.write(" <exponent>3.25</exponent>\n") | |
80 f.write(" <score>0.000</score>\n") | |
81 f.write(" <sequence>\n") | |
82 f.write(" <unit>tatt</unit>\n") | |
83 f.write(" <unit>tatt</unit>\n") | |
84 f.write(" <unit>tatt</unit>\n") | |
85 f.write(" <unit>t</unit>\n") | |
86 f.write(" </sequence>\n") | |
87 f.write(" </repeat>\n") | |
88 f.write(" <repeat>\n") | |
89 f.write(" <start>42</start>\n") | |
90 f.write(" <end>54</end>\n") | |
91 f.write(" <length>13</length>\n") | |
92 f.write(" <period>4</period>\n") | |
93 f.write(" <exponent>3.25</exponent>\n") | |
94 f.write(" <score>0.000</score>\n") | |
95 f.write(" <sequence>\n") | |
96 f.write(" <unit>tatt</unit>\n") | |
97 f.write(" <unit>tatt</unit>\n") | |
98 f.write(" <unit>tatt</unit>\n") | |
99 f.write(" <unit>t</unit>\n") | |
100 f.write(" </sequence>\n") | |
101 f.write(" </repeat>\n") | |
102 f.write("<nbofreps>3</nbofreps>\n") | |
103 f.write("</window>\n") | |
104 f.write("</repetitions>\n") | |
105 f.write("</results>\n") | |
106 f.write("<errorcode>0</errorcode>\n") | |
107 f.write("</mreps>\n") | |
108 f.close() |