Usage de Kraken : BD?

Je vois que tu as remplacé le ${1} de mon code par ${21_144_S1_L001} dans le tien.
Or, si mon ${1} (il s'agit d'une variable bash définie par défaut) prend sa valeur par la ligne de commande (j'avais indiqué SRRxxx dans mon exemple), ton ${21_144_S1_L001}, qui définit une variable bash qui se nomme "21_144_S1_L001" ne correspond à aucune valeur et bash n'arrive pas à faire la "substitution", ie. remplacer ${21_144_S1_L001} par une valeur (c'est ce que raconte le slurm).
Je suppose que tes fichiers fastq se nomment "21_144_S1_L001_R1_001.fq.gz" (et idem pour le R2). Donc, il faut simplement que tu supprimes le "${" et "}" dans les lignes qui commencent par "SAMPLE" et cela devrait marcher. Ou, autre solution, tu utilises la version de mon script avec ${1} mais en lançant "sbatch MonScript 21_144_S1_L001" (là, le ${1} sera substitué par "21_144_S1_L001").
Claire.

Merci Claire, j'ai utilisée ton script comme tel avec ${1} mais en lançant "sbatch TonScript 21_144_S1_L001" et cela marche. Mais je ne comprends pas pourquoi avec mon script que j'avais fait ne marchais pas, le voilà:

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --cpus-per-task=40
#SBATCH --mem=500G
module load kraken2/2.1.2

Numéro des échantillons à analyser.

samples="21-144_S1_L001 21-145_S2_L001 21-149_S6_L001 21-150_S7_L001 21-151_S8_L001 21-152_S9_L001 21-153_SA_L001 21-154_S3_L001 21-155_S4_L001"

Détection contaminants dans les reads

for sample in ${samples}
do
echo "=============================================================="
echo "Contaminant detection - échantillon ${sample}"
echo "=============================================================="

srun kraken2 -t 16 --use-names --db /shared/bank/nt/nt_2021-01-29/kraken2/2021-02-02/ --output ${sample}.output.txt --classified-out ${sample}_classified#.fastq --report ${sample}.report.txt --paired ${sample}_L001_R1_001.fastq ${sample}_L001_R2_001.fastq
done

Je pense que c'est parce que tu mets 2 fois le "_L001" : une fois dans la liste des samples et une autre fois dans la ligne du srun, or tes fichiers n'ont probablement qu'un seul _L001 dans leur nom. En théorie, cette information devrait être visible dans le slurm-xxx.out.
Il y a aussi un "#" (juste après le "classified") dans la ligne du srun qui me pose question, mais là encore, le slurm-xxx.out correspondant pourrait donner des pistes + précises que mes remarques.

oui tu as raison, j'ai mis 2 fois le "_L001". Merci pour ton aide.
Pour le "#" (juste après le "classified") est utilisé lorsqu'on utilise l'option --classified-out, cela permet d'avoir les 2 read fastq en sortie avec les séquences classified.

Ah ! ok. merci pour l'info "#" que je ne connaissais pas.
Claire.

Je t'en prie et merci pour ton aide.
BK.

Bonjour,
J'aimerai utiliser Kraken2 sur le cluster de l'IFB et je viens de découvrir via ce post qu'une base de données est déjà installée sur le cluster, ce qui me ferait gagner du temps (et de l'espace) !
Est-ce que quelqu'un saurait me dire quelle est la base de données qui est installée ? Est-ce que c'est la standard ?
Merci d'avance,
Eugénie :slight_smile:

Bonjour Eugénie,
Je ne saurais pas te dire. D'après les échanges ci-dessus, les commandes qui ont été lancées pour la construction de la DB kraken (/shared/bank/nt/nt_2021-01-29/kraken2/2021-02-02) seraient celles d'une "Custom Databases" (Manual · DerrickWood/kraken2 Wiki · GitHub) mais ces commandes ne contiennent pas les "reference libraries" (point 2 du lien précédent) qui auraient été téléchargées. J'avais pensé qu'en laçant sans spécifier de librairies, cela les téléchargerait toutes par défaut mais en fait, il y a qq librairies incompatibles entre elles (nr par exemple).
J'ai lancé un kraken2-inspect --db /shared/bank/nt/kraken2/2021-02-02 (avec 500GB en --mem, ~20 minutes avec le nombre de threads par défaut). Si j'extrais les lignes "D" des 1224695 lignes du fichier résultat, cela donne :

awk '{if($4=="D"){print}}' slurm-39608860.out
 77.54	32627132078	27785666	D	2759	    Eukaryota
 20.48	8618590862	33323072	D	2	    Bacteria
  0.63	263027740	1399657	D	2157	    Archaea
  0.68	285088472	883915	D	10239	  Viruses

Si cela peut aider ... (si le résultat kraken2-inspect complet t'intéresse, je peux le déplacer dans le répertoire de la DB kraken, tu me dis).
Claire.