View a markdown version of this page

Validation des définitions de flux de travail localement - 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.

Validation des définitions de flux de travail localement

Vous pouvez valider la définition d'un flux de travail à l'aide des outils propres au langage de flux de travail avant d'appeler CreateWorkflow ou CreateWorkflowVersion. Il détecte les problèmes tels que les erreurs de syntaxe et les références qui ne sont pas résolues.

La validation locale vérifie votre définition par rapport au langage du flux de travail, et non par rapport à HealthOmics exigences. Pour les linters qui HealthOmics s'exécute lors de la création du flux de travail, voir Les liens du flux de travail s'insèrent HealthOmics.

Installation d'un validateur

Les validateurs sont des logiciels tiers qui AWS ne maintient pas.

  • WDL — Installer miniwdl, une boîte à outils locale pour les coureurs et les développeurs pour WDL.

  • Nextflow — Installer Flux suivant v25.10 ou version ultérieure. Les versions précédentes n'ont pas non plus nextflow lint ne commandez aucun avertissement ou ne signalez aucun avertissement.

  • CWL — Installer cwltool, la mise en œuvre de référence des normes CWL.

Note

Votre run peut utiliser une version de Nextflow plus ancienne que celle que vous utilisez. Le nextflow lint les analyses de commandes utilisent une syntaxe stricte, que votre exécution n'utilisera peut-être pas. Ainsi, avant de réécrire une définition pour répondre à une recherche de syntaxe, vérifiez la version de syntaxe utilisée par votre exécution, comme décrit dans Spécifiez la version de la syntaxe Nextflow. Pour savoir comment HealthOmics sélectionne la version de Nextflow pour une exécution, voir Versions de Nextflow.

Exécution du validateur

Exécutez le validateur sur le fichier de définition principal, ou pour Nextflow, sur le répertoire qui le contient.

WDL
miniwdl check main-file
Nextflow
nextflow lint definition-directory
CWL
cwltool --validate main-file

Pour un ensemble de fichiers multiples, placez les fichiers sur le disque avec les mêmes chemins relatifs que ceux de l'archive ZIP vers laquelle vous les chargez HealthOmics. Les références sont résolues par rapport au fichier qui les déclare, et non par rapport au répertoire à partir duquel vous exécutez la commande. Pour connaître les principales exigences relatives aux fichiers, voir HealthOmics exigences de définition du flux de travail.

Passe nextflow lint le répertoire plutôt que le fichier principal, afin qu'il vérifie également nextflow.config, auquel il n'accède pas depuis le fichier principal.

Note

Quand tu passes -format, nextflow lint réécrit les fichiers de définition qui ne contiennent aucune erreur. Le formatage avec la version 25.10 ou ultérieure peut produire une syntaxe que les versions précédentes de Nextflow rejettent. Ne formatez donc que si votre exécution utilise la version avec laquelle vous formatez.

Lire les résultats de validation

miniwdl et nextflow lint sortent avec un état différent de zéro lorsqu'ils signalent une erreur, mais avec un statut zéro lorsqu'ils ne signalent que des avertissements. Lisez donc le résultat plutôt que de vous fier à l'état de sortie.

  • WDL — miniwdl indique soit la première erreur dont il ne peut pas se remettre, soit un aperçu de chaque document qu'il a chargé avec les éventuels défauts en ligne.

  • Nextflow — Nextflow signale chaque erreur et chaque avertissement avec son fichier, sa ligne et sa colonne, et cite la ligne incriminée. Il se termine par un décompte des fichiers contenant des erreurs et un décompte de ceux qui n'en contenaient aucune. Ainsi, un fichier contenant un avertissement mais aucune erreur est considéré comme n'en contenant aucune. Pour modifier le format du rapport, passez -o, par exemple -o json.

  • CWL — cwltool indique soit que le fichier est un CWL valide, soit un échec de validation du fichier, de la ligne et de la colonne de chaque problème.

Note

Les versions de Nextflow diffèrent quant à la quantité de rapports qu'elles fournissent. Nextflow v26.04 compte les avertissements dans son résumé et les inclut dans -o json sortie. Nextflow v25.10 affiche les avertissements uniquement dans la sortie par défaut et n'en signale aucun dans son résumé ou dans son -o json sortie.