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