add option to specify input format in fastaGrep
This commit is contained in:
@ -1,24 +1,56 @@
|
|||||||
#!/usr/local/bin/python
|
#!/usr/local/bin/python
|
||||||
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
|
|
||||||
from obitools.fasta import fastaIterator,formatFasta
|
from obitools.fasta import fastaIterator,formatFasta
|
||||||
|
from obitools.format.sequence.embl import emblIterator
|
||||||
|
from obitools.format.sequence.genbank import genbankIterator
|
||||||
|
from obitools.format.sequence.fnaqual import fnaFastaIterator
|
||||||
from obitools.options import getOptionManager
|
from obitools.options import getOptionManager
|
||||||
from obitools.options.bioseqfilter import addSequenceFilteringOptions
|
from obitools.options.bioseqfilter import addSequenceFilteringOptions
|
||||||
from obitools.options.bioseqfilter import sequenceFilterIteratorGenerator
|
from obitools.options.bioseqfilter import sequenceFilterIteratorGenerator
|
||||||
|
|
||||||
|
def addInputFormatOption(optionManager):
|
||||||
|
optionManager.add_option('--genbank',
|
||||||
|
action="store_const", dest="seqinformat",
|
||||||
|
type="string",
|
||||||
|
default='fasta',
|
||||||
|
const='genbank',
|
||||||
|
help="input file is in genbank format")
|
||||||
|
optionManager.add_option('--embl',
|
||||||
|
action="store_const", dest="seqinformat",
|
||||||
|
type="string",
|
||||||
|
default='fasta',
|
||||||
|
const='embl',
|
||||||
|
help="input file is in embl format")
|
||||||
|
|
||||||
|
optionManager.add_option('--fna',
|
||||||
|
action="store_const", dest="seqinformat",
|
||||||
|
type="string",
|
||||||
|
default='fasta',
|
||||||
|
const='fna',
|
||||||
|
help="input file is in fasta nucleic format produced by 454 sequencer pipeline")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__=='__main__':
|
if __name__=='__main__':
|
||||||
|
|
||||||
optionParser = getOptionManager([addSequenceFilteringOptions],
|
optionParser = getOptionManager([addSequenceFilteringOptions])
|
||||||
entryIterator=fastaIterator)
|
|
||||||
|
|
||||||
(options, entries) = optionParser()
|
(options, entries) = optionParser()
|
||||||
goodFasta = sequenceFilterIteratorGenerator(options)
|
|
||||||
|
|
||||||
for seq in goodFasta(entries):
|
if options.seqinformat=='fasta':
|
||||||
|
reader=fastaIterator
|
||||||
|
elif options.seqinformat=='genbank':
|
||||||
|
reader=genbankIterator
|
||||||
|
elif options.seqinformat=='embl':
|
||||||
|
reader=emblIterator
|
||||||
|
elif options.seqinformat=='fna':
|
||||||
|
reader=fnaFastaIterator
|
||||||
|
|
||||||
|
entries=reader(entries)
|
||||||
|
|
||||||
|
goodSeq = sequenceFilterIteratorGenerator(options)
|
||||||
|
|
||||||
|
for seq in goodSeq(entries):
|
||||||
print formatFasta(seq)
|
print formatFasta(seq)
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user