工作流說明語言(WDL)是用可讀和可寫的語法描述數據處理工作流的開放標準。 WDL使定義分析任務,在工作流程中將它們連接在一起並並行化其執行變得直接。該語言努力對各種用戶(包括程序員,分析師和生產系統運營商)都可以訪問和理解。該語言可以簡單地表達出常見的模式,例如散佈收集和有條件執行。 WDL專為可移植性而設計,並且在包括HPC系統和雲平台在內的各種環境中可以選擇多種實現。
WDL版本控制遵循語義版本慣例。
WDL語言具有兩個數字版本(例如, 1.2
)。次要版本編號(例如1.1
至1.2
)的增加表示語言或標準庫功能的添加或非破壞性更改。主要(第一個)版本號(例如1.0
至2.0
)的增加表明已經進行了破壞變化。
WDL規範具有三個數字版本(例如, 1.2.0
)。規範版本跟踪語言版本,但是還可能有補丁版本(由補丁更改或第三個版本編號表示),其中包括用於錯別字的修復程序,其他示例或歧義語言的非破壞性澄清。
WDL規範包含所有相關信息,包括用戶和開發人員,包括想要實施執行引擎的信息。該GitHub項目將當前版本的分支用作其主要分支,因此,只要您訪問該項目的根URL,您將始終看到規範的當前版本。除非絕對必要,否則強烈建議用戶使用當前版本的規範。
此分支適用於WDL語言規範的1.2版。應對該分支機構的所有開發新的非破壞功能。
規格的先前版本可以在此處找到:
有許多草稿版本與創建WDL的初步努力相對應。儘管這些是功能規格,但不應將其視為功能完整,並且包含許多錯誤和不規則性。
規範的下一個主要版本是2.0。應對該分支機構的所有新破壞功能的開發。
WDL社區取決於您的參與。鼓勵您提出問題,幫助其他用戶,並在可能的情況下做出貢獻。相互作用主要發生在github和鬆弛上。 WDL社區還擁有一個官方博客,在其中發布了公告。
#support
頻道中詢問。以下是開源WDL工作流的集合。您需要的WDL任務或工作流可能已經在其中一個存儲庫中可用,或者您可能會找到類似的工作流程並根據您的需求進行自定義。
WDL沒有正式實施。依靠第三方提供可安裝的軟件或託管平台來解釋和執行WDL工作流和任務。儘管WDL尚未具有官方合規計劃或認證流程,但實施者有望根據規範設計其工具,以最大程度地提高實施過程中工作流的可移植性。儘管如此,實施者可能會提供其他特定於可選的功能。請參閱與每個工具/平台關聯的文檔,以獲取有關可用執行選項和支持的信息。
執行 | 需要安裝 | 本地執行 | HPC | 雲 |
---|---|---|---|---|
AWS健康組學 | 不 | 不 | 不 | AWS |
克倫威爾 * | 是的 | 是的 | 許多 | AWS批次,Azure,GCP |
DXCOMPILER | 是的 | 不 | 不 | Dnanexus |
Miniwdl | 是的 | 是的 | sl | AWS批次 |
Terra | 不 | 不 | 不 | Azure,GCP |
*另請參閱WDL Runner,這是一個使用Cromwell在GCP上啟動WDL工作流的腳本
IDE | 工具 |
---|---|
emacs | poly-wdl |
emacs | WDL模式 |
噴氣橋 | 溫斯坦利 |
昇華 | WDL語法熒光筆 |
vim | vim-wdl |
Visual Studio代碼 | WDL語法熒光筆 |
WDL僅通過社區貢獻來進步。雖然參與討論和提交問題是參與的好方法,但還需要幫助來實施規格的更改。有關如何貢獻的更多信息,請閱讀《貢獻指南》。
提交的拉請請求受RFC流程的約束。如果您想查看提交給規範的更改,請查看並熟悉該過程。
WDL規範完全是由社區驅動的;但是,它是由治理委員會監督的。如果您有興趣參與WDL治理,請加入Slack並在#general
頻道中發布消息。