SOAP y web servicios

SOAP es un protocolo para servir y requerir aplicaciones desde la Web en el contexto de los servicios web, que permiten el acceso no interactivo a servidores.

Para acceder desde un programa a servicios de este tipo debemos conocer su interfaz.Si es así, escribir un programa que la interrogue es sencillo, con la ayuda de tutoriales como éste.

Aquí os muestro un ejemplo de código para acceder a los servicios web de 3D-footprint, que nos permiten explorar las interfaces proteína-DNA del Protein Data Bank, tomado de aquí:

#!/usr/bin/perl -w
# web services client for 3D-footprint
use strict;
use SOAP::Lite;

my $URI   = 'http://floresta.eead.csic.es/footprint';
my $WSURL = 'http://floresta.eead.csic.es/3dpwm/scripts/server/ws.cgi';

my $soap = SOAP::Lite
-> uri($URI)
-> proxy($WSURL);

# uncomment as needed:
#my $result = $soap->text_query('homeodomain'); # 1 param: 1(string) one-word term
#my $result = $soap->protein_query("IYNLSRRFAQRGFSPREFRLTMTRGDIGNYLGLTVETISRLLGRFQKSGMLAVKGKYITIENNDALAQLAGHTRNVA"); # 1 param: 1(string) sequence
my $result = $soap->motif_query('tntga','local',1); # 3 params: 1(string) motif in IUPAC|CONSENSUS|TRANSFAC format, 2(string) local|global, 3(float) evalue cutoff

unless($result->fault){ print $result->result(); } 
else{ print 'error: ' . join(', ',$result->faultcode,$result->faultstring); }

Bruno Contreras-Moreira
http://www.eead.csic.es/compbio