Snakemake: gerenciador de pipelines

Data:

pipe_capa

O gerenciador de workflow Snakemake é uma ferramenta para criação de análises de dados reprodutível e escalável.

Autor | Alexandre Defelicibus

 

Quando se trata de análise de bioinformática, ou até mesmo em análise de vários conjuntos de dados em qualquer outra área, um desafio em comum é lidar, de forma eficiente, com uma coleção de tipos de inputs e outputs de diversas ferramentas (softwares), as quais resolvem problemas específicos em alguma etapa do processo de análise.

 

 

Além disso, para manter uma eficiência também no uso de recursos computacionais, é necessário que as ferramentas utilizadas estejam integradas e bem configuradas para evitar uso excessivo de recursos em alguma etapa específica.

 

Esse desafio se torna ainda mais importante quando a análise está sendo executada em um ambiente de cloud computing, onde cada segundo é um custo a mais a ser pago.

 

O Snakemake é um software que faz a orquestração, gerenciamento e controle de workflows, os quais podem ser definidos com um fluxo de trabalho ordenado, ou seja, um conjunto de etapas integradas para análise de dados.

 

A linguagem utilizada para descrever um workflow, no Snakemake, é baseada na linguagem Python, o que torna a leitura humana bem mais simples.

 

Um pipeline desenvolvido em Snakemake pode ser executado, sem modificações, em vários ambientes, como servidores de alto desempenho, cluster e nos serviços de nuvem. Além disso, todas as dependências de softwares podem ser configuradas de várias formas, como container e conda.

 

Abaixo tem um exemplo de um pipeline simples.

 

 

Essas características tornam o Snakemake uma ferramenta escalável, ou seja, um pipeline pode ser executado com um conjunto pequeno ou muito grande de dados; e garante que as análises executadas com o Snakemake sejam reprodutíveis em um ambiente completamente diferente.

O Snakemake pode ser instalado de várias formas, como via conda, pip ou código fonte disponível no github, e funciona em Windows, Linux e MacOS.

Para a instalação completa do Snakemake, basta executar o comando:

 

conda install -c conda-forge -c bioconda snakemake

 

Existe também a opção de instalar uma versão menor, contendo somente o essencial para a execução de um workflow, basta executar o comando:

 

conda install -c conda-forge -c bioconda snakemake-minimal

 

O Snakemake conta com uma ampla e simples documentação que explica, em detalhes, como criar um workflow com os diversos recursos disponíveis na ferramenta.  Além disso, vários tutoriais, do básico ao avançado, estão disponíveis nessa documentação.


Em um dos repositórios públicos do Snakemake no Github, existem vários workflows desenvolvidos que seguem as boas práticas de criação de pipelines com a ferramenta. Esses workflows são ótimos para aprendizado, uma vez que contam com dados de exemplos e várias dicas de configuração e organização de códigos.

 

Saiba mais:

 

Snakemake 

Snakemake - Read the docs

Sustainable data analysis

Canal do Discord

The Snakemake Wrappers

Snakemake workflow catalog 

Última atualização: Sept. 15, 2021, 12:41 p.m.

Posts Relacionados