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

Das BigQuery-Variantenschema

Die Variant Transforms-Pipeline bietet die Möglichkeit, VCF-Dateien zu transformieren und direkt in BigQuery zu laden.

BigQuery kann auch verwendet werden, um mit Hunderten oder Tausenden von Computern gleichzeitig interaktive Ad-hoc-Abfragen von genomischen Varianten durchzuführen.

Sie können mit BigQuery auch bereits vorhandene veröffentlichte Datasets durchsuchen, die von Cloud Life Sciences nach BigQuery exportiert wurden.

Nomenklatur

Für ein besseres Verständnis der Exportformate und -schemas wird empfohlen, sich mit der von uns verwendeten Terminologie vertraut zu machen.

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. Hierbei handelt es sich in der Regel um 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 einen Referenznamen, eine Startposition, eine Endposition und mindestens eine Referenzbase haben.
Nicht-Varianten-Segment

Eine Region des Genoms, die mit dem Referenzgenom übereinstimmt. Sie wird mitunter als "Referenzsegment" bezeichnet. Bisher kamen in genomischen Daten keine Nicht-Varianten-Segmente mit Varianten vor.

Weitere Informationen zu Nicht-Varianten-Segmenten finden Sie in der gVCF-Dokumentation.

Aufruf

Ein in einer einzelnen Probe identifiziertes Vorkommen einer Variante oder eines Nicht-Varianten-Segments. Ist gleichzusetzen mit der Bestimmung des Genotyps in Bezug auf eine bestimmte Variante und 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 ein Feld genotype, aber nicht alle Datasets haben ein Feld für "Genotypqualität" (GQ). Daher ist das Feld genotype ein fester Bestandteil des VariantCall-Schemas, das Feld GQ ist jedoch nicht vorhanden. Das Feld GQ und der entsprechende Wert können als Schlüssel-Wert-Paare in das info-Feld von VariantCall importiert werden.

Weitere Informationen zur genomischen Nomenklatur finden Sie in den folgenden Dokumenten:

BigQuery-Nomenklatur

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 in der Dokumentation zu verschachtelten und wiederkehrenden Feldern in Standard-SQL.

Struktur der Variantentabelle

Der Name der BigQuery-Tabelle wird angegeben, wenn Sie die Variant Transforms-Pipeline ausführen. Standardmäßig lautet der Name dieser 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 variants-Tabelle enthält einen oder mehrere Aufrufe.

In der folgenden Tabelle wird diese Struktur verdeutlicht. Sie enthält zwei Varianteneinträge, nämlich Variant1 und Variant2. In diesem Dataset gibt es drei Proben: Sample1, Sample2 und Sample3. Variant1 wurde für Sample1 und Sample2 aufgerufen, Variant2 für Sample1 und Sample3.

Variant1 Sample1

Sample2
Variant2 Sample1

Sample3

Feldstruktur der Variantentabelle

Jede variants-Tabelle enthält einen festen und einen variablen Satz an Feldern. Die allgemeine 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

Als Namen der variablen Felder dienen jeweils die Schlüssel der INFO-Felder von VariantResource und die Schlüssel der INFO-Felder von VariantCall.

Feste Felder der Variantentabelle

Feste Felder auf Eintragsebene (Variante):

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

Feste Felder auf Aufrufebene (VariantCall):

  • name
  • genotype
  • phaseset

Beispiel

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

Diese Datei enthält eine Reihe von INFO-Feldern auf Varianten- und Aufrufebene, wie in den 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 dieser Datei in BigQuery wurden die als INFO gekennzeichneten Felder wie AC und AF den Variantenressourcen als INFO-Felder hinzugefügt.

Beim Laden der Datei in BigQuery wurden die als FORMAT gekennzeichneten Felder, z. B. die Felder GP und GQ, den VariantCall-Ressourcen als INFO-Felder hinzugefügt. Das FORMAT-Feld GT wurde nicht als INFO-Feld hinzugefügt. Stattdessen wurde der Wert in das Feld genotype konvertiert.

In der BigQuery-UI werden die folgenden festen Felder mit dem Schema angezeigt:

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

Schließlich die variablen Felder (INFO-Felder):

Schema      
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. Sie können auch die vorherige BigQuery-Schemaversion verwenden, bei der die Number=A-Felder von alternativen Basen unabhängig sind. Übergeben Sie dafür das Flag --split_alternate_allele_info_fields und setzen Sie es auf False, wenn Sie das Tool Variant Transforms ausführen.

Einträge automatisch teilen

Einträge mit einer großen Zahl von Aufrufen, die dazu führen, dass die Größe einer BigQuery-Zeile 100 MB übersteigt, werden vom Tool Variant Transforms automatisch in mehrere Zeilen geteilt. Die entstehenden Zeilen sind dann jeweils kleiner als 100 MB. Dieses Vorgehen ist aufgrund der für BigQuery gültigen Beschränkung auf 100 MB pro Zeile erforderlich.

Nullwerte

Enthalten wiederkehrende Felder vom Typ "float" oder "integer" einen Nullwert, kann das BigQuery-Schema nicht erstellt werden. In BigQuery sind keine Nullwerte in wiederkehrenden Feldern zulässig. 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. Stattdessen muss der Nullwert 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.