QIIME/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
(Updating to match new version of source page)
Line 6: Line 6:
'''Note : Depuis février 2020, il n'est pas possible d'installer QIIME avec Anaconda ou Miniconda en raison de plusieurs problèmes dus aux environnements Conda.'''
'''Note : Depuis février 2020, il n'est pas possible d'installer QIIME avec Anaconda ou Miniconda en raison de plusieurs problèmes dus aux environnements Conda.'''


<div class="mw-translate-fuzzy">
==Installation ==
==Installation ==
L’installation peut se faire en utilisant [[Singularity/fr|Singularity]] ou EasyBuild. Il est préférable d'utiliser Singularity pour éviter que plusieurs milliers de fichiers soient générés dans votre répertoire ''home'', ce qui risquerait de dépasser le quota sur le nombre de fichiers.
L’installation peut se faire en utilisant [[Singularity/fr|Singularity]] ou EasyBuild. Il est préférable d'utiliser Singularity pour éviter que plusieurs milliers de fichiers soient générés dans votre répertoire ''home'', ce qui risquerait de dépasser le quota sur le nombre de fichiers.
</div>


<div class="mw-translate-fuzzy">
=== Utilisation avec Singularity ===
=== Utilisation avec Singularity ===
</div>


<div class="mw-translate-fuzzy">
Les développeurs de QIIME2 publient des images sur [https://quay.io/organization/qiime2 Quay.io].
Les développeurs de QIIME2 publient des images sur [https://quay.io/organization/qiime2 Quay.io].
Pour utiliser ces images avec les ressources de Calcul Canada, il faut d'abord  [[Singularity/fr#Cr.C3.A9er_une_image_.C3.A0_partir_du_site_Docker|créer une image Singularity]]  comme suit :
Pour utiliser ces images avec les ressources de Calcul Canada, il faut d'abord  [[Singularity/fr#Cr.C3.A9er_une_image_.C3.A0_partir_du_site_Docker|créer une image Singularity]]  comme suit :
</div>


{{Commands
{{Commands
|module load singularity
|module load apptainer
|singularity build qiime2-2021.11.sif docker://quay.io/qiime2/core:2021.11
|apptainer build qiime2-2021.11.sif docker://quay.io/qiime2/core:2021.11
}}
}}


Cette étape du build pourrait prendre plus d'une heure, mais il ne faut l'effectuer qu'une seule fois. Sauvegardez le fichier image (dans notre exemple <code>qiime2-2021.11.sif</code>) pour pouvoir le réutiliser plus tard.  
Cette étape du build pourrait prendre plus d'une heure, mais il ne faut l'effectuer qu'une seule fois. Sauvegardez le fichier image (dans notre exemple <code>qiime2-2021.11.sif</code>) pour pouvoir le réutiliser plus tard.  


<div class="mw-translate-fuzzy">
Exécutez ensuite votre programme comme décrit dans la [[Singularity/fr|page Singularity]]. De façon générale, chaque commande QIIME est exécutée dans un énoncé <code>singularity exec</code> comme suit :
Exécutez ensuite votre programme comme décrit dans la [[Singularity/fr|page Singularity]]. De façon générale, chaque commande QIIME est exécutée dans un énoncé <code>singularity exec</code> comme suit :
</div>


{{Commands
{{Commands
|singularity exec qiime2-2021.11.sif <your QIIME command>
|apptainer exec qiime2-2021.11.sif <your QIIME command>
}}
}}


Line 34: Line 42:
#SBATCH --account=def-someuser
#SBATCH --account=def-someuser


singularity exec -B $PWD:/home -B /scratch/someuser:/outputs \
apptainer exec -B $PWD:/home -B /scratch/someuser:/outputs \
   -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
   -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
   qiime tools import --type 'FeatureData[Sequence]' \
   qiime tools import --type 'FeatureData[Sequence]' \
Line 40: Line 48:
   --output-path /outputs/some_output_feature.qza
   --output-path /outputs/some_output_feature.qza


singularity exec -B $PWD:/home -B /scratch/someuser:/outputs \
apptainer exec -B $PWD:/home -B /scratch/someuser:/outputs \
   -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
   -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
   qiime tools import \
   qiime tools import \
Line 48: Line 56:
   --output-path /outputs/some_output_ref-taxonomy.qza
   --output-path /outputs/some_output_ref-taxonomy.qza


singularity exec -B $PWD:/home -B /scratch/someuser:/outputs \
apptainer exec -B $PWD:/home -B /scratch/someuser:/outputs \
   -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
   -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
   qiime feature-classifier fit-classifier-naive-bayes \
   qiime feature-classifier fit-classifier-naive-bayes \
Line 56: Line 64:
</pre>
</pre>


<div class="mw-translate-fuzzy">
Notez qu'il est important d'utiliser l'option [[Singularity/fr#Bind_mount|bind]] (<tt>-B</tt>) avec chacun des répertoires avec lesquels vous voulez travailler quand des programmes sont exécutés dans votre conteneur. Pour plus d'information, voyez le [https://www.youtube.com/watch?v=kYb0aXS5DEE webinaire Singularity].
Notez qu'il est important d'utiliser l'option [[Singularity/fr#Bind_mount|bind]] (<tt>-B</tt>) avec chacun des répertoires avec lesquels vous voulez travailler quand des programmes sont exécutés dans votre conteneur. Pour plus d'information, voyez le [https://www.youtube.com/watch?v=kYb0aXS5DEE webinaire Singularity].
</div>


<div class="mw-translate-fuzzy">
La première fois que des données sont importées en format QIIME, vous pourriez recevoir un message semblable à
La première fois que des données sont importées en format QIIME, vous pourriez recevoir un message semblable à
<pre>
<pre>
Line 63: Line 74:
</pre>
</pre>
Vous pouvez contourner ceci en définissant un fuseau horaire avant d'invoquer Singularity, comme suit :
Vous pouvez contourner ceci en définissant un fuseau horaire avant d'invoquer Singularity, comme suit :
</div>


{{Commands
{{Commands
|export TZ{{=}}'UTC'
|export TZ{{=}}'UTC'
|singularity exec qiime2-2021.11.sif qiime tools import ...
|apptainer exec qiime2-2021.11.sif qiime tools import ...
}}
}}



Revision as of 18:13, 17 July 2023

Other languages:

QIIME (pour Quantitative Insights Into Microbial Ecology) est un pipeline bio-informatique open source pour l’analyse de microbiomes. À partir de données brutes de séquençage d’ADN générées par des plateformes comme Illumina, QIIME produit des graphiques et statistiques de haute qualité pour, entre autres, le démultiplexage, le filtrage de qualité, la sélection d’OTU, l’attribution taxonomique, la reconstruction phylogénétique et l’analyse de la diversité.

NOTE : Le 1er janvier 2018, QIIME 2 a remplacé QIIME 1 qui est depuis obsolète.

Note : Depuis février 2020, il n'est pas possible d'installer QIIME avec Anaconda ou Miniconda en raison de plusieurs problèmes dus aux environnements Conda.

Installation

L’installation peut se faire en utilisant Singularity ou EasyBuild. Il est préférable d'utiliser Singularity pour éviter que plusieurs milliers de fichiers soient générés dans votre répertoire home, ce qui risquerait de dépasser le quota sur le nombre de fichiers.

Utilisation avec Singularity

Les développeurs de QIIME2 publient des images sur Quay.io. Pour utiliser ces images avec les ressources de Calcul Canada, il faut d'abord créer une image Singularity comme suit :

[name@server ~]$ module load apptainer
[name@server ~]$ apptainer build qiime2-2021.11.sif docker://quay.io/qiime2/core:2021.11


Cette étape du build pourrait prendre plus d'une heure, mais il ne faut l'effectuer qu'une seule fois. Sauvegardez le fichier image (dans notre exemple qiime2-2021.11.sif) pour pouvoir le réutiliser plus tard.

Exécutez ensuite votre programme comme décrit dans la page Singularity. De façon générale, chaque commande QIIME est exécutée dans un énoncé singularity exec comme suit :

[name@server ~]$ apptainer exec qiime2-2021.11.sif <your QIIME command>


Votre script SBATCH ressemblerait à

#!/bin/bash
#SBATCH --time=15:00:00
#SBATCH --account=def-someuser

apptainer exec -B $PWD:/home -B /scratch/someuser:/outputs \
  -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
  qiime tools import --type 'FeatureData[Sequence]' \
  --input-path /inputs/some_fastafile.fa \
  --output-path /outputs/some_output_feature.qza

apptainer exec -B $PWD:/home -B /scratch/someuser:/outputs \
  -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
  qiime tools import \
  --type 'FeatureData[Taxonomy]' \
  --input-format HeaderlessTSVTaxonomyFormat \
  --input-path /inputs/some_taxonomy_file.tax \
  --output-path /outputs/some_output_ref-taxonomy.qza

apptainer exec -B $PWD:/home -B /scratch/someuser:/outputs \
  -B /projects/def-somePI/someuser/path/to/inputs:/inputs qiime2-2021.11.sif \
  qiime feature-classifier fit-classifier-naive-bayes \
  --i-reference-reads  /outputs/some_output_feature.qza \
  --i-reference-taxonomy /outputs/some_output_ref-taxonomy.qza \
  --o-classifier /outputs/some_output_classifier.qza

Notez qu'il est important d'utiliser l'option bind (-B) avec chacun des répertoires avec lesquels vous voulez travailler quand des programmes sont exécutés dans votre conteneur. Pour plus d'information, voyez le webinaire Singularity.

La première fois que des données sont importées en format QIIME, vous pourriez recevoir un message semblable à

Timezone offset does not match system offset: 0 != -18000. Please, check your config files.

Vous pouvez contourner ceci en définissant un fuseau horaire avant d'invoquer Singularity, comme suit :

[name@server ~]$ export TZ='UTC'
[name@server ~]$ apptainer exec qiime2-2021.11.sif qiime tools import ...


Références

Site web QIIME