stringtranslate.com

Anduril (motor de flujo de trabajo)

Anduril es un marco de flujo de trabajo basado en componentes de código abierto para el análisis de datos científicos [2] desarrollado en el Laboratorio de Biología de Sistemas de la Universidad de Helsinki .

Anduril está diseñado para permitir un análisis de datos sistemático, flexible y eficiente, en particular en el campo de los experimentos de alto rendimiento en la investigación biomédica. El sistema de flujo de trabajo proporciona actualmente componentes para varios tipos de análisis, como secuenciación , expresión génica , SNP , ChIP-on-chip , hibridación genómica comparativa y análisis de microarrays de exones, así como citometría y análisis de imágenes celulares .

Arquitectura y características

Un flujo de trabajo es una serie de pasos de procesamiento conectados entre sí de modo que la salida de un paso se utiliza como entrada de otro. Los pasos de procesamiento implementan tareas de análisis de datos, como la importación de datos, las pruebas estadísticas y la generación de informes. En Anduril, los pasos de procesamiento se implementan utilizando componentes, que son códigos ejecutables reutilizables que se pueden escribir en cualquier lenguaje de programación. Los componentes se conectan entre sí en un flujo de trabajo, o una red de componentes, que se ejecuta mediante el motor de flujo de trabajo de Anduril. La configuración del flujo de trabajo se realiza utilizando un lenguaje de scripting simple pero potente, AndurilScript. La configuración y ejecución del flujo de trabajo se puede realizar desde Eclipse , una GUI multipropósito popular, o desde la línea de comandos.

El motor principal de Anduril está escrito en Java y los componentes están escritos en una variedad de lenguajes de programación, incluidos Java, R , MATLAB , Lua , Perl y Python . Los componentes también pueden tener dependencias de bibliotecas de terceros, como Bioconductor . Se proporcionan componentes para la obtención de imágenes de células y el análisis de microarrays, pero los usuarios pueden implementar componentes adicionales. El núcleo de Anduril se ha probado en Linux y Windows.

Anduril 1.0: lenguaje AndurilScript

Hola mundo en AndurilScript es simplemente

 std . echo ( "¡Hola mundo!" )

Los comentarios siguen la sintaxis de Java:

 // Un comentario simple /* Otro comentario simple */ /** Una descripción que se incluirá en la descripción del componente */  

Los componentes se invocan asignando sus llamadas a instancias de componentes con nombre. Los nombres no se pueden reutilizar dentro de un único flujo de trabajo. Hay componentes especiales para archivos de entrada que incluyen archivos externos al script. Los tipos atómicos admitidos son entero, flotante, booleano y cadena, y la tipificación se realiza de forma implícita.

 in1 = INPUT ( ruta = "myFile.csv" ) constante1 = 1 componentInstance1 = MyComponent ( inputPort1 = in1 , inputParam1 = constante1 )             

Los flujos de trabajo se construyen asignando salidas de instancias de componentes a las entradas de los componentes siguientes.

 componentInstance2 = OtroComponente ( entradaPuerto1 = componentInstance1.salidaPuerto1 )    

Las instancias de componentes también se pueden envolver como funciones.

 función MyFunction ( InType1 in1 , ..., opcional InTypeM inM , ParType1 param1 , ..., ParTypeP paramP = defaultP ) -> ( OutType1 out1 , ..., OutTypeN outN ) { ... declaraciones ... devolver registro ( out1 = x1 , ..., outN = xN ) }                          

Además de las declaraciones estándar if-else y switch-case, AndurilScript también incluye bucles for.

 // Itera sobre 1, 2, ..., 10 array = record () for i : std . range ( 1 , 10 ) { array [ i ] = SomeComponent ( k = i ) }            

Extensibilidad

Anduril se puede ampliar en varios niveles. Los usuarios pueden agregar nuevos componentes a los paquetes de componentes existentes. Sin embargo, si el nuevo componente o los nuevos componentes realizan tareas que no están relacionadas con los paquetes existentes, los usuarios también pueden crear nuevos paquetes.

Mapa de Moksis

La cara enfadada del logo de Moksiskaan

Moksiskaan es un marco de integración de datos para la investigación del cáncer y la biología molecular . [3] El marco proporciona una base de datos relacional que representa un gráfico de entidades biológicas como genes, proteínas, fármacos, vías, enfermedades, procesos biológicos, componentes celulares y funciones moleculares. Además, existe un amplio conjunto de herramientas de análisis y acceso construidas sobre estos datos. La gran mayoría de estas herramientas se implementan como componentes y funciones de Anduril.

Moksiskaan se utiliza principalmente para interpretar listas de genes candidatos obtenidos a partir de estudios genómicos. Sus herramientas se pueden utilizar para generar gráficos de entidades biológicas relacionadas con los genes de entrada. La forma exacta de estos gráficos puede variar desde las predicciones de dianas farmacológicas hasta las series temporales de cascadas de señalización. Algunos de los objetivos de estas herramientas están estrechamente relacionados con IPA .

Véase también

Referencias

  1. ^ "anduril-dev/anduril/doc/ChangeLog.txt — Bitbucket". bitbucket.org . Consultado el 25 de marzo de 2021 .
  2. ^ Ovaska, K.; Laakso, M.; Haapa-Paananen, S.; Louhimo, R.; Chen, P.; Aittomäki, V.; Valo, E.; Núñez-Fontarnau, J.; Rantanen, V.; Karinen, S.; Nousiainen, K.; Lahesmaa-Korpinen, AM; Miettinen, M.; Saarinen, L.; Kohonen, P.; Wu, J.; Westermarck, J.; Hautaniemi, S. (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 . PMC 3092116 . PMID  20822536. 
  3. ^ Laakso, M.; Hautaniemi, S. (2010). "Plataforma integradora para traducir conjuntos de genes a redes". Bioinformática . 26 (14): 1802–1803. doi : 10.1093/bioinformatics/btq277 . PMID  20507894.

Lectura adicional

Enlaces externos