Mercurial > repos > yufei-luo > s_mart
comparison commons/launcher/tests/Test_RepeatMaskerProgramLauncher.py @ 31:0ab839023fe4
Uploaded
author | m-zytnicki |
---|---|
date | Tue, 30 Apr 2013 14:33:21 -0400 |
parents | 94ab73e8a190 |
children |
comparison
equal
deleted
inserted
replaced
30:5677346472b5 | 31:0ab839023fe4 |
---|---|
1 import unittest | |
2 from commons.launcher.RepeatMaskerProgramLauncher import RepeatMaskerProgramLauncher | |
3 | |
4 | |
5 class Test_RepeatMaskerProgramLauncher( unittest.TestCase ): | |
6 | |
7 def setUp( self ): | |
8 self._i = RepeatMaskerProgramLauncher() | |
9 | |
10 | |
11 def tearDown( self ): | |
12 self._i = None | |
13 | |
14 | |
15 def test_getSpecificHelpAsString( self ): | |
16 exp = "" | |
17 exp += "\nspecific options:" | |
18 exp += "\n -s: name of the subject file (repeats, format='fasta')" | |
19 exp += "\n -n: nb of processors to use in parallel (default='%i')" % ( self._i.getNbProcessors() ) | |
20 exp += "\n -g: calculate the GC content" | |
21 exp += "\n -b: skip bacterial insertion element check" | |
22 exp += "\n -l: does not mask low-complexity DNA or simple repeats" | |
23 exp += "\n -m: only masks low complex/simple repeats (no interspersed repeats)" | |
24 exp += "\n -o: name of the output file" | |
25 exp += "\n with -s: format='align', default=inFile+'.cat.align')" | |
26 exp += "\n with -m: format='path', default=inFile+'.cat.path')" | |
27 obs = self._i.getSpecificHelpAsString() | |
28 self.assertEqual( exp, obs ) | |
29 | |
30 | |
31 def test_setASpecificAttributeFromCmdLine( self ): | |
32 self._i.setASpecificAttributeFromCmdLine( "-s", "dummySubjectFile.fa" ) | |
33 self.assertEqual( "dummySubjectFile.fa", self._i.getSubjectFile() ) | |
34 | |
35 self._i.setASpecificAttributeFromCmdLine( "-n", "2" ) | |
36 self.assertEqual( 2, self._i.getNbProcessors() ) | |
37 | |
38 self._i.setASpecificAttributeFromCmdLine( "-g" ) | |
39 self.assertEqual( True, self._i.getCalculateGCcontent() ) | |
40 | |
41 self._i.setASpecificAttributeFromCmdLine( "-b" ) | |
42 self.assertEqual( True, self._i.getSkipBacterialIsCheck() ) | |
43 | |
44 self._i.setASpecificAttributeFromCmdLine( "-l" ) | |
45 self.assertEqual( False, self._i.getMaskSsr() ) | |
46 | |
47 self._i.setASpecificAttributeFromCmdLine( "-o", "dummyOutFile.align" ) | |
48 self.assertEqual( "dummyOutFile.align", self._i.getOutputFile() ) | |
49 | |
50 | |
51 def test_setWrapperCommandLine( self ): | |
52 self._i.setInputFile( "dummyInFile.fa" ) | |
53 self._i.setSubjectFile( "dummySubjectFile.fa" ) | |
54 exp = "RepeatMaskerProgramLauncher.py" | |
55 exp += " -i %s" % ( "dummyInFile.fa" ) | |
56 exp += " -s %s" % ( "dummySubjectFile.fa" ) | |
57 exp += " -n 1" | |
58 self._i.setWrapperCommandLine() | |
59 obs = self._i.getWrapperCommandLine() | |
60 self.assertEqual( exp, obs ) | |
61 | |
62 | |
63 def test_setProgramCommandLine( self ): | |
64 self._i.setInputFile( "dummyInFile.fa" ) | |
65 self._i.setSubjectFile( "dummySubjectFile.fa" ) | |
66 self._i.setCalculateGCcontent() | |
67 self._i.setSkipBacterialIsCheck() | |
68 exp = "RepeatMasker -dir . -pa 1 -gccalc -no_is -nolow -lib dummySubjectFile.fa dummyInFile.fa" | |
69 self._i.setProgramCommandLine() | |
70 obs = self._i.getProgramCommandLine() | |
71 self.assertEqual( exp, obs ) | |
72 | |
73 | |
74 def test_setProgramCommandLine_withoutSubjects_withMaskSsr( self ): | |
75 self._i.setInputFile( "dummyInFile.fa" ) | |
76 self._i.setCalculateGCcontent() | |
77 self._i.setSkipBacterialIsCheck() | |
78 exp = "RepeatMasker -dir . -pa 1 -gccalc -no_is -nolow dummyInFile.fa" | |
79 self._i.setProgramCommandLine() | |
80 obs = self._i.getProgramCommandLine() | |
81 self.assertEqual( exp, obs ) | |
82 | |
83 | |
84 def test_setListFilesToKeep_onlyInFile( self ): | |
85 self._i.setInputFile( "dummyInFile.fa" ) | |
86 self._i.setOnlySsr() | |
87 lExp = [ "dummyInFile.fa.cat", "dummyInFile.fa.cat.path" ] | |
88 self._i.setListFilesToKeep() | |
89 lObs = self._i.getListFilesToKeep() | |
90 lExp.sort() | |
91 lObs.sort() | |
92 self.assertEqual( lExp, lObs ) | |
93 | |
94 | |
95 def test_setListFilesToKeep_withSubjectFile( self ): | |
96 self._i.setInputFile( "dummyInFile.fa" ) | |
97 self._i.setSubjectFile( "dummySbjFile.fa" ) | |
98 lExp = [ "dummyInFile.fa.cat", "dummyInFile.fa.cat.align" ] | |
99 self._i.setListFilesToKeep() | |
100 lObs = self._i.getListFilesToKeep() | |
101 lExp.sort() | |
102 lObs.sort() | |
103 self.assertEqual( lExp, lObs ) | |
104 | |
105 | |
106 def test_setListFilesToKeep_inFileAndOutFile( self ): | |
107 self._i.setInputFile( "dummyInFile.fa" ) | |
108 self._i.setOutputFile( "dummyOutFile.align" ) | |
109 lExp = [ "dummyInFile.fa.cat", "dummyOutFile.align" ] | |
110 self._i.setListFilesToKeep() | |
111 lObs = self._i.getListFilesToKeep() | |
112 lExp.sort() | |
113 lObs.sort() | |
114 self.assertEqual( lExp, lObs ) | |
115 | |
116 | |
117 def test_setListFilesToKeep_inFileAndOutFileAndSsr( self ): | |
118 self._i.setInputFile( "dummyInFile.fa" ) | |
119 self._i.unsetMaskSsr() | |
120 self._i.setOutputFile( "dummyOutFile.path" ) | |
121 lExp = [ "dummyInFile.fa.cat", "dummyOutFile.path" ] | |
122 self._i.setListFilesToKeep() | |
123 lObs = self._i.getListFilesToKeep() | |
124 lExp.sort() | |
125 lObs.sort() | |
126 self.assertEqual( lExp, lObs ) | |
127 | |
128 | |
129 def test_setListFilesToRemove( self ): | |
130 self._i.setInputFile( "dummyInFile.fa" ) | |
131 lExp = [ "dummyInFile.fa.out", \ | |
132 "dummyInFile.fa.log", \ | |
133 "dummyInFile.fa.stderr", \ | |
134 "dummyInFile.fa.ori.out", \ | |
135 "dummyInFile.fa.masked", \ | |
136 "dummyInFile.fa.tbl", \ | |
137 "dummyInFile.fa.ref" ] | |
138 self._i.setListFilesToRemove() | |
139 lObs = self._i.getListFilesToRemove() | |
140 lExp.sort() | |
141 lObs.sort() | |
142 self.assertEqual( lExp, lObs ) | |
143 | |
144 | |
145 def test_setSummary( self ): | |
146 self._i.setInputFile( "dummyInFile.fa" ) | |
147 self._i.setSubjectFile( "dummySubjectFile.fa" ) | |
148 exp = "input file: %s" % ( self._i.getInputFile() ) | |
149 exp += "\nsubject file: %s" % ( self._i.getSubjectFile() ) | |
150 exp += "\nnb processors: %i" % ( self._i.getNbProcessors() ) | |
151 exp += "\nmask low-complexity DNA or simple repeats" | |
152 exp += "\noutput file: %s" % ( "dummyInFile.fa.cat.path" ) | |
153 self._i.setSummary() | |
154 obs = self._i.getSummary() | |
155 self.assertEqual( exp, obs ) | |
156 | |
157 | |
158 def test_setSummary_noMaskSsr( self ): | |
159 self._i.setInputFile( "dummyInFile.fa" ) | |
160 self._i.setSubjectFile( "dummySubjectFile.fa" ) | |
161 self._i.unsetMaskSsr() | |
162 exp = "input file: %s" % ( self._i.getInputFile() ) | |
163 exp += "\nsubject file: %s" % ( self._i.getSubjectFile() ) | |
164 exp += "\nnb processors: %i" % ( self._i.getNbProcessors() ) | |
165 exp += "\noutput file: %s" % ( "dummyInFile.fa.cat.align" ) | |
166 self._i.setSummary() | |
167 obs = self._i.getSummary() | |
168 self.assertEqual( exp, obs ) | |
169 | |
170 if __name__ == "__main__": | |
171 unittest.main() |