{"id":56,"date":"2023-09-02T15:27:20","date_gmt":"2023-09-02T13:27:20","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/?page_id=56"},"modified":"2023-09-02T15:27:20","modified_gmt":"2023-09-02T13:27:20","slug":"1-diferentes-tipos-de-workflows","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/1-diferentes-tipos-de-workflows\/","title":{"rendered":"1. Diferentes tipos de <em>workflows<\/em>"},"content":{"rendered":"<p>La implementaci\u00f3n de un <em>pipeline<\/em> en un Workflow Manager requiere de la definici\u00f3n precisa de d\u00f3nde se extraen los datos iniciales (<em>input<\/em>), cu\u00e1l es el flujo entre las distintas herramientas y cu\u00e1l es el resultado final (<em>output<\/em>). Para poder estructurar los distintos par\u00e1metros se utilizan lenguajes de dominio espec\u00edfico (DSL). La utilizaci\u00f3n de DSLs aumenta la portabilidad y la escalabilidad. Nextflow y Snakemake son dos de los ejemplos m\u00e1s populares de <em>workflows<\/em> que utilizan DSLs propios en el \u00e1mbito de la bioinform\u00e1tica. La diversidad de DSLs con su propia estructuraci\u00f3n y nomenclatura propicia la reducci\u00f3n de interoperabilidad entre los distintos <em>workflows<\/em>. Para mitigar esta disparidad se han creado unas especificaciones que a\u00f1aden un nivel mayor de abstracci\u00f3n, permitiendo un marco com\u00fan entre los distintos <em>workflows<\/em>. Ejemplos de especificaciones para <em>workflows<\/em> son el Common Workflow Language (CWL) y Workflow Description Language (WDL). CWL prioriza la portabilidad y la reproducibilidad, mientras que WDL tiene como principal objetivo reducir la curva de aprendizaje mediante un lenguaje m\u00e1s comprensible. CWL define los <em>pipelines <\/em>utilizando ficheros YAML, mientras que WDL utiliza sus propios ficheros descriptivos. Algunos Workflow Managers, como <em>cwltool<\/em> o Cromwell, se han creado bas\u00e1ndose en estas especificaciones, mientras que otros como Snakemake implementan opciones de exportaci\u00f3n a estas especificaciones.<\/p>\n<p>La utilizaci\u00f3n de Workflow Managers para la creaci\u00f3n de <em>pipelines<\/em> bioinform\u00e1ticos est\u00e1 creciendo en popularidad. Distintos <em>workflows<\/em> est\u00e1n disponibles para la comunidad variando en su flexibilidad y facilidad de uso (<a href=\"https:\/\/github.com\/pditommaso\/awesome-pipeline\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/pditommaso\/awesome-pipeline<\/a>). Mientras que algunos <em>workflows<\/em> necesitan de un conocimiento avanzado de programaci\u00f3n, otros tal que Galaxy, KNIME o BioWorkflow implementan una interfaz gr\u00e1fica para facilitar su utilizaci\u00f3n. Aunque el desarrollo de sistemas de <em>workflow<\/em> se inici\u00f3 a principios de los a\u00f1os noventa, ha sido la capacidad de correr <em>pipeline<\/em>s en cl\u00fasteres de computaci\u00f3n o en la nube lo que ha facilitado su uso m\u00e1s generalizado.<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La implementaci\u00f3n de un pipeline en un Workflow Manager requiere de la definici\u00f3n precisa de d\u00f3nde se extraen los datos iniciales (input), cu\u00e1l es el flujo entre las distintas herramientas y cu\u00e1l es el resultado final (output). Para poder estructurar los distintos par\u00e1metros se utilizan lenguajes de dominio espec\u00edfico (DSL). La utilizaci\u00f3n de DSLs aumenta [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/wp-json\/wp\/v2\/pages\/56"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/wp-json\/wp\/v2\/comments?post=56"}],"version-history":[{"count":1,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/wp-json\/wp\/v2\/pages\/56\/revisions"}],"predecessor-version":[{"id":57,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/wp-json\/wp\/v2\/pages\/56\/revisions\/57"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/workflows\/es\/wp-json\/wp\/v2\/media?parent=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}