[Bioperl-l] interoperability with bioperl

Ewan Birney birney at ebi.ac.uk
Wed Aug 31 09:13:46 EDT 2005

Rutger Vos wrote:
> Dear BioPerlers,
> I am the author of a phylogenetics oriented package on CPAN called 
> Bio::Phylo (link in my sig). The tree object is superficially similar to 
> something that implements Bio::Tree::TreeI, and so I'm looking for a way 
> to implement interoperability - at least for that object - with BioPerl. 
> Bio::Phylo is more aimed at phylogeneticists, who might not be as 
> interested in installing the BioPerl core (and sort out the dependencies 
> and so on), so I am not looking to integrate in BioPerl.
> I am now leaning towards implementing interoperability in the following 
> way:
> i) I create a separate CPAN package, with BioPerl & Bio::Phylo 
> dependencies (so that my own "core" doesn't require bioperl).
> ii) this package inherits (using "use base" & "use fields" from 
> Bio::Phylo::Trees::Tree, see 
> http://search.cpan.org/~rvosa/Bio-Phylo-0.04/lib/Bio/Phylo/Trees/Tree.pm).
> iii) this package @ISA Bio::Tree::TreeI (see 
> http://search.cpan.org/~birney/bioperl-1.4/Bio/Tree/TreeI.pm).
> iv) hence, through multiple inheritance, a "hybrid" tree object is 
> created, which implements both APIs (there's a fair amount of overlap, I 
> might get away with just symbol table manipulation (globs) to implement 
> Bio::Tree::TreeI).
> I solicit your thoughts on whether you think this is the right way to go 
> about things. My main worry is that there'll be problems if people have 
> taken to sticking their fingers inside Bio::Tree::TreeI-like objects to 
> fondle their attributes directly. Then again, that "voids their 
> warranty", perhaps.

This is precisely the way to go and I am planning on a similar approach
to "bridge" between Ensembl and Bioperl - ie, make wrapper classes that
holds onto the Ensembl object, and delegates the necessary I defined functions
for Bioperl "Clients".

As you said, if I client starts looking inside the object directly then
its on its own head.

> Best wishes,
> Rutger

More information about the Bioperl-l mailing list