Bio::Phylo::PhyloWS::Service::Tolweb - PhyloWS service wrapper for Tree of Life
# inside a CGI script: use CGI; use Bio::Phylo::PhyloWS::Service::Tolweb; my $cgi = CGI->new; my $service = Bio::Phylo::PhyloWS::Service::Tolweb->new( '-url' => $url ); $service->handle_request($cgi);
This is an example implementation of a PhyloWS service. The service wraps around the Tree of Life XML services described at http://tolweb.org/tree/home.pages/downloadtree.html.
When doing a record lookup this service returns project objects that include the focal node (identified by its PhyloWS ID) and the nearest child and parent nodes that have web pages.
When querying, this service returns a project object with one taxa block containing zero or more taxon objects that matched the query.
When URLs to this service specify format=html in the query string, this service returns redirect URLs to web pages on the Tree of Life web project site at http://tolweb.org. The redirect URLs either point to search result listings or to node pages, depending on whether the redirect is for a record query or a record lookup, respectively.
Gets a tolweb record by its id
Type : Accessor Title : get_record Usage : my $record = $obj->get_record( -guid => $guid ); Function: Gets a tolweb record by its id Returns : Bio::Phylo::Project Args : Required: -guid => $guid Comments: For the $guid argument, this method only cares whether the last part of the argument is a series of integers, which are understood to be the node identifier in the Tree of Life
Gets a redirect URL if relevant
Type : Accessor Title : get_redirect Usage : my $url = $obj->get_redirect; Function: Gets a redirect URL if relevant Returns : String Args : $cgi Comments: This method is called by handle_request so that services can 303 redirect a record lookup to another URL. By default, this method returns undef (i.e. no redirect), but if this implementation is called to handle a request that specifies 'format=html' the request is forwarded to the appropriate page on the http://tolweb.org website
Gets a query result and returns it as a project object
Type : Accessor Title : get_query_result Usage : my $proj = $obj->get_query_result($query); Function: Gets a query result Returns : Bio::Phylo::Project Args : A simple query string for a group search Comments: The $query is a simple CQL level 0 term-only query
Gets an array ref of supported formats
Type : Accessor Title : get_supported_formats Usage : my @formats = @{ $obj->get_supported_formats }; Function: Gets an array ref of supported formats Returns : [ qw(nexml nexus newick html json phyloxml rss1) ] Args : NONE
Gets the authority prefix (e.g. TB2) for the implementing service
Type : Abstract Accessor Title : get_authority Usage : my $auth = $obj->get_authority; Function: Gets authority prefix Returns : 'ToL' Args : None
There is a mailing list at https://groups.google.com/forum/#!forum/bio-phylo for any user or developer questions and discussions.
Also see the manual: Bio::Phylo::Manual and http://rutgervos.blogspot.com
If you use Bio::Phylo in published research, please cite it:
Rutger A Vos, Jason Caravas, Klaas Hartmann, Mark A Jensen and Chase Miller, 2011. Bio::Phylo - phyloinformatic analysis using Perl. BMC Bioinformatics 12:63. http://dx.doi.org/10.1186/1471-2105-12-63
To install Bio::Phylo, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bio::Phylo
CPAN shell
perl -MCPAN -e shell install Bio::Phylo
For more information on module installation, please visit the detailed CPAN module installation guide.