Erstellen Sie einen privaten Workflow - 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.

Erstellen Sie einen privaten Workflow

Erstellen Sie einen Workflow mit der HealthOmics Konsole, AWS CLI-Befehlen oder einem der AWS SDKs.

Anmerkung

Nehmen Sie keine persönlich identifizierbaren Informationen (PII) in Workflow-Namen auf. Diese Namen sind in CloudWatch Protokollen sichtbar.

Wenn Sie einen Workflow erstellen, HealthOmics weist er dem Workflow einen Universally Unique Identifier (UUID) zu. Die Workflow-UUID ist eine GUID (Globally Unique Identifier), die für alle Workflows und Workflow-Versionen eindeutig ist. Aus Gründen der Datenherkunft empfehlen wir, die Workflow-UUID zu verwenden, um Workflows eindeutig zu identifizieren.

Wenn Ihre Workflow-Aufgaben externe Tools (ausführbare Dateien, Bibliotheken oder Skripts) verwenden, bauen Sie diese Tools in ein Container-Image ein. Sie haben die folgenden Optionen für das Hosten des Container-Images:

  • Hosten Sie das Container-Image in der privaten ECR-Registrierung. Voraussetzungen für diese Option:

    • Erstellen Sie ein privates ECR-Repository oder wählen Sie ein vorhandenes Repository aus.

    • Konfigurieren Sie die ECR-Ressourcenrichtlinie wie unter beschrieben. Amazon-ECR-Berechtigungen

    • Laden Sie Ihr Container-Image in das private Repository hoch.

  • Synchronisieren Sie das Container-Image mit dem Inhalt einer unterstützten Registrierung eines Drittanbieters. Voraussetzungen für diese Option:

    • Konfigurieren Sie in der privaten ECR-Registrierung eine Pull-Through-Cache-Regel für jede Upstream-Registrierung. Weitere Informationen finden Sie unter Bildzuordnungen .

    • Konfigurieren Sie die ECR-Ressourcenrichtlinie wie unter beschrieben. Amazon-ECR-Berechtigungen

    • Erstellen Sie Vorlagen für die Repository-Erstellung. Die Vorlage definiert Einstellungen für den Zeitpunkt, zu dem Amazon ECR das private Repository für eine Upstream-Registrierung erstellt.

    • Erstellen Sie Präfixzuordnungen, um Container-Image-Referenzen in der Workflow-Definition den ECR-Cache-Namespaces neu zuzuordnen.

Wenn Sie einen Workflow erstellen, geben Sie eine Workflow-Definition an, die Informationen über den Workflow, die Ausführungen und die Aufgaben enthält. HealthOmics kann die Workflow-Definition als lokal oder in einem Amazon S3 S3-Bucket gespeichertes ZIP-Archiv oder aus einem unterstützten Git-basierten Repository abrufen.

Einen Workflow mithilfe der Konsole erstellen

Schritte zum Erstellen eines Workflows
  1. Öffnen Sie die HealthOmics -Konsole.

  2. Öffnen Sie bei Bedarf den linken Navigationsbereich (±1). Wählen Sie Private Workflows aus.

  3. Wählen Sie auf der Seite Private Workflows die Option Workflow erstellen aus.

  4. Geben Sie auf der Seite Workflow definieren die folgenden Informationen ein:

    1. Workflow-Name: Ein eindeutiger Name für diesen Workflow. Wir empfehlen, Workflow-Namen festzulegen, um Ihre Läufe in der AWS HealthOmics Konsole und in den CloudWatch Protokollen zu organisieren.

    2. Beschreibung (optional): Eine Beschreibung dieses Workflows.

  5. Geben Sie im Bereich Workflow-Definition die folgenden Informationen ein:

    1. Workflow-Sprache (optional): Wählen Sie die Spezifikationssprache des Workflows aus. Andernfalls HealthOmics bestimmt die Sprache anhand der Workflow-Definition.

    2. Wählen Sie unter Workflow-Definitionsquelle, ob Sie den Definitionsordner aus einem Git-basierten Repository, einem Amazon S3 S3-Speicherort oder von einem lokalen Laufwerk importieren möchten.

      1. Für den Import aus einem Repository-Service:

        Anmerkung

        HealthOmics unterstützt öffentliche und private Repositorys fürGitHub,GitLab,, BitbucketGitHub self-managed,GitLab self-managed.

        1. Wählen Sie eine Verbindung, um Ihre AWS Ressourcen mit dem externen Repository zu verbinden. Informationen zum Herstellen einer Verbindung finden Sie unterConnect mit externen Code-Repositorys her.

          Anmerkung

          Kunden in der TLV Region müssen eine Verbindung in der Region IAD (us-east-1) herstellen, um einen Workflow zu erstellen.

        2. Geben Sie unter Vollständige Repository-ID Ihre Repository-ID als Benutzername/Repository-Name ein. Stellen Sie sicher, dass Sie Zugriff auf die Dateien in diesem Repository haben.

        3. Geben Sie im Feld Quellverweis (optional) eine Repository-Quellenreferenz ein (Branch-, Tag- oder Commit-ID). HealthOmics verwendet den Standardzweig, wenn kein Quellverweis angegeben ist.

        4. Geben Sie im Feld Dateimuster ausschließen die Dateimuster ein, um bestimmte Ordner, Dateien oder Erweiterungen auszuschließen. Dies hilft bei der Verwaltung der Datengröße beim Import von Repository-Dateien. Es gibt maximal 50 Muster, und die Muster müssen der Glob-Pattern-Syntax folgen. Zum Beispiel:

          1. tests/

          2. *.jpeg

          3. large_data.zip

      2. Für Select Definition Folder aus S3:

        1. Geben Sie den Amazon S3 S3-Speicherort ein, der den komprimierten Workflow-Definitionsordner enthält. Der Amazon S3 S3-Bucket muss sich in derselben Region wie der Workflow befinden.

        2. Wenn Ihr Konto nicht Eigentümer des Amazon S3 S3-Buckets ist, geben Sie die Konto-ID des Bucket-Besitzers in die AWS Konto-ID des S3-Bucket-Besitzers ein. Diese Informationen sind erforderlich, um die Inhaberschaft des Buckets verifizieren zu HealthOmics können.

      3. Für Wählen Sie den Definitionsordner aus einer lokalen Quelle aus:

        1. Geben Sie den Speicherort des komprimierten Workflow-Definitionsordners auf dem lokalen Laufwerk ein.

    3. Haupt-Workflow-Definitionsdateipfad (optional): Geben Sie den Dateipfad vom komprimierten Workflow-Definitionsordner oder Repository zur main Datei ein. Dieser Parameter ist nicht erforderlich, wenn der Workflow-Definitionsordner nur eine Datei enthält oder wenn die Hauptdatei den Namen „main“ hat.

  6. Wählen Sie im Bereich README-Datei (optional) die Quelle der README-Datei aus und geben Sie die folgenden Informationen ein:

    • Geben Sie für Import aus einem Repository-Service im Feld README-Dateipfad den Pfad zur README-Datei innerhalb des Repositorys ein.

    • Geben Sie unter Datei aus S3 auswählen in der README-Datei in S3 den Amazon S3 S3-URI für die README-Datei ein.

    • Für Datei aus einer lokalen Quelle auswählen: Wählen Sie in README — optional die Option Datei auswählen, um die hochzuladende Markdown-Datei (.md) auszuwählen.

  7. Geben Sie im Bereich „Konfiguration des Standardlaufspeichers“ den Standardspeichertyp und die Kapazität für Läufe an, die diesen Workflow verwenden:

    1. Speichertyp ausführen: Wählen Sie aus, ob statischer oder dynamischer Speicher als Standard für den temporären Laufspeicher verwendet werden soll. Die Standardeinstellung ist statischer Speicher.

    2. Laufspeicherkapazität (optional): Für den statischen Laufspeichertyp können Sie die Standardmenge an Laufspeicher eingeben, die für diesen Workflow erforderlich ist. Der Standardwert für diesen Parameter ist 1200 GiB. Sie können diese Standardwerte überschreiben, wenn Sie einen Lauf starten.

  8. Tags (optional): Sie können diesem Workflow bis zu 50 Tags zuordnen.

  9. Wählen Sie Weiter aus.

  10. Wählen Sie auf der Seite Workflow-Parameter hinzufügen (optional) die Parameterquelle aus:

    1. Bei Aus Workflow-Definitionsdatei analysieren: HealthOmics Analysiert automatisch die Workflow-Parameter aus der Workflow-Definitionsdatei.

    2. Verwenden Sie für Parametervorlage aus dem Git-Repository bereitstellen den Pfad zur Parametervorlagendatei aus Ihrem Repository.

    3. Laden Sie für „JSON-Datei aus lokaler Quelle auswählen“ eine JSON Datei aus einer lokalen Quelle hoch, die die Parameter angibt.

    4. Geben Sie für Workflow-Parameter manuell eingeben die Parameternamen und Beschreibungen manuell ein.

  11. Im Bereich Parametervorschau können Sie die Parameter für diese Workflow-Version überprüfen oder ändern. Wenn Sie die JSON Datei wiederherstellen, gehen alle lokalen Änderungen verloren, die Sie vorgenommen haben.

  12. Wählen Sie Weiter aus.

  13. Auf der Seite zur Neuzuweisung von Container-URI können Sie im Bereich Zuordnungsregeln Regeln für die URI-Zuordnung für Ihren Workflow definieren.

    Wählen Sie für Quelle der Zuordnungsdatei eine der folgenden Optionen aus:

    • Keine — Keine Zuordnungsregeln erforderlich.

    • JSON-Datei aus S3 auswählen — Geben Sie den S3-Speicherort für die Zuordnungsdatei an.

    • JSON-Datei aus einer lokalen Quelle auswählen — Geben Sie den Speicherort der Mapping-Datei auf Ihrem lokalen Gerät an.

    • Zuordnungen manuell eingeben — Geben Sie die Registry- und Image-Zuordnungen im Bereich „Zuordnungen“ ein.

  14. In der Konsole wird der Bereich „Zuordnungen“ angezeigt. Wenn Sie eine Mapping-Quelldatei ausgewählt haben, zeigt die Konsole die Werte aus der Datei an.

    1. In Registrierungszuordnungen können Sie die Zuordnungen bearbeiten oder Zuordnungen hinzufügen (maximal 20 Registrierungszuordnungen).

      Jede Registrierungszuweisung enthält die folgenden Felder:

      • Upstream-Registrierungs-URL — Die URI der Upstream-Registrierung.

      • ECR-Repository-Präfix — Das Repository-Präfix, das im privaten Amazon ECR-Repository verwendet werden soll.

      • (Optional) Upstream-Repository-Präfix — Das Präfix des Repositorys in der Upstream-Registrierung.

      • (Optional) ECR-Konto-ID — Konto-ID des Kontos, dem das Upstream-Container-Image gehört.

    2. In Image-Zuordnungen können Sie die Image-Zuordnungen bearbeiten oder Zuordnungen hinzufügen (maximal 100 Image-Zuordnungen).

      Jede Image-Zuordnung enthält die folgenden Felder:

      • Quellbild — Gibt den URI des Quellbilds in der Upstream-Registrierung an.

      • Zielbild — Gibt den URI des entsprechenden Images in der privaten Amazon ECR-Registrierung an.

  15. Wählen Sie Weiter aus.

  16. Überprüfen Sie die Workflow-Konfiguration und wählen Sie dann Workflow erstellen.

Einen Workflow mit der CLI erstellen

Wenn sich Ihre Workflow-Dateien und die Parameter-Vorlagendatei auf Ihrem lokalen Computer befinden, können Sie mit dem folgenden CLI-Befehl einen Workflow erstellen.

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

Der create-workflow Vorgang gibt die folgende Antwort zurück:

{ "arn": "arn:aws:omics:us-west-2:....", "id": "1234567", "status": "CREATING", "tags": { "resourceArn": "arn:aws:omics:us-west-2:...." }, "uuid": "64c9a39e-8302-cc45-0262-2ea7116d854f" }

Optionale Parameter, die beim Erstellen eines Workflows verwendet werden können

Sie können jeden der optionalen Parameter angeben, wenn Sie einen Workflow erstellen. Einzelheiten zur Syntax finden Sie CreateWorkflowin der HealthOmics AWS-API-Referenz.

Geben Sie den Amazon S3 S3-Speicherort der Workflow-Definition an

Wenn sich Ihre Workflow-Definitionsdatei in einem Amazon S3 S3-Ordner befindet, geben Sie den Speicherort mithilfe des definition-uri Parameters an, wie im folgenden Beispiel gezeigt. Wenn Ihr Konto nicht Eigentümer des Amazon S3 S3-Buckets ist, geben Sie die AWS-Konto ID des Besitzers an.

aws omics create-workflow \ --name Test \ --definition-uri s3://omics-bucket/workflow-definition/ \ --owner-id 123456789012 ...

Verwenden Sie die Workflow-Definition aus einem Git-basierten Repository

Um die Workflow-Definition aus einem unterstützten Git-basierten Repository zu verwenden, verwenden Sie den definition-repository Parameter in Ihrer Anfrage. Geben Sie keinen anderen definition Parameter an, da eine Anfrage fehlschlägt, wenn sie mehr als eine Eingabequelle enthält.

Der definition-respository Parameter enthält die folgenden Felder:

  • connectionArn— ARN der Code-Verbindung, die Ihre AWS-Ressourcen mit dem externen Repository verbindet.

  • fullRepositoryId— Geben Sie die Repository-ID als einowner-name/repo-name. Stellen Sie sicher, dass Sie Zugriff auf die Dateien in diesem Repository haben.

  • sourceReference(Optional) — Geben Sie einen Repository-Referenztyp (BRANCH, TAG oder COMMIT) und einen Wert ein.

    HealthOmics verwendet den neuesten Commit für den Standard-Branch, wenn Sie keinen Quellverweis angeben.

  • excludeFilePatterns(Optional) — Geben Sie die Dateimuster ein, um bestimmte Ordner, Dateien oder Erweiterungen auszuschließen. Dies hilft bei der Verwaltung der Datengröße beim Import von Repository-Dateien. Geben Sie maximal 50 Muster an. Die Muster müssen der Glob-Pattern-Syntax folgen. Zum Beispiel:

    • tests/

    • *.jpeg

    • large_data.zip

Wenn Sie die Workflow-Definition aus einem Git-basierten Repository angeben, verwenden Sie diese Option, parameter-template-path um die Parameter-Vorlagendatei anzugeben. Wenn Sie diesen Parameter nicht angeben, HealthOmics wird der Workflow ohne Parametervorlage erstellt.

Das folgende Beispiel zeigt die Parameter, die sich auf Inhalte aus einem Git-basierten privaten Repository beziehen:

aws omics create-workflow \ --name custom-variant \ --description "Custom variant calling pipeline" \ --engine "WDL" \ --definition-repository '{ "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/abcd1234-5678-90ab-cdef-1234567890ab", "fullRepositoryId": "myorg/my-genomics-workflows", "sourceReference": { "type": "BRANCH", "value": "main" }, "excludeFilePatterns": ["tests/**", "*.log"] }' \ --main "workflows/variant-calling/main.wdl" \ --parameter-template-path "parameters/variant-calling-params.json" \ --readme-path "docs/variant-calling-README.md" \ --storage-type "DYNAMIC" \

Weitere Beispiele finden Sie im Blogbeitrag So erstellen Sie HealthOmics AWS-Workflows aus Inhalten in Git.

Geben Sie eine Readme-Datei an

Sie können den Speicherort der README-Datei mit einem der folgenden Parameter angeben:

  • readme-markdown— Zeichenketteneingabe oder eine Datei auf Ihrem lokalen Computer.

  • readme-uri— Die URI einer auf S3 gespeicherten Datei.

  • readme-path — Der Pfad zur README-Datei im Repository.

Verwenden Sie den Readme-Pfad nur in Verbindung mit definition-respository. Wenn Sie keinen README-Parameter angeben, wird die README.md-Datei auf Stammebene in das Repository HealthOmics importiert (falls vorhanden).

Die folgenden Beispiele zeigen, wie der Speicherort der README-Datei mithilfe des Readme-Pfads und der Readme-URI angegeben wird.

# Using README from repository aws omics create-workflow \ --name "documented-workflow" \ --definition-repository '...' \ --readme-path "docs/workflow-guide.md" # Using README from S3 aws omics create-workflow \ --name "s3-readme-workflow" \ --definition-repository '...' \ --readme-uri "s3://my-bucket/workflow-docs/readme.md"

Weitere Informationen finden Sie unter HealthOmics Workflow-README-Dateien.

mainGeben Sie die Definitionsdatei an

Wenn Sie mehrere Workflow-Definitionsdateien einbeziehen, verwenden Sie den main Parameter, um die Hauptdefinitionsdatei für Ihren Workflow anzugeben.

aws omics create-workflow \ --name Test \ --main multi_workflow/workflow2.wdl \ ...

Geben Sie den Speichertyp für die Ausführung an

Sie können den Standard-Laufspeichertyp (DYNAMIC oder STATIC) und die Run-Speicherkapazität (erforderlich für statischen Speicher) angeben. Weitere Hinweise zu Laufspeichertypen finden Sie unterSpeichertypen in HealthOmics Workflows ausführen.

aws omics create-workflow \ --name my_workflow \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json \ --storage-type 'STATIC' \ --storage-capacity 1200 \

Geben Sie die GPU-Konfiguration an

Verwenden Sie den Accelerators-Parameter, um einen Workflow zu erstellen, der auf einer Accelerated-Compute-Instance ausgeführt wird. Das folgende Beispiel zeigt, wie der Parameter verwendet wird. accelerators Sie geben die GPU-Konfiguration in der Workflow-Definition an. Siehe Instanzen für beschleunigte Datenverarbeitung.

aws omics create-workflow --name workflow name \ --definition-uri s3://amzn-s3-demo-bucket1/GPUWorkflow.zip \ --accelerators GPU

Konfigurieren Sie die Parameter für die Zuordnung des Pull-Through-C

Wenn Sie die Amazon ECR Pull-Through-Cache-Zuordnungsfunktion verwenden, können Sie die Standardzuordnungen überschreiben. Weitere Informationen zu den Container-Einrichtungsparametern finden Sie unter. Container-Images für private Workflows

Im folgenden Beispiel mappings.json enthält die Datei diesen Inhalt:

{ "registryMappings": [ { "upstreamRegistryUrl": "registry-1.docker.io", "ecrRepositoryPrefix": "docker-hub" }, { "upstreamRegistryUrl": "quay.io", "ecrRepositoryPrefix": "quay", "accountId": "123412341234" }, { "upstreamRegistryUrl": "public.ecr.aws", "ecrRepositoryPrefix": "ecr-public" } ], "imageMappings": [{ "sourceImage": "docker.io/library/ubuntu:latest", "destinationImage": "healthomics-docker-2/custom/ubuntu:latest", "accountId": "123412341234" }, { "sourceImage": "nvcr.io/nvidia/k8s/dcgm-exporter", "destinationImage": "healthomics-nvidia/k8s/dcgm-exporter" } ] }

Geben Sie die Zuordnungsparameter im Befehl create-workflow an:

aws omics create-workflow \ ... --container-registry-map-file file://mappings.json ...

Sie können auch den S3-Speicherort der Datei mit den Zuordnungsparametern angeben:

aws omics create-workflow \ ... --container-registry-map-uri s3://amzn-s3-demo-bucket1/test.zip ...

Einen Workflow mithilfe eines SDK erstellen

Sie können einen Workflow mit einem der erstellen SDKs. Das folgende Beispiel zeigt, wie ein Workflow mit dem Python-SDK erstellt wird.

import boto3 omics = boto3.client('omics') with open('definition.zip', 'rb') as f: definition = f.read() response = omics.create_workflow( name='my_workflow', definitionZip=definition, parameterTemplate={ ... } )