Inizia una corsa in HealthOmics - AWS HealthOmics

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Inizia una corsa in HealthOmics

Quando avvii un'esecuzione, specifichi le risorse da HealthOmics allocare per l'uso durante l'esecuzione.

Specificare il tipo di archiviazione di esecuzione e la quantità di archiviazione (per l'archiviazione statica). Per garantire l'isolamento e la sicurezza dei dati, HealthOmics effettua il provisioning dello storage all'inizio di ogni esecuzione e lo disattiva alla fine dell'esecuzione. Per ulteriori informazioni, consulta Esegui tipi di storage nei flussi HealthOmics di lavoro.

Specificare una posizione Amazon S3 per i file di output. Se esegui contemporaneamente un volume elevato di flussi di lavoro, utilizza un URIs output Amazon S3 separato per ogni flusso di lavoro per evitare il bucket throttling. Per ulteriori informazioni, consulta Organization object using prefixes nella Amazon S3 User Guide e Scalare orizzontalmente le connessioni di storage nel white paper Optimizing Amazon S3 Performance.

Puoi anche specificare la priorità di esecuzione. L'impatto della priorità sulla corsa dipende dal fatto che la corsa sia associata a un gruppo di esecuzioni. Per ulteriori informazioni, consulta Priorità di esecuzione.

Se un flusso di lavoro ha una o più versioni, puoi specificare una versione all'avvio dell'esecuzione. Se non si specifica una versione, HealthOmics avvia la versione predefinita del flusso di lavoro.

Quando si utilizza l' HealthOmics API, è possibile fornire un ID di richiesta univoco per ogni esecuzione. L'ID della richiesta è un token di idempotenza che viene HealthOmics utilizzato per identificare le richieste duplicate e avvia l'esecuzione una sola volta.

Nota

Si specifica un ruolo del servizio IAM quando si avvia un'esecuzione. Facoltativamente, la console può creare il ruolo di servizio per te. Per ulteriori informazioni, consulta Ruoli di servizio per AWS HealthOmics.

HealthOmics parametri di esecuzione

Quando si avvia un'esecuzione, si specificano gli input di esecuzione nel file JSON dei parametri di esecuzione oppure è possibile immettere i valori dei parametri in linea. Per informazioni sulla gestione delle dimensioni del file JSON dei parametri di esecuzione, vedere. Gestione delle dimensioni dei parametri di esecuzione

HealthOmics supporta i seguenti tipi JSON per i valori dei parametri.

tipo JSON Chiave e valore di esempio Note
booleano «b»: vero Il valore non è tra virgolette ed è tutto in minuscolo.
integer «i»: 7 Il valore non è tra virgolette.
number «f»: 42,3 Il valore non è tra virgolette.
string «s» :"caratteri» Il valore è tra virgolette. Usa il tipo di stringa per i valori di testo e URIs. La destinazione URI deve essere il tipo di input previsto.
array «a»: [1,2,3] Il valore non è tra virgolette. Ciascun membro dell'array deve avere il tipo definito dal parametro di input.
oggetto «o»: {"left» :"a», «right» :1} In WDL, gli oggetti vengono mappati su WDL Pair, Map o Struct

Avvio di una corsa utilizzando la console

Per iniziare una corsa
  1. Apri la HealthOmics console.

  2. Se necessario, apri il pannello di navigazione a sinistra (≡). Scegli Runs.

  3. Nella pagina Esecuzioni, scegli Avvia esecuzione.

  4. Nel pannello dei dettagli dell'esecuzione, fornisci le seguenti informazioni

    • Fonte del flusso di lavoro: scegli Flusso di lavoro proprietario o Flusso di lavoro condiviso.

    • ID del flusso di lavoro: l'ID del flusso di lavoro associato a questa esecuzione.

    • Versione del flusso di lavoro (opzionale): seleziona una versione del flusso di lavoro da utilizzare per questa esecuzione. Se non si seleziona una versione, l'esecuzione utilizza la versione predefinita del flusso di lavoro.

    • Nome dell'esecuzione: un nome distintivo per questa esecuzione.

    • Priorità di esecuzione (facoltativa): la priorità di questa esecuzione. I numeri più alti indicano una priorità più alta e le attività con la priorità più alta vengono eseguite per prime.

    • Esegui tipo di archiviazione: specifica qui il tipo di archiviazione per sostituire il tipo di archiviazione di esecuzione predefinito specificato per il flusso di lavoro. Lo storage statico alloca una quantità fissa di spazio di archiviazione per l'esecuzione. Lo storage dinamico è scalabile verso l'alto e verso il basso in base alle esigenze di ogni attività in esecuzione.

    • Run storage: per lo storage di esecuzione statico, specifica la quantità di storage necessaria per l'esecuzione. Questa voce sostituisce la quantità di storage di esecuzione predefinita specificata per il flusso di lavoro.

    • Seleziona la destinazione di output S3: la posizione S3 in cui verranno salvati gli output di esecuzione.

    • ID dell'account del proprietario del bucket di output (opzionale): se il tuo account non possiede il bucket di output, inserisci l'ID del proprietario del bucket. Account AWS Queste informazioni sono necessarie per HealthOmics verificare la proprietà del bucket.

    • Esegui la modalità di conservazione dei metadati: scegli se conservare i metadati per tutte le esecuzioni o se fare in modo che il sistema rimuova i metadati di esecuzione più vecchi quando l'account raggiunge il numero massimo di esecuzioni. Per ulteriori informazioni, consulta Esegui la modalità di conservazione per le HealthOmics esecuzioni.

  5. In Ruolo di servizio, puoi utilizzare un ruolo di servizio esistente o crearne uno nuovo.

  6. (Facoltativo) Per i tag, puoi assegnare fino a 50 tag alla corsa.

  7. Scegli Next (Successivo).

  8. Nella pagina Aggiungi valori dei parametri, fornisci i parametri di esecuzione. Puoi caricare un file JSON che specifica i parametri o inserire manualmente i valori.

  9. Scegli Next (Successivo).

  10. Nel pannello Esegui gruppo, puoi facoltativamente specificare un gruppo di esecuzione per questa esecuzione. Per ulteriori informazioni, consulta Utilizzo dei gruppi di HealthOmics esecuzione.

  11. Nel pannello Esegui cache, puoi facoltativamente specificare una cache di esecuzione per questa esecuzione. Per ulteriori informazioni, consulta Configurazione di un run with run cache utilizzando la console.

  12. Selezionare Review and start run (Verifica e avvia sessione).

  13. Dopo aver esaminato la configurazione di esecuzione, scegliete Avvia esecuzione.

Avvio di un'esecuzione utilizzando l'API

Utilizza l'operazione API start-run per creare e avviare un'esecuzione.

L'esempio seguente specifica l'ID del flusso di lavoro e il ruolo del servizio. Questo esempio imposta la modalità di conservazione suREMOVE. Per ulteriori informazioni sulla modalità di conservazione, vedereEsegui la modalità di conservazione per le HealthOmics esecuzioni.

aws omics start-run --workflow-id workflow id \ --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \ --name workflow name \ --retention-mode REMOVE

In risposta, si ottiene il seguente risultato. uuidÈ unico per l'esecuzione e outputUri può essere utilizzato insieme per tenere traccia di dove vengono scritti i dati di output.

{ "arn": "arn:aws:omics:us-west-2:....:run/1234567", "id": "123456789", "uuid":"96c57683-74bf-9d6d-ae7e-f09b097db14a", "outputUri":"s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a" "status": "PENDING" }

xx

Se il modello di parametri per un flusso di lavoro dichiara i parametri richiesti, è possibile fornire un file JSON locale degli input quando si avvia l'esecuzione di un flusso di lavoro. Il file JSON contiene il nome esatto di ogni parametro di input e un valore per il parametro.

Fai riferimento al file JSON di input in AWS CLI aggiungendolo --parameters file://<input_file.json> alla tua start-run richiesta. Per ulteriori informazioni sui parametri di esecuzione, vedereHealthOmics esegui ingressi.

xx

Puoi fornire un codice univoco requestId per ogni corsa. L'ID della richiesta è un token di idempotenza che viene HealthOmics utilizzato per identificare le richieste duplicate e avvia l'esecuzione una sola volta.

Se si utilizza l'infrastruttura (come le funzioni Lambda o le funzioni step) per orchestrare gli avvii di esecuzione, è consigliabile fornire un ID di richiesta univoco in ogni richiesta. StartRun Ciò garantisce che se l'infrastruttura esegue un nuovo tentativo (ad esempio il ripristino da errori upstream), HealthOmics non avvii un'esecuzione duplicata.

xx

È possibile specificare una versione del flusso di lavoro per l'esecuzione.

aws omics start-run --workflow-id workflow id \ ... --workflow-version-name '1.2.1'

xx

È possibile sovrascrivere il tipo di run storage predefinito, specificato nel flusso di lavoro.

aws omics start-run --workflow-id workflow id \ ... --storage-type STATIC --storage-capacity 2400

xx

aws omics start-run --workflow-id workflow id \ --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \ --name GPUTestRunModel \ --output-uri s3://amzn-s3-demo-bucket1

Ottieni informazioni su una corsa

Puoi utilizzare l'ID nella risposta con l'API get-run per verificare lo stato di un'esecuzione, come mostrato.

aws omics get-run --id run id

La risposta di questa operazione API indica lo stato dell'esecuzione del flusso di lavoro. Gli stati possibili sonoPENDING, STARTINGRUNNING, eCOMPLETED. Quando c'è un'esecuzioneCOMPLETED, puoi trovare un file di output chiamato outfile.txt nel tuo bucket Amazon S3 di output, in una cartella che prende il nome dall'ID di esecuzione.

L'operazione API get-run restituisce anche altri dettagli, ad esempio se il flusso di lavoro è Ready2Run oPRIVATE, il motore del flusso di lavoro e i dettagli dell'acceleratore. L'esempio seguente mostra la risposta per get-run for a run di un workflow privato, descritta in WDL con un acceleratore GPU e nessun tag assegnato all'esecuzione.

{ "arn": "arn:aws:omics:us-west-2:123456789012:run/7830534", "id": "7830534", "uuid":"96c57683-74bf-9d6d-ae7e-f09b097db14a", "outputUri":"s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a" "status": "COMPLETED", "workflowId": "4074992", "workflowType": "PRIVATE", "workflowVersionName": "3.0.0", "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsWorkflow-20221004T164236", "name": "RunGroupMaxGpuTest", "runGroupId": "9938959", "digest": "sha256:a23a6fc54040d36784206234c02147302ab8658bed89860a86976048f6cad5ac", "accelerators": "GPU", "outputUri": "s3://amzn-s3-demo-bucket1", "startedBy": "arn:aws:sts::123456789012:assumed-role/Admin/<role_name>", "creationTime": "2023-04-07T16:44:22.262471+00:00", "startTime": "2023-04-07T16:56:12.504000+00:00", "stopTime": "2023-04-07T17:22:29.908813+00:00", "tags": {} }

È possibile visualizzare lo stato di tutte le esecuzioni con l'operazione API list-runs, come illustrato.

aws omics list-runs

Per visualizzare tutte le attività completate per un'esecuzione specifica, utilizza l'list-run-tasksAPI.

aws omics list-run-tasks --id task ID

Per ottenere i dettagli di un'attività specifica, utilizza l' get-run-taskAPI.

aws omics get-run-task --id <run_id> --task-id task ID

Al termine dell'esecuzione, i metadati vengono inviati a CloudWatch under the stream. manifest/run/<run ID>/<run UUID>

Di seguito è riportato un esempio del manifesto.

{ "arn": "arn:aws:omics:us-east-1:123456789012:run/1695324", "creationTime": "2022-08-24T19:53:55.284Z", "resourceDigests": { "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.dict": "etag:3884c62eb0e53fa92459ed9bff133ae6", "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta": "etag:e307d81c605fb91b7720a08f00276842-388", "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai": "etag:f76371b113734a56cde236bc0372de0a", "s3://omics-data/intervals/hg38-mjs-whole-chr.500M.intervals": "etag:27fdd1341246896721ec49a46a575334", "s3://omics-data/workflow-input-lists/dragen-gvcf-list.txt": "etag:e22f5aeed0b350a66696d8ffae453227" }, "digest": "sha256:a5baaff84dd54085eb03f78766b0a367e93439486bc3f67de42bb38b93304964", "engine": "WDL", "main": "gatk4-basic-joint-genotyping-v2.wdl", "name": "1044-gvcfs", "outputUri": "s3://omics-data/workflow-output", "parameters": { "callset_name": "cohort", "input_gvcf_uris": "s3://omics-data/workflow-input-lists/dragen-gvcf-list.txt", "interval_list": "s3://omics-data/intervals/hg38-mjs-whole-chr.500M.intervals", "ref_dict": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.dict", "ref_fasta": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta", "ref_fasta_index": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai" }, "roleArn": "arn:aws:iam::123456789012:role/OmicsServiceRole", "startedBy": "arn:aws:sts::123456789012:assumed-role/admin/ahenroid-Isengard", "startTime": "2022-08-24T20:08:22.582Z", "status": "COMPLETED", "stopTime": "2022-08-24T20:08:22.582Z", "storageCapacity": 9600, "uuid": "a3b0ca7e-9597-4ecc-94a4-6ed45481aeab", "workflow": "arn:aws:omics:us-east-1:123456789012:workflow/1558364", "workflowType": "PRIVATE" }, { "arn": "arn:aws:omics:us-east-1:123456789012:task/1245938", "cpus": 16, "creationTime": "2022-08-24T20:06:32.971290", "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/gatk", "imageDigest": "sha256:8051adab0ff725e7e9c2af5997680346f3c3799b2df3785dd51d4abdd3da747b", "memory": 32, "name": "geno-123", "run": "arn:aws:omics:us-east-1:123456789012:run/1695324", "startTime": "2022-08-24T20:08:22.278Z", "status": "SUCCESS", "stopTime": "2022-08-24T20:08:22.278Z", "uuid": "44c1a30a-4eee-426d-88ea-1af403858f76" }, ...

I metadati di esecuzione non vengono eliminati se non sono presenti nei CloudWatch registri.