[Bioperl-l] Taxonomy hierarchy extraction
Sendu Bala
bix at sendu.me.uk
Tue Jun 19 07:01:05 UTC 2007
Jason Stajich wrote:
> The reason it isn't printing anything is someone didn't really write
> the implementation quite right. This code was overhauled by Sendu
> before the last release I guess something didn't quite get connected.
>
> I checked in code that has the Bio::Taxon delegating now to a DB
> handle for the each_Descendent call.
> You can either patch your code or just use the code listed here:
> http://bioperl.org/wiki/Module:Bio::DB::Taxonomy
I've reverted that change.
For some reason the docs for Bio::Taxon::each_Descendent aren't showing
up on the website, but they state:
---
Note that this method never asks the database for the descendents; it
will only return objects you have manually set with add_Descendent(), or
where this was done for you by making a Bio::Tree::Tree with this object
as an argument to new().
To get the database descendents use
$taxon->db_handle->each_Descendent($taxon).
---
I also have a note in the Synopsis for the module:
---
# Though be careful with each_Descendent - unless you add_Descendent()
# yourself, you won't get an answer because unlike for ancestor(),
# Bio::Taxon does not ask the database for the answer. You can ask the
# database yourself using the same method:
($human) = $homo->db_handle->each_Descendent($homo);
---
This is quite deliberate and is to prevent Bad Things from happening.
(Can't exactly remember the reasoning now, but I know it was good.)
More information about the Bioperl-l
mailing list