WDL (Workflow Description Language)은 사람이 읽을 수 있고 쓰기 쉬운 구문으로 데이터 처리 워크 플로를 설명하기위한 공개 표준입니다. WDL을 사용하면 분석 작업을 정의하고 워크 플로우에 연결하고 실행을 병렬화하는 것이 간단합니다. 이 언어는 프로그래머, 분석가 및 생산 시스템 운영자를 포함한 모든 방식의 사용자가 액세스 할 수 있고 이해할 수 있도록 노력합니다. 이 언어는 산란 수집 및 조건부 실행과 같은 일반적인 패턴을 간단하게 표현할 수있게합니다. WDL은 이식성을 위해 설계되었으며 HPC 시스템 및 클라우드 플랫폼을 포함한 다양한 환경에서 해당 실행 중에서 선택할 수있는 몇 가지 구현이 있습니다.
WDL 버전화는 시맨틱 버전 관리 규칙을 따릅니다.
WDL 언어 에는 2 수 버전이 있습니다 (예 : 1.2
). 미성년자 (두 번째) 버전 번호 (예 : 1.1
~ 1.2
)의 증가는 언어 또는 표준 라이브러리 기능에 추가되거나 위반되지 않는 변경을 나타냅니다. 전공 (첫 번째) 버전 번호 (예 : 1.0
~ 2.0
)의 증가는 변화가 이루어 졌음을 나타냅니다.
WDL 사양 에는 3 수 버전이 있습니다 (예 : 1.2.0
). 사양 버전은 언어 버전을 추적하지만 오타 수정, 추가 예제 또는 모호한 언어의 비절감을 포함하는 패치 릴리스 (패치 변경 또는 세 번째 버전 번호로 표시)도있을 수 있습니다.
WDL 사양에는 실행 엔진을 구현하려는 사람들을 포함하여 사용자 및 개발자를위한 모든 관련 정보가 포함되어 있습니다. 이 GitHub 프로젝트는 현재 사양의 현재 버전에 대한 분기를 기본 지점으로 사용 하므로이 프로젝트의 루트 URL을 방문하는 한 현재 사양의 현재 버전을 볼 수 있습니다. 사용자는 절대적으로 필요한 경우 현재 버전의 사양을 사용하도록 강력히 권장됩니다.
이 지점은 WDL 언어 사양의 버전 1.2 입니다. 이 지점에 대해 새로운 비 분해 기능의 모든 개발은 수행되어야합니다.
사양의 이전 버전은 여기에서 찾을 수 있습니다.
WDL을 만드는 초기 노력에 해당하는 여러 초안 버전이 있습니다. 이것들은 기능적 사양이지만 기능이 완성되지 않아야하며 많은 버그와 불규칙성이 포함되어 있습니다.
사양의 다음 주요 버전은 2.0입니다. 새로운 브레이킹 기능의 모든 개발은 해당 지점에 대해 수행해야합니다.
WDL 커뮤니티는 번성하기위한 참여에 달려 있습니다. 질문을하고, 다른 사용자를 돕고, 할 수있는 곳에 기여하는 것이 좋습니다. 상호 작용은 주로 Github 및 Slack에서 발생합니다. WDL 커뮤니티에는 공식 블로그도 공지 사항을 제작할 수 있습니다.
#support
채널에서 물어보십시오.다음은 오픈 소스 WDL 워크 플로 모음입니다. 필요한 WDL 작업 또는 워크 플로우는 이러한 저장소 중 하나에서 이미 사용할 수 있거나 유사한 워크 플로를 찾아 요구 사항에 맞게 사용자 정의 할 수 있습니다.
WDL에는 공식적인 구현이 없습니다. 제 3자는 WDL 워크 플로 및 작업을 해석하고 실행하는 설치 가능한 소프트웨어 또는 호스팅 플랫폼을 제공하기 위해 의존합니다. WDL에는 아직 공식 규정 준수 프로그램 또는 인증 프로세스가 없지만 구현자는 구현에 걸쳐 워크 플로의 휴대 성을 극대화하기 위해 사양에 따라 도구를 설계해야합니다. 그럼에도 불구하고 구현자는 추가 옵션 기능을 제공 할 수 있습니다. 사용 가능한 실행 옵션 및 지원에 대한 정보는 각 도구/플랫폼과 관련된 문서를 참조하십시오.
구현 | 설치가 필요합니다 | 로컬 실행 | HPC | 구름 |
---|---|---|---|---|
AWS Healthomics | 아니요 | 아니요 | 아니요 | AWS |
크롬웰 * | 예 | 예 | 많은 | AWS 배치, Azure, GCP |
dxcompiler | 예 | 아니요 | 아니요 | dnanexus |
미니 wdl | 예 | 예 | 슬러 름 | AWS 배치 |
흙 | 아니요 | 아니요 | 아니요 | Azure, GCP |
* Cromwell을 사용하여 GCP에서 시작을위한 스크립트 인 WDL 러너도 참조하십시오.
IDE | 도구 |
---|---|
EMACS | 폴리 -WDL |
EMACS | WDL 모드 |
JetBrains | WINSTANLY |
숭고한 | WDL 구문 형광펜 |
정력 | vim-wdl |
비주얼 스튜디오 코드 | WDL 구문 형광펜 |
WDL은 커뮤니티 기여를 통해서만 발전합니다. 토론에 참여하고 문제를 제출하는 것이 참여하는 좋은 방법이지만 사양 변경을 구현하는 데 도움이 필요합니다. 기여 방법에 대한 자세한 내용은 기고 가이드를 참조하십시오.
제출 된 풀 요청에는 RFC 프로세스가 적용됩니다. 사양에 제출 된 변경 사항을보고 싶다면 프로세스를 검토하고 익숙해 지십시오.
WDL 사양은 전적으로 커뮤니티 중심입니다. 그러나 거버넌스위원회에 의해 감독됩니다. WDL 거버넌스에 참여하는 데 관심이 있으시면 슬랙에 가입하여 #general
채널에 메시지를 게시하십시오.