[Bioperl-l] Other object oddities

Kevin Brown Kevin.M.Brown at asu.edu
Mon May 4 15:31:30 UTC 2009


I don't mind that Bio::Seq uses seq to return a string. In fact I prefer
that. Just would be nice if other objects obeyed the same convention.
Bio::SeqFeature::Generic returns an object for both entire_seq and seq,
but uses attach_seq to store the Bio::Seq object into the Feature.

Maybe SeqFeature could be adjusted so that ->seq returns the sequence
string of the feature (just like Bio::Seq) and ->feature_seq returns the
Bio::Seq object.

> -----Original Message-----
> From: Hilmar Lapp [mailto:hlapp at gmx.net] 
> Sent: Sunday, May 03, 2009 11:37 AM
> To: Kevin Brown
> Cc: BioPerl List
> Subject: Re: [Bioperl-l] Other object oddities
> 
> I agree, $seq->seq() could possibly be better named. Maybe $seq- 
>  >seqstr()?
> 
> The thing is that having $seq->seq() return an object would be  
> meaningless - it would be $self.
> 
> You can test what kind of object you have using ref() or isa():
> 
> 	$seq = $obj->seq();
> 	# we need the sequence string
> 	$seq = $seq->seq() if ref($seq) && 
> $seq->isa("Bio::PrimarySeqI");
> 
> There has been a naming consistency review, but it's been a long time.
> 
> -hilmar
> 
> 
> On Apr 30, 2009, at 5:56 PM, Kevin Brown wrote:
> 
> > So, I'm using quite a bit of bioperl code in my own stuff and have  
> > been
> > seeing some oddities with the naming of methods. A good example  
> > would be
> > in the Bio::Seq and Bio::SeqFeature::Generic. Both have a method  
> > called
> > "seq" but in the latter case it returns an object (and expects an  
> > object
> > when doing a Set) and in the former it returns a string and 
> expects a
> > string when doing a Set.
> >
> > This makes for a bit of brain freeze on my part when the return from
> > another object might be a Bio::Seq or 
> Bio::SeqFeature::Generic and now
> > calling the ->seq returns different things.
> >
> > Guess I'm just curious if anyone has done an audit of the 
> methods of  
> > the
> > various objects and their return types to see how 
> consistent they are
> > across even a subsection of the codebase?
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
> 
> -- 
> ===========================================================
> : Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :
> ===========================================================
> 
> 
> 
> 




More information about the Bioperl-l mailing list