mg_classifier

El nuevo mg_classifier (ver 1.8.0) ya tiene solucionados algunos de los inconvenientes de las versiones anteriores, ahora ya es posible:

  • Eliminar singletons (secuencias únicas)
  • Clasificar a todos niveles, desde especie hasta phylum
  • Super rápido
  • Clasificar con:
  • Calcula indices de diversidad alfa y beta
  • Archivos para generar gráficas
  • Tablas de OTUs en varios formatos
    • QIIME/ampvis2
    • Phyloseq

Mas información en Github.

Es necesario primero eliminar quimeras con chimera_detector y tener cada uno de los archivos con las secuencias (una archivo por muestra) ya limpias en el directorio que estemos usando con la misma extensión.

Uso

$ mg_classifier *.fasta

Si se tiene varios archivos a clasificar se pueden llamar con *.extension; cualquier extensión es válida siempre y cuando sean archivos multifasta.

$ mg_classifier file.fasta

Si hay un solo archivo se puede escribir solo el nombre del archivo (p.ej. file.fasta), pero tiene que estar en el directorio desde donde se está ejecutando el script.

Nota: Por lo pronto, no es posible llamar archivos que estén en otro directorio o subdirectorio.

Aparece el siguiente menú para seleccionar la base de datos que queremos usar, solo al que ingresar el número correspondiente a la base de datos. Aunque el script es super rápido, podemos salir de la terminal y él seguirá clasificando; para cortar el proceso podemos teclear ctrl z.

____________________ Metagenomic Sequence Classifier ver.1.8.0 __________________________
Select a database:

16S_rRNA
   1 EzBioCloud-LGM 2018
   2 EzBioCloud v1.5
   3 SILVA v132
   4 RDP 11.5
   5 RDP 11.5_V3-V4
    
18S_rRNA
   6 PR2 v4.72
   7 SILVA v128_euk

   x exit

Nota: con la base de datos SILVA-132 no obtenemos una clasificación hasta nivel especies, pero si a género. RDP tiene dos opciones, toda la base de datos (opción 4) o solo la región V3-V4 (opción 5); la primera tarda significativamente mas tiempo que la segunda, claro que la segunda solo se debe usar si se amplificó y secuenció alguna de estas regiones, o las dos.

Procesos básicos

mg_classifier tiene dos procesos fundamentales, clusterización de las secuencias y clasificación de las secuencias representativas de cada cluster, ambos procesos lo realiza con vsearch. El resto del script es simplemente para poner orden en los resultados y generar tablas que se puede usar luego en excel para analizar los datos.

  • Generación de cluster de secuencias y obtención de una secuencia representativa (centroide). El comando básico es:
$ vsearch --cluster_fast file.fasta --id 0.97 --threads 2 --sizeout --centroids file.centroid --fasta_width 0 --log file.log
  • Clasificación de los centroides obtenidos del comando anterior
$ vsearch --usearch_global file.centroid --threads 2 --db /opt/mg_pipeline/databases/EzBioCloud --id 0.50 --userout file.blast --userfields query+target+id --log file.classify.log

Este proceso genera un archivo de resultados del blast que tiene tres columnas, el nombre de la muestra, cuál fue la secuencias más cercana en la base de datos y el porcentaje de similitud.

El script define los límites para definir cada una de las categorías taxonómicas de acuerdo a lo publicado por Yarza:

Especie 97, género 94, familia 86.5, orden 82, clase 78.5, y phylum 75 (Yarza et al. 2014. Nat Rev Microbiol 12:635-645 ).

Resultados

El script genera varios archivos:

- Main table with OTUs found per sample: otus.tsv
- Log of the bioinformatic processes done: mg_classifier.log
OTU_tables subidrectory
   - Excel-type table with OTUs order from most abundant: otus.xls
   - Table with the number of sequences per taxon: OTUs_summary.tsv
   - Table with genera found per sample: genus.tsv
   - Table with families found per sample: family.tsv
   - Table with phyla found per sample: phylum.tsv
   - File with the samples first and the taxonomy, useful to make KRONA charts: samples-tax.tsv
   - Files with core taxa: core_phylum.txt and core_family.txt
   STAMP subidrectory
     - Table of results to be analyzed with STAMP
       Linux file: bacteria.spf
       Windows file: bacteria.win.spf
   QIIME subidrectory
     - OTU table useful for qiime, ampvis2, etc.: OTU_table.tsv and otus.txt
   Phyloseq subidrectory
     - Taxonomy table: taxonomy_table.tsv
     - Table of OTUs: otus_table.tsv
Diversity subdirectory
   - Alpha diversity indexes: alpha.txt
   - Selected alpha diversity indexes: alpha_indexes.tsv
   - Beta diversity indexes: beta matrix (.txt) and trees (.tree)
   - Rarefaction analyses of samples: rare.txt
Plot subdirectory
   - File for plotting the 15 most abundant families: families-plot.csv
   - File for plotting all the phyla: phyla_plot.csv
   - File for plotting only the 15 most abundant phyla: phyla15_plot.csv

¿Que tan rápido?

Se clasificaron 110,501 secuencias (long prom 165.9 bases, total de 18.14 millones bases, región V3) en 3 archivos con la base de datos:

  • EzBioCloud-1.5 en 9 seg
  • SILVA_128 en 27 seg
  • RDP_11.5 en 6:25 min
  • RDP_11.5_V3-V4 en 3:56 min