En esta página, se describe cómo utilizar el preprocesador de archivos VCF de la herramienta Variant Transforms para validar archivos VCF. Puedes ejecutar el preprocesador como validador independiente o como auxiliar cuando se cargan y transforman archivos VCF en BigQuery.
Descripción general del preprocesador de archivos VCF
El preprocesador de archivos VCF valida los conjuntos de datos que contienen archivos VCF para identificar inconsistencias entre los archivos. El preprocesador informa estas inconsistencias y trabaja para eliminarlas cuando se cargan datos en BigQuery. Si el preprocesador no puede determinar cómo eliminar las inconsistencias, brinda correcciones manuales que puedes llevar a cabo, como cuando trabajas con archivos con formato incorrecto.
Cuando ejecutas el preprocesador, este genera un informe que identifica tres tipos de inconsistencias:
Inconsistencia | Descripción |
---|---|
(Predeterminado) Conflictos de encabezado | Indica que hay definiciones diferentes para el mismo campo en distintos archivos VCF. Esta inconsistencia es común. En el informe se enumera lo siguiente:
|
(Opcional) Registros de variantes con formato incorrecto | Indica que existen registros con un formato incorrecto que el analizador VCF no pudo analizar. En el informe se enumera lo siguiente:
|
(Opcional) Encabezados inferidos | Indica uno de los siguientes problemas con un campo:
|
Cómo ejecutar el preprocesador
Puedes ejecutar la herramienta mediante una imagen de Docker que tenga todos los objetos binarios y las dependencias necesarios instalados. Si estás procesando una cantidad grande de archivos, consulta Administra entradas grandes con el preprocesador.
Para ejecutar la herramienta con una imagen de Docker, completa los siguientes pasos:
Ejecuta la siguiente secuencia de comandos para iniciar el preprocesador. Sustituye las variables con los recursos relevantes de tu proyecto de Google Cloud.
\#!/bin/bash \# Parameters to replace: \# The PROJECT_ID is the name of the GCP project that contains your BigQuery dataset. GOOGLE_CLOUD_PROJECT=PROJECT_ID INPUT_PATTERN=gs://BUCKET/*.vcf REPORT_PATH=gs://BUCKET/report.tsv RESOLVED_HEADERS_PATH=gs://BUCKET/resolved_headers.vcf TEMP_LOCATION=gs://BUCKET/temp COMMAND="vcf_to_bq_preprocess \ --input_pattern ${INPUT_PATTERN} \ --report_path ${REPORT_PATH} \ --resolved_headers_path ${RESOLVED_HEADERS_PATH} \ --report_all_conflicts true \ --temp_location ${TEMP_LOCATION} \ --job_name vcf-to-bigquery-preprocess \ --runner DataflowRunner" docker run -v ~/.config:/root/.config \ gcr.io/cloud-lifesciences/gcp-variant-transforms \ --project "${GOOGLE_CLOUD_PROJECT}" \ --zones us-west1-b \ "${COMMAND}"
Cuando especifiques la ubicación de tus archivos VCF en un depósito de Cloud Storage, puedes especificar un solo archivo o utilizar un comodín (
*
) para cargar varios archivos a la vez. Los formatos de archivo aceptables incluyen GZIP, BZIP y VCF.Ten en cuenta que el directorio
TEMP_LOCATION
se utiliza a fin de almacenar archivos temporales que son necesarios para ejecutar la herramienta. Puede ser cualquier directorio en Cloud Storage al cual tengas acceso de escritura.Según diferentes factores, como el tamaño de tus datos, completar el trabajo puede demorar entre varios minutos y una hora, o más.
Resultado de ejemplo
En el siguiente ejemplo, se muestra un informe que se generó cuando el preprocesador se ejecutó en el conjunto de datos de 1,000 genomas:
Conflictos de encabezado
ID | Categoría | Conflictos | Rutas de acceso de los archivos | Resolución propuesta |
---|---|---|---|---|
GL | FORMATO | número=Ninguno tipo=Flotante | gs://genomics-public-data/1000-genomes/vcf/ALL.chr13.integrated_phase1_v3.20101123.snps_indels_svs.genotypes.vcf | número=Ninguno tipo=Flotante |
gs://genomics-public-data/1000-genomes/vcf/ALL.chr17.integrated_phase1_v3.20101123.snps_indels_svs.genotypes.vcf | ||||
gs://genomics-public-data/1000-genomes/vcf/ALL.chr21.integrated_phase1_v3.20101123.snps_indels_svs.genotypes.vcf | ||||
gs://genomics-public-data/1000-genomes/vcf/ALL.chr8.integrated_phase1_v3.20101123.snps_indels_svs.genotypes.vcf | ||||
gs://genomics-public-data/1000-genomes/vcf/ALL.chrX.integrated_phase1_v3.20101123.snps_indels_svs.genotypes.vcf | ||||
número=3 tipo=Flotante | gs://genomics-public-data/1000-genomes/vcf/ALL.wgs.integrated_phase1_v3.20101123.snps_indels_sv.sites.vcf | |||
GQ | FORMATO | número=1 tipo=Flotante | gs://genomics-public-data/1000-genomes/vcf/ALL.chrY.phase1_samtools_si.20101123.snps.low_coverage.genotypes.vcf | número=1 tipo=Flotante |
número=1 tipo=Número entero | gs://genomics-public-data/1000-genomes/vcf/ALL.chrY.phase1_samtools_si.20101123.snps.low_coverage.genotypes.vcf |
Encabezados inferidos
ID | Categoría | Resolución propuesta |
---|---|---|
FT | FORMATO | número=1 tipo=String |
No se encontraron registros con formato incorrecto.