Installation de snakemake

Bonjour,
désolé de déranger encore.
Serait-il possible de mettre Snakemake à disposition s'il vous plait ?
Merci encore,
Camille

snakemake est déjà disponible sur le cluster de l'IFB :wink:

module load snakemake

oups, la honte ....
merci !

Haha yapadkoi :wink:

Petite astuce, pour visualiser l'ensemble des modules disponibles sur le cluster, vous pouvez utiliser la commande module avail -l

Par ailleurs, si vous souhaitez utiliser soumettre des jobs sur le cluster via snakemake, je vous recommande l'utilisation de la couche drmaa de snakemake.
Pour cela vous aurez besoin préalablement d'activer le module slurm-drmaa :

module load snakemake slurm-drmaa

Merci julien pour les infos, c'est vraiment utile. Je débute le snakemake et me posais justement la question pour slurm.

Je profite de ta réponse pour une question rapide:
dans une "rule" j'aimerai utiliser appeler une commande dans le bloc "shell", avec comme argument le nombre de lignes d'un output produit dans une autre rule en amont (plus exactement, la sortie de: tail -n1 output.txt | wc -w). Est-ce que tu sais comment récupérer ce nombre de lignes comme "integer" à mettre en paramètre de la commande shell s'il te plait ?
Camille

Alors je ne suis pas un expert de snakemake mais d'instinct je mettrais le fichier output.txt dont tu veux utiliser le nombre de lignes en entrée de ta rule suivante (celle qui va avoir un bloc "shell"). Dans le bloc shell tu peux ensuite compter le nombre de ligne au moment où tu définies tes arguments en utilisant un truc du genre :

une_commande --arg=$(tail -n1 input.txt | wc -w)

Ping @mariabernard, tu t'y connais en SnakeMake toi ?

Hello,

Effectivement la réponse de Julien est la bonne.

Le passage de valeur entre règle ne peut se faire que via la lecture de fichiers.
Sauf si la règle de comptage des lignes est la toute première à être exécuté. Dans ce cas on peut coder cette action directement en python, stocker le résultat dans une variable et cette variable sera utilisable dans n'importe quelle règle.

Serait-il possible d'ajouter cette info sur la doc du cluster ?
la page de doc affiche essentiellement l'info sur conda

http://taskforce-nncr.gitlab.cluster.france-bioinformatique.fr/doc/conda/

Si j'ai bien compris vous recommandez maintenant de systématiquement utiliser module load plutô que conda activate ?

Ou alors j'ai mal compris ?

Ce serait également très utile d'écrire un petit tuto pour l'utilisation de snakemake sur le cluster (quels paramètres utiliser pour lancer les jobs sur slurm). Est-ce qu'on a déjà une page dans la doc ? Sinon je pourrais y contribuer la semaine prochaine mais il me faudrait un coup de main de quelqu'un qui sait comment faire.

Bonjour,

Je souhaiterais savoir si il existe un brouillon de ce tuto pour l'utilisation de snakemake sur le cluster exemple d'un cluster-config.yaml et choix de stratégie pour les chargement de module.

Bonne journée,

1 « J'aime »

Bonjour Lucie,

Il n'y a pas de tuto snakemake sur l'IFB pour l'instant.

Mais si cela vous semble important, n'hésitez pas à nous proposer une page de documentation.
Les pages de documentation (https://ifb-elixirfr.gitlab.io/cluster/doc/) sont écrites au format Markdown et gérées via le dépôt gitlab: https://gitlab.com/ifb-elixirfr/cluster/doc/
La rédaction est ouverte et via les "Merge Request" nous pouvons discuter (par exemple sur les choix de stratégie pour les chargement de module, les paramètres pour lancer des jobs slurm, etc.).
On peut si besoin vous accompagner pour la prise en main (personnellement, je ne connais rien à snakemake mais connais un peu le cluster et le fonctionnement de la documentation).

A bientôt