annotate commons/pyRepetUnit/hmmer/LaunchPreProcessHmmpfamPostProcessNotInParallel.py @ 31:0ab839023fe4

Uploaded
author m-zytnicki
date Tue, 30 Apr 2013 14:33:21 -0400
parents 94ab73e8a190
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 pyRepet.launcher.programLauncher import *
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 from pyRepet.util.file.FileUtils import *
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 import commons.pyRepetUnit.fastaTranslation.allFrames.TranslateInAllFramesAndReplaceStopByX
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 import commons.pyRepetUnit.hmmer.hmmOutput.HmmpfamOutputProcessing
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7 import ConfigParser
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9 class LaunchPreProcessHmmpfamPostProcessNotInParallel:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 def __init__( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 #for global analysis
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 self._configFile = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 self._inputFile = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 self._outputFile = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17 self.fileUtils = FileUtils()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18 self._programLauncherInstance = programLauncher()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 #specific to PreProcess
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20 self.bioseq = Bioseq()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 self.preProcess = commons.pyRepetUnit.fastaTranslation.allFrames.TranslateInAllFramesAndReplaceStopByX.TranslateInAllFramesAndReplaceStopByX()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 self._outputFilePreprocess = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 #specific to PostProcess
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 self.hmmpfamOutputProcess = commons.pyRepetUnit.hmmer.hmmOutput.HmmpfamOutputProcessing.HmmpfamOutputProcessing()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 def _cleanTemporaryFiles(self, outputFilePreProcess, outputFileHmmpfam):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 os.remove( outputFilePreProcess )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28 os.remove( outputFileHmmpfam )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 def _launchPostProcess(self, outputFileHmmpfam):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31 return self.hmmpfamOutputProcess.readHmmOutputsAndWriteAlignFile(outputFileHmmpfam, self._outputFile)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 def _launchHmmpfam(self, outputFilePreprocess):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 config = ConfigParser.ConfigParser()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 config.readfp(open(self._configFile))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 self._programLauncherInstance.reset(outputFilePreprocess)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 outputFileHmmpfam = outputFilePreprocess + ".hmmpfamOut"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 self._programLauncherInstance.setOutputFileName(outputFileHmmpfam)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 self._programLauncherInstance.launchHmmpfam(evalFilter=config.get("profil_search", "Evalue"), inputFormat=config.get("profil_search", "InputFormat"), profilDatabank=config.get("profil_search", "ProfilDatabank"))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 return outputFileHmmpfam
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44 def _launchHmmpfamPreProcess(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45 self.preProcess.setInputFile(self._inputFile)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46 outputFilePreprocess = self._inputFile + ".translated"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 self.preProcess.setOutputFile(outputFilePreprocess)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 self.preProcess.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 return outputFilePreprocess
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51 def setInputFile( self, input ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 self._inputFile = input;
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 def setOutputFile( self, output ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 self._outputFile = output;
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 def setConfigFile ( self, configFile ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 self._configFile = configFile
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60 def checkInputFile(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 return self._checkFileExitsAndNotEmpty( self._inputFile )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 def checkConfigFile(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64 return self._checkFileExitsAndNotEmpty( self._configFile )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 def _checkFileExitsAndNotEmpty(self, fileName):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67 fileUtils = FileUtils()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68 if fileUtils.isRessourceExists(fileName) and not fileUtils.isFileEmpty(fileName):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69 return 1
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70 return 0
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
72 def run(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
73
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
74 if not self.checkInputFile():
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
75 print "Warning : there is no input file : " + self._inputFile + "\n"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
76 return 0
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
77 if not self.checkConfigFile():
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
78 print "Warning : there is no config file : " + self._configFile + "\n"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
79 return 0
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
80 outputFilePreProcess = self._launchHmmpfamPreProcess()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
81 outputFileHmmpfam = self._launchHmmpfam(outputFilePreProcess)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
82 self._launchPostProcess(outputFileHmmpfam)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
83 self._cleanTemporaryFiles(outputFilePreProcess, outputFileHmmpfam)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
84
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
85
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
86 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
87 main()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
88
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
89
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
90
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
91
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
92
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
93
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
94
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
95
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
96
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
97
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
98
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
99
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
100
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
101
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
102
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
103
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
104
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
105
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
106
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
107
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
108
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
109
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
110
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
111
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
112
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
113
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
114
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
115
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
116
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
117
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
118
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
119
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
120
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
121 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
122 main()