1. Diferents tipus de workflows

La implementació d’un pipeline en un Workflow Manager requereix la definició precisa d’on s’extreuen les dades inicials (input), quin és el flux entre les diferents eines i quin és el resultat final (output). Per poder estructurar els diferents paràmetres s’utilitzen llenguatges de domini específic (DSL). La utilització de DSL augmenta la portabilitat i l’escalabilitat. Nextflow i Snakemake són dos dels exemples més populars de workflows que fan servir DSL propis en l’àmbit de la bioinformàtica. La diversitat de DSL amb la seva pròpia estructuració i nomenclatura propicia la reducció d’interoperabilitat entre els diferents workflows. Per mitigar aquesta disparitat s’han creat unes especificacions que afegeixen un nivell més gran d’abstracció, permetent un marc comú entre els diferents workflows. Exemples d’especificacions per a workflows són el Common Workflow Language (CWL) i Workflow Description Language (WDL). CWL prioritza la portabilitat i la reproductibilitat, mentre que WDL té com a principal objectiu reduir la corba d’aprenentatge mitjançant un llenguatge més comprensible. CWL defineix els pipelines usant fitxers YAML, mentre que WDL utilitza els seus propis fitxers descriptius. Alguns Workflow Managers, com cwltool o Cromwell, s’han creat basant-se en aquestes especificacions, mentre que d’altres com Snakemake implementen opcions d’exportació a aquestes especificacions.

La utilització de Workflow Managers per a la creació de pipelines bioinformàtics està creixent en popularitat. Diferents workflows estan disponibles per a la comunitat variant en la seva flexibilitat i facilitat d’ús (https://github.com/pditommaso/awesome-pipeline). Mentre que alguns workflows necessiten un coneixement avançat de programació, d’altres com Galaxy, KNIME o BioWorkflow implementen una interfície gràfica per facilitar la seva utilització. Tot i que el desenvolupament de sistemes de workflow es va iniciar a principis dels anys noranta, ha estat la capacitat de córrer pipelines en clústers de computació o al núvol el que ha facilitat el seu ús més generalitzat.