Commencer un run in HealthOmics - AWS HealthOmics

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Commencer un run in HealthOmics

Lorsque vous lancez une exécution, vous pouvez définir le type de stockage d'exécution et la quantité de stockage (pour le stockage statique). Pour plus d’informations, consultez Exécuter les types de stockage dans les HealthOmics flux de travail.

Vous définissez également la priorité d'exécution. L'impact de la priorité sur l'exécution dépend du fait que l'exécution est associée ou non à un groupe d'exécution. Pour plus d’informations, consultez Priorité d'exécution.

Si vous avez créé une ou plusieurs versions de flux de travail, vous pouvez spécifier la version lorsque vous démarrez l'exécution. Si vous ne spécifiez aucune version, HealthOmics démarre la version du flux de travail par défaut.

Spécifiez un emplacement Amazon S3 pour les fichiers de sortie. Si vous exécutez un grand nombre de flux de travail simultanément, utilisez une sortie Amazon S3 distincte URIs pour chaque flux de travail afin d'éviter la limitation des compartiments. Pour plus d'informations, consultez Organiser les objets à l'aide de préfixes dans le guide de l'utilisateur Amazon S3 et Scale Storage Connections horizontalement dans le livre blanc sur l'optimisation des performances d'Amazon S3.

Note

Vous spécifiez un rôle de service IAM lorsque vous lancez une exécution. La console peut éventuellement créer le rôle de service pour vous. Pour de plus amples informations, veuillez consulter Rôles de service pour AWS HealthOmics.

HealthOmics paramètres d'exécution

Lorsque vous lancez une exécution, vous spécifiez les entrées d'exécution dans le fichier JSON des paramètres d'exécution ou vous pouvez saisir les valeurs des paramètres en ligne. Pour plus d'informations sur la gestion de la taille du fichier JSON des paramètres d'exécution, consultezGestion de la taille des paramètres d'exécution.

HealthOmics prend en charge les types JSON suivants pour les valeurs de paramètres.

Type JSON Exemple de clé et de valeur Remarques
boolean « b » : vrai La valeur n'est pas entre guillemets, elle est entièrement en minuscules.
entier « i » :7 La valeur n'est pas entre guillemets.
nombre « f » :42,3 La valeur n'est pas entre guillemets.
chaîne « s » ="caractères » La valeur est entre guillemets. Utilisez le type chaîne pour les valeurs de texte et URIs. L'URI cible doit être le type d'entrée attendu.
array « a » : [1,2,3] La valeur n'est pas entre guillemets. Les membres du tableau doivent chacun avoir le type défini par le paramètre d'entrée.
objet « o » : {"gauche » « a », « droite » :1} Dans WDL, l'objet correspond à une paire, une carte ou une structure WDL

Lancer une course à l'aide de la console

Pour démarrer une exécution de flux de travail
  1. Ouvrez la HealthOmics console.

  2. Dans le volet de navigation de gauche, choisissez Runs.

  3. Sur la page Exécutions, choisissez Démarrer l'exécution.

  4. Dans le panneau Détails de l'exécution, fournissez les informations suivantes

    • Source du flux de travail : choisissez un flux de travail propriétaire ou un flux de travail partagé.

    • ID de flux de travail : ID de flux de travail associé à cette exécution.

    • Version du flux de travail (facultatif) - Sélectionnez la version du flux de travail à utiliser pour cette exécution. Si vous ne sélectionnez aucune version, l'exécution utilise la version par défaut du flux de travail.

    • Nom de l'exécution : nom distinctif de cette exécution.

    • Priorité d'exécution (facultatif) : priorité de cette exécution. Les nombres les plus élevés indiquent une priorité plus élevée, et les tâches les plus prioritaires sont exécutées en premier.

    • Type de stockage d'exécution : spécifiez le type de stockage ici pour remplacer le type de stockage d'exécution par défaut spécifié pour le flux de travail. Le stockage statique alloue une quantité fixe de stockage pour l'exécution. Le stockage dynamique évolue à la hausse ou à la baisse en fonction des besoins de chaque tâche en cours d'exécution.

    • Capacité de stockage d'exécution : pour le stockage statique, spécifiez la quantité de stockage nécessaire pour l'exécution. Cette entrée remplace la quantité de stockage d'exécution par défaut spécifiée pour le flux de travail.

    • Sélectionnez la destination de sortie S3 : emplacement S3 où les sorties d'exécution seront enregistrées.

    • ID de compte du propriétaire du bucket de sortie (facultatif) - Si votre compte ne possède pas le bucket de sortie, entrez l' Compte AWS ID du propriétaire du bucket. Ces informations sont nécessaires pour vérifier HealthOmics la propriété du compartiment.

    • Mode de conservation des métadonnées d'exécution : choisissez de conserver les métadonnées pour toutes les exécutions ou de demander au système de supprimer les métadonnées d'exécution les plus anciennes lorsque votre compte atteint le nombre maximum d'exécutions. Pour de plus amples informations, veuillez consulter Exécuter le mode de rétention pour les HealthOmics courses.

  5. Sous Rôle de service, vous pouvez utiliser un rôle de service existant ou en créer un nouveau.

  6. (Facultatif) Pour les balises, vous pouvez attribuer jusqu'à 50 balises à exécuter.

  7. Choisissez Suivant.

  8. Sur la page Ajouter des valeurs de paramètres, indiquez les paramètres d'exécution. Vous pouvez soit télécharger un fichier JSON qui spécifie les paramètres, soit saisir les valeurs manuellement.

  9. Choisissez Suivant.

  10. Dans le panneau Exécuter un groupe, vous pouvez éventuellement spécifier un groupe d'exécution pour cette exécution. Pour de plus amples informations, veuillez consulter Création de groupes de HealthOmics course.

  11. Dans le panneau Exécuter le cache, vous pouvez éventuellement spécifier un cache d'exécution pour cette exécution. Pour de plus amples informations, veuillez consulter Configuration d'une exécution avec cache d'exécution à l'aide de la console.

  12. Choisissez Review and start run (Vérifier et démarrer l'exécution).

  13. Après avoir examiné la configuration d'exécution, choisissez Démarrer l'exécution.

Démarrer une course à l'aide de l'API

Utilisez l'opération d'API Start-Run avec le rôle IAM et le compartiment Amazon S3 que vous avez créés. Cet exemple définit le mode de rétention surREMOVE. Pour plus d'informations sur le mode de rétention, consultezExécuter le mode de rétention pour les HealthOmics courses.

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

En réponse, vous obtenez le résultat suivant. Le uuid est propre à l'exécution et outputUri peut également être utilisé pour suivre l'endroit où les données de sortie sont écrites.

{ "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" }

Si le modèle de paramètres d'un flux de travail déclare des paramètres obligatoires, vous pouvez fournir un fichier JSON local contenant les entrées lorsque vous lancez un flux de travail. Le fichier JSON contient le nom exact de chaque paramètre d'entrée et une valeur pour le paramètre.

Référencez le fichier JSON d'entrée dans le en l' AWS CLI ajoutant --parameters file://<input_file.json> à votre start-run demande. Pour plus d'informations sur les paramètres d'exécution, consultezHealthOmics exécuter les entrées.

Vous pouvez spécifier une version du flux de travail pour l'exécution.

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

Vous pouvez remplacer le type de stockage d'exécution par défaut, qui est spécifié dans le flux de travail.

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

Vous pouvez également utiliser l'API Start-Run avec un ID de flux de travail GPU, comme indiqué.

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

Obtenir des informations sur l'exécution d'un flux de travail

Vous pouvez utiliser l'ID dans la réponse avec l'API get-run pour vérifier l'état d'une exécution, comme indiqué.

aws omics get-run --id run id

La réponse de cette opération d'API vous indique l'état du flux de travail exécuté. Les statuts possibles sontPENDING, STARTINGRUNNING, et. COMPLETED Lorsqu'il s'agit d'une exécutionCOMPLETED, vous pouvez trouver un fichier de sortie appelé outfile.txt dans votre compartiment de sortie Amazon S3, dans un dossier nommé d'après l'ID d'exécution.

L'opération d'API get-run renvoie également d'autres informations, telles que la question de savoir si le flux de travail est Ready2Run ouPRIVATE, le moteur du flux de travail et les détails de l'accélérateur. L'exemple suivant montre la réponse de get-run pour l'exécution d'un flux de travail privé, décrite dans WDL avec un accélérateur GPU et aucune balise n'étant attribuée à l'exécution.

{ "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": {} }

Vous pouvez voir l'état de toutes les exécutions avec l'opération d'API list-runs, comme indiqué.

aws omics list-runs

Pour voir toutes les tâches effectuées pour une exécution spécifique, utilisez l'list-run-tasksAPI.

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

Pour obtenir les détails d'une tâche spécifique, utilisez l' get-run-taskAPI.

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

Une fois l'exécution terminée, les métadonnées sont envoyées CloudWatch sous le fluxmanifest/run/<run ID>/<run UUID>.

Voici un exemple de manifeste.

{ "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" }, ...

Les métadonnées d'exécution ne sont pas supprimées si elles ne figurent pas dans les CloudWatch journaux. Vous pouvez également utiliser l'ID d'exécution pour réexécuter des exécutions de flux de travail à l'aide de l'outil CLI. Apprenez-en plus et téléchargez l'outil depuis le GitHub référentiel d'HealthOmicsoutils.

Réexécution d'une exécution de flux de travail

L'exemple suivant montre comment utiliser l'rerunoutil pour réexécuter une exécution. Vous avez besoin de l'identifiant d'exécution, que vous pouvez récupérer dans les CloudWatch journaux.

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

Si la course existe dans CloudWatch, vous recevez une réponse similaire à la suivante.

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": {} }

Si le flux de travail n'existe plus, vous recevez un message d'erreur.