Mercurial > repos > yufei-luo > s_mart
comparison commons/pyRepetUnit/hmmer/hmmOutput/HmmOutputProcessing.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 os | |
| 2 from commons.pyRepetUnit.hmmer.hmmOutput.HmmOutput import HmmOutput | |
| 3 | |
| 4 ##Concrete implementation for hmmscan and hmmpfam output methods | |
| 5 # | |
| 6 class HmmOutputProcessing (object): | |
| 7 | |
| 8 ## write a align file from a HmmOutput object | |
| 9 # | |
| 10 # @param fout handle of align file | |
| 11 # @param HmmOutput HmmOutput object in fact a list of hmmOutput containing datas required | |
| 12 # | |
| 13 def writeHmmOutputToAlignFile( self, pfamOutput, fout ): | |
| 14 for item in pfamOutput.getList(): | |
| 15 for i in item: | |
| 16 fout.write(i + "\t") | |
| 17 fout.write("0\n") | |
| 18 | |
| 19 ## read an output file from hmm profiles search program and write the corresponding .align file | |
| 20 # | |
| 21 # @param inputFile file | |
| 22 # @param outputFile file | |
| 23 # | |
| 24 def readHmmOutputsAndWriteAlignFile( self, inputFile, outputFile ): | |
| 25 if not os.path.exists(inputFile): | |
| 26 print "Warning your input file " + inputFile + " does not exist!\n" | |
| 27 return | |
| 28 file2parse = open( inputFile ) | |
| 29 pfamOutput = HmmOutput() | |
| 30 if outputFile == "": | |
| 31 print "Warning have to specify an output name file!\n" | |
| 32 return | |
| 33 fout = open(outputFile, "w") | |
| 34 while pfamOutput != None: | |
| 35 pfamOutput = self.readHmmOutput(file2parse) | |
| 36 if pfamOutput != None: | |
| 37 self.writeHmmOutputToAlignFile(pfamOutput, fout) | |
| 38 fout.close() | |
| 39 file2parse.close() |
