[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