[Bioperl-l] interoperability with bioperl

Rutger Vos rvosa at sfu.ca
Wed Aug 31 08:10:36 EDT 2005


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.

Best wishes,

Rutger

-- 
++++++++++++++++++++++++++++++++++++++++++++++++++++
Rutger Vos, PhD. candidate
Department of Biological Sciences
Simon Fraser University
8888 University Drive
Burnaby, BC, V5A1S6
Phone: 604-291-5625 
Fax: 604-291-3496
Personal site: http://www.sfu.ca/~rvosa
FAB* lab: http://www.sfu.ca/~fabstar
Bio::Phylo: http://search.cpan.org/~rvosa/Bio-Phylo/
++++++++++++++++++++++++++++++++++++++++++++++++++++




More information about the Bioperl-l mailing list