Mostrando entradas con la etiqueta servicio web. Mostrar todas las entradas
Mostrando entradas con la etiqueta servicio web. Mostrar todas las entradas

26 de noviembre de 2010

Interfaz SOAP de 3D-footprint

En las recientes Jornadas de Bioinformática 2010 (en Málaga) di una pequeña charla
sobre nuestra base de datos 3D-footprint, con el mismo título del artículo donde la publicamos en NAR "3D-footprint: a database for the structural analysis of protein-DNA complexes" (el  PDF del material presentado está disponible aquí, el vídeo  de la disección de interfaces proteína-DNA aquí).

Logo footprint de 2bam_AB

Tras la presentación me preguntaron si 3D-footprint tenía una interfaz de servicios web. La respuesta es afirmativa, en particular es una interfaz SOAP que se puede usar fácilmente desde Perl, como se muestra en el siguiente ejemplo:

 #!/usr/bin/perl -w  
   
 # prog 10 Bruno Contreras-Moreira  
 # web services client for 3D-footprint  
 # ejemplo basado en http://floresta.eead.csic.es/3dfootprint/tutorial.html#ws  
   
 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);  
   
 # 1) consulta de secuencia proteica (de un posible factor de transcripción)  
 my $secuencia =   
 "IYNLSRRFAQRGFSPREFRLTMTRGDIGNYLGLTVETISRLLGRFQKSGMLAVKGKYITIENNDALAQLAGHTRNVA";  
   
 my $result = $soap->protein_query($secuencia); # 1 param: 1(string) sequence  
   
 unless($result->fault){ print $result->result(); }   
 else{ print 'error: ' . join(', ',$result->faultcode,$result->faultstring); }  
   
 # los resultados muestran los posibles residuos de interfaz proteína-DNA  
 # en mayúsculas  
   
   
 # 2) consulta de motivo de DNA  
 my $motivo = 'tntga';  
 $result = $soap->motif_query($motivo,'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); }  
   
 # los resultados muestran complejos proteína-DNA cuyos motivos de DNA reconocidos  
 # se parecen a éste  

30 de julio de 2010

Bioinformática en la nube a partir de 10000 usuarios

La comunidad bioinformática tiene ya una cierta tradición en poner a disposición de los usuarios el software desarrollado a través de la red. Esto sirve para dar a conocer las últimas ideas y algoritmos que se van desarrollando en los laboratorios, de manera que se ponen a prueba en escenarios reales en manos de usuarios que no son sus creadores. Por supuesto, también sirve para ir ampliando el repertorio de herramientas que cualquiera con conexión a Internet puede usar, normalmente de forma gratuita.

Para el usuario final éstas son a menudo simplemente aplicaciones accesibles desde un navegador web, pero para sus creadores son programas más o menos complejos que viven en servidores web (como máquinas virtuales) que consumen luz y hay que administrar, que son a veces objeto de ataques informáticos, y que dependiendo del uso que tengan exigirán ampliaciones de hardware.


Qué coste real tienen estos servidores? El coste absoluto de mantener un servidor es difícil de promediar, porque dependerá de costes (luz, hardware, la carga de usuarios) y beneficios (evaluación peer to peer de los algoritmos, corrección de errores, retroalimentación de los usuarios, incluso citas bibliográficas) variables.
Otra cuestión  es si es mejor alojar estos servidores en nuestras propias máquinas o aprovecharnos de las arquitecturas de computación en la nube, que son escalables. Para ayudarnos a tomar esta decisión un reciente artículo en Bioinformatics del grupo de Cedric Notredame, donde prueban la versión paralelizada de su famoso alineador múltiple Tcoffee (basado en el principio de consistencia), sugiere que con los costes actuales sólo compensa alojar este tipo de servicios web en arquitecturas en nube a partir de 10000 usuarios al mes.

Nos vemos a la vuelta de las vacaciones.