Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

VCF-Dateien mit dem Präprozessor-Tool validieren

Auf dieser Seite wird beschrieben, wie Sie den im Tool Variant Transforms enthaltenen Präprozessor zur Validierung von VCF-Dateien verwenden. Sie können den Präprozessor als eigenständigen Validator oder als Hilfstool ausführen, wenn Sie VCF-Dateien in BigQuery laden und transformieren.

Übersicht über den Präprozessor für VCF-Dateien

Der Präprozessor für VCF-Dateien überprüft Datasets, die VCF-Dateien enthalten, auf Inkonsistenzen zwischen den Dateien. Er meldet die Inkonsistenzen und beseitigt sie beim Laden von Daten in BigQuery. Wenn er nicht ermitteln kann, wie die Inkonsistenzen zu beseitigen sind, bietet er Korrekturen an, die Sie manuell vornehmen können, z. B. bei fehlerhaften Dateien.

Bei der Ausführung des Präprozessors wird ein Bericht generiert, der drei Arten von Inkonsistenzen angibt:

Inkonsistenz Beschreibung
(Standard) Headerkonflikte In verschiedenen VCF-Dateien gibt es unterschiedliche Definitionen für dasselbe Feld. Diese Inkonsistenz ist gängig. Im Bericht sind die folgenden Informationen aufgeführt:
  • Alle in Konflikt stehenden Definitionen
  • Die Dateipfade der entsprechenden Dateien (maximal fünf)
  • Lösungsvorschläge
(Optional) Fehlerhafte Variantendatensätze Es sind fehlerhafte Datensätze vorhanden, die vom VCF-Parser nicht analysiert werden konnten. Im Bericht sind die folgenden Informationen aufgeführt:
  • Die Dateipfade der betroffenen Dateien
  • Die fehlerhaften Datensätze
(Optional) Abgeleitete Header Weist auf eines der folgenden Probleme mit einem Feld hin:
  • In einer der VCF-Dateien wurde ein Feld ohne Definition verwendet.
  • Das Feld enthält eine Definition, der Feldwert stimmt jedoch nicht mit der Feldbeschreibung überein. Beispiel:
    • Als Feldtyp wurde Ganzzahl definiert, der angegebene Wert ist jedoch ein Gleitkommawert. Der Präprozessor leitet daraus ab, dass der definierte Typ in eine Gleitkommazahl zu ändern ist.
    • Als Zahl ist A definiert, d. h., für jede alternative Basis gibt es einen Wert. Der angegebene Wert hat jedoch nicht dieselbe Kardinalität wie die Werte der alternativen Basis. Der Präprozessor leitet ab, dass die Zahl unbekannt ist.
    • In beiden Fällen leitet der Präprozessor den Typ und die Zahl der betroffenen Felder ab und gibt sie im Bericht an.

Präprozessor ausführen

Sie können das Tool mit einem Docker-Image ausführen, in dem alle erforderlichen Binärdateien und Abhängigkeiten installiert sind. Wenn Sie eine große Anzahl von Dateien vorverarbeiten, lesen Sie die Informationen unter Mit dem Präprozessortool umfangreiche Eingaben verarbeiten.

So führen Sie das Tool mit einem Docker-Image aus:

  1. Führen Sie das folgende Skript aus, um den Präprozessor zu starten. Ersetzen Sie die Variablen durch die relevanten Ressourcen aus Ihrem Google Cloud-Projekt.

    \#!/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}"
    

    Wenn Sie den Speicherort Ihrer VCF-Dateien in einem Cloud Storage-Bucket angeben, können Sie eine einzelne Datei auswählen oder einen Platzhalter (*) verwenden, um mehrere Dateien gleichzeitig zu laden. Die zulässigen Dateiformate sind unter anderem GZIP, BZIP und VCF.

    Beachten Sie, dass die temporären Dateien, die zur Ausführung des Tools notwendig sind, im Verzeichnis TEMP_LOCATION gespeichert werden. Das kann ein beliebiges Verzeichnis in Cloud Storage sein, für das Sie Schreibzugriff haben.

  2. Die Ausführung des Jobs kann von wenigen Minuten bis hin zu einer Stunde oder länger dauern und richtet sich nach verschiedenen Faktoren, unter anderem nach der Datenmenge.

Beispielausgabe

Der folgende Bericht wurde bei Ausführung des Präprozessortools für das Dataset 1000 Genomes generiert:

Headerkonflikte

ID Kategorie Konflikte Dateipfade Vorgeschlagene Lösung
GL FORMAT num=None type=Float gs://genomics-public-data/1000-genomes/vcf/ALL.chr13.integrated_phase1_v3.20101123.snps_indels_svs.genotypes.vcf num=None type=Float
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
num=3 type=Float gs://genomics-public-data/1000-genomes/vcf/ALL.wgs.integrated_phase1_v3.20101123.snps_indels_sv.sites.vcf
GQ FORMAT num=1 type=Float gs://genomics-public-data/1000-genomes/vcf/ALL.chrY.phase1_samtools_si.20101123.snps.low_coverage.genotypes.vcf num=1 type=Float
num=1 type=Integer gs://genomics-public-data/1000-genomes/vcf/ALL.chrY.phase1_samtools_si.20101123.snps.low_coverage.genotypes.vcf

Abgeleitete Header

ID Kategorie Vorgeschlagene Lösung
FT FORMAT num=1 type=String

Keine fehlerhaften Datensätze gefunden.