Práctica de Metagenómica

Manuel Barrios

2024-07-31

Usuarios MAC:

Instalar brew
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Instalar wget
$ brew install wget

Si deseas trabajar en tu computadora puedes descargar las secuencias de https://drive.google.com/drive/folders/1hK_PLcAjioLWx-96nJcQZ8qnqy76uFaE?usp=sharing

o usando los siguientes comandos

Reducidas
$ wget "https://drive.google.com/uc?export=download&id=1vWSI0XwAQnL5mZyJSE_hTVbpZQVwFdI0"  
$ wget "https://drive.google.com/uc?export=download&id=1wVwbEMW6NHTrNRHb55n0TVQNFCoGMrSt"

Completas
$ wget "https://drive.google.com/uc?export=download&id=1BMHlgkLXRByQLcamRoLzvF3KxQYjhCqL"  
S wget "https://drive.google.com/uc?export=download&id=1WDTxOJPz-dAA9q-fOtOwSQWYSBKixMAJ"

A. Prepara el entorno de trabajo

  1. Instala Cliente SSH

La red SSH te permitirá conectarte a un servidor

sudo apt update  
sudo apt install openssh-client
  1. Anotate en la lista de usuarios en la siguiente dirección

    https://docs.google.com/spreadsheets/d/1wBLmaEbhGhB8Dz2INtWoNrRxajRwKGHOwHsTETXk6hY/edit?usp=sharing

  2. Ingrese a la red SSH con tu usuario de la siguiente forma:

    $

  3. Crea y muevete a la carpeta de nombre metagenomica

    $ mkdir metagenomica
    $ cd metagenomica

  4. Revisa el contenido de la carpeta

    $ ll
    $ ls
    $ ll -h

  5. Crea un symlink para la carpeta de CONDA (solo usuario del 08 al 40)

    $ mkdir -p ../bin && ln -s /home/cunzac/miniconda3/bin/conda ~/bin/conda && export PATH=“\(HOME/bin:\)PATH” && source ~/.bashrc

  6. Revisa si funciona el symlink para CONDA

    $ conda –version
    $ conda

  7. Despliega los environments de CONDA disponibles

    $ conda env list

  8. Activa conda base

    $ conda activate

  9. Activa el environment para alineamiento

    $ conda activate /home/cunzac/miniconda3/envs/metagenomica/envs/alineamiento
    $ conda deactivate

B. Explora el area de trabajo y los ficheros

  1. ¿Donde estoy?

    $ pwd

  2. ¿Quienes están aquí?

    $ ls
    $ ll

  3. Crea y cambiate al directorio 01-metagenomas y revisa los archivos de los metagenomas

    $ mkdir 01-metagenomas
    $ cd 01-metagenomas
    $ ll -h

  4. Debido al espacio en disco vamos a crear accesos directos a los metagenomas

    $ ln -s /home/cunzac/bioinformatica/retiro/01-metagenomas/171V_S6_L001_R1_001.fastq.gz
    $ ln -s /home/cunzac/bioinformatica/retiro/01-metagenomas/52V_S3_L001_R1_001.fastq.gz

  5. Revisa nuevamente el directorio y los metagenomas

    $ ll -h $ zcat 171V_S6_L001_R1_001.fastq.gz | head -n 20 $ zcat 52V_S3_L001_R1_001.fastq.gz | head -n 20

  6. Revisa la estructura de los archivos, consulta la siguiente página

    https://www.drive5.com/usearch/manual/fastq_files.html https://www.drive5.com/usearch/manual/quality_score.html

  7. Realiza los conteos de lecturas para cada uno de los ficheros

    $ zcat nombre-del-fichero | grep -c ‘@’
    $ zcat nombre-del-fichero | grep -c ‘^@’

C. Evalua la calidad de las secuencias

  1. Crea un directorio para guardar la evaluacion de calidad

    $ cd .. $ mkdir 02-calidad

  2. Realiza la evaluacion de la calidad

    $ conda activate /home/cunzac/miniconda3/envs/metagenomica/envs/calidad $ for file in ./01-metagenomas/*.fastq.gz; do fastqc -o 02-calidad “$file” done

  3. Revisa los ficheros de calidad

    $ firefox 02-calidad/*html

Para una mayor comprensión revisa el siguiente enlace https://rtsf.natsci.msu.edu/genomics/technical-documents/fastqc-tutorial-and-faq.aspx

  1. Toma decisiones para mejorar la calidad, considera lo siguiente:

    PhredScore o QScore: Idealmente mayor a 30 pero podemos bajarle hasta 25. Longitud de las secuencias: Entre más largas mejor. Adaptadores: Asegurate de quitar los adaptadores Illumina, consulta con tu proveedor.

  2. Para realizar el preprocesado vamos a realizar lo siguiente, trim-galore realizará la evaluación al final

    $ mkdir 03-preprocesado
    $ for file in ./01-metagenomas/*.fastq.gz; do trim_galore “$file” –cores 1 -q 30 –length 60 –fastqc –clip_R1 1 -o ./03-preprocesado done

  3. Revisa la calidad del preprocesado

    $ firefox 03-preprocesado/*html

D. Elimina el genoma hospedero

24. Filtra el genoma de las celulas vero, para esto necesitaras el genoma de las celulas Vero indexado. Descarga de genbank el genoma de referencia de WHO GCF_015252025.1 No hagas este procedimiento, ya lo he hecho yo pero te dejo los comandos

$ mkdir indexado-bowtie2  
$ cd indexado-bowtie2  
$ mv ~/Downloads/GCF_015252025.1_Vero_WHO_p1.0_genomic.fna.gz .  
$ gunzip GCF_015252025.1_Vero_WHO_p1.0_genomic.fna.gz  
$ conda deactivate  
$ conda activate /home/cunzac/miniconda3/envs/metagenomica/envs/alineamiento  
$ bowtie2-build GCF_015252025.1_Vero_WHO_p1.0_genomic.fna vero  
$ ll -h  
  1. Filtra el genoma de las celulas vero, para esto necesitaras el genoma de las celulas Vero indexado.

    $ mkdir indexado-bowtie2 $ ln -s /home/cunzac/bioinformatica/retiro/indexado-bowtie2/vero.1.bt2
    $ ln -s /home/cunzac/bioinformatica/retiro/indexado-bowtie2/vero.2.bt2
    $ ln -s /home/cunzac/bioinformatica/retiro/indexado-bowtie2/vero.3.bt2
    $ ln -s /home/cunzac/bioinformatica/retiro/indexado-bowtie2/vero.4.bt2
    $ mkdir 04-bowtie2-results

con nano crea el siguiente script

$ nano

#!/bin/bash

THREADS=1
INDEX_DIR="indexado-bowtie2/vero"
OUTPUT_DIR="04-bowtie2-results/"
for file in *.fq.gz; do
output_file="${file%.fq.gz}_mapped_and_unmapped.sam"
bowtie2 -p "$THREADS" -x "$INDEX_DIR" -U "$file" --un-gz "${OUTPUT_DIR}${file%.fq.gz}_host_removed.fq.gz" > "${OUTPUT_DIR}$output_file"
done

presiona Ctrl+x y guardalo como bowtie2-proceso.sh otorga permisos de ejecución y ejecuta el bash script

$ chmod +x bowtie2-proceso.sh
$ ./bowtie2-proceso.sh

E. Realiza la asignación taxonómica

  1. Crea un symlink a la base refseq viral indexada de kraken

    $ ln -s /hme/cunzac/bioinformatica/retiro/k2-viral/ k2-viral

  2. Realiza la asignacion taxonomica con Kraken2

    $ mkdir 05-kraken2-results

crear el siguiente bash script

#!/bin/bash

db_path="k2-viral"
for file in ./04-bowtie2-results/*.fq.gz; do
    # Obtener el nombre base del archivo para generar nombres de salida
    base_name=$(basename "$file" .fq.gz)
    output_file=./05-kraken2-results/${base_name}.kraken
    report_file=./05-kraken2-results/${base_name}_report.txt
    classified_out_file=./05-kraken2-results/${base_name}_classified.fq.gz
    echo "Procesando $file..."
    kraken2 --db "$db_path" --threads 1 --gzip-compressed --output "$output_file" \
        --report "$report_file" --use-names --classified-out "$classified_out_file" "$file"
done
  1. Explora los resultados

  2. Para realizar la visualización de los resultados de Kraken2, busca el script de R en el siguiente enlace https://rpubs.com/manuelbarriosizas/barplots-metagenomica