Anotación de variantes a nivel de codón
Un VCF enumera bases.
get_MNV lee codones.
Dos sustituciones en un mismo codón dan un aminoácido, no dos. get_MNV traduce cada codón entero, sitúa cada indel en su gen y, con un BAM o un CRAM, cuenta las lecturas que llevan los cambios juntos.
- Entra
- un VCF, un BCF o una tabla de iVar, un FASTA, un GFF o una tabla de genes y, si quieres, un BAM o un CRAM
- Sale
- un TSV, un VCF con
ANNy un informe que se abre sin conexión
4 de 4 · El codón entero
example/G35894.var.snp.vcf
104941CT
104942CG
104944AG
Rv0095c, como lo lee el gen hebra negativa: las posiciones bajan
codón 91 · Val1 cambio
GCC Ala · una fila SNP
codón 92 · Gly2 cambios
104942 solaCGGArg
104941 solaGAGGlu
las dos, una moléculaCAGGln
codón 93 · Hissin cambios
- El VCF enumera tres sustituciones, un registro cada una, escritas sobre la hebra directa de la referencia.
- Agrupadas por codón. El gen va en la hebra negativa, así que C>T en 104941 es G>A en el gen. 104941 y 104942 comparten el codón 92; 104944 cae sola en el codón 91.
- Base a base, el codón 92 da Arg y Glu. Es lo que informa un anotador
que lee base a base: el propio
ANNde snpEff de la entrada dice p.Gly92Arg y p.Gly92Glu. - El codón entero da Gln: el aminoácido que lleva la proteína cuando los dos cambios están en la misma molécula, y eso un BAM lo confirma lectura a lectura. get_MNV lo escribe como una fila SNP/MNV, p.Gly92Gln, con las dos lecturas sueltas al lado.
example/G35894.var.snp.vcf.Pruébalo: un codón, dos lecturas
Cambia cualquier base. Cada cambio se lee por separado, como lo lee un anotador base a base, y luego todos juntos, como lee el codón get_MNV.
El script que lo hace interactivo no se ha ejecutado. Aquí está el primer ejemplo, resuelto.
| Leído como | Codón | Aminoácido |
|---|---|---|
| Referencia | CGT | Arg |
| Posición 1 sola, C>T | TGT | Cys missense |
| Posición 2 sola, G>C | CCT | Pro missense |
| Las dos, como lo lee get_MNV | TCT | Ser missense |
Base a base, este codón da Cys y Pro. Leído entero da Ser, que no nombra ninguna de las dos.
Traducido con el código bacteriano (tabla 11), el que usa get_MNV por defecto; admite nueve tablas del NCBI. Es un codón dentro de un gen: el primer codón de un gen se lee, en cambio, como iniciador.
Qué hace con un VCF
Los pasos 1 a 3 no necesitan lecturas. Un BAM o un CRAM solo añade el paso 4, que convierte "estos dos cambios están en un codón" en "estos dos cambios están en una molécula".
- 1
Descomponer
El REF y el ALT de cada registro en los cambios que contienen: SNV, MNV, inserciones, deleciones, delins.
- 2
Situar
Cada cambio en su gen y su codón, desde un GFF o una tabla de genes, en cualquier hebra y entre exones.
- 3
Traducir
El codón entero, con uno de nueve códigos genéticos del NCBI, y cada indel contra la proteína.
- 4
Contar
Con lecturas: cuántas llevan cada cambio, en qué hebra, y si los cambios viajan juntos.
- 5
Escribir
Un TSV, un VCF con
ANN, BCF si se pide y un informe que se abre sin conexión.
Cómo distingue get_MNV una molécula de dos · Indels y haplotipos locales
Instalación
Un solo binario, sin dependencias de C, en macOS, Linux y Windows. Una aplicación de escritorio hace lo mismo arrastrando y soltando.
Bioconda
conda install -c bioconda get_mnvDesde el código fuente
git clone https://github.com/PathoGenOmics-Lab/get_MNV.git
cd get_MNV
cargo install --path .Rust 1.91 o posterior.
Aplicación de escritorio
Versiones para macOS, Linux y Windows en la página de versiones, con un tutorial guiado.
No está firmada con un certificado de Apple: la primera vez, clic derecho sobre la aplicación y Abrir.
Comprueba lo que has descargado
Cada versión trae un fichero SHA256SUMS que cubre todos sus ficheros. Descárgalo
junto al que quieras y compruébalos juntos; cada fichero que encuentra imprime OK.
sha256sum --ignore-missing -c SHA256SUMSEn macOS, shasum -a 256 --ignore-missing -c SHA256SUMS hace lo mismo.
Tu primera ejecución
El repositorio trae una muestra de M. tuberculosis: un VCF, su referencia y una tabla de genes. Desde un clon:
get_mnv \
--vcf example/G35894.var.snp.vcf \
--fasta example/MTB_ancestor.fas \
--genes example/anot_genes.txt \
--both --output-dir out \
--report report.html- Entran 950 registros y salen 941 filas: 797 SNP, 10 codones SNP/MNV y 134 intergénicas
out/G35894.var.snp.MNV.tsvyout/G35894.var.snp.MNV.vcfreport.html, el informe de ejemplo
La misma ejecución, línea a línea · Recetas habituales · Todas las opciones
Qué obtienes
El codón 92 de Rv0095c de la figura 1, en cada una de las tres salidas.
TSV una fila por codón o indel
- Positions
104941, 104942- AA Changes
Gly92Gln- SNP AA Changes
Gly92Glu, Gly92Arg- Variant Type
SNP/MNV- HGVS c.
c.[274G>C;275G>A]- DBS Class
CC>TG
VCF cada base, y el codón
104941 C T …AA=Gly92Glu…
104942 C G …AA=Gly92Arg…
104941 CC TG …AA=Gly92Gln;…
ANN=TG|missense_variant|MODERATE|
Rv0095c_Rv0095c|…|p.Gly92Gln|
…|INFO_COMPOUND_ANNOTATIONANN va en el formato de snpEff, así que lo lee bcftools +split-vep.
Informe un HTML, sin servidor
Abre el informe de ejemplo
Para seguir
Adónde ir cuando la primera ejecución funciona.
Tutorial de línea de comandos
Una primera ejecución de principio a fin con los datos incluidos, la salida explicada línea a línea.
Recetas habituales
Una cohorte, una tabla de iVar, un VCF comprimido, un informe de ejecuciones anteriores.
Referencia de CLI
Cada opción con su valor por defecto, y qué cambia de la respuesta.
Formatos de salida
Cada columna del TSV, clave INFO del VCF y campo JSON, y cuándo un valor falta en vez de ser cero.
Ligamiento
Distinguir un haplotipo real de dos variantes que solo comparten codón, con las lecturas.
GUI de escritorio
El mismo análisis arrastrando y soltando, con un visor de lecturas y el informe dentro.
Resolución de problemas
Los desajustes de entrada que paran una ejecución, y qué pide cada mensaje.
Glosario
SNV, MNV, fase de codón, cis y trans, en el sentido en que los usan estas páginas.