-
Celine Noirot authoredCeline Noirot authored
Ce repository est un template pour les workflows Get
Ce workflow et ses différentes configurations permettent :
- d'executer un pipeline a partir d'un fichier samples.csv
- d'utiliser une image singularity ou conda ou path (cf profils)
- d'executer un multiqc
- de tracer les versions des logiciels
- d'envoyer un email à la fin du pipeline --email toto@fai.fr
- de générer automatiquement une image singularity et de la mettre a disposition dans le registry de la forge.
Comment utiliser ce répository ?
Cloner le repo
git clone git@forgemia.inra.fr:get-nextflow-ngl-bi/template-nf.git
Voici la liste des fichiers a récupérer avec leur utilité :
-
asset
code pour email et config de multiQC -
conf
configurations utilisées dansnextflow.config
- base : conf générale
- path : si profile utilisé est --multipath ajouter un block par process ayant des dépendances
- test : chaque pipeline devra avoir un profil de test pour tester les pipelines
- genomes : devra peut-etre etre centralisé ailleurs pour avoir un seul fichier contenant les genomes utilisés par la pf.
-
doc/output.md
: ce fichier devra etre copié et modifié avec la description des outputs du pipeline. Ce fichier est ensuite converti en html dans le repertoires de resultats du pipelines. -
.gitlab-ci.yml
si vous souhaitez avoir la génération automatique de l'image singularity à partir des fichiersSingularityfile
etenvironment.yml
mettez ce fichier à la racine de votre projet. L'image sera ensuite recupérable avec la commande suivante :
singularity pull template-nf.sif oras://registry.forgemia.inra.fr/get-nextflow-ngl-bi/template-nf/template-nf:latest
-
les fichiers
CHANGELOG.md
,LICENCE
,README.md
a utiliser et modifier -
main.nf
: le pipeline -
nextflow.config
: la conf générale du pipeline -
pour le reproductibilité :
Singularityfile
etenvironment.yml
(si besoin en plus:Dockerfile
)
Et apres ?
- nomenclature: les channels doivent etre nommée comme suis: ch_FILE1_for_PROCESS_DESTINATION
- mettre en place des données de tests
- lorsque l'on code un process :
- utiliser les labels (pour la memoire, cpu, temps) définis dans base.config
- ajouter les logiciels utilisés dans get_software_versions
- documenter le quick start ci-dessous et supprimer le paragraphe 'Ce repository est un template pour les workflows Get'
- completer le
doc/output.md
et ledoc/usage.md
- tagger un pipeline dès que les fonctionnalités attendues sont codées
La documentation suivante est a modifier et a garder. La precedente est a supprimer.
Introduction
The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker and singularity containers making installation trivial and results highly reproducible.
Quick Start
i. Install nextflow
ii. Install one of singularity
or conda
iii. Clone the pipeline and download the singularity pipeline
git clone git@forgemia.inra.fr:get-nextflow-ngl-bi/template-nf.git
cd template-nf
singularity pull template-nf.sif oras://registry.forgemia.inra.fr/get-nextflow-ngl-bi/template-nf/template-nf:latest
iv. Run the pipeline
nextflow run pathto/template-nf/main.nf -profile test,singularity