¿Por qué es útil conocer los llamadores alternativos en la práctica?
Ya hemos visto GATK4 y DeepVariant; ahora es momento de revisar los llamadores alternativos. Strelka2 y FreeBayes son herramientas de código abierto con una larga trayectoria, que pueden superar a GATK en ciertas situaciones, tener costos computacionales mucho menores o estar especializadas para bibliotecas específicas.
El objetivo de esta sección es desarrollar la intuición necesaria para responder a la pregunta: «¿Qué llamador es más ventajoso en esta situación?» al recibir un nuevo proyecto.
Strelka2 — El llamador propio de Illumina
Strelka2 es un llamador desarrollado por Illumina y publicado como código abierto en 2018. Admite tanto el modo germline como el somático.
Particularidades del principio
- Modelo genotípico empírico: Al igual que HaplotypeCaller, realiza un ensamblaje local, pero depende en gran medida de parámetros empíricos previamente entrenados para su modelo probabilístico.
- Especializado para secuenciadores Illumina: Está ajustado a los patrones de error de NovaSeq, HiSeq X y MiSeq.
- Fortaleza en tumores somáticos (tumor-normal): Presenta alta sensibilidad clínica en pares tumor-normal.
Comando de ejecución
# Ejecución germinalconfigureStrelkaGermlineWorkflow.py \ --bam=S1.bam \ --referenceFasta=hg38.fa \ --runDir=strelka_germline_S1
strelka_germline_S1/runWorkflow.py -m local -j 16
# Ejecución somáticaconfigureStrelkaSomaticWorkflow.py \ --normalBam=normal.bam \ --tumorBam=tumor.bam \ --referenceFasta=hg38.fa \ --runDir=strelka_somatic_S1
strelka_somatic_S1/runWorkflow.py -m local -j 16El comando Configure genera el script del flujo de trabajo y este se ejecuta efectivamente. Un concepto similar al de Nextflow.
Puntos fuertes
- Velocidad: Entre 1/3 y 1/5 del tiempo que tarda GATK4.
- Validación en Illumina: En varias pruebas comparativas, el F1 de los indels es ligeramente superior al de GATK.
- Integración con la gestión de flujos de trabajo: Garantiza la reproducibilidad mediante Configure + runWorkflow.
Puntos débiles
- Desventaja en especies no humanas: Al estar ajustado para humanos con Illumina, GATK es más estable en otras especies.
- Dificultad de personalización: No admite el reentrenamiento del modelo.
FreeBayes — llamador de haplotipos lógicamente flexible
FreeBayes es una herramienta de código abierto creada por Erik Garrison (el mismo autor del grafo pangenómico). Se mantiene activamente en GitHub.
Particularidades del principio
- Basado en haplotipos: Al igual que HaplotypeCaller, crea haplotipos locales y calcula la verosimilitud a partir de las lecturas.
- Soporte para poliploides: Permite especificar el número de conjuntos cromosómicos mediante
-p N(2n en humanos, 4n·6n·8n en plantas, haploide en microorganismos). - Soporte para muestras mixtas: Permite la llamada incluso cuando múltiples individuos están mezclados en un solo archivo BAM (secuenciación de pool).
Comando de ejecución
freebayes \ --ploidy 2 \ --fasta-reference hg38.fa \ --targets exome.bed \ --min-alternate-fraction 0.20 \ S1.bam > S1.freebayes.vcfBasta con configurar unas pocas opciones.
--ploidy: ploidía; 2 en humanos, 4, 6 u 8 en plantas y 1 en bacterias.--min-alternate-fraction: VAF mínima; 0,20 es un umbral clínico habitual.--targets: intervalos objetivo.
Ventajas
- Poliploidía: como GATK se centra principalmente en humanos diploides, FreeBayes resulta útil en proyectos de plantas y microorganismos.
- Rapidez en genomas pequeños: la llamada de variantes de un genoma microbiano de 5 Mbp tarda pocos minutos.
- Comunidad abierta: las incidencias suelen recibir respuestas rápidas.
Desventajas
- Sensibilidad en referencias humanas: algo inferior a GATK o DeepVariant.
- Filtrado mínimo: requiere añadir un filtrado posterior, por ejemplo con
bcftools filter.
¿Cuándo usar qué programa? Matriz de decisión práctica
| Situación | Primera opción | Segunda opción |
|---|---|---|
| WGS/WES humano en clínica estándar | GATK4 | DeepVariant |
| Máxima sensibilidad en WGS humano | DeepVariant | GATK4 |
| Pares tumor-normal humanos, somáticas | Mutect2 | Strelka2 |
| Solo tumor humano | Mutect2 (PoN) | Strelka2 |
| Lecturas largas PacBio HiFi | DeepVariant | Clair3 |
| Genomas microbianos haploides | FreeBayes | Snippy (Bcftools) |
| Plantas y especies acuáticas poliploides | FreeBayes | GATK4 (opción de ploidía) |
| Escala pequeña y pocas muestras | Strelka2 | Filtro rígido de GATK4 |
| Máxima prioridad a la reproducibilidad de un artículo | La misma herramienta del artículo original | — |
Esta matriz sirve como base para las decisiones prácticas. Como los resultados de los benchmarks se actualizan cada año, conviene revisar los informes más recientes al iniciar un proyecto.
Metodología de las pruebas comparativas: GIAB + hap.py
¿Cómo pueden compararse los llamadores de variantes de forma justa? Existe un protocolo estándar.
1. Definir los criterios con el conjunto de referencia GIAB
El consorcio Genome in a Bottle (GIAB) combinó múltiples plataformas y llamadores para crear conjuntos de verdad de siete muestras humanas (HG001–HG007), con regiones y genotipos de alta confianza. Estos conjuntos son el estándar de referencia para benchmarking.
- HG001 (NA12878): dispone del conjunto de verdad más completo.
- HG002–HG007: amplían la diversidad representada.
2. Comparar con hap.py
hap.py, desarrollado por Illumina, es una herramienta estándar de comparación.
hap.py \ truth.vcf.gz \ S1.gatk.vcf.gz \ -f confident_regions.bed \ -r hg38.fa \ -o gatk_vs_truthSe muestran los siguientes indicadores en los resultados.
- Precision (Precisión): Proporción de verdaderos positivos entre las variantes llamadas.
- Recall (Sensibilidad): Proporción de verdaderos positivos que fueron llamados.
- F1: Media armónica.
- Por tipo (SNP · INDEL): Rendimiento por cada tipo de variante.
3. vcfeval
vcfeval de RTG Tools también es estándar. Los resultados coinciden en gran medida con los de hap.py.
Cálculo manual — ¿Qué indica el F1?
Resultados de un benchmark hipotético.
| Llamador | Precision | Recall | F1 |
|---|---|---|---|
| GATK4 HC | 0.995 | 0.993 | 0.994 |
| DeepVariant | 0.996 | 0.997 | 0.996 |
| Strelka2 | 0.994 | 0.995 | 0.994 |
| FreeBayes | 0.987 | 0.983 | 0.985 |
En el estándar de SNP para WGS humano, el orden por sensibilidad es: DeepVariant ligeramente por delante, GATK/Strelka2 dominantes y FreeBayes algo rezagado. El significado práctico de cada valor:
- Precision 0.996 = De 1 millón de variantes llamadas, 4.000 son falsos positivos.
- Recall 0.997 = De 1 millón de verdaderos positivos, se omiten 3.000.
En un flujo de trabajo clínico, 4.000 falsos positivos son significativos y requieren curación posterior. Esta curación ocupa la mayor parte del tiempo práctico.
Ensemble — Combinación de múltiples llamadores
Existe un enfoque que combina los resultados de varios llamadores para maximizar la sensibilidad.
- Union: Variantes llamadas por al menos un llamador → Sensibilidad máxima · Aumento de falsos positivos.
- Intersection: Variantes llamadas por todos los llamadores → Especificidad máxima · Disminución de la sensibilidad.
- 2-of-3: Al menos 2 de 3 llamadores están de acuerdo → Punto de equilibrio.
nf-core/sarek admite este enfoque de ensemble. En cohortes a gran escala, el ensemble aporta un valor práctico real en la mejora de la sensibilidad.
Práctica con Colab — Benchmark pequeño de chr22
!apt-get install -y freebayes samtools bcftools >/dev/null
# Ejemplo pequeño!wget -q https://sra-pub-src-1.s3.amazonaws.com/HG002/HG002_chr22.bam!samtools index HG002_chr22.bam
# Llamada de variantes con FreeBayes!freebayes -f hg38_chr22.fa HG002_chr22.bam > freebayes.vcf!bcftools view freebayes.vcf | head -30Como la instalación de hap.py es relativamente pesada, se recomienda ejecutarlo por separado mediante Docker.
Mapeo de características
- Haplotipos bayesianos: FreeBayes utiliza un enfoque de haplotipos locales similar al de HaplotypeCaller.
- Parámetros empíricos: Strelka2 utiliza estadísticas previamente entrenadas.
- Benchmarking (precision/recall/F1): consulte la unidad de DryBench sobre marcos de benchmarking (
benchmarking-frameworks).
Conclusión
La elección del llamador depende del contexto; la matriz de esta unidad sirve como mapa para esa decisión. En la siguiente unidad (S14) veremos herramientas especializadas en variantes estructurales grandes que los llamadores de lecturas cortas pueden pasar por alto: Manta, Delly y GRIDSS.
Para profundizar
- Kim S. et al. (2018), Strelka2: fast and accurate calling of germline and somatic variants. Nature Methods 15:591. Artículo original de Strelka2.
- Garrison E. & Marth G. (2012), Haplotype-based variant detection from short-read sequencing. arXiv:1207.3907. Artículo original de FreeBayes.
- Zook J.M. et al. (2019), An open resource for accurately benchmarking small variant and reference calls. Nature Biotechnology 37:561. Protocolo de benchmarking de GIAB.
- precisionFDA Truth Challenge (https://precision.fda.gov/challenges): competición de benchmarking de llamadores de variantes.
- nf-core/sarek (https://nf-co.re/sarek): flujo de trabajo de conjunto basado en Nextflow.
Conservar la matriz de llamadores como referencia al inicio de cada proyecto acelera considerablemente la toma de decisiones. En la siguiente unidad pasaremos a las herramientas de variantes estructurales.