Articulo de referencia

Sistema de flujo de trabajo científico

Un sistema de flujo de trabajo científico es una forma especializada de un sistema de gestión de flujo de trabajo diseñado específicamente para componer y ejecutar una serie de ...

Un sistema de flujo de trabajo científico es una forma especializada de un sistema de gestión de flujo de trabajo diseñado específicamente para componer y ejecutar una serie de pasos computacionales o de manipulación de datos, o flujo de trabajo , en una aplicación científica. [ 1 ] Los sistemas de flujo de trabajo científico se desarrollan generalmente para su uso por científicos de diferentes disciplinas como la astronomía , las ciencias de la Tierra y la bioinformática . Todos estos sistemas se basan en una representación abstracta de cómo procede un cálculo en forma de grafo dirigido, donde cada nodo representa una tarea a ejecutar y las aristas representan el flujo de datos o las dependencias de ejecución entre diferentes tareas. Cada sistema suele proporcionar una interfaz visual, que permite al usuario construir y modificar aplicaciones complejas con poca o ninguna experiencia en programación. [ 2 ] [ 3 ] [ 4 ]

Aplicaciones

Los científicos distribuidos pueden colaborar en la realización de experimentos científicos a gran escala y aplicaciones de descubrimiento de conocimiento utilizando sistemas distribuidos de recursos informáticos, conjuntos de datos y dispositivos. Los sistemas de flujo de trabajo científico desempeñan un papel importante para hacer posible esta visión.

Los sistemas de flujo de trabajo científico más especializados proporcionan una interfaz de programación visual que permite a los usuarios construir fácilmente sus aplicaciones como un gráfico visual conectando nodos entre sí, y también se han desarrollado herramientas para construir dichas aplicaciones de manera independiente de la plataforma. [ 5 ] Cada arista dirigida en el gráfico de un flujo de trabajo generalmente representa una conexión desde la salida de una aplicación a la entrada de la siguiente. Una secuencia de dichas aristas puede denominarse tubería .

Flujos de trabajo científicos

Los flujos de trabajo científicos computarizados más sencillos son scripts que solicitan datos, programas y otras entradas, y generan salidas que pueden incluir visualizaciones y resultados analíticos. Estos pueden implementarse en programas como R o MATLAB , utilizando un lenguaje de scripting como Python con una interfaz de línea de comandos , o más recientemente, utilizando aplicaciones web de código abierto como Jupyter Notebook .

Existen muchos motivos para diferenciar los flujos de trabajo científicos de los flujos de trabajo de procesos empresariales tradicionales. Estos incluyen:

  • Proporcionar un entorno fácil de usar para que los propios científicos de aplicaciones puedan crear sus propios flujos de trabajo.
  • Proporcionar herramientas interactivas a los científicos, permitiéndoles ejecutar sus flujos de trabajo y visualizar sus resultados en tiempo real.
  • simplificar el proceso de compartir y reutilizar flujos de trabajo entre los científicos.
  • Esto permite a los científicos realizar un seguimiento de la procedencia de los resultados de la ejecución del flujo de trabajo y de los pasos de creación del mismo.

Al centrarse en los científicos, el enfoque del diseño del sistema de flujo de trabajo científico se desplaza de las actividades de programación del flujo de trabajo, consideradas típicamente por los entornos de computación en malla para optimizar la ejecución de cálculos complejos en recursos predefinidos, a una visión específica del dominio sobre qué tipos de datos, herramientas y recursos distribuidos deben estar disponibles para los científicos y cómo se pueden hacer fácilmente accesibles y con requisitos específicos de calidad de servicio [ 6 ].

Los flujos de trabajo científicos se reconocen ahora como un elemento crucial de la ciberinfraestructura , facilitando la e-ciencia. Generalmente ubicados sobre una capa de middleware , los flujos de trabajo científicos son un medio por el cual los científicos pueden modelar, diseñar, ejecutar, depurar, reconfigurar y volver a ejecutar sus procesos de análisis y visualización . Parte del método científico establecido consiste en crear un registro del origen de un resultado, cómo se obtuvo, los métodos experimentales utilizados, las calibraciones y parámetros de la máquina, etc. En la e-ciencia ocurre lo mismo, excepto que los datos de procedencia son un registro de las actividades del flujo de trabajo invocadas, los servicios y bases de datos a los que se accedió, los conjuntos de datos utilizados, etc. Dicha información es útil para que un científico interprete los resultados de su flujo de trabajo y para que otros científicos establezcan confianza en el resultado experimental. [ 7 ]

Compartir flujos de trabajo

Se han desarrollado comunidades de redes sociales como myExperiment para facilitar el intercambio y el desarrollo colaborativo de flujos de trabajo científicos. Galaxy proporciona mecanismos colaborativos para editar y publicar definiciones y resultados de flujos de trabajo directamente en la instalación de Galaxy.

Análisis

Una premisa fundamental de todos los sistemas de flujo de trabajo científico es que los propios científicos podrán utilizarlos para desarrollar sus aplicaciones mediante diagramas de flujo visuales, diagramas lógicos o, como último recurso, código para describir la lógica del flujo de trabajo. Los sistemas de flujo de trabajo potentes facilitan que personas sin conocimientos de programación puedan esbozar los pasos del flujo de trabajo con herramientas sencillas de diagramación y, posteriormente, integrar diversas herramientas de adquisición, análisis e informes de datos. Para maximizar la productividad, los detalles del código de programación subyacente deben permanecer ocultos.

Las técnicas de análisis de flujo de trabajo pueden utilizarse para analizar las propiedades de dichos flujos de trabajo y verificar ciertas propiedades antes de su ejecución. Un ejemplo de un marco de análisis formal teórico para la verificación y el perfilado de los aspectos de flujo de control de los flujos de trabajo científicos y sus aspectos de flujo de datos para el sistema Discovery Net se describe en el artículo «El diseño e implementación de una herramienta de análisis de flujo de trabajo» de Curcin et al. [ 8 ].

Los autores señalan que introducir el análisis y la verificación de programas en el mundo de los flujos de trabajo requiere una comprensión detallada de la semántica de ejecución del lenguaje de flujo de trabajo, incluyendo las propiedades de ejecución de nodos y arcos en el grafo del flujo de trabajo, la comprensión de las equivalencias funcionales entre patrones de flujo de trabajo y muchos otros aspectos. Realizar dicho análisis es difícil, y abordar estos problemas requiere basarse en métodos formales utilizados en la investigación en ciencias de la computación (por ejemplo, redes de Petri ) y, a partir de estos métodos formales, desarrollar herramientas a nivel de usuario para razonar sobre las propiedades tanto de los flujos de trabajo como de los sistemas de flujo de trabajo. La falta de tales herramientas en el pasado impidió que las soluciones automatizadas de gestión de flujos de trabajo maduraran, pasando de ser simples herramientas académicas a herramientas de nivel de producción utilizadas fuera del reducido círculo de los primeros adoptadores y entusiastas de los flujos de trabajo.

Sistemas notables

Entre los sistemas de flujo de trabajo científicos notables se incluyen: [ 9 ]

  • Anduril , bioinformática y análisis de imágenes [ 10 ] [ 11 ]
  • Apache Airavata , un sistema de gestión de flujos de trabajo de propósito general [ 12 ]
  • Apache Airflow , un sistema de gestión de flujos de trabajo de propósito general.
  • Apache Taverna , ampliamente utilizado en bioinformática, astronomía y biodiversidad.
  • BioBIKE , una plataforma bioinformática basada en la nube.
  • Bioclipse , un entorno de trabajo gráfico con un entorno de scripting que permite realizar acciones complejas como una especie de flujo de trabajo.
  • Collective Knowledge , un marco de trabajo de crowdsourcing para flujos de trabajo generales y experimentos basado en Python con API JSON y gestor de paquetes multiplataforma.
  • Common Workflow Language , un lenguaje de flujo de trabajo basado en YAML desarrollado por la comunidad y compatible con múltiples implementaciones de motores.
  • Cuneiforme , un lenguaje de flujo de trabajo funcional . [ 13 ]
  • Gestor de clones de Sci-Ed.
  • CLC bio , una plataforma de análisis bioinformático y gestión de flujos de trabajo de QIAGEN Digital Insights .
  • Discovery Net , uno de los primeros ejemplos de un sistema de flujo de trabajo científico.
  • Galaxy , inicialmente enfocado en la genómica [ 14 ]
  • GenePattern , un potente sistema de flujo de trabajo científico que proporciona acceso a cientos de herramientas de análisis genómico. [ 15 ]
  • Kepler , un sistema de gestión de flujos de trabajo científicos
  • KNIME , una plataforma de análisis de datos de código abierto [ 16 ]
  • Nextflow , un sistema de flujo de trabajo para el análisis de datos bioinformáticos.
  • OnlineHPC , diseñador de flujos de trabajo científicos en línea y kit de herramientas para computación de alto rendimiento.
  • Orange , visualización y análisis de datos de código abierto
  • Pegasus , un sistema de gestión de flujos de trabajo científicos de código abierto [ 17 ]
  • Pipeline Pilot , programación gráfica con muchas herramientas para abordar flujos de trabajo de quimioinformática [ 18 ]
  • Swift es un lenguaje de scripting paralelo que incorpora muchas de las funcionalidades de los sistemas de flujo de trabajo científico.
  • UGENE proporciona un sistema de gestión de flujo de trabajo que se instala en un ordenador local [ 19 ].
  • VisTrails , un sistema de flujo de trabajo científico desarrollado en Python [ 20 ]

Se han identificado más de 280 sistemas de flujo de trabajo de análisis de datos computacionales, [ 21 ] aunque la distinción entre flujos de trabajo de análisis de datos y flujos de trabajo científicos es fluida, ya que no todos los sistemas de flujo de trabajo de análisis se utilizan con fines científicos.

Comparaciones entre sistemas de flujo de trabajo bioinformáticos

Con una gran cantidad de sistemas de flujo de trabajo bioinformáticos para elegir, [ 22 ] resulta difícil comprender y comparar las características de los diferentes sistemas. Se ha realizado poco trabajo para evaluar y comparar los sistemas desde la perspectiva de un bioinformático, especialmente en lo que respecta a la comparación de los tipos de datos que pueden manejar, las funcionalidades integradas que se proporcionan al usuario o incluso su rendimiento o usabilidad. Algunos ejemplos de comparaciones existentes incluyen:

  • El artículo "Sistemas de flujo de trabajo científico: ¿puede un solo tamaño servir para todos?", [ 4 ] que proporciona un marco de alto nivel para comparar sistemas de flujo de trabajo en función de sus propiedades de flujo de control y flujo de datos. Los sistemas comparados incluyen Discovery Net , Taverna , Triana, Kepler , así como Yawl y BPEL .
  • El artículo "Meta-workflows: interoperabilidad basada en patrones entre Galaxy y Taverna" [ 23 ] proporciona una comparación más orientada al usuario entre Taverna y Galaxy en el contexto de habilitar la interoperabilidad entre ambos sistemas.
  • El documento sobre infraestructura "Entrega de infraestructura TIC para la investigación biomédica" [ 24 ] compara dos sistemas de flujo de trabajo, Anduril y Chipster, [ 25 ] en términos de requisitos de infraestructura en un modelo de entrega en la nube.
  • El artículo "Una revisión de los marcos de trabajo de las canalizaciones bioinformáticas" [ 26 ] intenta clasificar los sistemas de gestión de flujos de trabajo en función de tres dimensiones: "utilizar una sintaxis implícita o explícita, utilizar un paradigma de diseño basado en configuración, convención o clase y ofrecer una interfaz de línea de comandos o de entorno de trabajo".

Véase también

Referencias

  1. Sun, LiewChee; P, AtkinsonMalcolm; GaleaMichelle; Fong, AngTan; MartinPaul; Van, HemertJano I. (2016-12-12). "Scientific Workflows" . ACM Computing Surveys . 49 (4): 1– 39. doi : 10.1145/3012429 . hdl : 20.500.11820/774ef69e-a499-4bd2-a609-09f050e682ae . S2CID 9408644 . 
  2. Oinn, T.; Greenwood, M.; Addis, M.; Alpdemir, MN; Ferris, J.; Glover, K.; Goble, C. ; Goderis, A.; Hull, D.; Marvin, D.; Li, P.; Lord, P.; Pocock, MR; Senger, M.; Stevens, R.; Wipat, A.; Wroe, C. (2006). "Taverna: Lecciones para crear un entorno de flujo de trabajo para las ciencias de la vida" (PDF) . Concurrency and Computation: Practice and Experience . 18 (10): 1067– 1100. doi : 10.1002/cpe.993 . S2CID 10219281 . 
  3. Yu, J.; Buyya, R. (2005). "Una taxonomía de sistemas de flujo de trabajo científico para computación en malla". ACM SIGMOD Record . 34 (3): 44. CiteSeerX 10.1.1.63.3176 . doi : 10.1145/1084805.1084814 . S2CID 538714 .  
  4. 1 2 Curcin, V.; Ghanem, M. (2008). "Sistemas de flujo de trabajo científico: ¿puede un solo tamaño servir para todos?". Conferencia Internacional de Ingeniería Biomédica de El Cairo de 2008. págs. 1–9 . doi : 10.1109/CIBEC.2008.4786077 . ISBN  978-1-4244-2694-2. S2CID 1885579 . 
  5. D. Johnson; et al. (diciembre de 2009). "Un constructor de flujos de trabajo Grid independiente del middleware para aplicaciones científicas" (PDF) . 5.ª Conferencia Internacional IEEE de Talleres sobre Ciencia Electrónica de 2009. págs. 86–91 . doi : 10.1109/ESCIW.2009.5407993 . ISBN   978-1-4244-5946-9. S2CID 3339794 . 
  6. Kyriazis, Dimosthenis; Tserpes, Konstantinos; Menychtas, Andreas; Litke, Antonis; Varvarigou, Theodora (2008). "Un mecanismo innovador de mapeo de flujos de trabajo para Grids en el marco de la calidad de servicio". Future Generation Computer Systems . 24 (6): 498– 511. doi : 10.1016/j.future.2007.07.009 .
  7. Captura automática y almacenamiento eficiente de la procedencia de experimentos de e-ciencia. Concurrency Computat.: Pract. Exper. 2008; 20:419–429
  8. Curcin, V.; Ghanem, M.; Guo, Y. (2010). "El diseño e implementación de una herramienta de análisis de flujo de trabajo" . Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences . 368 (1926): 4193– 4208. Bibcode : 2010RSPTA.368.4193C . doi : 10.1098/rsta.2010.0157 . PMID 20679131 . 
  9. Barker, Adam; Van Hemert, Jano (2008), "Scientific Workflow: A Survey and Research Directions", Parallel Processing and Applied Mathematics, 7.ª Conferencia Internacional, PPAM 2007, Artículos seleccionados revisados , Lecture Notes in Computer Science, vol. 4967, Gdansk, Polonia: Springer Berlin / Heidelberg, pp. 746–753 , CiteSeerX 10.1.1.105.4605 , doi : 10.1007/978-3-540-68111-3_78 , ISBN    978-3-540-68105-2
  10. "Sitio web del flujo de trabajo de Anduril" .
  11. ^ Ovaska, Kristian; Laakso, Marko; Haapa-Paananen, Saija; Louhimo, Riku; Chen, Ping; Aittomäki, Viljami; Valo, Erkka; Núñez-Fontarnau, Javier; Rantanen, Ville (7 de septiembre de 2010). "El marco de integración de datos a gran escala proporciona una visión integral del glioblastoma multiforme" . Medicina del genoma . 2 (9): 65. doi : 10.1186/gm186 . ISSN 1756-994X . PMC 3092116 . PMID 20822536 .   
  12. ^ Marru, Suresh; Gardler, Ross; Slominski, Aleksander; Duma, comió; Perera, Srinath; Weerawarana, Sanjiva; Gunathilake, Lahiru; Herath, Chathura; Tangchaisin, Patanachai; Perforar, Marlon; Mattmann, Chris; Singh, Raminder; Gunarathne, Thilina; Chinthaka, Eran (18 de noviembre de 2011). Actas del taller de ACM de 2011 sobre entornos informáticos de puerta de enlace - GCE '11 . pag. 21.doi : 10.1145 / 2110486.2110490 . ISBN  9781450311236. S2CID 18341808 . 
  13. Brandt, Jörgen; Bux, Marc N.; Leser, Ulf (2015). "Cuneiform: Un lenguaje funcional para el análisis de datos científicos a gran escala" (PDF) . Actas de los Talleres del EDBT/ICDT . 1330 : 17–26 .
  14. Goecks, J.; Nekrutenko, A.; Taylor, J.; Galaxy Team, T. (2010). "Galaxy: Un enfoque integral para apoyar la investigación computacional accesible, reproducible y transparente en las ciencias de la vida" . Genome Biology . 11 (8): R86. doi : 10.1186 / gb-2010-11-8-r86 . PMC 2945788. PMID 20738864 .  
  15. Reich, Michael; Liefeld, Ted; Gould, Joshua; Lerner, Jim; Tamayo, Pablo; Mesirov, Jill P (2006). "GenePattern 2.0". Nature Genetics . 38 (5): 500– 501. doi : 10.1038/ng0506-500 . PMID 16642009 . S2CID 5503897 .  
  16. Tiwari, Abhishek; Sekhar, Arvind KT (2007). "Marco basado en flujo de trabajo para la informática de las ciencias de la vida". Computational Biology and Chemistry . 31 ( 5– 6): 305– 319. doi : 10.1016/j.compbiolchem.2007.08.009 . PMID 17931570 . 
  17. Deelman, Ewa ; Vahi, Karan; Juve, Gideon; Rynge, Mats; Callaghan, Scott; Maechling, Philip J.; Mayani, Rajiv; Chen, Weiwei; Ferreira da Silva, Rafael; Livny, Miron; Wenger, Kent (mayo de 2015). "Pegasus, un sistema de gestión de flujos de trabajo para la automatización científica" . Future Generation Computer Systems . 46 : 17–35 . doi : 10.1016/j.future.2014.10.008 .
  18. "BIOVIA Pipeline Pilot | Aplicación de creación de flujos de trabajo científicos para el análisis de datos" . Accelrys.com . Consultado el 4 de diciembre de 2016 .
  19. Okónechnikov, K; Golosova, O; Fursov, M; Ugene, equipo (2012). "Unipro UGENE: un conjunto de herramientas de bioinformática unificada" . Bioinformática . 28 (8): 1166– 7. doi : 10.1093/bioinformatics/bts091 . PMID 22368248 . 
  20. Bavoil, L.; Callahan, SP; Crossno, PJ; Freire, J.; Scheidegger, CE; Silva, CT; Vo, HT (2005). "VisTrails: Habilitando visualizaciones interactivas de múltiples vistas". VIS 05. IEEE Visualization, 2005. pp. 135–142 . doi : 10.1109/VISUAL.2005.1532788 . ISBN  978-0-7803-9462-9.
  21. "Sistemas de flujo de trabajo existentes" . Wiki del lenguaje común de flujo de trabajo . Archivado del original el 17 de octubre de 2019.
  22. "Sistemas de flujo de trabajo existentes" . Wiki del lenguaje común de flujo de trabajo . Archivado del original el 17/10/2019 . Consultado el 17/10/2019 .
  23. Abouelhoda, M.; Alaa, S.; Ghanem, M. (2010). «Meta-workflows». Actas del 1er Taller Internacional sobre Enfoques de Flujo de Trabajo para la Nueva Ciencia Centrada en Datos - Wands '10 . p. 1. doi : 10.1145/1833398.1833400 . ISBN  9781450301886. S2CID 17343728 . 
  24. Nyrönen, TH; Laitinen, J; et al. (2012), Entrega de infraestructura de TIC para la investigación biomédica , Actas del volumen complementario de WICSA/ECSA 2012 (WICSA/ECSA '12), ACM, págs. 37 a 44, doi : 10.1145/2361999.2362006 , ISBN   9781450315685, S2CID 18199745 
  25. ^ Kallio, MA; Tuimala, JT; Hupponen, T; Klemelä, P; Gentil, M; Scheinin, yo; Koski, M; Käki, J; Korpelainen, IE (2011). "Chipster: software de análisis fácil de usar para microarrays y otros datos de alto rendimiento" . Genómica BMC . 12 : 507. doi : 10.1186/1471-2164-12-507 . PMC 3215701 . PMID 21999641 .  
  26. Leipzig J (2016). " Una revisión de los marcos de trabajo de las canalizaciones bioinformáticas" . Briefings in Bioinformatics . 18 (3): 530– 536. doi : 10.1093/bib/bbw020 . PMC 5429012. PMID 27013646 .  
  • Yu, Jia; Buyya, Rajkumar (2005). "Una taxonomía de sistemas de flujo de trabajo científico para computación en malla". ACM SIGMOD Record . 34 (3): 44. CiteSeerX 10.1.1.63.3176 . doi : 10.1145/1084805.1084814 . S2CID 538714 .  
  • Sistemas de flujo de trabajo científico: ¿puede un solo sistema servir para todos? Artículo presentado en CIBEC'08 que compara las características de varios sistemas de flujo de trabajo científico.
  • Lista de herramientas de software relacionadas con flujos de trabajo científicos en el sitio web de DataONE.