NAME

SOAP::Integr8 - SOAP::Lite helper class for Integr8 Web Services @ EBI

VERSION

Version 1.0

SYNOPSIS

use SOAP::Integr8;

my $i8_ws = SOAP::Integr8->new();
my $organism_name = 'Escherichia coli K12';
my $organisms = $i8_ws->getOrganismsByQueryTerm($organism_name);

foreach my $organism (@{$organisms}) {
  print STDOUT $organism->{superregnum}, "\n";
}

DESCRIPTION

A wrapper for SOAP::Lite to provide easier access to the resources held on the Integr8 resource located at the European Bioinformatics Institute (EMBL).

FUNCTIONS

new()

Creates a new instance of this object. You can provide the following during construction:

  • wsdl

  • service

  • die_on_error

wsdl()

The WSDL to use for the integr8 service. Will default to the currently known WSDL location but here to allow for this to change & allow clients to migrate if this ever occurs.

service()

Allows you to give this object a SOAP::Lite proxy object. Also for accessing the one automatically created (if you prefer to customize this one further).

die_on_error()

If an error occurs the module will confess the string found in error. Can be used to switch the function off (defaults to on if nothing is given)

param_factory()

An instance of SOAP::Integr8::ParamFactory an internal dependency but here if you require inspection of the parameter creation.

error()

The error found on the last run. Can be used as a boolean to check the existence of an error. Normally used if you've opted to turn of the die_on_error functionality.

error_detail()

Will sometimes get populated in the event of an error. Depends on SOAP::Lite and its error reporting system

wrap_array()

my $res = get_from_somewhere_might_be_an_array();
my $this_is_an_array = $integr8->wrap_array($res);

This method is used to avoid ambiguity caused by the transport mechanism. Any element which could contain multiple elements (such as a gene's xrefs) will be returned as an array if there is more than one. Therefore you can pass a potentially ambigous result to this method & this code will wrap it in an array if the reference is not already an array. i.e.

$i8_ws->wrap_array({}); #Returns [{}] since input is not an array
$i8_ws->wrap_array([]); #Returns the SAME instance of the array back
$i8_ws->wrap_array(undef); #Returns a new []

This method is a solution to a problem which would be better if it did not exist & could be solved by this module but it is important to realise what the underlying data is like when working with the client.

get*()

If you wish to use the *ByQueryTerm methods then to get a preview of your results please use the quick search box on the Integr8 home page.

N.B. Whenever the code refers to a Gene ID this does not refer to the public stable IGI values provided by Integr8. This is the identifier retrieved from the getGeneIds* methods and is an internal identifier. We provide no guarentee that this ID is stable between distant Web Service sessions but will remain constant for basic WS work.

All methods which can return multiple elements will ALWAYS return an array. You do not need to call wrap_array for these results.

getOrganisms()

Returns an array ref of all known organisms.

getOrganismsByQueryTerm()

$i8_ws->getOrganismsByQueryTerm('ras1');

Returns all organisms found by the given terms. Provides equivalent to the search function found at the Integr8 website

getGeneIdsByProteomeId()

my $gene_ids = $i8_ws->getGeneIdsByProteomeId(18); #EColi K12

Returns all known Gene IDs from a Proteome ID (which is specified in an Organism by proteomeId).

getGeneIdsByGenomeAc()

my $gene_ids = $i8_ws->getGeneIdsByGenomeAc('U00096');

Returns all known Gene IDs from a Genome Ac (normally an EMBL accession such as U00096 for E.Coli K12)

getGeneIdsByQueryTerm()

my $gene_ids = $i8_ws->getGeneIdsByQueryTerm('valyl');

Returns all gene ids found by a query term.

getGeneIdsByProteomeIdAndQueryTerm()

my $gene_ids = $i8_ws->getGeneIdsByProteomeIdAndQueryTerm(18, 'valyl');

Allows you to restrict the search of gene ids to a given proteome and a term allowing for more complex queries such as E.Coli Valyl tRNA Synthetase

getGeneById()

my $gene = $i8_ws->getGeneById(1);

Returns all the information concerning a gene that Integr8 is able to report.

AUTHOR

Andrew Yates, <ayatesatebi.ac.uk>

BUGS

Report directly to EBI using the help interface http://www.ebi.ac.uk/support

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc SOAP::Integr8

You can also look for information at:

ACKNOWLEDGEMENTS

The hard work of Alan Horne & the SOAP::Lite module team.

COPYRIGHT & LICENSE

Copyright (C) 2008 European Bioinformatics Institute.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.