View a markdown version of this page

Verpacken und liefern Sie eine HealthOmics 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.

Verpacken und liefern Sie eine HealthOmics Workflow-Definition

Wenn Sie einen Workflow oder eine Workflow-Version erstellen, liefern Sie die Definition aus genau einer Quelle: einem ZIP-Archiv, das Sie mit der Anfrage senden, einem ZIP-Archiv in Amazon S3 oder einem Git-based Repositorium. Eine Anfrage, die mehr als eine Definitionsquelle enthält, schlägt fehl. Die Parameter in diesem Thema gelten sowohl für CreateWorkflow und CreateWorkflowVersion Operationen. Die vollständigen Verfahren finden Sie unter Erstellen Sie einen privaten Workflow und Eine Workflow-Version erstellen.

Anmerkung

HealthOmics entfernt einige Workflow-Definitionen, wenn Sie einen Workflow erstellen. Informationen darüber, welche Engines verwendet werden, ob Ergebnisse den Workflow blockieren und wie Sie sie lesen können, finden Sie unter Der Arbeitsablauf zeigt an HealthOmics.

Wählen Sie eine Workflow-Definitionsquelle

Verwenden Sie diese Quelle API-Parameter Maximale Größe AWS CLI Fahne
Ein ZIP-Archiv auf Ihrem lokalen Computer. definitionZip 4,4 MB --definition-zip fileb://my-definition.zip
Ein ZIP-Archiv in einem Amazon S3-Bucket. Der Bucket muss sich im selben befinden AWS Region wie der Workflow. definitionUri 100 MB --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip
Ein unterstützter Git-based Repositorium, über ein AWS CodeConnections Verbindung. definitionRepository 1 GiB-Repository, 100 MiB pro Datei --definition-repository mit einem JSON-Wert

Weitere Überlegungen:

ZIP-Archiv-Layout und die Hauptdefinitionsdatei

Schließen Sie alle Dateien ein, die die Hauptdefinition importiert, z. B. Unterworkflows, nextflow.config, und beliebig bin Skripte.

Eine Definitionsdatei ist eine Datei, deren Erweiterung einer unterstützten Engine entspricht, z. B. .wdl, .nf, oder .cwl. Wenn Sie weglassen main, HealthOmics wählt es aus den Definitionsdateien aus, die dem Stammverzeichnis des Archivs am nächsten liegen. Es ignoriert versteckte Dateien und Ordner und es ignoriert Definitionsdateien, die sich tiefer im Archiv befinden. Für die automatische Auswahl ist auch eine einzelne Engine erforderlich, entweder weil das Archiv die Definitionsdateien einer Engine enthält oder weil Sie Folgendes festlegen engine. Von den Dateien auf der nächsten Ebene:

  • Wenn es genau eine Definitionsdatei gibt, HealthOmics benutzt sie, wie auch immer sie heißt.

  • Wenn es mehrere gibt, HealthOmics verwendet den genannten main.wdl, main.nf, oder main.cwl.

In zwei Fällen HealthOmics kann das Archiv nicht auflösen. Die Anfrage selbst ist erfolgreich und der Workflow oder die Workflow-Version beginnt in CREATING, wechselt dann aber zu FAILED, und die Statusmeldung gibt den Grund an:

  • Zip file contains multiple workflow definition types — das Archiv enthält Definitionsdateien für mehr als eine Engine, die Sie nicht gesetzt haben engine. Dies gilt unabhängig davon, ob Sie Folgendes einstellen main. Einstellen engine, oder entfernen Sie die Dateien der anderen Engine. HealthOmics meldet diesen Grund zuerst, wenn beide Fälle zutreffen.

  • Zip file contains multiple top-level workflow definition files — du hast es weggelassen main, mehrere Definitionsdateien befinden sich auf der nächsten Ebene, und nicht genau eine von ihnen ist benannt main.wdl, main.nf, oder main.cwl. Einstellen main auf den Pfad desjenigen, den du willst.

Um die Hauptdefinitionsdatei selbst auszuwählen, setzen Sie main (--main) zu seinem Pfad, relativ zum Stammverzeichnis des Archivs. Der Pfad kann bis zu 128 Zeichen lang sein.

Zum Beispiel für ein Archiv, dessen Hauptdefinitionsdatei workflow-definition/main-file.wdl:

--main workflow-definition/main-file.wdl

Einstellen engine (--engine), um die Engine selbst zu benennen, entweder um ein Archiv aufzulösen, das mehrere Definitionsdateien einer Engine enthält, oder um die WDL Lenient Engine zu verwenden.

Stellen Sie sich einen Workflow-Ordner auf Ihrem lokalen Computer mit dem folgenden Layout vor:

my-workflow/ main.wdl tasks/align.wdl tasks/call-variants.wdl

Erstellen Sie das Archiv in diesem Ordner, sodass main.wdl und der tasks Der Ordner befindet sich im Stammverzeichnis des Archivs. Mit dem folgenden Befehl werden auch versteckte Dateien und Ordner hinzugefügt, z. B. .git Ordner in einem geklonten Repository. Diese werden auf die Definitionsgröße angerechnet. Schließen Sie also diejenigen aus, die Sie nicht benötigen, z. B. mit -x '.*' -x '*/.*':

cd my-workflow zip -r ../my-definition.zip . cd ..

main.wdl ist jetzt die einzige Definitionsdatei im Stammverzeichnis des Archivs, also kannst du weglassen main:

main.wdl tasks/align.wdl tasks/call-variants.wdl

Senden Sie das Archiv online oder über Amazon S3

definitionZip ist ein binärer Parameter. Wenn Sie das verwenden AWS CLI, übergeben Sie das Archiv mit dem fileb:// Präfix und das AWS CLI liest die Datei und codiert sie für Sie. Das AWS SDKs übernehmen die Kodierung für Sie. Wenn Sie die API direkt über HTTP aufrufen, senden Sie das Archiv als Base64-kodierte Zeichenfolge.

Die Parametervorlage in den folgenden Beispielen ist optional. Wenn Sie sie weglassen, HealthOmics leitet die Ausführungsparameter aus Ihrer Workflow-Definition ab. Weitere Informationen finden Sie unter Parametervorlagendateien für HealthOmics Workflows.

Folgendes AWS CLI Beispiel erstellt einen Workflow, indem das ZIP-Archiv mit der Anfrage gesendet wird. Ersetzen Sie jeden Wert kursiv:

aws omics create-workflow \ --name my-workflow-name \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json

Für ein Archiv, das größer ist als definitionZip einschränken in Wählen Sie eine Workflow-Definitionsquelle, laden Sie es in einen Amazon S3-Bucket in derselben Region wie der Workflow hoch und verwenden Sie definitionUri stattdessen. Ersetzen Sie jeden Wert kursiv und ersetzen Sie den Bucket durch Ihren eigenen:

aws s3 cp my-definition.zip s3://amzn-s3-demo-bucket1/my-definition.zip aws omics create-workflow \ --name my-workflow-name \ --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip \ --parameter-template file://my-parameter-template.json

Stellen Sie den Standard-Run-Speicher ein

Wir empfehlen für die meisten Workflows dynamischen Laufspeicher. Wählen Sie in einem der folgenden Fälle den statischen Run-Speicher:

  • Der Workflow verwendet mehr als 9,6 TiB an Daten, und seine Aufgaben profitieren von einer hohen Dauerhaftigkeit I/O.

  • Mehr als 100 verstreute Aufgaben werden gleichzeitig aus dem gemeinsam genutzten Laufspeicher gelesen.

Weitere Informationen zu den einzelnen Laufspeichertypen, einschließlich ihrer Durchsatzeigenschaften und zur Größe des statischen Laufspeichers, finden Sie unter Speichertypen in HealthOmics Workflows ausführen und Führen Sie die Optimierung für ein privates aus HealthOmics Arbeitsablauf.

Das storageType (--storage-type) und storageCapacity (--storage-capacity) -Parameter legen die Standardwerte für Läufe fest, die den Workflow verwenden. Sie können beide zur Laufzeit überschreiben, wie unter beschrieben Starte einen Lauf in HealthOmics. Kombiniere sie wie folgt:

  • storageType von DYNAMIC — HealthOmics skaliert den Laufspeicher je nach Auslastung des Dateisystems nach oben und unten. Nicht einstellen storageCapacity. Wenn Sie dies tun, schlägt die Anfrage fehl: CreateWorkflow Berichte You cannot set the storage capacity for workflows that use DYNAMIC run storage type, und CreateWorkflowVersion Berichte You cannot set the storage capacity for workflow version that use DYNAMIC run storage type.

  • storageType von STATIC — HealthOmics weist eine feste Menge an Run-Speicher zu, also auch gesetzt storageCapacity, in GiB. Wenn weder der Workflow noch der Lauf eine Kapazität angeben, verbraucht der Lauf 1.200 GiB. Das Maximum ist ein Limit pro Konto. HealthOmics stellt statischen Laufspeicher nur als 1.200 GiB oder als Vielfaches von 2.400 GiB bereit und rundet jeden anderen Wert auf die nächste unterstützte Größe auf. Zum Beispiel HealthOmics stellt 1.200 GiB für eine Kapazität unter 1.200 GiB bereit.

Im folgenden Beispiel wird der Standard-Run-Speicher auf 1.200 GiB statischen Speicher festgelegt:

aws omics create-workflow \ --name my-workflow-name \ --definition-zip fileb://my-definition.zip \ --storage-type STATIC \ --storage-capacity 1200