Das BigQuery-Variantenschema

Auf dieser Seite wird die Struktur des in BigQuery generierten Schemas erläutert, wenn Sie das Tool "Variant Transforms" verwenden. Auf dieser Seite wird beschrieben, wenn Sie das Tool Variant Transforms verwenden, um VCF-Dateien zu transformieren und direkt in BigQuery zu laden, um zu erfahren, wie die Exporttabelle strukturiert ist.

Nomenklatur

Machen Sie sich mit den folgenden Begriffen vertraut, um die Exportformate und Schemas zu verstehen.

Genomische Nomenklatur

Probe
DNA, die unter einer Kennzeichnung erfasst und verarbeitet wird. Eine Probe bezieht sich in der Regel auf einen einzelnen Organismus. Es gibt aber auch heterogene Proben wie beispielsweise bei einem Mundhöhlenabstrich.
Referenzname
Der Name eines Referenzsegments der DNA. Der Referenzname ist in der Regel ein Chromosom, kann aber auch andere benannte Regionen aus einem Referenzgenom sein.
Variante

Eine Region des Genoms, die als vom Referenzgenom abweichend identifiziert wurde. Eine Variante muss die folgenden Attribute haben:

  • Referenzname
  • Start position
  • End position
  • Eine oder mehrere Referenzbasen
Nicht-Varianten-Segment

Eine Region des Genoms, die mit dem Referenzgenom übereinstimmt. Das Nicht-Varianten-Segment wird auch als "Referenzsegment" bezeichnet. In der Regel enthalten genomische Daten keine Nicht-Varianten-Segmente mit Varianten.

Weitere Informationen zu Segmenten ohne Varianten finden Sie unter Informationen zu gVCF.

Anruf

Ein in einer einzelnen Probe identifiziertes Vorkommen einer Variante oder eines Nicht-Varianten-Segments. Ein Aufruf stellt die Genotypart einer bestimmten Variante dar. Der Aufruf kann zugehörige Informationen wie Qualität und Phase enthalten.

INFO-Felder

Optionale Felder wurden zu Varianten- und Anrufinformationen hinzugefügt. So haben beispielsweise alle Aufrufe ein Feld genotype, aber nicht alle Datasets haben ein Feld für "Genotype Quality" (GQ). Das Feld genotype ist ein fester Bestandteil des Schemas VariantCall, hat jedoch kein Feld GQ. Sie können das Feld GQ und den Wert als Schlüssel/Wert-Paare in das VariantCall-Feld info importieren.

Weitere genomische Nomenklatur finden Sie hier:

BigQuery-Begriffe

Machen Sie sich mit den folgenden BigQuery-Begriffen vertraut:

Einfache Felder
Einfache Datenelemente in einer BigQuery-Tabelle, z. B. Zahlen und Strings.
Verschachtelte Felder
Komplexe Datenelemente in einer BigQuery-Tabelle. Ein verschachteltes Feld kann mehrere Felder enthalten, die wiederum einfach oder verschachtelt sein können.
Wiederkehrende Felder
Felder in einer BigQuery-Tabelle, die mehrere Werte annehmen können, z. B. eine Liste. Wiederkehrende Felder können einfach und verschachtelt sein.

Mehr zu den komplexen Datentypen von BigQuery finden Sie hier:

Struktur der Variantentabelle

Wenn Sie das Tool Variant Transforms ausführen, geben Sie den Namen der BigQuery-Tabelle an. Der Name der Tabelle lautet in der Regel variants.

Eintragsstruktur der Variantentabelle

Die Einträge der oberen Ebene der variants-Tabelle können Varianten und Nicht-Varianten-Segmente sein. Jeder Eintrag in der variants-Tabelle enthält einen oder mehrere Aufrufe.

Die folgende Tabelle zeigt die Datensatzstruktur der Variantentabelle. Die Tabelle enthält die folgenden Variantendatensätze:

  • Variant1
  • Variant2

Das BigQuery-Dataset enthält die folgenden Beispiele:

  • Sample1
  • Sample2
  • Sample3

In der folgenden Tabelle können Sie sich die Ergebnisse ansehen:

  • Variant1 wurde für Sample1 und Sample2 aufgerufen.
  • Variant2 wurde für Sample1 und Sample3 aufgerufen.
   
Variant1 Stichproben1

Beispiel2
Variant2 Stichproben1

Beispiel3

Feldstruktur der Variantentabelle

Jede variants-Tabelle enthält einen festen und einen variablen Satz an Feldern. Die Struktur der Tabelle sieht so aus:

     
Feste Felder für Variante Aufruf INFO-Felder für Variante
Feste Felder für Aufruf          INFO-Felder für Aufruf

Feste Felder der Variantentabelle

Die folgenden festen Felder auf Datensatzebene (Variante) sind:

  • reference_name
  • start_position
  • end_position
  • reference_bases
  • alternate_bases
  • names
  • quality
  • filter

Feste Felder auf Aufrufebene (VariantCall):

  • name
  • genotype
  • phaseset

Beispielschema

Beim Laden der Daten von 1000 Genomes in BigQuery wurde auch die VCF-Datei ALL.chrY.phase3_integrated_v1a.20130502.genotypes.vcf importiert.

Die VCF-Datei enthält verschiedene INFO-Felder auf Varianten- und Aufrufebene, wie in den folgenden INFO- und FORMAT-Header-Anweisungen beschrieben:

##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=GP,Number=G,Type=Float,Description="Genotype likelihoods">
##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
##FORMAT=<ID=FT,Number=1,Type=String,Description="Per-sample genotype filter">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
 [[trimmed]]
##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral allele">
##INFO=<ID=AC,Number=A,Type=Integer,Description="Total number of alternate alleles in called genotypes">
##INFO=<ID=AF,Number=A,Type=Float,Description="Estimated allele frequency in the range (0,1]">
##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
 [[trimmed]]

Beim Laden der Datei in BigQuery ist Folgendes passiert:

  • Felder, die als INFO gekennzeichnet sind, wie AC und AF, wurden den Variantenressourcen als INFO-Felder hinzugefügt.
  • Felder, die als FORMAT gekennzeichnet sind, z. B. die Felder GP und GQ, wurden den Feldern VariantCall als INFO-Felder hinzugefügt.
  • Das FORMAT-Feld GT wurde nicht als INFO-Feld hinzugefügt. Der Wert wurde in das Feld genotype konvertiert.

In der Tabelle Schema ansehen in BigQuery werden die folgenden festen Felder angezeigt:

Feldname Typ Mode Beschreibung
reference_name STRING NULLABLE Referenzname
start_position INTEGER NULLABLE Startposition (0-basiert). Entspricht der ersten Base des Referenzbasenstrings.
end_position INTEGER NULLABLE Endposition (0-basiert). Entspricht der ersten Base nach der letzten Base im Referenzallel.
reference_bases STRING NULLABLE Referenzbasen.
alternate_bases RECORD REPEATED Ein Eintrag für jede alternative Base (falls vorhanden). Siehe Zusätzliche alternate_bases-Eintragsinformationen.
alternate_bases.alt STRING NULLABLE Alternative Base
names STRING REPEATED Variantennamen (z. B. RefSNP-ID).
quality FLOAT NULLABLE Phred-skalierter Qualitätsfaktor (-10log10 prob(call is wrong)). Höhere Werte bedeuten bessere Qualität.
filter STRING REPEATED Liste fehlgeschlagener Filter (falls vorhanden) oder "PASS", wenn die Variante alle Filter erfolgreich durchlaufen hat
call RECORD REPEATED Ein Eintrag pro Aufruf.

Das Anzeigen des Schemas zeigt die folgenden Variablenfelder (Felder INFO) an:

Feldname Typ Mode Beschreibung
call.name STRING NULLABLE Name des Aufrufs.
call.genotype INTEGER REPEATED Genotyp des Aufrufs. "-1" wird verwendet, wenn der Genotyp nicht aufgerufen wird.
call.phaseset STRING NULLABLE Phasenset des Aufrufs, falls vorhanden "*" wird verwendet, wenn der Genotyp phasenverschoben ist, aber kein Phasenset ("PS" in FORMAT) angegeben wurde.

Zusätzliche alternate_bases-Eintragsinformationen

Der Eintrag alternate_bases enthält ein beliebiges INFO-Feld mit Number=A. Dies vereinfacht die Abfrage, da die einzelnen Felder nicht dem entsprechenden alternativen Eintrag zugeordnet werden müssen.

Führen Sie die folgenden Schritte aus, um die vorherige BigQuery-Schemaversion zu verwenden, bei der die Number=A-Felder von alternativen Basen unabhängig sind:

  1. Führen Sie das Tool Variant Transforms aus und übergeben Sie das Flag --split_alternate_allele_info_fields.
  2. Legen Sie den Wert des Flags --split_alternate_allele_info_fields auf False fest.

Einträge automatisch teilen

In den folgenden Fällen wird das Tool Variant Transforms automatisch in mehrere Zeilen aufgeteilt, wobei jede Zeile kleiner als 100 MB ist:

  • Ein Eintrag hat eine große Anzahl von Aufrufen.
  • Die große Anzahl von Aufrufen führt zu einer BigQuery-Zeile, die größer als 100 MB ist.

Aufgrund der BigQuery-Beschränkung auf 100 MB pro Zeile ist die automatische Datensatzaufteilung erforderlich.

Nullwerte

Wenn ein wiederkehrendes Feld "float" oder "integer" einen Nullwert enthält, kann das Tool Variant Transforms das BigQuery-Schema nicht erstellen. BigQuery lässt keine Nullwerte in wiederkehrenden Feldern zu. Der gesamte Eintrag kann null sein, aber die Werte innerhalb des Eintrags dürfen nicht null sein.

Beispiel:

  1. Das Feld INFO einer VCF-Datei hat die Werte 1,.,2. Das Tool Variant Transforms kann 1,null,2 nicht in BigQuery laden.
  2. Für den Nullwert muss ein numerischer Ersatz verwendet werden. Der Ersatzwert ist standardmäßig -2^31 oder -2147483648.

Um einen benutzerdefinierten numerischen Wert festzulegen, übergeben Sie das Flag --null_numeric_value_replacement mit einem Wert, wenn Sie das Tool Variant Transforms ausführen.

Alternativ können Sie Nullwerte in einen String umwandeln und . als Wert verwenden. In diesem Fall muss der Header als String angegeben werden.