Das BigQuery-Variantenschema

Auf dieser Seite wird die Struktur des in BigQuery generierten Schemas erläutert, wenn Sie das Tool Variant Transforms verwenden. Lesen Sie diese Seite, wenn Sie das Tool Variant Transforms verwenden, um VCF-Dateien direkt in BigQuery zu transformieren und zu laden, und wenn Sie verstehen möchten, wie die Exporttabelle aufgebaut 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. Es kann sich aber auch um andere benannte Regionen aus einem Referenzgenom handeln.
Variante

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

  • Referenzname
  • Startposition
  • Endposition
  • 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 Nicht-Varianten-Segmenten 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 Bestimmung des Genotyps in Bezug auf eine bestimmte Variante dar. Der Aufruf kann zugehörige Informationen wie Qualität und Phase enthalten.

INFO-Felder

Optionale Felder, die den Varianten- und Aufrufinformationen hinzugefügt werden. So haben zwar beispielsweise alle Aufrufe das Feld genotype, aber nicht alle Datasets haben das Feld "Genotypqualität" (GQ). Das Feld genotype ist ein fester Bestandteil des Schemas VariantCall, enthält jedoch nicht das Feld GQ. Sie können das Feld GQ und den entsprechenden Wert als Schlüssel/Wert-Paare in das info-Feld VariantCall importieren.

Weitere Informationen zur genomischen 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.

Weitere Informationen 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. In der Regel lautet der Name der Tabelle 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 Tabelle variants enthält einen oder mehrere Aufrufe.

Die folgende Tabelle zeigt die Eintragsstruktur der Variantentabelle. Die Tabelle enthält die folgenden Varianteneinträge:

  • Variant1
  • Variant2

Das BigQuery-Dataset enthält die folgenden Beispiele:

  • Sample1
  • Sample2
  • Sample3

In der folgenden Tabelle können Sie diese Ergebnisse beobachten:

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

Sample2
Variant2 Sample1

Sample3
... ...

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

Feste Felder auf Eintragsebene (Variante) sind die Folgenden:

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

Feste Felder auf Aufrufebene (VariantCall) sind die Folgenden:

  • 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 Anweisungen zu INFO- und FORMAT-Header 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 aufgetreten:

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

In BigQuery werden die folgenden festen Felder mit dem Schema 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.

Im Schema werden die folgenden Variablenfelder (die INFO-Felder) angezeigt:

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

Zusätzliche alternate_bases-Eintragsinformationen

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

Sie können auch die vorherige BigQuery-Schemaversion verwenden, bei der die Felder Number=A von alternativen Basen unabhängig sind. Gehen Sie dazu folgendermaßen vor:

  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 teilt das Tool Variant Transforms automatisch einen Datensatz in mehrere Zeilen auf, wobei jede Zeile kleiner als 100 MB ist:

  • Ein Eintrag enthält 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 des BigQuery-Limits von 100 MB pro Zeile ist eine automatische Eintragaufteilung erforderlich.

Nullwerte

Enthalten wiederkehrende Felder vom Typ "float" oder "integer" einen Nullwert, 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 INFO-Feld einer VCF-Datei hat die Werte 1,.,2. Das Tool Variant Transforms kann 1,null,2 nicht in BigQuery laden.
  2. Der Nullwert muss durch einen numerischen Wert ersetzt 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.