annotate commons/pyRepetUnit/hmmer/hmmOutput/tests/TestHmmscanOutputProcessing.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 import os
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2 import unittest
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 from commons.pyRepetUnit.hmmer.hmmOutput.HmmscanOutputProcessing import HmmscanOutputProcessing
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 from commons.core.utils.FileUtils import FileUtils
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 class TestHmmscanOutputProcessing(unittest.TestCase):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8 def setUp(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9 self.hmmscanOutputProcess = HmmscanOutputProcessing()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10 self._inputFile = "./datas/hmmscanOutputTab.txt"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 self._inputFileScan2 = "./datas/hmmscanOutput"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 self._outputFileScan2 = "./datas/hmmscanOutput.align"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 self._outputFile = "./datas/dummyFile.align"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 def tearDown(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 if os.path.exists(self._outputFile):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17 os.remove(self._outputFile)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 def testReadHmmerscanOutput(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20 file = open( self._inputFile )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 pfamOutput = self.hmmscanOutputProcess.readHmmOutput(file)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 self.assertEqual(["Polinton-1_DY:classII:Polinton_4", "2742", "2766", "rve", "50", "78", "2.4e+03", "-3.3"], pfamOutput.get(0))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 self.assertEqual(["Polinton-1_DY:classII:Polinton_4", "2951", "3101", "rve", "4", "168", "6.7e-30", "103.4"], pfamOutput.get(1))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 self.assertEqual(["Polinton-1_DY:classII:Polinton_4", "3198", "3228", "Chromo", "4", "51", "8.5e-06", "24.7"], pfamOutput.get(2))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25 self.assertEqual(["Polinton-1_DY:classII:Polinton_4", "2117", "2125", "GARS_A", "196", "204", "11", "2.5"], pfamOutput.get(3))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 file.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28 def test_readHmmerscanOutput_empty_file(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29 file = open( "./datas/OutputhmmscanEmpty", "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 file.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31 file = open( "./datas/OutputhmmscanEmpty")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32 pfamOutput = self.hmmscanOutputProcess.readHmmOutput(file)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33 file.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 self.assertEqual(None, pfamOutput)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 os.system("rm ./datas/OutputhmmscanEmpty")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 def testParseHmmscanOutput2Align(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 self.hmmscanOutputProcess.readHmmOutputsAndWriteAlignFile(self._inputFileScan2, self._outputFile)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 self.assertTrue(FileUtils.isRessourceExists(self._outputFile))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 self.assertTrue(FileUtils.are2FilesIdentical(self._outputFileScan2, self._outputFile))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 os.system("rm " + self._outputFile)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43 def test_parseHmmscanOutput2Align_empty_file(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44 file = open("./datas/dummy_hmmpfam_output", "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45 file.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46 self._inputFile = "./datas/dummy_hmmpfam_output"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 self.hmmscanOutputProcess.readHmmOutputsAndWriteAlignFile( self._inputFile, self._outputFile )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 self.assertTrue(FileUtils.isEmpty(self._outputFile))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 os.system("rm " + self._inputFile)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 os.system("rm " + self._outputFile)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 def test_parseHmmscanOutput2Align_file_not_exists(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53 self._inputFile = "./datas/dummy_hmmpfam_output"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 self.hmmscanOutputProcess.readHmmOutputsAndWriteAlignFile(self._inputFile, self._outputFile )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 self.assertFalse(FileUtils.isRessourceExists(self._outputFile))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 unittest.main()