The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bio::Phylo::PhyloWS::Client - Base class for phylogenetic web service clients

SYNOPSIS

 #!/usr/bin/perl
 use strict;
 use warnings;
 use Bio::Phylo::Factory;
 
 my $fac = Bio::Phylo::Factory->new;
 my $client = $fac->create_client( 
        '-base_uri'  => 'http://nexml-dev.nescent.org/nexml/phylows/tolweb/phylows/',
        '-authority' => 'uBioNB',
 );
 my $desc = $client->get_query_result( 
        '-query'     => 'Homo sapiens', 
        '-section'   => 'taxon',
 );
 for my $res ( @{ $desc->get_entities } ) {
        my $proj = $client->get_record( '-guid' => $res->get_guid );
        print $proj->to_nexus, "\n";
 }

DESCRIPTION

This is the base class for clients connecting to services that implement the PhyloWS (http://evoinfo.nescent.org/PhyloWS) recommendations.

METHODS

CONSTRUCTOR

new()
 Type    : Constructor
 Title   : new
 Usage   : my $phylows = Bio::Phylo::PhyloWS::Client->new( -url => $url );
 Function: Instantiates Bio::Phylo::PhyloWS::Client object
 Returns : a Bio::Phylo::PhyloWS::Client object 
 Args    : Required: -url => $url
           Optional: any number of setters. For example,
                   Bio::Phylo::PhyloWS->new( -name => $name )
                   will call set_name( $name ) internally

MUTATORS

set_ua()

Assigns a new LWP::UserAgent object that the client uses to communicate with the service. Typically you don't have to use this unless you have to configure a user agent for things such as proxies. Normally a default user agent is instantiated when the client constructor is called.

 Type    : Mutator
 Title   : set_ua
 Usage   : $obj->set_ua( LWP::UserAgent->new );
 Function: Assigns another (non-default) user agent
 Returns : $self
 Args    : An LWP::UserAgent object (or child class)

ACCESSORS

get_query_result()

Gets search query result

 Type    : Accessor
 Title   : get_query_result
 Usage   : my $res = $obj->get_query_result( -query => $query );
 Function: Returns Bio::Phylo::PhyloWS::Description object
 Returns : A string
 Args    : Required: -query => $cql_query
           Optional: -section, -recordSchema
parse_query_result()

Parses a raw query result

 Type    : Accessor
 Title   : parse_query_result
 Usage   : my $desc = $obj->parse_query_result($content);
 Function: Parses a raw query result
 Returns : Bio::Phylo::PhyloWS::Resource::Description object
 Args    : Raw result content
get_record()

Gets a PhyloWS database record

 Type    : Accessor
 Title   : get_record
 Usage   : my $rec = $obj->get_record( -guid => $guid );
 Function: Gets a PhyloWS database record
 Returns : Bio::Phylo::Project object
 Args    : Required: -guid => $guid
get_ua()

Gets the underlying LWP::UserAgent object that the client uses to communicate with the service

 Type    : Accessor
 Title   : get_ua
 Usage   : my $ua = $obj->get_ua;
 Function: Gets user agent
 Returns : LWP::UserAgent object
 Args    : None

SEE ALSO

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

CITATION

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