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
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
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:
Utilice los contigs generados con Megahit ( -contig megahit/final.contigs.fa)
Los archivos de salida llevan el prefijo maxbin (-out maxbin)
Usa la lista de archivos (-reads_list fastq_file.list)
Usa 8 núcleos para el proceso (-thread 8)
Genera gráficos de cada MAG (-plotmarker)
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
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