Skip to content
gaou edited this page Oct 19, 2020 · 1 revision

SOAP Service for G-language System

G-language Genome Analysis Environment (G-language GAE) is a set of Perl libraries for genome sequence analysis that is compatible with BioPerl [4], equipped with several software interfaces (interactive Perl/UNIX shell with persistent data, AJAX Web GUI, Perl API). The software package contains more than 100 original analysis programs especially focusing on bacterial genome analysis, including those for the identification of binding sites with information theory, analysis of nucleotide composition bias, analysis of the distribution of characteristic oligonucleotides, analysis of codons and prediction of expression levels, and visualization of genomic information. Taking advantage of the BioHackathon 2009, we have recently developed REST/SOAP web service APIs for this software system, in order to provide higher interoperability with other programming languages and bioinformatics software tools.

SOAP interface provides language-independent access to more than 100 analysis programs. The WSDL file contains descriptions for all available programs in a single file, and can be readily loaded in Taverna 2 workbench to integrate with other services to construct workflows. Example workflows are available at the myExperiment website.

Base URL
List of available processes
Overview of parameters
  • All processes basically take two sets of arguments: in0 corresponding to sequence file (format is automatically interpreted, can be FASTA, FASTQ, GenBank, EMBL, SWISS, and etc.)
  • Second argument param is a list of optional parameters.
Publication
  • "G-language genome analysis environment with REST and SOAP web service interfaces", Arakawa K, Kido N, Oshita K, Tomita M, //Nucleic Acids Res.//, 2010, 38 Suppl:W700-705 (PubMed).

Usage examples in different programming languages

Perl
use SOAP::Lite;
use strict;

my $soap = SOAP::Lite->service("http://soap.g-language.org/g-language.wsdl");
my $in0   = SOAP::Data->new(name=>'in0',value=>"ecoli");

my %param = (-cumulative=>1);
my $inputParams = SOAP::Data->name('params')->type(map=>¥%param);

print $soap->gcskew($in0, $inputParams);
Ruby
require 'soap/wsdlDriver'

wsdl = "http://soap.g-language.org/g-language.wsdl"
serv = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
serv.generate_explicit_type = true

hash = {"-cumulative" => 1}
print serv.gcskew("ecoli",hash)
Python
from SOAPpy import WSDL

wsdl = 'http://soap.g-language.org/g-language.wsdl'
serv = WSDL.Proxy(wsdl)

param = {"cumulative" : 1}
print serv.gcskew('ecoli',param)

myExperiment and Taverna

SOAP Services can be easily used from graphical user interfaces using workflow management software such as Taverna Workbench. Example workflows (currently 9 available) can be found at the the myExperiment site.

pict5

Clone this wiki locally