QIIME

From Alliance Doc
Revision as of 17:03, 19 February 2020 by Diane27 (talk | contribs) (Created page with "'''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.'''")
Jump to navigation Jump to search
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 philogé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 dans votre répertoire home avec conda. Il n’est présentement pas possible d’installer QIIME 2 avec pip.

Utilisation avec Singularity

Il est aussi possible d'utiliser QIIME 2 via Singularity; voyez l'image docker disponible. Tout d'abord, créez une image à partir du site Docker comme suit :

[name@server ~]$ module load singularity
[name@server ~]$ singularity build qiime2-2019.10.sif docker://qiime2/core:2019.10


This build step may take over an hour, but you only need do this once. Save the image file (qiime2-2019.10.sif in this example) for later re-use.

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 ~]$ singularity exec qiime2-2019.10.sif <your QIIME command>


Votre script SBATCH ressemblerait à

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

singularity exec -B /home -B /project -B /scratch qiime2-2019.10.sif \
  qiime tools import \
  --type 'FeatureData[Sequence]' \
  --input-path /path/to/some_fastafile.fa \
  --output-path /path/to/some_output_feature.qza

singularity exec -B /home -B /project -B /scratch qiime2-2019.10.sif \
  qiime tools import \
  --type 'FeatureData[Taxonomy]' \
  --input-format HeaderlessTSVTaxonomyFormat \
  --input-path /path/to/some_taxonomy_file.tax \
  --output-path /path/to/some_output_ref-taxonomy.qza

singularity exec -B /home -B /project -B /scratch qiime2-2019.10.sif \
  qiime feature-classifier fit-classifier-naive-bayes \
  --i-reference-reads  /path/to/some_output_feature.qza \
  --i-reference-taxonomy /path/to/some_output_ref-taxonomy.qza \
  --o-classifier /path/to/some_output_classifier.qza

Note that it is important to bind the folders you want to work with to the execution of the container. For more information about Singularity, you can watch the recorded Singularity webinar.

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 ~]$ singularity exec qiime2-2019.10.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 eb. Pour installer la version 2019.7, lancez

[name@server ~]$ 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

[name@server ~]$ 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 home. 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

Site web QIIME
Documentation EasyBuild