Anvi'o fasta

Podemos procesar las secuencias de metagenómica shotgun mediante el muy completo programa Anvi'o.

Para eso necesitamos, además de tenerlo instalado, las secuencias ya limpias en formato fasta o fastq. Como todo este proceso demanda mucho análisis computacional, es mejor realizarlo en Biobacter, o algún otro servidor que tenga instalado el programa. Biobacter lo tienen instalado con Miniconda y es accesible para todos los usuarios.

Los pasos aquí descritos son si tenemos secuencias en formato fasta sólo, pero se recomienda mejor usar secuencias pareadas en formato fastq.

Este proceso se basa en el tutorial de Anvi'o Metagenomic Workflow.

Preparación de librerías

Primero hay que limpiar las secuencias como ya se ha explicado.

Una vez que tenemos ya secuencias limpias, ensambladas y no ensambladas en formato fasta (ya no hacen falta fastq), podemos unirlas para tener solo un archivo por muestra. Para esto uniremos las secuencias ensambladas (aquí llamada merged.fasta) y solo una de las no ensambladas (llamada not.merged.R1.fasta).

$ cat merged.fasta not.merged.R1.fasta > sample1.fasta

Haremos lo misma para cada una de las muestras que tengamos.

Si tenemos archivos fasta

No se recomienda esta opción, mejor usar directamente los archivos pareados fastq (ver aquí).

$ megahit -r sample1,sample2,etc --min-contig-len 1000 -m 0.4 -t 8 -o megahit

   -r  Lista de secuencias no pareadas, separadas por coma únicamente
   -m  Porcentaje máximo de memoria a usar
   -t  Número de núcleos a usar
   -o  Directorio de salida
   --min-contig-len  Tamaño mínimo de contigs a generar, 1000 es el tamaño recomendado por Anvi'o

Si son varias muestras, separar los nombres con comas. Para obtener rápidamente los nombres de los archivos separados por comas, podemos usar el siguiente comando, asumiendo que los archivos tienen la terminación .fasta:

$ ls -1 *.fasta | tr '\n' ','

o bien, hacer una variable:

$ R=(find *.fasta | tr '\n' ',' | sed 's/.$//')

Podemos comprobar si la variable está bien construida con:

$ echo $R

si el resultado es como queremos, podemos ejecutar megahit con la variable:

$ megahit -r $R --min-contig-len 1000 -m 0.4 -t 8 -o megahit

Se pueden usar secuencias previamente ensambladas con PEAR, aunque es ligeramente mejor usar secuencias pareadas

Megahit nos produce un archivo con todos los contigs que pudo formar con las secuencias: megahit/final.contigs.fa

Limpieza de headers

Es necesario limpiar las secuencias de los metagenomas, para quitar espacios en los nombres de las secuencias, convertir las secuencias a una sola línea, en caso que este cortadas, y eliminar secuencias vacías. Esto lo podemos hacer con el script fasta_cleaner.

$ fasta_cleaner

Genera un menú para seleccionar dependiendo lo que necesitemos.

Debido a que los contigs (final.contigs.fa) provenientes de megahit tiene un encabezado largo, es necesario limpiarlo para que Anvi'o los pueda utilizar sin problemas, se puede usar el script anterior o bien:

$ header_parser final.contigs.fa > contigs.txt

Notar que ahora los contigs les pude extensión .txt. Realmente no importa mucho que extensión tengamos pero para el script que usaremos a continuación, si es necesario que no sea una extensión tipo fasta (fasta, fna, fa, etc.).

Análisis con Anvi'o

Una vez teniendo los contigs de todas las muestras (contigs.txt), empieza el proceso de Anvi'o que puede ser bastante largo (ver el proceso entero aquí). Para simplificar, tenemos un script (anvio-mapper_conda.v0.0.8.sh) the realiza todos los pasos necesarios esenciales para tener una gráfica interactiva de Anvi'o lista para análisis.

Debemos tener en un directorio solo las secuencias a analizar de los metagenomas y los contigs (contigs.txt).

Debido a la gran carga de trabajo que implica este proceso, puede tardar horas en realizarlo, por lo que se recomienda ejecutarlo por las tardes o en fin de semana.

$ anvi-mapper contigs.txt PROYECTO

contigs.txt es el archivo contigs.fa creado anteriormente pero renombrado a contigs.txt. Importante que tenga extensión txt, aunque sea un archivo tipo fasta y que esté en el directorio de trabajo.

PROYECTO es cualquier nombre (corto y sin espacios) que haga referencia a lo estamos analizando.

Todos los archivos fasta de las muestras deben estar en este directorio.

Es importante que los archivos fasta de las muestras:

  • No empiecen con un número ni tengan espacios, solo se permiten en los nombres de los archivos:
    • Letras
    • Números
    • Guion bajo _
  • Los nombre de las secuencias (headers) sean cortos y sin espacios
  • De preferencia que las secuencias estén en una sola línea
  • De preferencia que tengan la extensión .fa

Este script genera un archivo llamado PROYECTO.yyyy-mm-dd.hh:mm con todos los archivos de salida.

Visualización

Una de las fortalezas de Anvio es su capacidad de visualización de los resultados interactiva, esto es, que puede uno interactuar con la imagen generada para ver diferentes resultados. Esto a su vez complica implica que la computadora desde la que estamos trabajando tenga instalado Anvio, lo cual no es muy factible si tenemos una gran cantidad de datos. Debido a la magnitud de los datos generalmente usados en metagenómica shotgun, es indispensable analizarlos en un servidor. Entonces tenemos dos opciones:

  • Bajar del servidor el análisis (archivo anvio.yyyy-mm-dd.hh:mm) y abrirlo con la instalación local de Anvio
  • Hacer que la computadora local, ejecute la visualización de Anvio desde el servidor, para lo cual no es necesario tener Anvio instalado en la compu local, solo obviamente en el servidor.

Para inicializar la presentación de los resultados hay que ejecutar desde el directorio:

$ anvi-interactive -p SAMPLES-MERGED/PROFILE.db -c contigs.db --taxonomic-level t_species