add option to specify input format in fastaGrep
This commit is contained in:
@ -1,24 +1,56 @@
|
||||
#!/usr/local/bin/python
|
||||
|
||||
import re
|
||||
import sys
|
||||
|
||||
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.bioseqfilter import addSequenceFilteringOptions
|
||||
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__':
|
||||
|
||||
optionParser = getOptionManager([addSequenceFilteringOptions],
|
||||
entryIterator=fastaIterator)
|
||||
optionParser = getOptionManager([addSequenceFilteringOptions])
|
||||
|
||||
(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)
|
||||
|
||||
|
Reference in New Issue
Block a user