Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado...

7
Sistema de automatización de procesos para tareas bioinformáticas L Pocay 1 , W Elías 1 , H Naya 2 1 Facultad de Ingeniería, Universidad Nacional de Entre Ríos, República Argentina. 2 Institut Pasteur, Montevideo, República Oriental del Uruguay. e-mail: [email protected] Abstract. En este trabajo se presenta un sistema de automatización de tareas bioinformáticas que permite al usuario configurar de manera gráfica la secuencia (pipeline) de procesos (pipeless) que se aplicarán sobre datos experimentales biológicos. La arquitectura del sistema inicialmente se propuso como un modelo de dos capas. Una capa es aquella en la que residen el sistema y las aplicaciones y la otra capa se encuentra del lado del cliente donde se ejecutan algunas funciones de búsqueda e interactividad. El sistema utiliza una interfaz web desde la que se codifica la funcionalidad de cada pipeline y se parametriza cada uno de los pipeless que serán ejecutados, los que a su vez se almacenan en una base de datos. Se presenta al usuario una interfaz gráfica interactiva que permite seleccionar el pipeless de una lista desplegable según el ingreso llevado a cabo por teclado (ejemplo: si desea utilizar un pipeless para búsqueda de genes, basta con escribir la palabra gen y el sistema sugiere los pipeless disponibles para esa tarea). Dependiendo de los conocimientos del usuario, este puede crear sus propios pipeless. Por ser un sistema abierto permite a usuarios y desarrolladores incluir nuevas aplicaciones encapsuladas que pueden ser incorporadas en la construccion de nuevos pipelines. Adicionalmente se analizan los aspectos relacionados a la incorporación al sistema de una capa al modelo de datos que brinde un método para distribuir el procesamiento de manera tal que el sistema radique en un medio físico con su base de datos, los datos sean procesados en un sistema de alto rendimiento y la interfaz sea ejecutada en la PC del usuario. La interfaz web del lado del cliente tiene la capacidad de acceder a dos bases de datos. La base de datos principal corresponde al sistema propiamente dicho y almacena los pipeless que pueden ser ejecutados en orden conformando un pipeline. La base de datos secundaria permite la carga de genomas GenBank de cualquier organismo. Esto se realiza a través de un pipeless predeterminado. El sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes causantes de patología en las bacterias espiroquetas, entre las que se encuentran las causantes de enfermedades como la leptospirosis, sífilis, etc. 1. INTRODUCCIÓN 1. Estructura general de un pipeless Un pipeless puede considerarse como un agente autónomo, experto en la realizacón de una tarea específica. Recibe una o mas entradas que pueden provenir del propio usuario o de otros pipeless. Las funciones programadas del sistema en lenguaje PHP, tienen la capacidad de interpretar los datos ingresados al pipeless y producir una cadena de eventos que derivan XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011

Transcript of Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado...

Page 1: Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes

Sistema de automatización de procesos para tareas bioinformáticas

L Pocay1, W Elías1, H Naya2

1Facultad de Ingeniería, Universidad Nacional de Entre Ríos, República Argentina.2Institut Pasteur, Montevideo, República Oriental del Uruguay.

e-mail: [email protected]

Abstract. En este trabajo se presenta un sistema de automatización de tareas bioinformáticas que permite al usuario configurar de manera gráfica la secuencia (pipeline) de procesos (pipeless) que se aplicarán sobre datos experimentales biológicos. La arquitectura del sistema inicialmente se propuso como un modelo de dos capas. Una capa es aquella en la que residen el sistema y las aplicaciones y la otra capa se encuentra del lado del cliente donde se ejecutan algunas funciones de búsqueda e interactividad. El sistema utiliza una interfaz web desde la que se codifica la funcionalidad de cada pipeline y se parametriza cada uno de los pipeless que serán ejecutados, los que a su vez se almacenan en una base de datos. Se presenta al usuario una interfaz gráfica interactiva que permite seleccionar el pipeless de una lista desplegable según el ingreso llevado a cabo por teclado (ejemplo: si desea utilizar un pipeless para búsqueda de genes, basta con escribir la palabra gen y el sistema sugiere los pipeless disponibles para esa tarea). Dependiendo de los conocimientos del usuario, este puede crear sus propios pipeless. Por ser un sistema abierto permite a usuarios y desarrolladores incluir nuevas aplicaciones encapsuladas que pueden ser incorporadas en la construccion de nuevos pipelines. Adicionalmente se analizan los aspectos relacionados a la incorporación al sistema de una capa al modelo de datos que brinde un método para distribuir el procesamiento de manera tal que el sistema radique en un medio físico con su base de datos, los datos sean procesados en un sistema de alto rendimiento y la interfaz sea ejecutada en la PC del usuario. La interfaz web del lado del cliente tiene la capacidad de acceder a dos bases de datos. La base de datos principal corresponde al sistema propiamente dicho y almacena los pipeless que pueden ser ejecutados en orden conformando un pipeline. La base de datos secundaria permite la carga de genomas GenBank de cualquier organismo. Esto se realiza a través de un pipeless predeterminado. El sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes causantes de patología en las bacterias espiroquetas, entre las que se encuentran las causantes de enfermedades como la leptospirosis, sífilis, etc.

1. INTRODUCCIÓN1. Estructura general de un pipeless

Un pipeless puede considerarse como un agente autónomo, experto en la realizacón de una tarea específica. Recibe una o mas entradas que pueden provenir del propio usuario o de otros pipeless. Las funciones programadas del sistema en lenguaje PHP, tienen la capacidad de interpretar los datos ingresados al pipeless y producir una cadena de eventos que derivan

XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011

Page 2: Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes

en la salida deseada. Puede considerarse a un pipeless desde la línea de comandos de un programa con sus parámetros y modicadores, hasta una sentencia de consulta SQL.Comando: $in1 $in2 $in3...$in parametros $out

2. Estructura de un pipelineLos pipelines constituyen una conexión secuencial de pipeless, en lo que la salida de un pipeless corresponde a la entrada del siguiente.El pipeless de inicio puede contener varias entradas (por ejemplo una secuencia múltiple de nucleótidos). Se ha dejado la posibilidad para que a futuro el sistema pueda ser extendido a una estructura de pipelines tipo arborea que permitiría la ejecución de varios pipelines tomando salidas múltiples.

3. Ventajas de esta estrategiaEl procesamiento de grandes volumenes de información provenientes de datos de secuenciación de diferentes especies propone desafíos importantes a las ciencias de la computación e ingeniería. La optimización de los algoritmos resulta tan importante como la optimización de los recursos computacionales y de la estructura de comunicación asociada.Uno de los limitantes para este tipo de tareas es que hay que esperar la finalización en la ejecución de un programa para cambiarle el formato a los resultados y darlos como entrada a otro programa.La estrategia de pipelines expone una solución que permite desencadenar una serie de procesos controlados incluso realizando pasos intermedios de formateo de datos segun los requerimientos de cada pipeless en particular. Esto optimiza tanto el uso de recursos informáticos como el tiempo, disminuyendo críticamente el tiempo muerto entre ejecución y ejecución.

2. BIOTUB: SISTEMA DE AUTOMATIZACIÓN DE PROCESOS PARA TAREAS BIOINFORMÁTICASCaracterísticas generales

El mayor desafío desde el punto de vista bioinformático al momento de desarrollar una aplicación es reunir las tecnologías apropiadas para poder cumplir los objetivos. La cantidad de conceptos y factores en los estudios de genómica comparativa hace que la elección de las tecnologías apropiadas sea determinante. Es por ello que inicialmente se planteó la necesidad de poner a consideración todaslas opciones y empezar a descartar aquellas que no cumplieran con una serie de requisitos mínimos. Estos requisitos son los que normalemente determinan las características de la aplicación, como se detalla a continuacion.

1. PortabilidadEs bien sabido que las aplicaciones actuales deben reunir requisitos específicos para poder ser ejecutadas en diferentes infraestructuras, máxime con la gran variedad de sistemas operativos y configuraciones de hardware existentes.La aplicacion debería poder ejecutarse en:

1. Windows, con todas sus versiones (98, XP, Vista, Seven, estas tres úultimas de 32 bits y 64 bits, con y sin limitaciones)

2. Linux, con gran variedad de distribuciones, versiones e infraestructura3. Mac con sus sistemas operativos particulares y otros.

Pensar una aplicación para ser ejecutada en tal variedad de sistemas requiere definir a priori el lenguaje de programación conveniente. La tecnología elegida sera preponderante en la posibilidad de de portar la aplicacion a los diferentes sistemas, más aún considerando que, en caso de realizarse una migración, esta puede llegar a ser costosa en tiempo y recursos y no ser

XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011

Page 3: Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes

totalmente compatible. Por ende ante esta situación se determinó la utilización de tecnología web, que permite la ejecución remota sin importar el sistema operativo instalado en la computadora cliente. Esto permite además compartir la ejecución de la aplicación. Internet forma parte fundamental en nuestra sociedad y generar una aplicación que además corra en la red de redes genera un valor adicional, especialmente en lo que hace a portabilidad y flexibilidad.

2. FlexibilidadEs la capacidad que tiene el software para cambiar fácilmente en respuesta a otro usuario y requisitos del sistema. La clave de la flexibilidad del software esta en su arquitectura. Las arquitecturas monolíticas son totalmente inflexibles, las arquitecturas cliente-servidor tiene serios problemas de administracion y escalabilidad. Las arquitecturas orientadas a servicios que se han desarrollado a partir de las tecnologías abiertas de Internet son la solución. En el caso de la aplicación considerada, la flexibilidad es un requisito desde el título mismo de este trabajo. Por lo tanto pasa a ser determinante. Para lograr esta flexibilidad se creó un sistema de ejecución por variables a través de registros en la base de datos de pipelines. Estos registros contienen todo lo necesario para que el usuario pueda incorporar sus propios parámetros y realizar las modicaciones necesarias para cumplir con sus objetivos. Los pipeless conformados están almacenados en una tabla de la base de datos y se pueden modicar o adaptar a necesidades particulares. También se pueden crear nuevos pipeless logrando así mayor flexibilidad del sistema. Además se puede instalar la aplicación en tecnología de cluster, permitiendo esto último la ejecución a mayor velocidad, especialmente cuando se trata de realizar análisis relacionados con grandes volumenes de información o minería de datos.

3. ConsistenciaPor lo expuesto anteriormente, la capacidad de ejecutar la aplicación desde un servidor permite mantener niveles de estabilidad adecuados que en el caso del tipo de estudio que se realiza es fundamental. Esta estabilidad hace que la aplicación sea consistente, logrando cumplir con los objetivos para los que fue desarrollada. La ejecución de varios programas enlazados, requiere cierta capacidad de cálculo que depende exclusivamente de la cantidad de pipeless elegidos y la complejidad de cada uno. Esta particularidad es determinante al momento de elegir los requisitos de la computadora que funcionará como servidor. El tiempo de ejecución será crítico y por ende la consistencia de la aplicación pasa a ser un factor fundamental para obtener los resultados esperados.

3. ESTRUCTURA RELACIONALEl diseño de la base de datos de pipelines se considera independiente de la base de datos BioSQL utilizada para el almacenamiento de las secuencias biológicas y sus datos asociados. BioTub cuenta con una base de datos propia que almacena los componentes esenciales del sistema permitiendo de esta forma la independencia de los datos. Por esta razón el sistema cuenta con configuraciones de acceso que permiten las consultas cruzadas entre ambas bases de datos y de esta forma la ejecución transparente.Las tablas incluidas se explican a continuación una a una destacando el tipo de relación que tienen con las otras tablas de la base de datos y las columnas que las componen. El sistema elegido para representarlas es el sistema de base de datos relacional aunque en la implementación no se utilizan relaciones internas entre las tablas sino que se manejan a través de consultas SQL directamente desde el lenguaje de programación seleccionado, en este caso, PHP. Esto permite independizar el funcionamiento del motor de bases de datos del ejecutor de scripts. Como las consultas son sencillas,

XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011

Page 4: Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes

la repercusión a nivel de recursos para este tipo de funcionamiento es mínima y no representa un inconveniente para el desempeño general de la aplicación.

4. ¿QUÉ PUEDE HACER EL BIÓLOGO CON EL SISTEMA?

Caso 1El objetivo del primer caso es realizar una comparación fenotípica. Para ello, el biólogo (usuario), abre el sistema y elige comparación fenotípica. Luego, dentro de los fenotipos selecciona una propiedad en particular, por ejemplo, patogenicidad. Realiza una observación de la distribución de patogenicidad entre las distintas cepas, y obtiene estadísticos de la distribución conjunta de variables fenotípicas (presencia o no de un gen codicante para una proteína de pared celular propia de bacterias patógenas). Seguidamente, elige crear una categoría de comparación, en este caso, patogenicidad. Esto implica que se van a buscar difrencias entre los organismos patógenos y no patógenos. Elige dentro de lo genotípico-genómico una de las siguientes características: genómicas agregadas sencillas, como tamaño de los genomas, número de genes, contenido de GC, uso de codones, uso de aminoácidos, distribución de ARNt; presencia de algún gen en particular; presencia de alguna vía metabólica; estructura de vías metabólicas, es decir, quienes tienen los mismos genes y quienes distintos; clases de proteínas. Como íltimo paso, realiza comparaciones, visualiza los resultados y selecciona algunos datos para continuar con los análisis, guardando la selección con alguna etiqueta.

XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011

Page 5: Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes

Caso 2El objetivo del segundo caso es caracterizar funciones en un contexto evolutivo (integración). Para ello, el usuario, abre el sistema y selecciona las secuencias que desea (con blastP). Lleva a cabo un alineamiento de secuencias (con ClustalX, T-Coee, Muscle). Visualiza los alineamientos (con GeneDoc). Luego, realiza un análisis filogenético (con Mega4) y determina así, las estructuras secuendarias, 3D, dominios (con IterProScan, Swiss-Model). Identica las interacciones sistemáticas de proteínas dentro del organismo seleccionado (UVCluster), realiza un análisis y visualiza los resultados (con TreeView).Selecciona los datos para continuar con los análisis y guarda la selección con alguna etiqueta.

Caso 3El tercer caso presenta como objetivos analizar un genoma bacteriano y buscar genes candidatos potenciales para el desarrollo de vacunas. El análisis in silico de genomas completos tiene la potencialidad de proveernos con las bases para un entendimiento global de la genética, la bioquímica, la fisiología y la patogénesis de un microorganismo dado. Como el número de genomas secuenciados se incrementa anualmente, es posible ahora comparar un grupo signicativo de secuencias genómicas entre bacterias relacionadas evolutivamente. En particular, el análisis de variabilidad genética entre un patógeno y especies no patogénicas relacionadas. Este análisis genera rápidamente una colección de genes potencialmente responsables de la adquisición de virulencia y por tanto con implicaciones prácticas en el diseño de vacunas.El biólogo, abre el sistema y selecciona secuencias. Elige los genes e identica los genes que codican para proteínas y la asignación de la función probable a cada una de las secuencias. Es decir, que el biólogo realiza una anotación del genoma. A traves de Blast, anota los genes identicados buscando secuencias homólogas en bases de datos. Realiza la localización celular del producto de los genes anotados. El biólogo lleva a cabo esta actividad para identicar los candidatos. Finalmente, gracias a que existe un gran número de microorganismos con sus genomas secuenciados, -incluso dentro de una misma especie-, el biólogo verifica si los genes candidatos detectados estan conservados. Paraello, localiza las secuencias ortólogas en los genomas relacionados. Realiza un alineamiento de secuencias y determina el grado de conservación de cada candidato.

XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011

Page 6: Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes

5. EL PROYECTOBásicamente este es un proyecto de desarrollo, donde se conjugan una primera etapa de revisión e investigación de la bibliografía actual existente, seguida de un diseño y desarrollo del software básico.Se implementa la metodología de arquitectura de software llamada pipelines que provee potencialidad adicional al sistema, logrando de esta forma una mayor interacción y flexibilidad al momento de realizar el análisis correspondiente.La base de datos cuenta con una estructura relativamente simple y estable, básicamente con información de anotación genómica y fenotípica (propiedades composicionales e informacion eco-fisiológica disponible).Sobre esta base de datos se desarrolla un marco de análisis que permita combinar en forma flexible herramientas bioinformáticas disponibles, tales como suite del NCBI, EMBOSS, programas de alineamiento de secuencias, filogenéticos, entre otros.Los diferentes pipelines definidos por los usuarios, así como un conjunto inicial predeterminado de los mismos a partir de las consideraciones sobre los análisis mas usuales en el campo, pueden ser grabados para ser usados o redefinidos tantas veces como sea necesario.Una segunda parte de la base de datos (o una base de datos independiente) puede ser definida por los usuarios de acuerdo a las necesidades de análisis específicos de los mismos, permitiendo guardar la información relevante y usarla en nuevas comparaciones, con información obtenida tanto a partir del análisis de datos ya almacenados o datos completamente diferentes (por ejemplo epidemiológicos, bioquímicos, etc.).La interfaz web permite el acceso y ejecución de los pipelines por esta vía en una arquitectura cliente-servidor.Este proyecto esta destinado a grupos de investigacion que cuenten con la necesidad de una herramienta que les permita realizar el analisis comparativo entre una secuencia genómica aportada o existente en la base de datos y otras secuencias del mismo género y de esa forma dar respuesta a las preguntas biológicas. Esto les permitirá encontrar ciertos patrones y comparar los distintos perfiles en función de la cantidad de genomas seleccionados.

XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011

Page 7: Sistema de automatización de procesos para tareas ......sistema así conformado puede ser utilizado para la búsqueda de genes de interés para la salud humana, como lo son los genes

6. CONCLUSIONESEl número de aplicaciones desarrolladas para Bioinformática en los últimos años ha crecido ampliamente, incluyendo aquellas cuya licencia permite usarlas en forma gratuita, así como modicarlas o distribuirlas libremente.Es de esperar que a medida que crece la cantidad de aplicaciones disponibles, se potencie la capacidad de análisis a partir del uso de estas herramientas en conjunto. La estrategia de pipelines permite abordar esto de forma efectiva, generando un nueva forma de abordaje a problemas complejos, especialmente en lo relacionado a la genómica comparativa. La posibilidad de ampliar el uso de esta herramienta en grupos de investigación del ámbito público o privado es una opción que vale la pena considerar. Debido a la naturaleza genérica del desarrollo, la creación de nuevos pipelines esta solo limitada por la capacidad del usuario para generar los flujos de trabajo adecuados que permitan su ejecución. Esto promueve su utilización en otros ámbitos de la genómica, proteómica o disciplinas similares.

7. REFERENCIASLibrosAlberts B. et al. Molecular Biology of the Cell, Garland Sicence. Cuarta edici ón. 2002.Lodish H. et al.,Molecular Cell Biology,Panamericana. Quinta edici on. 2004.Birge, E.A., Bacterial and bacteriophage genetic, Springer. Quinta edici on. 2006.Dale, J.W. and Park, S.F., Molecular Genetics of Bacteria‚ JohnWiley& Sons Ltd. Cuarta edici on. 2004.Brock. , Biologí a de los microorganism. Pearson. Doceava edici on. 2009.ƑMurray y otros. ƒMicrobiolog a m edica,Elsevier Mosby. Quinta edici on. 2006.Tisdall J., Beginning Perl for Bioinformatics. O'Reilly. 2009.

PublicacionesRego N, Naya H, Lamolle G, Alvarez-Valin F. Evolutionary and comparative genomics of Leptospira‚. RECIIS 1(2 Supl): 321-328. 2008.Picardeau M, et al. ƒGenome Sequence of the Saprophyte Leptospira biexa Provides Insights into the Evolution of Leptospira and the Pathogenesis of Leptospirosis ‚. PLoS ONE 3(2): e1607.doi:10.1371 journal.pone.0001607.Frank D. ƒXplorSeq: A software environment for integrated management and phylogenetic analysis of metagenomic sequence data‚. BMC Bioinformatics 2008, 9:420 doi:10.1186/1471-2105-9-420.

XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011