View a markdown version of this page

Emballer et fournir un HealthOmics définition du flux de travail - 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.

Emballer et fournir un HealthOmics définition du flux de travail

Lorsque vous créez un flux de travail ou une version de flux de travail, vous fournissez la définition à partir d'une seule source : une archive ZIP que vous envoyez avec la demande, une archive ZIP dans Amazon S3 ou Git-based référentiel. Une demande qui inclut plusieurs sources de définition échoue. Les paramètres de cette rubrique s'appliquent à la fois au CreateWorkflow et CreateWorkflowVersion opérations. Pour les procédures complètes, voir Créez un flux de travail privé et Création d'une version du flux de travail.

Note

HealthOmics affiche certaines définitions de flux de travail lorsque vous créez un flux de travail. Pour savoir quels moteurs sont concernés, si les résultats bloquent le flux de travail et comment les lire, voir Les liens du flux de travail s'insèrent HealthOmics.

Choisissez une source de définition de flux de travail

Utilisez cette source Paramètre d'API Taille maximum AWS CLI drapeau
Une archive ZIP sur votre machine locale. definitionZip 4,4 MO --definition-zip fileb://my-definition.zip
Une archive ZIP dans un compartiment Amazon S3. Le seau doit être dans le même AWS La région comme flux de travail. definitionUri 100 Mo --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip
Un soutenu Git-based référentiel, via un AWS CodeConnections connexion. definitionRepository Dépôt de 1 Gio, 100 Mo par fichier --definition-repository avec une valeur JSON

Considérations supplémentaires :

Mise en page de l'archive ZIP et fichier de définition principal

Incluez tous les fichiers importés par la définition principale, tels que les sous-flux de travail, nextflow.config, et tout bin scripts.

Un fichier de définition est un fichier dont l'extension correspond à un moteur pris en charge, tel que .wdl, .nf, ou .cwl. Si vous omettez main, HealthOmics le choisit parmi les fichiers de définition les plus proches de la racine de l'archive. Il ignore les fichiers et dossiers cachés, ainsi que les fichiers de définition situés plus en profondeur dans l'archive. La sélection automatique nécessite également un seul moteur, soit parce que l'archive contient les fichiers de définition d'un moteur, soit parce que vous définissez engine. Parmi les fichiers au niveau le plus proche :

  • S'il existe exactement un fichier de définition, HealthOmics l'utilise, quel que soit son nom.

  • S'il y en a plusieurs, HealthOmics utilise celui nommé main.wdl, main.nf, ou main.cwl.

Dans deux cas HealthOmics Impossible de résoudre l'archive. La demande elle-même aboutit et le flux de travail ou la version du flux de travail démarre dans CREATING, mais passe ensuite à FAILED, et son message d'état en indique la raison :

  • Zip file contains multiple workflow definition types — l'archive contient les fichiers de définition de plusieurs moteurs que vous n'avez pas définis engine. Cela s'applique que vous définissiez ou non main. Set engine, ou supprimez les fichiers de l'autre moteur. HealthOmics indique cette raison en premier lorsque les deux cas s'appliquent.

  • Zip file contains multiple top-level workflow definition files — tu as omis main, plusieurs fichiers de définition se trouvent au niveau le plus proche, et aucun d'entre eux n'est nommé main.wdl, main.nf, ou main.cwl. Set main sur le chemin de celui que vous voulez.

Pour choisir vous-même le fichier de définition principal, définissez main (--main) vers son chemin, par rapport à la racine de l'archive. Le chemin peut comporter jusqu'à 128 caractères.

Par exemple, pour une archive dont le fichier de définition principal est workflow-definition/main-file.wdl:

--main workflow-definition/main-file.wdl

Set engine (--engine) pour nommer vous-même le moteur, soit pour résoudre une archive contenant plusieurs fichiers de définition de moteurs, soit pour utiliser le moteur WDL indulgent.

Envisagez un dossier de flux de travail sur votre machine locale avec la disposition suivante :

my-workflow/ main.wdl tasks/align.wdl tasks/call-variants.wdl

Créez l'archive à partir de ce dossier, de sorte que main.wdl et le tasks dossier situé à la racine de l'archive. La commande suivante permet également d'ajouter des fichiers et des dossiers cachés, tels qu'un .git dossier dans un référentiel cloné. Ils sont pris en compte dans la taille de la définition, alors excluez ceux dont vous n'avez pas besoin, par exemple avec -x '.*' -x '*/.*':

cd my-workflow zip -r ../my-definition.zip . cd ..

main.wdl est désormais le seul fichier de définition à la racine de l'archive, vous pouvez donc omettre main:

main.wdl tasks/align.wdl tasks/call-variants.wdl

Envoyez l'archive en ligne ou via Amazon S3

definitionZip est un paramètre binaire. Lorsque vous utilisez le AWS CLI, transmettez l'archive avec fileb:// préfixe et AWS CLI lit le fichier et l'encode pour vous. Le AWS Les SDK se chargent de l'encodage à votre place. Si vous appelez l'API directement via HTTP, envoyez l'archive sous forme de chaîne codée en base64.

Le modèle de paramètres dans les exemples suivants est facultatif. Si vous l'omettez, HealthOmics dérive les paramètres d'exécution à partir de la définition de votre flux de travail. Pour plus d’informations, consultez Fichiers modèles de paramètres pour les HealthOmics flux de travail.

Ce qui suit AWS CLI example crée un flux de travail en envoyant l'archive ZIP avec la demande. Remplacez chaque valeur en italique :

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

Pour une archive plus grande que definitionZip limite en Choisissez une source de définition de flux de travail, téléchargez-le dans un compartiment Amazon S3 situé dans la même région que le flux de travail et utilisez definitionUri au lieu de cela. Remplacez chaque valeur en italique et remplacez le compartiment par le vôtre :

aws s3 cp my-definition.zip s3://amzn-s3-demo-bucket1/my-definition.zip aws omics create-workflow \ --name my-workflow-name \ --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip \ --parameter-template file://my-parameter-template.json

Définir le stockage d'exécution par défaut

Nous recommandons le stockage dynamique pour la plupart des flux de travail. Choisissez le stockage d'exécution statique dans l'un des cas suivants :

  • Le flux de travail utilise plus de 9,6 TiB de données, et ses tâches bénéficient d'une haute durabilité I/O.

  • Plus de 100 tâches éparpillées sont lues simultanément depuis le stockage d'exécution partagé.

Pour plus d'informations sur chaque type de stockage d'exécution, y compris ses caractéristiques de débit et la manière de dimensionner le stockage d'exécution statique, consultez Exécuter les types de stockage dans les HealthOmics flux de travail et Exécuter l'optimisation pour un compte privé HealthOmics flux de travail.

Le storageType (--storage-type) et storageCapacity (--storage-capacity) les paramètres définissent les valeurs par défaut pour les exécutions qui utilisent le flux de travail. Vous pouvez annuler les deux au moment de l'exécution, comme décrit dans Commencez une course HealthOmics. Associez-les comme suit :

  • storageType de DYNAMIC — HealthOmics redimensionne le stockage d'exécution vers le haut et vers le bas en fonction de l'utilisation du système de fichiers. Ne définissez pas storageCapacity. Dans ce cas, la demande échoue : CreateWorkflow rapports You cannot set the storage capacity for workflows that use DYNAMIC run storage type, et CreateWorkflowVersion rapports You cannot set the storage capacity for workflow version that use DYNAMIC run storage type.

  • storageType de STATIC — HealthOmics alloue une quantité fixe de stockage d'exécution, donc définissez également storageCapacity, en GiB. Si ni le flux de travail ni l'exécution ne spécifient de capacité, l'exécution utilise 1 200 GiB. Le maximum est une limite par compte. HealthOmics fournit un stockage statique uniquement à 1 200 GiB ou sous la forme d'un multiple de 2 400 GiB, et arrondit toute autre valeur à la taille prise en charge suivante. Par exemple, HealthOmics prévoit 1 200 GiB pour une capacité inférieure à 1 200 GiB.

L'exemple suivant définit le stockage d'exécution par défaut à 1 200 Go de stockage statique :

aws omics create-workflow \ --name my-workflow-name \ --definition-zip fileb://my-definition.zip \ --storage-type STATIC \ --storage-capacity 1200