18
|
1 import os
|
|
2 import unittest
|
|
3 from commons.core.utils.FileUtils import FileUtils
|
|
4
|
|
5 class Test_TranslateAfastaFileInAllFrameAndReplaceStopsByX(unittest.TestCase):
|
|
6
|
|
7 def setUp(self):
|
|
8 self._inputFile = "dummyInputFile"
|
|
9 self._outputFile = "dummyOuputFile"
|
|
10 self._prg = "translateAfastaFileInAllFrameAndReplaceStopsByX_script.py"
|
|
11
|
|
12
|
|
13 def testTranslateAfastaFileInAllFrameAndReplaceStopsByX_script(self):
|
|
14 f = open(self._inputFile, "w")
|
|
15 f.write(">header1 description\n")
|
|
16 f.write("TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTC\n")
|
|
17 f.write("CGACTAATCAACAATATAATGCGAGTAGAGCTTGA\n")
|
|
18 f.write(">header2\n")
|
|
19 f.write("TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTA\n")
|
|
20 f.write("CGACTAATCAACAATATAATGCGAGTAGAGCTTGA")
|
|
21 f.close()
|
|
22 # expected fasta translated file
|
|
23 f = open("expectedTranslated.fa", "w")
|
|
24 f.write(">header1_1 description\n")
|
|
25 f.write("CGFXLISLXSQXFHVGVSWLRLINNIMRVEL\n")
|
|
26 f.write(">header1_2 description\n")
|
|
27 f.write("VASSXSVYDHNDFTXVSRGSDXSTIXCEXSL\n")
|
|
28 f.write(">header1_3 description\n")
|
|
29 f.write("WLLVDQFMITMISRRCLVAPTNQQYNASRAX\n")
|
|
30 f.write(">header1_4 description\n")
|
|
31 f.write("SSSTRIILLISRSHETPTXNHCDHKLINXKP\n")
|
|
32 f.write(">header1_5 description\n")
|
|
33 f.write("QALLALYCXLVGATRHLREIIVIINXSTRSH\n")
|
|
34 f.write(">header1_6 description\n")
|
|
35 f.write("KLYSHYIVDXSEPRDTYVKSLXSXTDQLEAT\n")
|
|
36 f.write(">header2_1\n")
|
|
37 f.write("CGFXLISLXSQXFHVGVSWLRLINNIMRVEL\n")
|
|
38 f.write(">header2_2\n")
|
|
39 f.write("VASSXSVYDHNDFTXVSRGYDXSTIXCEXSL\n")
|
|
40 f.write(">header2_3\n")
|
|
41 f.write("WLLVDQFMITMISRRCLVATTNQQYNASRAX\n")
|
|
42 f.write(">header2_4\n")
|
|
43 f.write("SSSTRIILLISRSHETPTXNHCDHKLINXKP\n")
|
|
44 f.write(">header2_5\n")
|
|
45 f.write("QALLALYCXLVVATRHLREIIVIINXSTRSH\n")
|
|
46 f.write(">header2_6\n")
|
|
47 f.write("KLYSHYIVDXSXPRDTYVKSLXSXTDQLEAT\n")
|
|
48 f.close()
|
|
49
|
|
50 #normal launch
|
|
51 cmd = self._prg
|
|
52 cmd += " -i %s" % ( self._inputFile )
|
|
53 cmd += " -o %s" % ( self._outputFile )
|
|
54 os.system( cmd )
|
|
55 self.assertTrue(FileUtils.are2FilesIdentical( self._outputFile, "expectedTranslated.fa"))
|
|
56 os.system( "rm " + self._outputFile )
|
|
57
|
|
58 #verbose option
|
|
59 cmd = self._prg
|
|
60 cmd += " -i %s" % ( self._inputFile )
|
|
61 cmd += " -o %s" % ( self._outputFile )
|
|
62 cmd += " -v 1"
|
|
63 os.system( cmd )
|
|
64 self.assertTrue(FileUtils.are2FilesIdentical( self._outputFile, "expectedTranslated.fa"))
|
|
65 os.system( "rm " + self._outputFile )
|
|
66
|
|
67 #clean option
|
|
68 cmd = self._prg
|
|
69 cmd += " -i %s" % ( self._inputFile )
|
|
70 cmd += " -o %s" % ( self._outputFile )
|
|
71 cmd += " -c"
|
|
72 os.system( cmd )
|
|
73 self.assertTrue( FileUtils.are2FilesIdentical( self._outputFile, "expectedTranslated.fa" ) )
|
|
74 self.assertFalse( FileUtils.isRessourceExists( self._inputFile ) )
|
|
75 os.system( "rm " + self._outputFile)
|
|
76 os.system("rm expectedTranslated.fa")
|
|
77
|
|
78
|
|
79 if __name__ == "__main__":
|
|
80 unittest.main() |