[Bioperl-l] Bio::Tools::HMMER refactoring

Ewan Birney birney@ebi.ac.uk
Sun, 17 Dec 2000 19:21:54 +0000 (GMT)

[apologies for spelling mistakes in the previous email...]

Today is becoming a very productive bioperl day. 

I have moved Bio::Tools::HMMER over to the SimilarityPair object.

This was very smooth except for a requirement to do:

sub _initialize { 
  my($self,@args) = @_;
  my $make = $self->SUPER::_initialize(@args);

  $self->{'alignlines'} = [];

  # make sure we have actually created the feature2 object
  # not ideal this...

  return $make;

in the Bio::Tools::HMMER::Domain object because it needs the feature2
object created. SimilarityPair seems to make sure feature1 is created -
why not do the same thing for feature2? (hilmar?)

I don't 100% understand what I should be doing with SeqFeatureAnalysisI
here. I have to implement parse

=head2 parse

 Title   : parse
 Usage   : $obj->parse(-input=>$inputobj, [ -params=>[@params] ],
		       [ -method => $method ] )
 Function: sets up parsing for feature retrieval from an analysis file, 
           or object
 Example :
 Returns : void
 Args    : B<input>  - object/file where analysis are coming from,
	   B<params> - parameter to use when parsing/running analysis
	   B<method> - method of analysis (optional)

Is it ok to 

   (a) assumme that -input is always a filehandle (ie, I can go <$input>)?

   (b) ignore everything else?

What should parse() return? 

Then I have to implement next_feature (surely next_seq_feature or
next_SeqFeature would have been a better name....)

I really want to implement next_feature on what I return from parse()
because in HMMER, I need to read the whole damn file before I can return a
properely parsed seqfeature (don't ask...)

(second issue is that I really have a Set of SimilarityPair objects, but
that also is another matter).

I am not 100% on this interface. Who uses it and is this the best way to
do things here?

Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420