Era7 Information Technologies SLU Atlantic Accelerator Era7 March 2012 INTERCROSSING un Proyecto Marie Curie Initial Training Network (ITN) financiado por la UE II Reunión de la Plataforma Tecnológica para la Innovación en la Salud – Toledo 21 de Noviembre de 2013
37
Embed
Era7 Information Technologies SLU Atlantic Accelerator Era7 March 2012 INTERCROSSING un Proyecto Marie Curie Initial Training Network (ITN) financiado.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Era7 Information Technologies SLU
Atlantic AcceleratorEra7
March 2012
INTERCROSSING un Proyecto Marie Curie Initial Training Network (ITN) financiado por la UE
II Reunión de la Plataforma Tecnológica para la Innovación en la Salud – Toledo 21 de Noviembre de 2013
Plataforma Bioinformática basada sobre una Graph database, integrando Uniprot, Refseq, Gene Ontology, NCBI Taxonomy y Enzyme DB
Big Data: 1.216.993.547 relationships 190.625.351 nodes
584.436.429 properties
www.era7bioinformatics.com
Clientes:
• Hospitales
• Empresas Biotech y Gran Farma
• CSIC y Universidad
www.era7bioinformatics.com
Hospitales y entornos sanitarios:
• Desarrollos a medida
• DoPlanning: herramienta colaborativa• SaaS o In house• Open Source• Integración
• Servicios de genómica
www.era7bioinformatics.com
El proyecto INTERCROSSING:
• Nuevos ensambladores de genomas en Cloud con nuevas aproximaciones matemáticas
• Nuevos sistemas de “mapeo” de secuencias en Cloud
• Nuevas plataformas de Big Data Bioinformático
www.era7bioinformatics.com
Para ello , primero, hacemos herramientas generales de uso de AWS:
• Níspero
• Státika
www.era7bioinformatics.com
Dirigido por:Eduardo Pareja-Tobes
Evdokim Kovach
www.era7bioinformatics.com
Níspero:
Un componente para escalar en AWS tareas independientes, un bloque básico para implementar sistemas distribuidos
www.era7bioinformatics.com
Tareas en Níspero:
Una tarea es un conjunto de ficheros de entrada y salida (URLs de objetos de S3)
Instrucciones: una herramienta (o herramientas ) que pueden resolver una tarea. Las instruciones no son parte de Níspero.
www.era7bioinformatics.com
Principales componentes:
nisperoClient
nisperoFarm , un conjunto de instancias EC2 con nisperoClient
nisperoServer , sistema de monitorización y management
WebClient , interfaz web para nisperoClient
www.era7bioinformatics.com
nisperoClient es una aplicación que hace el setup del entorno para las instrucciones:
Establece conexión con AWS
Recibe las tareas de entrada de una input queue
Lanza las instrucciones
Publica los resultados de las instrucciones
www.era7bioinformatics.com
Por cada tarea input nisperoServer lanza una nueva instancia que ejecuta un user-data script directamente. Estos scripts hacen lo siguiente:
Configuración inicial de una instancia
Descargar e instalar nisperoClient desde un bucket de S3
Lanzar nisperoClient
www.era7bioinformatics.com
Ciclo de vida de nisperoClient:
• Establecer conexion con AWS• Esperar un mensaje de la inputQueue• Parsear la descripción de la tarea que
viene en el mensaje recibido (JSON)• Correr las instrucciones de la tarea• Publicar los resultados en OutputTopic• Eliminar el mensaje de la inputQueue• Terminar la instancia (suicidarse)
www.era7bioinformatics.com
nisperoServer se encarga de monitorizar y manejar nispero
Puede ser lanzado desde cualquier máquina con conexión a Internet pero es mejor correrlo desde la misma región que nisperoFarm y otros recursos de AWS que usa nispero.
www.era7bioinformatics.com
www.era7bioinformatics.com
Statika
Alexey Alekhin
Dirigido por:Eduardo Pareja-Tobes
www.era7bioinformatics.com
Statika
El objetivo de statika es hacer algún trabajo real teniendo todas las dependencias bajo control en tiempo de compilación
www.era7bioinformatics.com
Statika
Librerias en Scala que usan tipos para el manejo de paquetes de software. Se trata de saber todo lo necesario acerca de las dependencias en tiempo de compilación
www.era7bioinformatics.com
Nispero y Statika….. …….la pareja perfecta !!
Con Statika configuramos las instancias de Níspero
www.era7bioinformatics.com
Que quiere decir esto en la práctica?
Un ejemplo, un proyecto de Metagenómica:
• Millones se secuencias (strings) que deben compararse (blast) con TODAS las secuencias conocidas.
• Statika dice como tener lista una máquina con Blast y todas aplicaciones necesarias
• Níspero maneja la distribución y ejecución de hasta 1000 máquinas en nuestro caso.
www.era7bioinformatics.com
La ventaja de esto es que está abstraído:
Se puede usar en cualquier proceso paralelizable:
• Análisis de imágenes radiológicas• Análisis de analíticas de cada paciente• Análisis de text mining de cada fichero.• Etc….
www.era7bioinformatics.com
¿ Para que hacemos estas cosas tan raras ?
Porque al final hay que tener soluciones reales, cotidianas, en el mundo real:
• Proyectos de Bioinformática por supuesto • Escalado de nuestra herramienta colaborativa.
Optimización de procesos.• Porque sin innovación no somos competitivos.• (porque nos gusta)