Aquí te explicamos como se hace el entrenamiento de clasificadores con q2-feature-classifier en QIIME 2.
Es importante que ya tengas instalado QIIME 2, en caso de que no sea así, puedes ver como hacerlo en nuestro canal de Youtube.
En este tutorial entrenaremos un clasificador de Naive Bayes usando la base de datos de referencia de Greengenes y clasificaremos las secuencias representativas del tutorial de Moving Pictures.
Considera que en los recursos de datos de QIIME 2 se proporcionan varios clasificadores ya pre-entrenados tanto de Silva como de Greengenes, estos son para el 16S rRNA, ya sea para el 16S completo o para la región variable que flanquean estos primers, este es un dato muy importante ya que los clasificadores se entrenan en el caso del 16S para la región variable que hayas utilizado en tu estudio, si utilizaste una diferente a la región V4, debes entrenar el clasificador con los datos de los primers que utilizaste como veremos más adelante.
Existen otros clasificadores pre-entrenados para otros genes marcadores en el foro de QIIME 2. Veamos los pasos a seguir:
Paso 1. Crear una carpeta y descargar los archivos
Crea una carpeta con el comando mkdir llamada training-feature-classifiers y posteriormente ingresa a ella con el comando cd, aquí almacenaremos los archivos de trabajo y los que se generen.
Lo siguiente es descargar los archivos que vamos a utilizar en el tutorial e importarlos como artefactos qza utilizado en QIIME 2.
Para entrenar un clasificador se requieren dos cosas: las secuencias de referencia y las clasificaciones taxonómicas correspondientes. Para reducir el tiempo de cómputo en este tutorial, utilizaremos el conjunto de datos de Greengenes 13_8 85%, que es relativamente pequeño, sin embargo, es muy importante que no lo utilices para la clasificación de tus datos experimentales, para ello es mejor que utilices secuencias de referencia agrupadas al 99% de similitud.
Otro punto importante es que todos los IDs de las secuencias de referencia también deben estar presentes en la taxonomía. Si utilizas bases de datos de secuencias de referencia que han sido agrupadas en OTUs, asegúrate de que se utilice la taxonomía de referencia correspondiente. Por ejemplo, si utilizas las secuencias de Greengenes al 99%, también debes utilizar la taxonomía al 99% OTU.
Vamos a descargar las secuencias de Greengenes al 85% desde la página de QIIME 2 y posteriormente mover el archivo de la carpeta de descargas con el comando mv a la carpeta de trabajo.
También podemos utilizar el comando wget para descargar la taxonomía correspondiente directamente en la carpeta de trabajo.
Lo mismo podemos hacer para las secuencias representativas del tutorial de moving pictures, recuerda que este archivo lo obtenemos con dada2 o deblur.
Paso 2. Importar los datos a artefacto qza de QIIME2
Lo siguiente es importar estos datos en artefactos de QIIME 2. Debido a que el archivo de taxonomía de referencia de Greengenes (85_otu_taxonomy.txt) es un archivo separado por tabulaciones (TSV) sin encabezado, debemos especificar HeaderlessTSVTaxonomyFormat como el formato de origen cuando realicemos la importación.
Primero importamos las secuencias de Greengenes, para ello utilizamos el código qiime tools import, el tipo de datos que vamos a importar son secuencias, como archivo de entrada las secuencias de Greengenes al 85% que acabamos de descargar en formato fasta y como salida el artefacto qza de las secuencias de Greengenes al 85%.
Lo siguiente es importar la taxonomía, nuevamente con qiime tools import, el tipo de archivo son datos de taxonomía, en el formato de entrada especificamos que el documento está separado por tabulaciones pero que no tiene encabezado, como archivo de entrada el documento txt de la taxonomía que descargamos y como salida el artefacto qza de la taxonomía.
Cursos de bioinformática disponibles
Paso 3. Extraer las lecturas de la región variable de interés de la base de datos de referencia
Es necesario extraer las lecturas de la base de datos de referencia porque la precisión de la clasificación taxonómica de las secuencias del 16S rRNA es mejor cuando el clasificador de Naive Bayes se entrena solo en la región variable de las secuencias de trabajo, aunque no necesariamente es así con otros genes marcadores como los ITS.
Si quieres profundizar un poco más en las bases de la clasificación Naive Bayes te recomendamos el curso asincrónico de Qiime 2 para principiantes.
Por lo tanto, debido a que en el tutorial de Moving Pictures las lecturas son single end y se cortaron a 120 pb y que fueron amplificadas con estos primers 515F/806R del 16S rRNA, vamos a optimizar el entrenamiento extrayendo las lecturas de la base de datos de referencia con base en las coincidencias con estos primers y haciendo un corte a 120 pb.
Utilizamos el siguiente código qiime feature-classifier extract-reads y como archivo de entrada el artefacto con las secuencias de la base de datos de Greengenes, posteriormente la secuencia del primer forward y luego la del primer reverse. Es muy importante que la secuencia del primer no contenga secuencias de los adaptadores, linkers o barcodes.
Después con el parámetro de trunc-len a 120 cortamos las secuencias de referencias a este tamaño y, solo lo usamos si las secuencias de trabajo fueron recortadas también, como se menciona en el tutorial de Moving pictures.
Con los parámetros de p-min-length y p-max-length excluimos secuencias que estén fuera del tamaño esperado para los primers utilizados, ya que probablemente sean amplicones con resultados no deseados y estos valores se ajustan de acuerdo a el tamaño de amplicón de la región variable que usaste para tu estudio, en este caso es para la región V4.
Paso 4. Entrenar el clasificador
Lo siguiente es entrenar el clasificador, utilizamos este código qiime feature-classifier fit-classifier-naive-bayes, como archivo de entrada el artefacto con las secuencias de la base de datos de referencia seleccionadas y cortadas con base en los primers que acabamos de generar. Después el artefacto de la taxonomía y como archivo de salida el artefacto del clasificador.
Listo, ya se ha generado el clasificador, cabe aclarar que para este tutorial el clasificador se genero muy rápidamente porque utilizamos la base de datos de Greengenes al 85%, si en tu caso estás utilizando una base de datos con más información puede ser que este paso tarde mucho tiempo o que incluso lo aborte el el sistema ya que requiere de mucho poder de cómputo. Si este es tu caso, escribe un correo a contacto@microbioma-lab.com ya que contamos con el servicio de entrenamiento de clasificadores.
Finalmente vamos a probar que funciona el clasificador con los siguientes códigos:
Primero utilizaremos el plugin feature-classifier y el método de sklearn, como archivo de entrada el clasificador que acabamos de entrenar, y las lecturas representativas del tutorial de moving pictures, como archivo de salida el artefacto de taxonomía de las secuencias de trabajo.
Posteriormente vamos a generar un archivo de visualización, utilizando como archivo de entrada el artefacto de taxonomía que acabamos de generar y como archivo de salida el visualizador.
Este archivo qzv lo abrimos en QIIME 2 view y vemos la clasificación asignada a cada feature de las secuencias representativas del tutorial de Moving pictures.
Finalmente, para entrenar clasificadores de ITS fúngicos con la base de datos de referencia de UNITE no se recomienda extraer las lecturas con base en los primers, sino trabajar con las secuencias de referencia completas.
Recuerda que en Microbioma lab podemos ayudarte a entrenar el clasificador para tu estudio, envíanos un correo o llena el formulario para ponernos en contacto contigo.
En el siguiente video puedes ver el tutorial de clasificadores paso a paso.
Cursos de bioinformática disponibles