Die Workflow Beschreibung Sprache (WDL) ist ein offener Standard für die Beschreibung von Datenverarbeitungsworkflows mit einer menschlichen lesbaren und schriftlichen Syntax. WDL macht es unkompliziert, Analyseaufgaben zu definieren, sie in Workflows miteinander zu verbinden und ihre Ausführung zu parallelisieren. Die Sprache ist bestrebt, für alle Arten von Benutzern, einschließlich Programmierern, Analysten und Betreibern eines Produktionssystems, zugänglich und verständlich zu sein. Die Sprache ermöglicht es, allgemeine Muster wie Streuezatik und bedingte Ausführung einfach zum Ausdruck zu bringen. WDL ist für die Portabilität ausgelegt, und es gibt mehrere Implementierungen, die aus dem Lauf in verschiedenen Umgebungen, einschließlich HPC -Systemen und Cloud -Plattformen, ausgewählt werden können.
WDL Versioning folgt den semantischen Versionskonventionen.
Die WDL- Sprache hat eine Zwei-Zahlen-Version (z. B. 1.2
). Eine Erhöhung der geringfügigen (zweiten) Versionsnummer (z. B. 1.1
bis 1.2
) zeigt die Hinzufügung von oder nicht blockierenden Änderungen an den Funktionen der Sprache oder der Standardbibliothek an. Eine Erhöhung der Hauptversionsnummer (z. B. 1.0
bis 2.0
) zeigt, dass Bruchänderungen vorgenommen wurden.
Die WDL- Spezifikation hat eine Drei-Zahlen-Version (z. B. 1.2.0
). Die Spezifikationsversion verfolgt die Sprachversion, es kann jedoch auch Patch-Releases (angezeigt durch eine Änderung des Patchs oder dritten Versionsnummer) geben, die Korrekturen für Tippfehler, zusätzliche Beispiele oder nicht sprechende Klarstellungen der mehrdeutigen Sprache enthalten.
Die WDL -Spezifikation enthält alle relevanten Informationen für Benutzer und Entwickler, einschließlich derjenigen, die eine Ausführungs -Engine implementieren möchten. Dieses GitHub -Projekt verwendet die Filiale für die aktuelle Version der Spezifikation als primäre Filiale, sodass Sie immer die aktuelle Version der Spezifikation sehen, solange Sie die Root -URL dieses Projekts besuchen. Benutzer werden nachdrücklich empfohlen, die aktuelle Version der Spezifikation zu verwenden, sofern dies nicht unbedingt erforderlich ist.
Dieser Zweig ist für Version 1.2 der WDL -Sprachspezifikation. Die gesamte Entwicklung neuer nicht bahnbrechender Funktionen sollte gegen diese Zweigstelle durchgeführt werden.
Frühere Versionen der Spezifikation finden Sie hier:
Es gibt eine Reihe von Entwurfsversionen, die den ersten Bemühungen zur Erstellung von WDL entsprechen. Während dies funktionale Spezifikationen sind, sollten sie nicht als vollständig angesehen werden und enthalten viele Fehler und Unregelmäßigkeiten.
Die nächste Hauptversion der Spezifikation ist 2.0. Die gesamte Entwicklung neuer Breaking -Merkmale sollte gegen diesen Zweig durchgeführt werden.
Die WDL -Community ist auf Ihr Engagement angewiesen. Sie werden aufgefordert, Fragen zu stellen, anderen Benutzern zu helfen und Beiträge zu leisten, wo Sie können. Wechselwirkungen treten hauptsächlich auf Github und Slack auf. Die WDL -Community hat auch einen offiziellen Blog, in dem Ankündigungen gemacht werden.
#support
-Kanal.Im Folgenden finden Sie Sammlungen von Open-Source-WDL-Workflows. Die WDL -Aufgabe oder der von Ihnen benötigte Workflow sind möglicherweise bereits in einem dieser Repositories verfügbar, oder Sie finden möglicherweise einen ähnlichen Workflow und passen sie an Ihre Anforderungen an.
WDL hat keine offizielle Umsetzung. Dritte werden darauf angewiesen, installierbare Software oder gehostete Plattformen bereitzustellen, die WDL -Workflows und -aufgaben interpretieren und ausführen. Obwohl WDL noch kein offizielles Compliance -Programm oder -Zertifizierungsprozess hat, wird von Implementierern von der Spezifikation von Implementierern erwartet, dass sie ihre Tools entwerfen, um die Portabilität von Workflows über Implementierungen hinweg zu maximieren. Implementierer können jedoch zusätzliche optionale Funktionen spezifisch bereitstellen. Weitere Informationen zu verfügbaren Ausführungsoptionen und Support finden Sie in der Dokumentation, die jedem Tool/jeder Plattform zugeordnet ist.
Durchführung | Erfordert Installation | Lokale Ausführung | HPC | Wolke |
---|---|---|---|---|
AWS Healthomics | NEIN | NEIN | NEIN | AWS |
Cromwell * | Ja | Ja | Viele | AWS -Batch, Azure, GCP |
dxcompiler | Ja | NEIN | NEIN | Dnanexus |
Miniwdl | Ja | Ja | Schläge | AWS -Stapel |
Terra | NEIN | NEIN | NEIN | Azure, GCP |
* Siehe auch WDL Runner, ein Skript zum Starten von WDL -Workflows bei GCP mit Cromwell
Ide | Werkzeug |
---|---|
EMACs | Poly-wdl |
EMACs | WDL-Modus |
Jetbrains | Winstanly |
Sublimieren | WDL Syntax Highlighter |
Vim | Vim-Wdl |
Visual Studio -Code | WDL Syntax Highlighter |
WDL fährt nur durch Community -Beiträge vor. Während die Teilnahme an Diskussionen und Einreichung von Problemen großartige Möglichkeiten sind, sich zu beteiligen, ist auch Hilfe erforderlich, um Änderungen an der Spezifikation umzusetzen. Weitere Informationen darüber, wie Sie dazu beitragen können, lesen Sie bitte den Beitragshandbuch.
Eingereichte Pull -Anfragen unterliegen dem RFC -Prozess. Bitte überprüfen Sie und machen Sie sich mit dem Prozess vertraut, wenn Sie Änderungen an der Spezifikation anzeigen möchten.
Die WDL -Spezifikation ist vollständig in der Gemeinde angetrieben. Es wird jedoch von einem Governance -Ausschuss überwacht. Wenn Sie daran interessiert sind, an der WDL -Governance beteiligt zu sein, nehmen Sie bitte der Slack bei und veröffentlichen Sie eine Nachricht im #general
-Kanal.