Que fait pacsomatic ?
Vue d'ensemble
Cette compétence fournit un workflow d'exécution reproductible pour nf-core/pacsomatic, centré sur un point d'entrée helper unique qui gère la validation, la génération d'artefacts et l'exécution facultative.
Point d'entrée principal :
scripts/run_pacsomatic.py
Le script helper :
- valide les identifiants requis, les fichiers, le mode de référence et les prérequis d'exécution
- écrit une feuille d'échantillons compatible pacsomatic (
patient,sample,status,bam,pbi) - génère un fichier YAML de paramètres et un script de lancement pour des ré-exécutions reproductibles
- prend en charge les chemins d'exécution en validation sèche et en exécution/soumission
Utilisez cette compétence comme chemin par défaut pour les opérations pacsomatic. Ne la contournez pas avec des commandes nextflow run nf-core/pacsomatic assemblées manuellement, sauf si l'utilisateur demande explicitement une construction manuelle de commande.
Quand utiliser cette compétence
Invoquez cette compétence lorsque l'utilisateur demande de :
- exécuter une analyse tumor-normal apparié à partir de fichiers BAM
- générer ou corriger une feuille d'échantillons et des artefacts de lancement pacsomatic
- exécuter localement ou soumettre à des ordonnanceurs (LSF/Slurm/PBS/SGE)
- effectuer une validation sèche (dry-run) avant l'exécution
- résoudre les problèmes de lancement ou résumer les résultats d'exécution
N'utilisez pas cette compétence pour :
- une interprétation biologique approfondie au-delà des vérifications de cohérence au niveau de l'exécution
- modifier les composants internes du pipeline, sauf demande explicite
Phrases déclencheuses typiques :
- "exécute nf-core/pacsomatic pour cette paire tumor-normal"
- "prépare la feuille d'échantillons et le script de lancement pacsomatic"
- "fais d'abord une simulation (dry run) et dis-moi ce qui manque"
- "soumets pacsomatic à slurm/lsf et retourne l'ID du job"
- "pourquoi la soumission de pacsomatic a-t-elle échoué"
Règles de routage et d'exécution
- Collectez toujours d'abord les entrées d'exécution requises.
- Passez toujours par
scripts/run_pacsomatic.pypour la validation et la génération d'artefacts. - Utilisez
--dry-runpar défaut lorsque l'utilisateur demande uniquement des vérifications/validations. - Utilisez
--rununiquement lorsque l'utilisateur demande d'exécuter/soumettre. - Pour les modes ordonnanceur, incluez les arguments de ressources spécifiques à l'exécuteur et retournez l'ID de job détecté lorsqu'il est disponible.
- Si l'exécution échoue, rapportez le premier point d'échec et la prochaine cible de diagnostic (
.nextflow.log,pipeline_info, journaux de tâche en échec).
Entrées requises
Obligatoires :
- chemin du BAM tumoral
- chemin du BAM normal
- ID patient
- ID échantillon tumoral
- ID échantillon normal
- répertoire de sortie
- exactement un mode de référence :
--fastaou--genome
Facultatives :
- profil, ressources, compte/queue de l'ordonnanceur
- version du pipeline (
-r) - fichier de paramètres, indicateurs resume/report/dag
--dry-runet/ou--run
Workflow
- Validez l'identité et les contraintes d'entrée.
- Validez les chemins locaux requis (BAM, PBI facultatif, FASTA facultatif).
- Résolvez les vérifications d'exécution et de dépendances.
- Construisez la feuille d'échantillons et le fichier YAML de paramètres générés.
- Générez le script de lancement pour l'exécuteur sélectionné.
- Si
--dry-runet pas--run, arrêtez-vous après la génération des artefacts. - Si
--run, exécutez localement ou soumettez à l'ordonnanceur. - Retournez le chemin de la commande/script, l'état de validation et l'ID de job (si détecté).
Contrat de réponse de l'agent
Chaque réponse après invocation doit inclure :
- la commande exacte utilisée ou le chemin du script généré
- la confirmation que les vérifications de validation ont été exécutées
- le type d'exécution (
dry-runvsrun) - l'ID de job de l'ordonnanceur lorsqu'il est disponible
- une prochaine étape concrète pour la validation/le diagnostic
Démarrage rapide
Simulation (dry run) :
python scripts/run_pacsomatic.py \
--tumor-bam /chemin/vers/tumoral.bam \
--normal-bam /chemin/vers/normal.bam \
--patient-id P001 \
--tumor-sample-id P001_T \
--normal-sample-id P001_N \
--outdir /chemin/vers/sortie \
--genome GRCh38 \
--profile singularity,sanger \
--dry-run
Exemple d'exécution avec ordonnanceur (Slurm) :
python scripts/run_pacsomatic.py \
--tumor-bam /chemin/vers/tumoral.bam \
--normal-bam /chemin/vers/normal.bam \
--patient-id P001 \
--tumor-sample-id P001_T \
--normal-sample-id P001_N \
--outdir /chemin/vers/sortie \
--genome GRCh38 \
--profile singularity,sanger \
--executor slurm \
--queue compute \
--project my_account \
--cpus 16 \
--memory-gb 64 \
--walltime 48:00 \
--run
Configuration
Utilisez config.yaml comme base pour les valeurs par défaut du profil/exécuteur/exécution. Remplacez au moment de l'invocation si les besoins de l'utilisateur diffèrent.
Tests
Exécutez les tests unitaires depuis la racine de la compétence :
python -m unittest discover -s tests/pacsomatic -v
Références
references/agent-playbook.mdreferences/config-and-output.mdreferences/pacsomatic_guide.mdscripts/run_pacsomatic.py