Saltar a contenido

Referencia de la CLI

Referencia completa de las opciones de línea de comandos de get_mnv (versión 1.1.5). Ejecuta get_mnv --help para ver la misma lista en tu terminal.

Sinopsis

get_mnv [OPTIONS] --fasta <FASTA_FILE> <--vcf <VCF_FILE>|--tsv <TSV_FILE>>

Debes proporcionar una referencia (--fasta) y exactamente una fuente de variantes (--vcf o --tsv), además de una anotación de genes (--gff o --genes). La única excepción es --report-from, que construye un report a partir de salidas TSV ya existentes y no necesita ninguna de las tres.

Entrada

Opción Descripción
-v, --vcf <FILE> Entrada de variantes en VCF plano o comprimido con BGZF (SNV/MNV e indels).
--tsv <FILE> Entrada variants.tsv de iVar.
-b, --bam <FILE> Lecturas alineadas opcionales para soporte de lecturas. Debe estar ordenado por coordenadas e indexado.
-f, --fasta <FILE> FASTA de referencia (requerido).
--sample <NAME> Muestra que se anota en un VCF multimuestra (por defecto: primera muestra; all para todas). Sus métricas FORMAT pasan a ser la profundidad y la frecuencia originales, y su genotipo decide qué alelos ALT lleva.
--chrom <NAME> Restringe el procesamiento a un solo contig (por defecto: todos los contigs de la entrada).

Anotación

Opción Descripción
--gff <FILE> Anotación de genes en formato GFF/GFF3.
-g, --genes <FILE> Tabla de genes TSV simple: gene,start,end,strand. Úsala en lugar de --gff.
--gff-features <LIST> Tipos de característica GFF separados por comas a analizar (por defecto: gene,pseudogene). Usa CDS para transcritos con splicing.
--translation-table <N> Código genético NCBI (por defecto: 11, bacteriano). Admitidos: 1, 2, 3, 4, 5, 6, 11, 12, 25.
--exclude-intergenic Descarta las variantes fuera de los genes anotados.

Soporte de lecturas y calidad

Estas solo aplican cuando se proporciona --bam.

Opción Por defecto Descripción
-q, --quality <N> 20 Calidad Phred de base mínima.
--min-mapq <N> 0 Calidad de mapeo mínima (MAPQ).
-s, --snp <N> 0 Lecturas mínimas que soportan el SNP.
--min-snp-frequency <F> 0.0 Frecuencia alélica mínima del SNP derivada del BAM (0.0–1.0).
-m, --mnv <N> 0 Lecturas mínimas que soportan el MNV.
--min-mnv-frequency <F> 0.0 Frecuencia mínima del haplotipo MNV derivada del BAM (0.0–1.0).
--min-snp-strand <N> 0 Lecturas mínimas que soportan el SNP en cada hebra.
--min-mnv-strand <N> 0 Lecturas mínimas que soportan el MNV en cada hebra.
--min-strand-bias-p <F> 0.0 Valor p mínimo del test exacto de Fisher aceptado para las métricas de sesgo de hebra. Solo afecta a la salida VCF: el escritor de TSV no tiene umbral de sesgo, así que esto nunca quita una fila del TSV.

Cómo se combinan los umbrales de SNP y MNV

Los filtros de frecuencia y recuento de lecturas usan el soporte recalculado a partir de --bam, no los OFREQ/ODP originales de la entrada.

Una fila a nivel de codón (SNP/MNV) se conserva cuando cualquiera de los dos lados supera su listón: sus SNV individuales pasan los umbrales de SNP, o su haplotipo pasa los de MNV. Eso conserva un haplotipo bien soportado cuyos SNV individuales son débiles, y funciona también en el otro sentido: con los umbrales de SNP en su valor por defecto de 0, el lado SNP pasa siempre, así que subir --mnv a solas no quita nada. Sube los dos, o ninguno. La ejecución avisa cuando has pedido un umbral MNV que no puede llegar a una fila a nivel de codón.

Qué umbrales gobiernan cada fila:

Fila La juzgan
SNP los umbrales de SNP
MNV, SNP/MNV cualquiera de los dos lados, como arriba
INDEL los umbrales de MNV, medidos contra el soporte de evento del propio indel (Event Reads, Event Forward Reads, Event Reverse Reads, Event Depth), no contra ninguna columna SNP

Una fila del TSV se conserva o se descarta entera, y una fila a nivel de codón supera el lado SNP solo cuando lo superan todas sus sustituciones. Un registro del VCF es un alelo, y se filtra por su cuenta. Así que una ejecución con --both bajo un umbral que una sustitución cumple y otra no escribe ese alelo en el VCF sin que ninguna fila del TSV lo lleve: falló la fila, no el alelo. Ninguna de las dos salidas está mal; son unidades distintas.

Así que un indel se filtra con --mnv, --min-mnv-frequency y --min-mnv-strand; --snp no lo toca nunca. Eso vale también fuera de los genes: un indel intergénico se cuenta y se juzga por su propio soporte como cualquier otro. Solo queda exenta una fila que no llegó a ningún contador, porque no se puede aplicar un umbral a una medición que nadie tomó.

Ajuste de indels

Opción Por defecto Descripción
--frameshift-min-freq <F> 0.5 Frecuencia mínima que debe alcanzar un indel aguas arriba para marcar con frameshift los codones de SNV/MNV aguas abajo. Por defecto solo propaga desde un indel aguas arriba mayoritario; pon 0.0 para propagar desde cualquiera. Con --bam la frecuencia es la que get_MNV cuenta de las lecturas (el mismo número que reporta como EFREQ), no el AF que declaró el llamador; sin BAM se cae al AF declarado. Un indel cuya frecuencia no se conoce por ninguna de las dos vías siempre propaga, porque no hay nada que comparar.
--legacy-indel-depth desactivado Restringe la profundidad del locus del indel (el denominador de EFREQ) a las lecturas que abarcan el alelo REF entero. Por defecto se cuenta desde las que observan la base de anclaje, lo que evita subcontar profundidad en deleciones multibase; este flag recupera el denominador antiguo, más estrecho.
--phased-indel-min-reads <N> 2 Lecturas mínimas que soportan en el BAM para emitir una fila de haplotipo indel/complejo en fase. Una sola lectura no es evidencia de un haplotipo.
--count-mates-separately apagado Cuenta los dos mates de un fragmento como dos observaciones en vez de una molécula.
--phased-indel-min-freq <F> 0.0 Frecuencia mínima derivada del BAM para emitir una fila de haplotipo indel/complejo en fase.
--normalize-alleles off Recorta el prefijo/sufijo compartido de REF/ALT antes del procesamiento.
--split-multiallelic off Divide los registros VCF multialélicos en alelos ALT independientes en lugar de fallar.

Salida

Opción Descripción
--convert Escribe salida VCF (.MNV.vcf) en lugar de TSV.
--both Escribe TSV y VCF en una sola ejecución.
--vcf-gz Escribe .vcf.gz comprimido con BGZF (modo de salida VCF).
--index-vcf-gz Construye un índice Tabix .tbi (requiere --vcf-gz).
--bcf Escribe también un BCF convertido a partir del VCF generado (requiere --convert/--both).
--strand-bias-info Añade los valores p de sesgo de hebra del test exacto de Fisher al INFO del VCF (SBP/MSBP).
--keep-original-info Conserva los campos INFO originales del VCF en la salida (requiere --convert/--both).
--emit-filtered Emite los registros que no superan los umbrales con etiquetas FILTER en lugar de omitirlos.

--index-vcf-gz y --bcf llaman a programas externos

Todo lo demás que escribe get_MNV lo escribe get_MNV. Estos dos no: --index-vcf-gz ejecuta tabix y --bcf ejecuta bcftools, ambos tomados del PATH. Vienen con samtools/htslib y con bcftools, y ninguno es dependencia de compilación, así que una máquina puede tener get_MNV y no tenerlos.

Que falte un programa no es una ejecución fallida. get_MNV avisa, se salta ese paso y termina: el TSV y el VCF se escriben igualmente y la ejecución sale con 0. Nada reclama después el fichero que no se escribió, así que el resumen JSON no reporta ningún BCF y --run-manifest no anota ninguna suma de comprobación para él. Mira los avisos, o mira si está el fichero, cuando un paso posterior lo necesite.

Informe HTML interactivo

Opción Descripción
--report <HTML_FILE> Escribe un informe HTML interactivo y autocontenido de las variantes llamadas. Necesita la salida TSV, que es la de por defecto. --convert escribe el VCF en lugar del TSV, y los dos flags son mutuamente excluyentes, así que usa --both en vez de --convert cuando quieras un informe junto a la salida VCF. Con --sample all el informe cubre todas las muestras.
--report-from <TSV>... Construye el informe a partir de TSV de get_MNV ya existentes, sin ejecutar el pipeline, para cohortes procesadas muestra a muestra. Cada fichero es una muestra, etiquetada con su nombre de archivo. Requiere --report para la ruta de salida.

Consulta Formatos de salida para saber qué contiene el informe.

Validación y metadatos

Opción Descripción
--dry-run Valida las entradas e imprime un resumen por contig sin escribir salidas.
--strict Falla si faltan en la entrada las métricas originales de profundidad/frecuencia (ODP/OFREQ).
--summary-json <FILE> Escribe un resumen de la ejecución legible por máquina.
--run-manifest <FILE> Escribe un manifiesto de reproducibilidad (entradas, salidas, checksums, metadatos de ejecución).
--error-json <FILE> Escribe detalles de error estructurados en formato JSON cuando el comando falla.
--threads <N> Número de hilos de trabajo (por defecto: automático de Rayon).
-h, --help Imprime la ayuda.
-V, --version Imprime la versión.