Commencez une course 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.

Commencez une course HealthOmics

Lorsque vous lancez une exécution, vous spécifiez les ressources HealthOmics allouées à utiliser pendant l'exécution.

Spécifiez le type de stockage d'exécution et la quantité de stockage (pour le stockage statique). Pour garantir l'isolation et la sécurité des données, HealthOmics provisionne le stockage au début de chaque exécution et le déprovisionne à la fin de l'exécution. Pour plus d’informations, consultez Exécuter les types de stockage dans les HealthOmics flux de travail.

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.

Vous pouvez également spécifier 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 un flux de travail comporte une ou plusieurs versions, vous pouvez spécifier une 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.

Lorsque vous utilisez l' HealthOmics API, vous pouvez fournir un identifiant de demande unique pour chaque exécution. L'ID de demande est un jeton d'idempuissance HealthOmics utilisé pour identifier les demandes dupliquées et ne démarre l'exécution qu'une seule fois.

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 course
  1. Ouvrez la HealthOmics console.

  2. Si nécessaire, ouvrez 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 Utilisation de groupes d' HealthOmics exécution.

  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 pour créer et démarrer une exécution.

L'exemple suivant indique l'ID du flux de travail et le rôle de service. 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" }

xx

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 démarrez l'exécution d'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.

xx

Vous pouvez fournir un numéro unique requestId pour chaque course. L'ID de demande est un jeton d'idempuissance HealthOmics utilisé pour identifier les demandes dupliquées et ne démarre l'exécution qu'une seule fois.

Si vous utilisez une infrastructure (telle que des fonctions Lambda ou des fonctions par étapes) pour orchestrer les démarrages, la meilleure pratique consiste à fournir un ID de demande unique pour chaque demande. StartRun Cela garantit que si votre infrastructure effectue une nouvelle tentative (par exemple en cas de restauration suite à des erreurs en amont), elle HealthOmics ne démarrera pas une double exécution.

xx

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'

xx

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

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

Obtenir des informations sur une course

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.