[Bioperl-l] Bio::DB::Taxonomy and each_Descendent

Jelle Scholtalbers j.scholtalbers at gmail.com
Wed Sep 22 07:46:35 UTC 2010


Hi Jason,

this was the same method I was using. With the taxdump it works apparently,
however it does not work with Entrez as source. So I will just stick to a
up2date taxdump then. Thanks for your example.

@Paul: Your method gives indeed the lineage but will only retrieve the
ancestors. I want to retrieve all the descendents. Thx anyway.

Cheers,
Jelle

On Mon, Sep 20, 2010 at 5:38 PM, Jason Stajich <jason at bioperl.org> wrote:

>
> This works for me to get all the descendents from sub-node. You have to
> call the function with the dabatase handle.   I am not sure if the Taxon
> implementation has reference to the dbhandle or not:
> #!/usr/bin/perl -w
> use strict;
> use Bio::DB::Taxonomy;
> my $dbdir = '/db/taxonomy/ncbi/'; #downloaded data from NCBI taxdump into
> this directory
> my $db = Bio::DB::Taxonomy->new(-source => 'flatfile',
>                                 -nodesfile => "$dbdir/nodes.dmp",
>                                 -namesfile => "$dbdir/names.dmp",
>                                 );
> my $taxa = $db->get_taxon(-taxonid => 151341);
> my @d = $db->get_all_Descendents($taxa);
>
> print join("\n", map { $_->id . " " . $_->rank . " " . $_->scientific_name
> } @d), "\n";
>
>
> Hope that helps.
> Jelle Scholtalbers wrote, On 9/20/10 1:04 AM:
>
> Hi,
>
> I'm trying to get all descendents for a specific taxon using Entrez.
> each_Descendent and get_all_Descendents don't seem to be implemented or
> working.  I then tried by getting the tree for this taxon using
> Bio::DB::Taxonomy's get_tree. However this only retrieves the
> ancestors/parents.
> What would be the best approach here?
>
> Cheers,
> Jelle
>
> On Wed, Apr 21, 2010 at 5:45 PM, Eric Collins <rec3141 at mcmaster.ca> <rec3141 at mcmaster.ca> wrote:
>
>
>
>  Thanks, that was indeed the answer to #2. Any idea about each_Descendent?
> Eric
>
> On Tue, Apr 20, 2010 at 4:48 PM, Chris Fields <cjfields at illinois.edu> <cjfields at illinois.edu>
> wrote:
>
>
>  Sounds like this is going through an initial indexing step (for
>
>
>  flatfiles).  I would expect the initial indexing of the tables to take time
> as you have to create the DB, but subsequent lookups post-indexing should be
> much faster if the index is already present.  Maybe Jason could answer in
> more detail?
>
>
>  chris
>
> On Apr 20, 2010, at 3:20 PM, Eric Collins wrote:
>
>
>
>  Hello,
>
> I tried the Bio::DB::Taxonomy example on this wiki page using perl
> 5.8.5 with BioPerl 1.6.0http://www.bioperl.org/wiki/Module:Bio::DB::Taxonomy
>
> It ran for 100 cpu seconds and output:
>
> 33090 Viridiplantae kingdom
>
> I was expecting it to also output the descendents. Some questions:
>
> 1) are calls to 'each_Descendent' or 'get_all_Descendents' actually
> implemented? It looks to be in Taxon.pm but it is not documented and
> when I ran Data::Dumper on $node the value '_desc' was empty.
>
> 2) is the flatfile reader always so slow? after replacing 'flatfile'
> with a call to 'entrez' it took only 0.02 cpu seconds to come
> up with the same result.
>
> thanks,
> Eric
> _______________________________________________
> Bioperl-l mailing listBioperl-l at lists.open-bio.orghttp://lists.open-bio.org/mailman/listinfo/bioperl-l
>
>         _______________________________________________
> Bioperl-l mailing listBioperl-l at lists.open-bio.orghttp://lists.open-bio.org/mailman/listinfo/bioperl-l
>
>      _______________________________________________
> Bioperl-l mailing listBioperl-l at lists.open-bio.orghttp://lists.open-bio.org/mailman/listinfo/bioperl-l
>
>



More information about the Bioperl-l mailing list