Formatos de entrada¶
get_MNV necesita tres archivos: llamadas de variantes, un FASTA de referencia y anotación de genes. El archivo BAM es opcional.
1. Llamadas de variantes¶
Pasa las llamadas de variantes con:
--vcf <VCF_FILE>
# o
--tsv <IVAR_TSV_FILE>
Las entradas de llamadas de variantes admitidas son:
- VCF (
.vcfo.vcf.gz) - TSV de variantes de iVar (
.tsv)
Usa --vcf para archivos .vcf simples o .vcf.gz comprimidos con BGZF, y
--tsv para archivos variants.tsv de iVar. La entrada BCF no se acepta
directamente; conviértela antes, por ejemplo con
bcftools view input.bcf > input.vcf.
Los comandos antiguos que pasan un TSV de iVar mediante --vcf se siguen
detectando de forma automática cuando la cabecera tiene las columnas estándar de
iVar.
VCF¶
Usa un archivo VCF estándar que contenga llamadas SNV/MNV, indels o alelos complejos.
Requisitos:
- Los nombres de contig del VCF deben coincidir con los del FASTA y los del GFF/GTF.
- Los alelos REF deben coincidir con la secuencia del FASTA.
- Los registros multialélicos deben dividirse previamente, o bien hay que
ejecutar con
--split-multiallelic.
get_MNV puede leer las métricas originales de profundidad y frecuencia desde
campos INFO o FORMAT habituales, como DP, AF, FREQ, AD, AO y RO.
Estos valores de frecuencia de entrada se conservan en el informe como OFREQ.
Los filtros de frecuencia de la línea de comandos (--min-snp-frequency,
--min-mnv-frequency) usan en su lugar el soporte de lecturas derivado del BAM,
por lo que requieren --bam.
TSV de iVar¶
Usa el TSV generado por ivar variants.
Columnas obligatorias:
| Columna | Significado |
|---|---|
REGION |
Nombre del contig |
POS |
Posición en base 1 |
REF |
Base de referencia |
ALT |
Base alternativa |
Columnas opcionales que se usan cuando están presentes:
| Columna | Se usa como |
|---|---|
TOTAL_DP |
Profundidad original (ODP) |
ALT_FREQ |
Frecuencia original (OFREQ) |
REF_DP, ALT_DP |
Sirven para inferir profundidad y frecuencia si hace falta |
PASS |
Sirve para conservar las filas que pasan el filtro |
Filtrado:
- Si existe
PASS, get_MNV conserva los valores con sentido verdadero, comoTRUE,PASS,1oYES. - Las filas donde
REF == ALTse descartan. - La notación de indels de iVar como
+SEQo-SEQse convierte en alelos anclados al estilo VCF usando la referencia FASTA y, a continuación, se analiza con el mismo modelo de eventos de alelo que la entrada VCF. ALT_FREQse incluye en el informe como frecuencia original (OFREQ), y es independiente de los filtros de frecuencia derivados del BAM.
2. FASTA de referencia¶
Pasa la referencia con:
--fasta reference.fasta
Requisitos:
- Los IDs de registro del FASTA deben coincidir con los nombres de contig de las variantes.
- Las bases deben ser bases de ADN IUPAC válidas.
- No se admiten nombres de contig duplicados.
3. Anotación de genes¶
Proporciona --gff o --genes.
GFF/GFF3/GTF¶
Recomendado para la mayoría de los conjuntos de datos:
--gff genes.gff3
Por defecto, get_MNV analiza las features gene,pseudogene. Para la anotación de
codones de regiones codificantes de proteínas, usa:
--gff-features CDS
Detalles importantes:
- Las coordenadas se leen de las columnas 4 y 5.
- La hebra se lee de la columna 7.
- En las features
CDS, se usa la fase de la columna 8 cuando está presente. - En las filas
CDScontranscript_idoParent, get_MNV construye la secuencia CDS empalmada de cada transcrito. La agrupación de codones, los efectos sobre el aminoácido de los MNV y el contexto de frameshift de los indels se evalúan entonces sobre el CDS completo del transcrito. - Si un GFF/GTF contiene varios transcritos para el mismo gen, una sola variante
puede producir una línea de salida por cada transcrito solapante. Cada uno se
anota por su cuenta, que es la respuesta honesta cuando la anotación ofrece
varios. Si quieres una línea por variante, deja un solo transcrito por gen en
el GFF antes de ejecutar, por ejemplo con
agat_sp_keep_longest_isoform.plde AGAT.
Los nombres de genes se leen de atributos habituales como gene_name, gene,
Name, locus_tag, gene_id e ID.
Anotación TSV simple¶
Usa --genes para un archivo de anotación pequeño y sencillo:
--genes genes.tsv
Formato de cuatro columnas:
GeneName GeneStart GeneEnd Strand
Ejemplo:
Rv0007_Rv0007 9914 10828 +
Rv0008c_Rv0008c 11874 12311 -
Formato opcional de cinco columnas con fase:
GeneName GeneStart GeneEnd Strand Phase
La fase puede ser 0, 1, 2 o .. Si se omite la columna de fase, toma el
valor 0 por defecto.
Formato opcional de seis columnas con biotipo:
GeneName GeneStart GeneEnd Strand Phase Biotype
Rv0007_Rv0007 9914 10828 + 0 protein_coding
mcr11_RVnc0013 1413094 1413224 - 0 ncRNA
Los valores aceptados son protein_coding, coding, CDS y mRNA para
features que se traducen, y ncRNA, rRNA, tRNA, tmRNA, miRNA, snRNA,
snoRNA, misc_RNA, antisense_RNA, SRP_RNA, RNase_P_RNA, non_coding y
pseudogene para las que no. Cualquier otro valor se rechaza con un error en
vez de adivinarse, porque adivinar mal inventa una proteína o esconde una real.
Una feature no codificante se reporta contra su gen como
non_coding_transcript_exon_variant (MODIFIER), sin cambio de aminoácido.
Si se omite la columna de biotipo se asume que toda feature es codificante,
que es lo que han hecho siempre los ficheros de cuatro y cinco columnas: un gen
de RNA se traduce entonces como si fuera una proteína. Declara el biotipo cuando
tu anotación contenga features no codificantes.
La entrada GFF y GTF lo dice por sí sola. Decide el atributo gene_biotype,
biotype o transcript_biotype del registro, leído con el mismo vocabulario que
la columna de arriba; y si no lo trae, decide el tipo de feature de la columna 3,
así que las filas rRNA, tRNA, ncRNA y pseudogene se leen como no
codificantes sin necesidad de decírselo. Una feature que no dice nada de sí misma
se asume codificante, que es lo que es una fila gene bacteriana. Ten en cuenta
que la lista por defecto de --gff-features es gene,pseudogene, así que los
pseudogenes entran por defecto y no se traducen.
Limitaciones de la anotación TSV:
- No tiene columna de contig.
- Para datos multi-contig, usa GFF/GTF o limita la ejecución con
--chrom.
4. Lecturas BAM (opcional)¶
Pasa las lecturas BAM con:
--bam reads.bam
Cuando se proporciona un BAM, get_MNV calcula:
- El soporte de lecturas de los SNP
- El soporte de lecturas del haplotipo MNV
- La profundidad total y la frecuencia
- Los recuentos por hebra directa e inversa
- Estadísticas opcionales de sesgo de hebra
Requisitos:
- El BAM debe estar ordenado.
- El BAM debe estar indexado (
.bai). - Los nombres de contig del BAM deben coincidir con los del archivo de variantes y los del FASTA.
- Las lecturas duplicadas, secundarias, suplementarias y marcadas como QC-fail se ignoran, igual que las descarta
samtools mpileuppor defecto.
Nombres de contig¶
Todos los archivos de entrada deben coincidir en los nombres de contig:
variant contig == FASTA record ID == GFF sequence ID == BAM reference name
Por ejemplo, chr1 y 1 son nombres diferentes. Renombra o normaliza las
entradas antes de ejecutar get_MNV.