annotate commons/tools/removeDescriptionInFastaHeaderProgramLauncher.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 #!/usr/bin/env python
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 import re
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 from commons.pyRepetUnit.components.AbstractProgramLauncher import AbstractProgramLauncher
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 class removeDescriptionInFastaHeaderProgramLauncher(AbstractProgramLauncher):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8 def __init__( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9 AbstractProgramLauncher.__init__( self )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10 self._formatInFile = "fasta"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 def run( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 self.checkInput()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 fastaHandler = open(self.getInputFile(), "r")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 lines = fastaHandler.readlines()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 fastaHandler.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17 newFastaName = ".".join([self.getInputFile().split(".")[0], "preprocessed", "fasta"])
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 self._writePreprocessedFastaFile(lines, newFastaName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 def _writePreprocessedFastaFile(self, lines, newFastaName):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 newFastaHandler = open(newFastaName, "w")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 for line in lines:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 if re.match(">", line):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25 newLine = line.split(" ",1)[0] + "\n"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 newFastaHandler.write(newLine)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 else:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28 newFastaHandler.write(line)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29 newFastaHandler.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 i = removeDescriptionInFastaHeaderProgramLauncher()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 i.checkAttributesFromCmdLine()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 i.run()