Binning

Flujo de trabajo para reconstruir genomas de metagenomas


Es posible recrear genomas completos o casi completos a partir de varias muestras secuenciando todo el metagenoma (shotgun) mediante un método conocido como binning (cita) para obtener "especies metagenómicas" o "Metagenome Assembled Genomes" (MAG).

Básicamente es necesario realizar un ensambles de cada uno de los metagenomas (se recomiendan al menos 5) y clasificar cada uno de los contigs encontrados a un cajón (binning), a partir de cada contig proveniente de diferente metagenoma, reconstruir los genomas encontrados (ver figura).

Claro, es necesario primero limpiar las secuencias.

Procedimiento

1. Ensamble con megahit.

Cómo siempre, hay primero que limpiar las secuencias.

A partir de secuencias pair-end, esta opción da mejores resultados:

$ megahit -1 R1.fastq -2 R2.fastq -o megahit -t 8

Si se tienen varios metagenomas en fastq, entonces se puede ejecutar así, nótese que están separados por comas los archivos fastq:

$ megahit -1 Sample.R1.fasta,Sample.R2.fastq -2  Sample.R2.fasta,Sample.R2.fastq -o megahit -t 8

Una forma de obtener todos los archivos fastq que estén en varios subdirectorios sin tener que teclear la ruta es mediante variables:

$ R1=$(find . -name '*.R1.*' | tr '\n' ',' | sed s'/.$//; s/\.\///g')

$ R2=$(find . -name '*.R2.*' | tr '\n' ',' | sed s'/.$//; s/\.\///g')

De esta forma buscará todos los archivos que tengan .R1. en su nombre y creará la lista, al igual con los pareados R2. Entonces podemos ya correr megahit llamando a éstas variables:

$ megahit -1 $R1 -2 $R2 -o megahit -t 8

Ensamble a partir de varios metagenomas ya en formato multifasta:

$ megahit -r sample1.fasta,sample2.fasta,sample3.fasta -m 0.2 -t 8 -o megahit

2. Binning de contigs con Maxbin

Una muestra

$ /opt/MaxBin-2.2.7/run_MaxBin.pl -contig megahit/final.contigs.fa -out maxbin -thread 8 -reads R1.fastq -reads2 R2.fastq

Varias muestras

Si tenemos varias muestras en diferentes carpetas, cada una con sus archivos pareados fastq o también con fasta, podemos primero crear una lista de archivos para suministrárselos a Maxbin:

$ find . -name *.fastq > fastq_file.list

Corremos Maxbin con esta lista como entrada:

$ /opt/MaxBin-2.2.7/run_MaxBin.pl -contig megahit/final.contigs.fa -out maxbin -reads_list fastq_file.list  -thread 8 -plotmarker

Aquí le estamos pidiendo a Maxbin que:

Todos los archivos de salida los pone en el directorio donde estamos por lo que es conveniente juntarlos en un subdirectorio:

$ mkdir maxbin

$ mv maxbin.* maxbin/

Los bins generados pueden ser importados a Anvi'o haciendo un nuevo archivo delimitado por tabuladores (.tsv) que tenga en la primer column el nombre del contig y en la segunda el nombre del bin. Ésto se puede hacer fácilmente con un script que obtenga los contigs y el nombre de cada archivo fasta generado por Maxbin:

#!/bin/bash

# A simple script to convert maxbin results to anvio

FILES=$(find *.fasta)

for f in $FILES; do

  NAME=$(basename $f .fasta)

 grep ">" $f | sed 's/>//' | sed -e "s/$/\t$NAME/" | sed 's/\./_/' >> maxbins4anvio.tsv

done

En el directorio donde lo ejecutemos sólo deben estar los archivos con terminación .fasta generados por Maxbin; crea un nuevo archivo llamado maxbins4anvio.tsv

Ya que tenemos este archivo, podemos importarlo a nuestro profile de Anvi'o, para mas detalles de como obtener este profile checar aquí, el comando de anvio a usar es:

$ anvi-import-collection maxbins4anvio.tsv -p SAMPLES-MERGED/PROFILE.db -c contigs.db -C Maxbin --contigs-mode

Y para visualizar esta colección de MAGs ya en anvio:

anvi-interactive -c contigs.db -p SAMPLES-MERGED/PROFILE.db --collection-name Maxbin

3. Anotación de genomas con Prokka (opcional). 

Con Maxbin se pueden haber generado MAGs y éstos pueden anotarse con Prokka:

$ prokka maxbin/maxbin.001.fasta --outdir prokka

Ensamble con metaspades

Alternativamente podemos hacer un ensable de contigs con metaSPAdes, puede tardar horas por lo que se recomienda correrlo con screen:

$ /opt/SPAdes-3.15.2-Linux/bin/metaspades.py -o metaspades -1 Sample.R1.fastq -2 Sample.R2.fastq -t 8

Se crea un nuevo directorios llamado metaspades (-o metaspades) con los archivos de salida