2. Préparer l’environnement logiciel 🧰#
2.1. Valider la dimension de votre espace de travail#
Ouvrez un terminal dans JupyterLab puis exécutez la commande suivante :
$ echo "${SLURM_CPUS_PER_TASK}"
Rappel
Ne tapez pas le caractère $
en début de ligne et faites bien attention aux majuscules et au minuscules.
Vous devriez obtenir 6
, ce qui correspond au paramètre Number of CPUs
demandé lors de la configuration de JupyterLab. Si ce n’est pas le cas, sollicitez-moi, car vous serez bloqué par la suite.
2.2. Lister les logiciels nécessaires#
Le cluster de calcul de l’IFB propose de nombreux logiciels pré-installés. Pour utiliser ces logiciels, il suffit de les charger dans l’environnement de travail avec la commande module load
.
Note
La commande module
n’est souvent disponible que sur des clusters de calcul. C’est une manière simple et pratique d’utiliser des logiciels sans devoir les installer vous-même. module
n’est en général pas disponible sur une station de travail individuelle.
Nous allons utiliser SRA Toolkit pour télécharger les données brutes de séquençage.
L’article indique :
Raw FASTQ files were aligned to the respective yeast genomes using STAR [78]. Aligned reads were assembled into transcripts, quantified, and normalized using Cufflinks2 [79]. Samples from each yeast time series were normalized together using the CuffNorm feature.
Le fichier S1 Supporting Information Methods fournit des précisions supplémentaires :
Raw FASTQ files from each experiment were aligned to the respective yeast reference genome using STAR [1].
Reads mapping uniquely to annotated gene features were quantified using HTSeq-count [3].
Transcript quantification of annotated yeast genes was performed using alignment files output from STAR and Cufflinks2 [4]. Time point samples from the respective yeasts were then normalized together using the CuffNorm feature.
En résumé, nous avons besoin d’utiliser les outils : STAR
, HTSeq-count
et Cufflinks
. Aucune version de logiciel n’étant spécifiée, nous allons utiliser des versions disponibles sur le cluster il y 2 ans, lorsque j’ai créé cette activité.
Nous installerons également FastQC pour contrôler la qualité des reads, ainsi que samtools
qui n’est pas explicitement mentionné dans l’article ni dans les Supporting Information, mais qui est nécessaire pour trier et indexer les reads alignés.
Récapitulons les logiciels nécessaires :
sra-tools
: télécharger les données brutes de séquençage.fastqc
: contrôler la qualité des reads.star
: aligner les reads sur le génome de référence.htseq
: quantifier les reads alignés sur les gènes.cufflinks
: compter les transcrits (puis normaliser les comptages).samtools
: trier et indexer les reads alignés.
2.3. Vérifier la disponibilité des logiciels#
Vérifiez avec la commande module avail XXX
(avec XXX
le nom du logiciel) que chacun des logiciels dont vous avez besoin est disponible :
Par exemple pour sra-tools
, vous devriez obtenir :
$ module avail sra-tools
--------------------- /shared/software/modulefiles ----------------------
sra-tools/2.10.0 sra-tools/2.10.3 sra-tools/2.11.0 sra-tools/3.1.0 sra-tools/3.1.1
Cinq versions de sra-tools
sont disponibles. Par défaut, la commande
$ module load sra-tools
chargera la dernière version disponible, ici la version 3.1.1
.
Pour charger une version spécifique, il faut d’abord décharger la version par défaut (car on ne peut pas charger deux versions d’un même logiciel en même temps) :
$ module unload sra-tools
puis charger la version souhaitée :
$ module load sra-tools/2.11.0
C’est maintenant la version 2.11.0
de sra-tools
qui sera chargée.
En utilisant la commande module avail
, complétez le tableau suivant en indiquant, pour chaque logiciel, la version la plus ancienne (plus petit numéro) et la version la plus récente (plus grand numéro) disponibles sur le cluster de l’IFB :
Logiciel |
Version la plus ancienne |
Version la plus récente |
---|---|---|
sra-tools |
||
fastqc |
||
star |
||
htseq |
||
cufflinks |
||
samtools |
Que faire si un logiciel n’est pas disponible ?
Si un outil que vous souhaitez utiliser n’est pas disponible ou pas dans la version souhaitée. Vous pouvez demander gentillement son installation au support communautaire de l’IFB. Pour cela, créez un ticket dans la rubrique « IFB Core Cluster ».
Les administrateurs du cluster sont habituellement très réactifs (voir un exemple de demande de mise-à-jour pour le logiciel htseq).
2.4. Charger les logiciels#
Chargez les différents logiciels dans votre espace de travail avec la commande module load
:
$ module load sra-tools/2.11.0 fastqc/0.11.9 star/2.7.10b htseq/0.13.5 cufflinks/2.2.1 samtools/1.15.1
Affichez maintenant la liste des modules chargés dans votre espace de travail :
$ module list
Currently Loaded Modulefiles:
1) jupyterlab/3.5.0 3) fastqc/0.11.9 5) htseq/0.13.5 7) samtools/1.15.1
2) sra-tools/2.11.0 4) star/2.7.10b 6) cufflinks/2.2.1
Note
Le module jupyterlab/3.5.0
est chargé par défaut lorsque vous utilisez JupyterLab. Ne vous en occupez pas.
Vérifiez enfin les versions des logiciels en appelant chaque logiciel individuellement. Cette étape est utile pour vérifier que les versions des logiciels chargés avec module load
sont bien les versions attendues.
2.4.1. sra-tools#
Si c’est la première fois que vous utilisez fasterq-dump
, lancez au préalable la commande suivante :
$ vdb-config --interactive
puis tapez sur la touche X.
Ensuite :
$ fasterq-dump --version
"fasterq-dump" version 2.11.0
2.4.2. fastqc#
$ fastqc --version
FastQC v0.11.9
2.4.3. STAR#
$ STAR --version
2.7.10b
2.4.4. samtools#
$ samtools --version | head -n 1
samtools 1.15.1
2.4.5. htseq-count#
$ htseq-count --version
0.13.5
2.4.6. cufflinks#
$ cufflinks 2>&1 | head -n 1
cufflinks v2.2.1
Normalement, la version de chaque logiciel doit correspondre à la version que vous avez chargée avec module load
.
Important
Notez toujours la version des logiciels que vous utilisez pour analyser vos données. C’est une information indispensable pour assurer la reproductibilité de vos analyses. Quand vous publiez vos résultats dans un article, vous devez fournir les versions des logiciels que vous avez utilisés pour analyser vos données.