Avvio di 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à.

Avvio di una corsa in HealthOmics

Quando avvii un'esecuzione, puoi impostare il tipo di archiviazione di esecuzione e la quantità di archiviazione (per lo storage statico). Per ulteriori informazioni, consulta Esegui tipi di storage nei flussi HealthOmics di lavoro.

È inoltre possibile impostare la priorità di esecuzione. L'impatto della priorità sulla corsa dipende dal fatto che la corsa sia associata a un gruppo di corse. Per ulteriori informazioni, consulta Priorità di esecuzione.

Se hai creato una o più versioni del flusso di lavoro, puoi specificare la versione all'avvio dell'esecuzione. Se non si specifica una versione, HealthOmics avvia la versione predefinita del flusso 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.

Nota

Quando avvii un'esecuzione, specifichi un ruolo del servizio IAM. 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 avviare un flusso di lavoro, esegui
  1. Apri la HealthOmics console.

  2. Nel riquadro di navigazione a sinistra, scegli Esecuzioni.

  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 Creazione di gruppi di HealthOmics corsa.

  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

Usa l'operazione API start-run con il ruolo IAM e il bucket Amazon S3 che hai creato. Questo esempio imposta la modalità di conservazione su. REMOVE 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" }

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.

È 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'

È possibile sovrascrivere il tipo di archiviazione di esecuzione predefinito, specificato nel flusso di lavoro.

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

Puoi anche utilizzare l'API start-run con un ID di flusso di lavoro GPU, come mostrato.

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 sull'esecuzione di un flusso di lavoro

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

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. È inoltre possibile utilizzare l'ID di esecuzione per rieseguire le esecuzioni del flusso di lavoro utilizzando lo strumento CLI. Scopri di più e scarica lo strumento dal repository Tool. HealthOmics GitHub

Riesecuzione di un'esecuzione del flusso di lavoro

L'esempio seguente mostra come utilizzare lo rerun strumento per eseguire nuovamente un'esecuzione. È necessario l'ID di esecuzione, che è possibile recuperare dai registri. CloudWatch

omics-rerun 9876543 --name workflow name --retention-mode REMOVE

Se l'esecuzione esiste in CloudWatch, riceverai una risposta simile alla seguente.

Original request: { "workflowId": "9679729", "roleArn": "arn:aws:iam::123456789012:role/DemoRole", "name": "sample_rerun", "parameters": { "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/default:latest", "file1": "omics://123456789012.storage.us-west-2.amazonaws.com/8647780323/readSet/6389608538" }, "outputUri": "s3://workflow-output-bcf2fcb1" } StartRun request: { "workflowId": "9679729", "roleArn": "arn:aws:iam::123456789012:role/DemoRole", "name": "new test", "parameters": { "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/default:latest", "file1": "omics://123456789012.storage.us-west-2.amazonaws.com/8647780323/readSet/6389608538" }, "outputUri": "s3://workflow-output-bcf2fcb1" } StartRun response: { "arn": "arn:aws:omics:us-west-2:123456789012:run/9171779", "id": "9171779", "status": "PENDING", "tags": {} }

Se il flusso di lavoro non esiste più, viene visualizzato un messaggio di errore.