[Bioperl-l] new interfaces, classes

Jason Stajich jason@chg.mc.duke.edu
Wed, 6 Sep 2000 14:45:41 -0400 (EDT)


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.edu
http://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/