[Bioperl-l] Bio::*Taxonomy* changes
hlapp at gmx.net
Mon Jul 24 20:12:39 UTC 2006
On Jul 24, 2006, at 3:49 PM, Chris Fields wrote:
> Yes, 'largely' the key word. I don't really agree with Sendu's
> scheme (making Species implement Taxonomy and not Node doesn't make
> but, besides that, everything else seems fine. I like the
> following setup
> (which is similar to what you proposed, I believe), which I already
> SpeciesI -------|
> Taxonomy::Node is-a NodeI
> Taxonomy::SpeciesNode is-a NodeI and-a SpeciesI
I don't even think we would need SpeciesI - why would a species-
ranked taxonomy node be so different from any other node such that it
would need its own interface.
Chris - just one suggestion: take a step back and imagine a Bioperl
in which Bio::Species had never existed. Instead, only taxonomy nodes
existed, and code that can effectively deal with them, including
filtering by rank. In this picture, what would you make to want to
introduce SpeciesI and Bio::Species?
Frankly, I don't see anything. I.e., the only reason is backward
compatibility (which is a valid reason), but let's not glorify
Bio::Species by adding ill-conceived interfaces.
> Bio::DB::Taxonomy uses a factory to return NodeI-implementing modules;
> specifically, a SpeciesNode for species ranks or below, and a Node for
> anything else.
Like I said before, SpeciesNode or whatever it's called would draw
its right of existence solely from backward compatibility - don't use
it for anything else. And if you can achieve backward compatibility
by other means, don't even create a SpeciesNode.
My $0.02 ...
: Hilmar Lapp -:- Durham, NC -:- hlapp at gmx dot net :
More information about the Bioperl-l