O Workflow Descrição Language (WDL) é um padrão aberto para descrever fluxos de trabalho de processamento de dados com uma sintaxe legível por humanos e escritas. A WDL torna simples definir tarefas de análise, conectá -las em fluxos de trabalho e paralelizar sua execução. O idioma se esforça para ser acessível e compreensível a todos os tipos de usuários, incluindo programadores, analistas e operadores de um sistema de produção. O idioma permite que padrões comuns, como dispersão e execução condicional, sejam expressos de maneira simples. A WDL foi projetada para portabilidade e existem várias implementações para escolher entre uma variedade de ambientes, incluindo sistemas HPC e plataformas em nuvem.
O versão WDL segue convenções de versão semântica.
O idioma WDL possui uma versão de dois números (por exemplo, 1.2
). Um aumento no número de versão menor (segunda) (por exemplo, 1.1
a 1.2
) indica a adição de alterações ou alterações sem quebra nas funções de idioma ou biblioteca padrão. Um aumento no número (primeiro) da versão principal (por exemplo, 1.0
a 2.0
) indica que as mudanças de ruptura foram feitas.
A especificação WDL possui uma versão de três números (por exemplo, 1.2.0
). A versão de especificação rastreia a versão do idioma, mas também pode haver versões de patches (indicadas por uma alteração no patch ou terceiro número de versão) que incluem correções para erros de digitação, exemplos adicionais ou esclarecimentos não quebrados de linguagem ambígua.
A especificação WDL contém todas as informações relevantes para usuários e desenvolvedores, incluindo aqueles que desejam implementar um mecanismo de execução. Este projeto do GitHub usa a ramificação para a versão atual da especificação como sua ramificação primária; portanto, você sempre verá a versão atual da especificação, desde que visite o URL raiz deste projeto. Os usuários são fortemente incentivados a usar a versão atual da especificação, a menos que seja absolutamente necessário.
Esta filial é para a versão 1.2 da especificação do idioma WDL. Todo o desenvolvimento de novos recursos não quebrantes deve ser feito contra esse ramo.
As versões anteriores da especificação podem ser encontradas aqui:
Existem várias versões de rascunho que correspondem aos esforços iniciais na criação de WDL. Embora sejam especificações funcionais, elas não devem ser consideradas completas e contêm muitos bugs e irregularidades.
A próxima versão principal da especificação é 2.0. Todo o desenvolvimento de novos recursos de quebra deve ser feito contra esse ramo.
A comunidade WDL depende do seu envolvimento para prosperar. Você é incentivado a fazer perguntas, ajudar outros usuários e fazer contribuições onde puder. As interações ocorrem principalmente no Github e Slack. A comunidade WDL também possui um blog oficial onde são feitos anúncios.
#support
.A seguir, são apresentadas coleções de fluxos de trabalho WDL de código aberto. A tarefa ou fluxo de trabalho WDL que você precisa já pode estar disponível em um desses repositórios, ou você pode encontrar um fluxo de trabalho semelhante e personalizá -lo para suas necessidades.
A WDL não possui uma implementação oficial. Terceiros são confiados para fornecer software instalável ou plataformas hospedadas que interpretem e executem fluxos e tarefas de trabalho da WDL. Embora a WDL ainda não tenha um programa oficial de conformidade ou processo de certificação, os implementadores devem projetar suas ferramentas de acordo com a especificação, a fim de maximizar a portabilidade dos fluxos de trabalho nas implementações. No entanto, os implementadores podem fornecer recursos opcionais adicionais específicos. Consulte a documentação associada a cada ferramenta/plataforma para obter informações sobre as opções e suporte de execução disponíveis.
Implementação | Requer instalação | Execução local | HPC | Nuvem |
---|---|---|---|---|
AWS Healthomics | Não | Não | Não | AWS |
Cromwell * | Sim | Sim | Muitos | AWS Batch, Azure, GCP |
dxcompiler | Sim | Não | Não | Dnanexus |
Miniwdl | Sim | Sim | Slurm | Lote AWS |
Terra | Não | Não | Não | Azure, GCP |
* Veja também WDL Runner, um script para lançar fluxos de trabalho da WDL no GCP usando Cromwell
Ide | Ferramenta |
---|---|
Emacs | poli-wdl |
Emacs | Modo WDL |
Jetbrains | Winstanly |
Sublime | Sintaxe WDL Highlighter |
Vim | vim-wdl |
Código do Visual Studio | Sintaxe WDL Highlighter |
A WDL avança apenas através de contribuições da comunidade. Ao participar de discussões e enviar questões são ótimas maneiras de se envolver, também é necessária ajuda para implementar alterações na especificação. Para obter mais informações sobre como você pode contribuir, leia o guia contribuinte.
As solicitações de tração enviadas estão sujeitas ao processo RFC. Revise e familiarize -se com o processo se desejar ver as alterações enviadas à especificação.
A especificação WDL é inteiramente orientada pela comunidade; No entanto, é supervisionado por um comitê de governança. Se você estiver interessado em estar envolvido na governança da WDL, junte -se à folga e publique uma mensagem no canal #general
.