HealthOmics Anforderungen an die Workflow-Definition - AWS HealthOmics

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

HealthOmics Anforderungen an die Workflow-Definition

Die HealthOmics Workflow-Definitionsdateien müssen die folgenden Anforderungen erfüllen:

  • Aufgaben müssen input/output Parameter, Amazon ECR-Container-Repositorys und Laufzeitspezifikationen wie Speicher- oder CPU-Zuweisung definieren.

  • Stellen Sie sicher, dass Ihre IAM-Rollen über die erforderlichen Berechtigungen verfügen.

    • Ihr Workflow hat Zugriff auf Eingabedaten aus AWS Ressourcen wie Amazon S3.

    • Ihr Workflow hat bei Bedarf Zugriff auf externe Repository-Services.

  • Deklarieren Sie die Ausgabedateien in der Workflow-Definition. Um Dateien für Zwischenläufe an den Ausgabespeicherort zu kopieren, deklarieren Sie sie als Workflow-Ausgaben.

  • Die Eingabe- und Ausgabespeicherorte müssen sich in derselben Region wie der Workflow befinden.

  • HealthOmics Die Eingaben für den Speicher-Workflow müssen den ACTIVE Status haben. HealthOmics importiert keine Eingaben mit einem ARCHIVED Status, wodurch der Workflow fehlschlägt. Informationen zu Amazon S3 S3-Objekteingaben finden Sie unterHealthOmics Eingaben ausführen.

  • Ein main Speicherort des Workflows ist optional, wenn Ihr ZIP-Archiv entweder eine einzelne Workflow-Definition oder eine Datei mit dem Namen „main“ enthält.

    • Beispielpfad: workflow-definition/main-file.wdl

  • Bevor Sie einen Workflow von Amazon S3 oder Ihrem lokalen Laufwerk aus erstellen, erstellen Sie ein ZIP-Archiv mit den Workflow-Definitionsdateien und allen Abhängigkeiten, z. B. Unterworkflows.

  • Wir empfehlen Ihnen, Amazon ECR-Container im Workflow als Eingabeparameter für die Validierung der Amazon ECR-Berechtigungen zu deklarieren.

Zusätzliche Überlegungen zu Nextflow:

  • /bin

    Nextflow-Workflow-Definitionen können einen /bin-Ordner mit ausführbaren Skripten enthalten. Dieser Pfad hat sowohl lesenden als auch ausführbaren Zugriff auf Aufgaben. Aufgaben, die auf diesen Skripten basieren, sollten einen Container verwenden, der mit den entsprechenden Skriptinterpretern erstellt wurde. Es empfiehlt sich, den Interpreter direkt aufzurufen. Zum Beispiel:

    process my_bin_task { ... script: """ python3 my_python_script.py """ }
  • includeConfig

    Auf NextFlow basierende Workflow-Definitionen können nextflow.config-Dateien enthalten, die dabei helfen, Parameterdefinitionen zu abstrahieren oder Ressourcenprofile zu verarbeiten. Um die Entwicklung und Ausführung von Nextflow-Pipelines in mehreren Umgebungen zu unterstützen, verwenden Sie eine HealthOmics -spezifische Konfiguration, die Sie der globalen Konfiguration mithilfe der IncludeConfig-Direktive hinzufügen. Um die Portabilität zu gewährleisten, konfigurieren Sie den Workflow mithilfe des folgenden Codes so, dass er die Datei nur einbezieht, wenn er darauf ausgeführt HealthOmics wird:

    // at the end of the nextflow.config file if ("$AWS_WORKFLOW_RUN") { includeConfig 'conf/omics.config' }
  • Reports

    HealthOmics unterstützt keine vom Modul generierten Dag-, Trace- und Ausführungsberichte. Sie können Alternativen zu den Trace- und Ausführungsberichten mithilfe einer Kombination aus GetRun und GetRunTask API-Aufrufen generieren.

Zusätzliche Überlegungen zu CWL:

  • Container image uri interpolation

    HealthOmics ermöglicht, dass die DockerPull-Eigenschaft von ein DockerRequirement Inline-Javascript-Ausdruck ist. Zum Beispiel:

    requirements: DockerRequirement: dockerPull: "$(inputs.container_image)"

    Auf diese Weise können Sie das Container-Image URIs als Eingabeparameter für den Workflow angeben.

  • Javascript expressions

    Javascript-Ausdrücke müssen strict mode konform sein.

  • Operation process

    HealthOmics unterstützt keine CWL-Operationsprozesse.