Commit d50a90f2 authored by Joseph Tran's avatar Joseph Tran
Browse files

add snakemake best practices

parent 025be4e9
......@@ -3,4 +3,5 @@
* [Introduction](README.md)
* [Singularity](Singularity/README.md)
* [NextFlow](NextFlow/README.md)
* [Snakemake](Snakemake/README.md)
* [Snakemake](Snakemake/README.md)
* [bonnes pratiques](Snakemake/best_practices.md)
......@@ -61,4 +61,6 @@ Et dernier point, à la responsabilité des participants d'amener un jeu de donn
```
## Bonnes pratiques
* voir [https://inter_cati_omics.pages.mia.inra.fr/hackathon_octobre2021/atelier_repro/Snakemake/best_practices](https://inter_cati_omics.pages.mia.inra.fr/hackathon_octobre2021/atelier_repro/Snakemake/best_practices)
# Bonnes pratiques en snakemake
## Pré-requis
* git
* gitlab/github/etc.
* snakemake
* virtualenv/conda
### options
* docker/singularity (fortement recommandé)
## Dataset de test
Générer un jeu de test (réduit) pour tester le workflow.
## Snakemake
* mettre son code sous version avec git
* structure organisée:
* exemple: https://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html
* see cookiecutter template: https://forgemia.inra.fr/joseph.tran/snakemake-workflow-cookiecutter_template
* suivre les usages standards: https://snakemake.github.io/snakemake-workflow-catalog/?rules=true
* contexte d'exécution:
* local
* cluster: utilisation des profils (snakemake>=5.10), see https://github.com/Snakemake-Profiles/slurm
* utilisation d'un fichier de configuration (yaml) pour les données de l'expérience, et utiliser les options en ligne de commande pour les ressources d'exécution:
* comme `--set-threads`, `--set-resources`, `--set-default-resources`, et `--directory`
* avant publication:
* linter son code (>=5.11) avec `snakemake --lint`
* formater son code avec [snakefmt](https://github.com/snakemake/snakefmt)
* ajouter des données de test (intégration continue, voir un exemple sur [github](https://github.com/features/actions))
Optionnel:
* publication dans des registres:
* ajouter les métadonnées suivant le standard RO-Crate (https://workflowhub.eu/)
Voir [les bonnes pratiques](https://snakemake.readthedocs.io/en/stable/snakefiles/best_practices.html)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment