Hilmar and I have been trying to put together a simple method for adding
features to sequences from a variety of sources. To faciltitate this 2
new interfaces are proposed (and have been submitted to CVS) [excusing
the pseudo-perl function definitions below].
Bio::SeqAnalysisParserI - provides the routines for parsing SeqAnalysis
output. This can be from a file, filestream,
object, etc.
SeqFeatureI next_feature()
void parse(-input=>$input,-method=>'method',-params=>[@params]);
Bio::SeqFeatureProducerI - provides an interface for adding features to a
sequence.
void add_features($seq,$analFeatParser);
Additionally, one module has been written that implements
SeqFeatureProducerI
Bio::SeqFeatureProducer - implements Bio::SeqFeatureProducerI and consumes
features from the parser object until next_feature is exhausted.
Each retrieved feature is populated on the sequence object.
ToDo -
* Bio::SeqAnalysisParser - a driver class in the SeqIO spirit which will
allow a user to do the following (we are instantiating a parser on the
parse command rather than in new).
my $parser = new Bio::SeqAnalysisParser();
$parser->parse(-input=>'filename', -method=>'MZEF',-params [ (
-strand=>-1) ]);
my $featprod = new Bio::SeqFeatureProducer();
$featprod->add_features($seq,$parser);
* Connect the Bio::Tools::Sim4, Bio::Tools::BPlite, Bio::Tools::HMMER
parsers into this system.
Comments, criticism, and volunteers welcome.
Jason Stajich
jason@chg.mc.duke.eduhttp://galton.mc.duke.edu/~jason/
(919)684-1806 (office)
(919)684-2275 (fax)
Center for Human Genetics - Duke University Medical Center
http://wwwchg.mc.duke.edu/