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