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)
 
(45 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages />
<languages />
QIIME (pour ''Quantitative Insights Into [https://fr.wikipedia.org/wiki/%C3%89cologie_microbienne Microbial Ecology]'') est un pipeline bio-informatique open source pour l’analyse de [https://fr.wikipedia.org/wiki/Microbiome microbiomes]. À partir de données brutes de séquençage d’ADN générées par des plateformes comme [https://www.illumina.com/ 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 philogénétique et l’analyse de la diversité.
QIIME (pour <i>Quantitative Insights Into [https://fr.wikipedia.org/wiki/%C3%89cologie_microbienne Microbial Ecology]</i>) est un pipeline bioinformatique open source pour l’analyse de [https://fr.wikipedia.org/wiki/Microbiome microbiomes]. À partir de données brutes de séquençage d’ADN générées par des plateformes comme [https://www.illumina.com/ 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.
<b>Remarque </b>: QIIME 2 a remplacé QIIME 1 en janvier 2018; la version 1 n'est plus supportée.


'''Note''': As of February, 2020, due to various issues generated by Conda environments in our HPC systems, '''installation using Anaconda or Miniconda is no longer supported'''.
<b>Remarque </b>: Depuis février 2020, il n'est pas possible d'installer QIIME avec Anaconda ou Miniconda sur nos grappes en raison de plusieurs problèmes dus aux environnements Conda.</b>
 
== Module pour QIIME2 ==
QIIME2 est disponible en chargeant un module qui enveloppe un conteneur. Pour connaître les versions disponibles, lancez
{{Command|module spider qiime2}}
 
Une fois le module chargé, vous pouvez lancer
{{Command|qiime --help}}
 
{{Callout
  |title=Note
  |content=Étant donné que la commande <code>qiime</code> appelle un conteneur, il se peut que vous deviez définir la variable d'environnement <code>APPTAINER_BIND</code> pour attacher des répertoires particuliers dans ce conteneur pour avoir accès à vos données, par exemple <code>APPTAINER_BIND=/home qiime ...</code>
}}


<div class="mw-translate-fuzzy">
==Installation ==
==Installation ==
L’installation peut se faire dans votre répertoire <code>home</code> avec conda. Il n’est présentement pas possible d’installer QIIME 2 avec <code>pip</code>.
L’installation peut se faire en utilisant [[Apptainer/fr|Apptainer]] ou [[EasyBuild/fr|EasyBuild]]. Il est préférable d'utiliser Apptainer 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>
{{Outdated/fr}}


=== Utilisation avec Singularity ===


<div class="mw-translate-fuzzy">
=== Utilisation avec Apptainer ===
Il est aussi possible d'utiliser QIIME 2 via Singularity; voyez [https://hub.docker.com/u/qiime2 l'image docker disponible].
 
Tout d'abord, [[Singularity/fr#Cr.C3.A9er_une_image_.C3.A0_partir_du_site_Docker|créez une image à partir du site Docker]]  comme suit :
Les développeurs de QIIME2 publient des images sur [https://quay.io/organization/qiime2 Quay.io].
</div>
Pour utiliser ces images avec nos ressources, il faut d'abord créer une image Apptainer comme suit&nbsp;:


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


This build step may take over an hour, but you only need do this once. Save the image file (<code>qiime2-2019.10.sif</code> in this example)
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.  
for later re-use.  


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 [[Apptainer/fr|page Apptainer]]. De façon générale, chaque commande QIIME est exécutée dans un énoncé <code>apptainer exec</code> comme suit%nbsp;:


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


So your [[Running jobs|SBATCH]] script might look something like this:
Votre script [[Running jobs/fr|SBATCH]] ressemblerait à


<pre>
<pre>
Line 39: Line 49:
#SBATCH --account=def-someuser
#SBATCH --account=def-someuser


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


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


singularity exec -B /home -B /project -B /scratch qiime2-2019.10.sif \
apptainer exec -B $PWD:/home -B /scratch/someuser:/outputs \
  -B /project/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 \
   --i-reference-reads  /path/to/some_output_feature.qza \
   --i-reference-reads  /outputs/some_output_feature.qza \
   --i-reference-taxonomy /path/to/some_output_ref-taxonomy.qza \
   --i-reference-taxonomy /outputs/some_output_ref-taxonomy.qza \
   --o-classifier /path/to/some_output_classifier.qza
   --o-classifier /outputs/some_output_classifier.qza
</pre>
</pre>


Note that it is important to [[Singularity#Bind_mounts|bind]] the folders you want to work with to the execution of the container. For more information about Singularity, you can watch the recorded [https://www.youtube.com/watch?v=kYb0aXS5DEE Singularity webinar].
Notez qu'il est important d'utiliser l'option [[Apptainer/fr#Bind_mount|bind]] (<code>-B</code>) 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 ce [https://www.youtube.com/watch?v=bpmrfVqBowY webinaire Apptainer].


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 à
Line 65: Line 77:
Timezone offset does not match system offset: 0 != -18000. Please, check your config files.
Timezone offset does not match system offset: 0 != -18000. Please, check your config files.
</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 Apptainer, comme suit&nbsp;:


{{Commands
{{Commands
|export TZ{{=}}'UTC'
|export TZ{{=}}'UTC'
|singularity exec qiime2-2019.10.sif qiime tools import ...
|apptainer exec qiime2-2021.11.sif qiime tools import ...
}}
 
===Utilisation avec un wheel EasyBuild===
Si la solution avec Singularity ne convient pas à vos besoins, Calcul Canada fournit un paquet EasyBuild que vous pouvez utiliser avec la commande <code>eb</code>. Pour installer la version 2019.7, lancez
{{Commands
|eb --rebuild Miniconda3-4.7.10.eb QIIME2-2019.7.eb
}}
Le temps d’attente sera long, mais vous pourrez ensuite charger le module qiime/2019.7 avec
{{Commands
|module load qiime2/2019.7
}}
}}


Parce que ceci crée tous les paquets requis par QIIME, beaucoup de fichiers seront générés dans votre répertoire <code>home</code>. Comme ceci utilisera presque la moitié de l'espace total qui vous est alloué, nous vous recommandons de supprimer ces fichiers une fois que vos calculs seront terminés. Pour sa part, la solution avec Singularity ne crée qu'un seul gros fichier plutôt que des milliers de petits fichiers et c'est pourquoi elle est recommandée.


=Références =
=Références =


[http://qiime.org/ Site web QIIME]<br>
[http://qiime.org/ Site web QIIME]<br>
[https://easybuild.readthedocs.io/en/latest/ Documentation EasyBuild]<br>
<!--[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html Getting started with Conda]<br>-->
<!--[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html Getting started with Conda]<br>-->
[[Category:Bioinformatics]]
[[Category:Bioinformatics]]
[[Category:User Installed Software]]
[[Category:User Installed Software]]

Latest revision as of 20:49, 9 January 2024

Other languages:

QIIME (pour Quantitative Insights Into Microbial Ecology) est un pipeline bioinformatique 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é.

Remarque : QIIME 2 a remplacé QIIME 1 en janvier 2018; la version 1 n'est plus supportée.

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

Module pour QIIME2

QIIME2 est disponible en chargeant un module qui enveloppe un conteneur. Pour connaître les versions disponibles, lancez

Question.png
[name@server ~]$ module spider qiime2


Une fois le module chargé, vous pouvez lancer

Question.png
[name@server ~]$ qiime --help


Note

Étant donné que la commande qiime appelle un conteneur, il se peut que vous deviez définir la variable d'environnement APPTAINER_BIND pour attacher des répertoires particuliers dans ce conteneur pour avoir accès à vos données, par exemple APPTAINER_BIND=/home qiime ...


Installation

L’installation peut se faire en utilisant Apptainer ou EasyBuild. Il est préférable d'utiliser Apptainer 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.


Contenu désuet

Cette page ou cette section contient des informations qui sont désuètes ou qui ne sont plus valides. Elle sera mise à jour par notre équipe technique à un moment ultérieur.




Utilisation avec Apptainer

Les développeurs de QIIME2 publient des images sur Quay.io. Pour utiliser ces images avec nos ressources, il faut d'abord créer une image Apptainer 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 Apptainer. De façon générale, chaque commande QIIME est exécutée dans un énoncé apptainer exec comme suit%nbsp;:

[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 /project/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 /project/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 /project/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 ce webinaire Apptainer.

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 Apptainer, comme suit :

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


Références

Site web QIIME