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
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
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 |