Validación de archivos VCF con el preprocesador

En esta página, se describe cómo utilizar el preprocesador de archivos VCF de la herramienta Variant Transforms para validar los 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:
  • Todas las definiciones en conflicto
  • Las rutas de acceso de los archivos correspondientes (máximo de cinco)
  • Las resoluciones sugeridas
(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:
  • Las rutas de acceso de los archivos afectados
  • Los registros con formato incorrecto
(Opcional) Encabezados inferidos Indica uno de los siguientes problemas con un campo:
  • Se utilizó un campo sin definición en cualquiera de los archivos VCF.
  • Se utilizó un campo con una definición, pero el valor del campo no coincide con su descripción. Por ejemplo:
    • El tipo definido de un campo es un número entero, pero el valor proporcionado es flotante. El preprocesador infiere que el tipo definido se cambia a flotante.
    • El número definido es A (esto significa que existe un valor para cada base alternativa), pero los valores proporcionados no tienen la misma cardinalidad que las bases alternativas. El preprocesador infiere que el número es desconocido.
    • En ambos casos, el preprocesador infiere el tipo y el número de los campos afectados y los proporciona en el informe.

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:

  1. Ejecuta la siguiente secuencia de comandos para iniciar el preprocesador. Sustituye las variables con recursos relevantes del proyecto de GCP.

    \#!/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 de una sola vez. Entre los formatos de archivo aceptables se 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.

  2. 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.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Cloud Life Sciences