Una vez teniendo los contigs de todas las muestras, empieza el proceso de Anvi'o que puede ser bastante largo. Para simplificar, tenemos un script (anvio-mapper.v0.0.3.sh o metagenomic_workflow.v0.0.2.sh
) the realiza todos los pasos necesarios esenciales para tener una gráfica interactiva de Anvi'o lista para análisis.
El siguiente paso implica mapear cada una de las secuencias a los contigs previamente generados para cada muestra. A partir de este paso, ya utilizaremos el programa Anvi'o, por lo que hay que invocarlo de la siguiente manera:
$ source ~/virtual-envs/anvio-5.X/bin/activate
Notar que ahora anted del prompt debe aparecer (anvio-5.5) que nos señala que ya estamos en el virtual environment de Anvi'o, versión 5.5 en este caso.
1. Primero necesitamos crear un índice de los contigs con bowtie:
$ bowtie2-build contigs.fa contigs
2. Después ya mapear:
$ bowtie2 --threads N -x contigs -r sample1.fna -S sample1.sam
o si tenemos fastq pareados:
$ bowtie2 --threads N -x contigs -1 Sample1.R1.fastq -2 Sample1.R2.fastq -S sample1.sam
en --threads hay que especificar cuantos núcleos se usarán, se pueden poner 8; -r es el nombre de la muestra que se va a mapear y la salida (-S) el mismo nombre pero con terminación .sam
3. Convertir de formato sam a bam:
$ samtools view -F 4 -bS sample1.sam > sample1_raw.bam
4. Inicializar los archivo bam con Anvi'o:
$ anvi-init-bam sample1_raw.bam -o sample1.bam
Nota: Es necesario repetir del paso 2 al 4 para cada muestra que tengamos.
5. Limpieza de archivos innecesarios:
$ rm sample1.sam sample1_raw.bam
Ahora tenemos que crear una base de datos de los contigs:
$ anvi-gen-contigs-database -f contigs.fa -o contigs.db
Posteriormente es buena idea buscar hidden Markov models (hmm) en nuestros contigs:
$ anvi-run-hmms -c contigs.db --num-threads 12
El siguiente paso es asignarle una taxonomía a cada gen encontrado en los contigs, primero tenemos que generar un archivo con los genes:
$ anvi-get-dna-sequences-for-gene-calls -c contigs.db -o gene-calls.fa
Luego buscar estos genes a que taxon pertenecen con Centrifuge:
$ centrifuge -f -x /db2/centrifuge/p_compressed+h+v gene-calls.fa -S centrifuge_hits.tsv
o mejor aún, con kaiju, considerar que para Kaiju tenemos varias bases de datos, la mas completa, y que tarda mas (una media hora), es la que tienen secuencias de bacterias, virus, arqueas, y micro eucariontes (protistas):
$ /opt/kaiju-v1.7.2-linux-x86_64-static/bin/kaiju -t /db2/kaiju_dbs/nr_euk/nodes.dmp -f /db2/kaiju_dbs/nr_euk/kaiju_db_nr_euk.fmi -i gene-calls.fa -o gene-calls.out -v -z 8
$ /opt/kaiju-v1.7.2-linux-x86_64-static/bin/kaiju-addTaxonNames -i gene-calls.out -t /db2/kaiju_dbs/nr_euk/nodes.dmp -n /db2/kaiju_dbs/nr_euk/names.dmp -o gene-calls.tax -r superkingdom,phylum,order,class,family,genus,species
Y finalmente importar los datos a nuestra base de datos de los contigs:
$ anvi-import-taxonomy -c contigs.db -i gene-calls.tax -c contigs.db -p kaiju --just-do-it
Ahora necesitamos anotar funciones a los genes, para lo cual usamos la base de datos COGS de NCBI
$ anvi-run-ncbi-cogs -c contigs.db --num-threads 8 --cog-data-dir /databases/NCBI/COGS
Teniendo ya todos los datos, debemos crear un "profile" para cada muestra:
$ anvi-profile -i sample1.bam -c contigs.db --output-dir DIR --sample-name NAME -T 12 (--cluster-contigs SI ES SOLO CONTIGS Y NO HAY SECUENCIAS)
DIR puede ser el nombre de la muestra
NAME puede ser también el nombre de la muestra
Debemos juntar todos los profiles de las muestras:
$ anvi-merge samples/*/PROFILE.db -o SAMPLES-MERGED -c contigs.db --sample-name NAME
Ya por último podemos importar a la base de datos información de las muestras; esta info debe estar en un archivo delimitado por tabuladores.
$ anvi-import-misc-data additional_data.txt -p SAMPLES-MERGED/PROFILE.db --target-data-table layers
Este archivo debe tener en la primer columna el nombre de las muestras exactamente igual que como se usaron en los fastq, la primer línea debe tener el nombre de la columna:
SAMPLE SHRIMP TREATMENT
S04 04 Soy
C08 08 Control
P08 08 Chicken
P18 18 Chicken
S19 19 Soy
Con la información generada, ya podemos lanzar anvio en el navegador para empezar el análisis:
$ anvi-interactive -p SAMPLES-MERGED/PROFILE.db -c contigs.db
Si queremos tener la clasificación taxonómica, en caso de haberla realizado anteriormente:
$ anvi-interactive -p SAMPLES-MERGED/PROFILE.db -c contigs.db --taxonomic-level t_species
Y si queremos ver los MAGs encontrados:
$ anvi-interactive -p SAMPLES-MERGED/PROFILE.db -c contigs.db --collection-name CONCOCT --taxonomic-level t_species