<< Volver atrás

Tesis:

An end-to-end solution for automation of biological protocols


  • Autor: GUPTA, Vishal

  • Título: An end-to-end solution for automation of biological protocols

  • Fecha: 2017

  • Materia: Sin materia definida

  • Escuela: E.T.S DE INGENIEROS INFORMÁTICOS

  • Departamentos: INTELIGENCIA ARTIFICIAL

  • Acceso electrónico: http://oa.upm.es/48791/

  • Director/a 1º: RODRÍGUEZ-PATÓN ARADAS, Alfonso

  • Resumen: La incapacidad de reproducir los resultados de la investigación biológica ha sido durante mucho tiempo el problema al que todos han hecho la vista gorda. La incapacidad de reproducir los resultados malgasta el tiempo y otros recursos causando pérdidas de miles de millones de dólares. Esto retrasa todo el progreso científico. Algunos factores importantes que contribuyen al problema de “la irreproducibilidad” son: la especificación del método experimental es ambigua, se producen errores humanos durante la realización de experimentos y la falta de normas de intercambio de datos. Recientemente, se han desarrollado algunos enfoques interesantes para aliviar estos problemas. Los más importantes son: 1) El uso de lenguajes de programación para eliminar la ambigüedad en la especificación del método experimental, 2) el uso de la automatización robótica para llevar a cabo experimentos y así reducir el error humano y 3) utilizar estándares y ontologías para mejorar el intercambio de datos. Las dos primeras soluciones, por el momento, han tenido un éxito limitado. Esto se debe a que para usar lenguajes de programación se requiere que el usuario tenga conocimientos técnicos previos. Incluso si el usuario tiene estos conocimientos, diferentes soluciones de automatización utilizan diferentes lenguajes de programación. Esto requiere mucho tiempo y esfuerzo por parte de los investigadores, ya que necesitan aprender diferentes idiomas para usar las diferentes soluciones de automatización. La mayoría de las soluciones automatizadas de hoy en día vienen con una interfaz gráfica de usuario (GUI) que evita el obstáculo de programación. Sin embargo, cada solución tiene diferentes GUI que requieren un esfuerzo considerable para dominar. La automatización también ofrece otros beneficios adicionales como mejorar la eficiencia y la productividad en el laboratorio. Se ha desarrollado un Framework de automatización de extremo a extremo basado en tecnología Web y denominado BioBlocks Automation Framework (BAF). BAF permite que los usuarios especifiquen sus experimentos (aplicación de especificación de protocolos) junto con la máquina en la que se automatizaría (aplicación de especificación de máquinas). Además, permite generar instrucciones para la ejecución de un experimento en tiempo real. Los usuarios pueden automatizar sus experimentos sin la necesidad de ningún conocimiento previo de programación porque utiliza una interfaz gráfica basada en bloques y en MIT's Scratch y Blockly de Google. Estos últimos utilizan un paradigma visual basado en puzzles que se usa para enseñar a los principiantes a programar, este paradigma visual tiene una curva de aprendiz más alta que los paradigmas clásicos ya que los usuarios no necesitan aprender sintaxis. Utilizando BAF, los usuarios pueden especificar sus protocolos y máquinas mediante un sencillo mecanismo “drag-and-drop”. El funcionamiento de los tres componentes principales de BAF se explica a continuación: • Un protocolo especificado, usando la aplicación de especificación de protocolos y los bloques disponibles, se traduce en tiempo real a diferentes formatos: Por un lado, se traduce al inglés para la validación cruzada. Además, se genera un flujo de trabajo que actuá como ayuda visual a la hora de validarlo. Por último, se traduce a un “código maquina”, en formato JSON, que será utilizado posteriormente para automatizar dicho protocolo. El protocolo especificado es independiente de la plataforma en la que se ejecutará. Los protocolos especificados también son inequívocos y se pueden ejecutar manualmente utilizando la traducción en inglés. • Una máquina especificada, usando la aplicación de especificación de máquina y los bloques disponibles, se traduce en tiempo real para generar una imagen del diseño de la máquina que sirva como ayuda visual y un “código de salida”, en formato JSON, que será usado posteriormente para la automatización de protocolos en dicha máquina. Actualmente cuenta con soporte para dispositivos milifluídicos. Sin embargo, la arquitectura modular del “framework” permitirá en el futuro especificar otros dispositivos como los microfluídicos o los robots de pipetas. La especificación sigue un paradigma máquina-componente que lo hace fácilmente ampliable a estos nuevos tipos de dispositivos. • Mediante la aplicación de “Ejecución de protocolos”, un protocolo especificado se puede automatizar sobre una máquina, previamente especificada. La aplicación comprueba automáticamente si un protocolo y una máquina son compatibles, usa un algoritmo de enrutamiento para acomodar los flujos que indique el protocolo sobre la configuración de la máquina y finalmente genera instrucciones para que la máquina lleve a cabo el protocolo. BAF es un “framework” de automatización de extremo a extremo de uso general. No está vinculado a una sola plataforma de automatización y los protocolos especificados son independientes de dicha plataforma. Los protocolos y máquinas descritos en él pueden ser guardados, compartidos y modificados fácilmente. Se ha diseñado para permitir que se conecte con otras herramientas de especificación de protocolo y otras plataformas de automatización. Este trabajo tiene como objetivo reducir la barrera de entrada para los científicos no informáticos a las herramientas de automatización eliminando el cuello de botella que crea la programación. Su objetivo es proporcionar a: los biólogos, los ingenieros de hardware y los entusiastas del “Do-It-Yourself” una plataforma donde los experimentos puedan ser diseñados, ejecutados y compartidos. ----------ABSTRACT---------- The inability to reproduce the results of biological research has long been the elephant in the room. Non-reproducibility of results causes billions of dollars in losses in money, time and other resources. This slows down over all scientific progress. There are some important factors which contribute to the reproducibility problem. There is ambiguity in experimental method specification, human error introduced while conducting experiment and lack of data sharing standards. Recently, some interesting approaches have been developed to alleviate the reproducibility problem. They are the use of 1) programming languages to removing ambiguity in experimental method specification, 2) use of robotic automation for conducting experiment to reduce human error and 3) use standards and ontologies for improving data sharing. The first two solutions have still met with limited success. This is because use of programming languages requires the user to have prior programming knowledge. Even if the user has coding skills, different automation solutions use different programming languages. This requires a lot of time and effort on the researcher's part as they need to learn different languages to use different automation solutions. Most automated solutions today come with a graphical user interface (GUI) which circumvents the programming obstacle. However, different automated solutions again have different GUIs which need considerable effort to master. Programing languages and Automation were used as an approach to tackle the reproducibility problem. Automation also offers the additional benefits of improving efficiency and productivity in the lab. A web-based end to end automation framework was developed called the BioBlocks Automation Framework (BAF). BAF allows users to specify their experiments (Protocol Specification App) along with the machine (wet-lab hardware) on which it would it automated (Machine Specification App), followed by generation of instructions for actual execution (Protocol Execution App). It allows users to automate their experiments without the need for any prior programming knowledge. It uses a block-based graphical interface based on MIT’s Scratch and Google’s Blockly. They use a jig-saw like interface to teach beginners how to program. It makes it easier to learn programming as users do not need to learn syntaxes. Using the BAF, users can specify their protocols and machines by a simple drag and drop mechanism. The working of the three main components of BAF is explained as follows: ● A protocol specified in the Protocol Specification App using blocks is automatically translated in real-time to give multiple outputs. It is translated to English for cross-validation, a Protocol workflow for visual aid and an Output code in which the protocol is represented in JSON format for later automation. The protocol specified are platform agnostic i.e. they are independent of the platform on which they will be executed. The specified protocols are also unambiguous and can be executed manually using English Translation. ● A machine (wet-lab hardware) specified in the Machine Specification App using blocks is translated automatically in real-time to generate a machine layout to serve as visual aid and Output code (representation in JSON format). It currently has support for millifluidic devices. However, the modular architecture of the framework will allow users to specify other microfluidic devices as well. It follows a unique part-machine specification paradigm to make the specification extensible to other hardware platforms. ● Using the Protocol Execution App, the specified protocol can be automated over the specified machine. The App automatically checks if the protocol and machine are compatible, followed by routing the flow over the machine setup and finally generating machine instructions to control the actuation. BioBlocks framework is a general-purpose end to end automation framework. It is not tied to a single hardware platform and the protocols specified are independent of the platform. The protocols and machines described in the framework can be easily saved, shared and modified. It has been designed to allow it to connect with other protocol specification tools and other hardware platforms. This work aims to lower the entry barrier for non-computer scientist to automation tools by removing the programming bottleneck. It aims to enable biologists, hardware engineers and Do-it-Yourself enthusiasts by providing them a platform where experiments can be designed, executed and shared.