Metabarcoding de comunidades de eucariontes
  • Sesiones
  • Lecturas recomendadas
  1. Día 2
  2. Preparación del entorno
  • Día 1
    • Conexión a Zoom
    • Conexión al servidor
  • Día 2
    • Introducción a Linux y R
    • Introducción al pipeline DADA2
    • Nuestros datos: eDNA de peces del Golfo de California
    • Clonación de repositorio Github
    • Preparación del entorno
  • Día 3
    • Archivos FASTQ: estructura y organización
    • Control de calidad y recorte de primers con Cutadapt
    • DADA2 — Filtrado inicial
  • Día 4
    • Dada2 - Dereplicación e Inferencia de Errores
    • Dada2 - Unión de lecturas paired-end
    • Dada2 - Remoción de quimeras y seguimiento de lecturas
    • Dada2 - Asignación taxonómica y guardado de resultados
  • Día 5
    • Análisis ecológico de comunidades de peces
    • OTUs: agrupamiento por similitud con VSEARCH
    • Detección y remoción de contaminantes con decontam
    • Bases de datos de referencia personalizadas
  • Lecturas recomendadas
    • Referencias
  1. Día 2
  2. Preparación del entorno

Preparación del entorno

Todo lo necesario para correr el flujo de trabajo del curso se encuentra en el repositorio metabarcoding-code. Este repositorio contiene los scripts, archivos de configuración y la estructura de carpetas que el pipeline espera para funcionar correctamente.


Estructura del repositorio

metabarcoding-code/
├── scripts/                  Scripts numerados en orden de ejecución
│   ├── 01-conexion-servidor.qmd
│   ├── 02-qaqc-fastqc.qmd
│   ├── 02b-cutadapt.sh
│   ├── 03-dada2-pipeline.R
│   ├── 04 a 06 — Base de datos de referencia
│   ├── 07-reporte.qmd
│   ├── 08-otus.qmd / 08b-vsearch.sh
│   └── 09-decontam.qmd
├── metadata/                 Archivos de configuración
│   ├── primer_data.csv           Parámetros del marcador
│   ├── metadata.csv              Información de muestras
│   ├── Fish_speciesGC.csv        Lista de peces del Golfo de California
│   └── 12S_fish_taxonomy.fasta   Base de datos taxonómica
├── raw_fastqs/               Datos crudos (se copian del servidor)
├── for_dada2/                FASTQs recortados con Cutadapt
│   └── filtered/                 FASTQs filtrados por DADA2
├── cutadapt_reports/         Reportes de Cutadapt
├── final_data/               Resultados del análisis
│   ├── logs/                     Gráficas de calidad, estadísticas
│   ├── csv_output/               Tablas de ASVs y taxonomía
│   ├── rdata_output/             Checkpoints .RData
│   ├── reporte_ecologico/        Figuras y tablas del análisis ecológico
│   └── otus_vsearch/             FASTA y resultados de VSEARCH
└── environment.yml           Definición del ambiente conda

Flujo de datos entre carpetas

flowchart LR
    A[raw_fastqs]:::included -->|Cutadapt| B[for_dada2]:::generated
    A -->|FastQC / MultiQC| C[cutadapt_reports]:::generated
    B -->|DADA2| D[final_data]:::generated
    E[metadata]:::included -->|primers, metadatos| B
    E -->|BD taxonómica| D

    classDef included fill:#dbeafe,stroke:#3b82f6,color:#1e3a5f
    classDef generated fill:#fef3c7,stroke:#f59e0b,color:#78350f

    linkStyle default stroke:#333333,stroke-width:2px

Los datos crudos en raw_fastqs/ pasan por Cutadapt para remover primers y se guardan en for_dada2/. DADA2 toma esos archivos filtrados junto con la configuración de metadata/ y produce los resultados finales en final_data/.


Archivos de configuración

La carpeta metadata/ contiene los archivos que el pipeline lee al inicio de cada análisis. Su contenido y estructura son fundamentales para que el código funcione correctamente.

primer_data.csv — Configuración del locus

Define los parámetros del marcador genético. Contiene una fila por cada locus; si el estudio usa más de un marcador (por ejemplo 12S y COI), cada uno tiene su propia fila y se selecciona con el índice i al inicio del script.

Columna Descripción Ejemplo
locus_shorthand Nombre corto del marcador 12S
seq_f / seq_r Secuencias de primers F y R ACACCGCCCGTCACTCT
F_qual / R_qual Longitud del primer (para Cutadapt) 17 / 20
amplicon_length Longitud esperada del amplicón (bp) 65
max_trim Truncamiento máximo permitido 100
overlap Solapamiento mínimo F/R para merge 12
db_name Archivo FASTA de referencia taxonómica 12S_fish_taxonomy.fasta

El locus a analizar se selecciona con i <- 1 (primera fila). Si tienes múltiples marcadores, cambia i.

metadata.csv — Información de las muestras

Conecta cada archivo FASTQ con su información ecológica y geográfica. El pipeline lo usa para asignar metadatos al objeto phyloseq.

Columna Descripción Ejemplo
sample_id Identificador de la muestra GC-001
site_id Código del sitio de muestreo POR
name Nombre completo del sitio Punta Perico
date Fecha de colecta 2019-03-15
lat / lon Coordenadas geográficas 28.05 / -112.89
region Región del estudio Norte
locus_shorthand Marcador de la muestra 12S
sequencing_lane Carril de secuenciación L001
replicate Réplica técnica 1
filename_base Nombre original del secuenciador S1_L001
rename_to Nombre para el pipeline 12S-GC-001-d1_1_S1_L001

Nomenclatura de los archivos FASTQ

El pipeline identifica qué archivos procesar a partir del nombre de los FASTQs. Los nombres se construyen a partir de las columnas de metadata.csv y primer_data.csv, por lo que es fundamental que coincidan.

Formato esperado

{locus_shorthand}-{sample_id}-{dilution}_{replicate}_{site}_{sequencing_lane}_R{1|2}_001.fastq

Ejemplo real de este curso:

12S-GC-001-d1_1_S1_L001_R1_001.fastq   ← lectura forward
12S-GC-001-d1_1_S1_L001_R2_001.fastq   ← lectura reverse

Descripción de cada campo

Campo Ejemplo Descripción
{locus_shorthand} 12S Columna locus_shorthand en primer_data.csv — debe coincidir exactamente
{sample_id} GC-001 Columna sample_id en metadata.csv
{dilution} d1 Columna dilution en metadata.csv
{replicate} 1 Columna replicate en metadata.csv
{site} S1 Columna site en metadata.csv — número de muestra del MiSeq
{sequencing_lane} L001 Columna sequencing_lane en metadata.csv
R{1\|2} R1 / R2 Dirección de la lectura (forward / reverse)
_001.fastq — Sufijo estándar de Illumina
Advertencia

Errores comunes:

  • El locus_shorthand en el nombre del archivo no coincide con el de primer_data.csv → el script no encontrará ningún archivo
  • El sample_id no existe en metadata.csv → la muestra no tendrá metadatos en el análisis final
  • Archivos con extensión .fastq.gz en lugar de .fastq → verifica si necesitas descomprimirlos primero con gunzip
Clonación de repositorio Github
Archivos FASTQ: estructura y organización

© Dra. Tania Valdivia Carrillo — Todos los derechos reservados