Halaman ini menjelaskan struktur skema yang dihasilkan di BigQuery saat Anda menggunakan alat Variant Transforms. Baca halaman ini jika Anda menggunakan alat Variant Transforms untuk mengubah dan memuat file VCF langsung ke BigQuery dan ingin memahami struktur tabel ekspor.
Nomenklatur
Untuk memahami format dan skema ekspor, pelajari persyaratan berikut.
Nomenklatur genom
- Sampel
- DNA yang dikumpulkan dan diproses dengan satu ID. Sampel biasanya melibatkan satu organisme individu, tetapi juga dapat berupa sampel heterogen seperti swab pipi.
- Nama referensi
- Nama segmen referensi DNA. Nama referensi biasanya adalah kromosom, tetapi mungkin merupakan region bernama lain dari genom referensi.
- Varian
Wilayah genom yang telah diidentifikasi sebagai berbeda dari genom referensi. Varian harus memiliki properti berikut:
- Nama referensi
- Posisi awal
- Posisi akhir
- Satu atau beberapa basis referensi
- Segmen non-varian
Wilayah genom yang cocok dengan genom referensi. Segmen non-varian juga disebut "segmen referensi". Biasanya, data genomik tidak menyertakan segmen non-varian dengan varian.
Untuk informasi selengkapnya tentang segmen non-varian, lihat Tentang gVCF.
- Panggilan Telepon
Kemunculan segmen varian atau non-varian yang teridentifikasi untuk setiap sampel. Panggilan mewakili penentuan genotipe terkait varian tertentu. Panggilan tersebut dapat menyertakan informasi terkait seperti kualitas dan pentahapan.
- Kolom INFO
Kolom opsional ditambahkan ke informasi varian dan panggilan. Misalnya, semua panggilan memiliki kolom
genotype
, tetapi tidak semua set data memiliki kolom "Genotype Quality" (GQ
). Kolomgenotype
adalah bagian tetap dari skemaVariantCall
, tetapi tidak memiliki kolomGQ
. Anda dapat mengimpor kolom dan nilaiGQ
sebagai pasangan nilai kunci ke kolomVariantCall
info
.
Untuk nomenklatur genomik lainnya, lihat referensi berikut:
Persyaratan BigQuery
Pelajari istilah BigQuery berikut:
- Kolom sederhana
- Elemen data sederhana di tabel BigQuery, seperti angka dan string.
- Kolom bertingkat
- Elemen data kompleks dalam tabel BigQuery. Kolom bertingkat dapat berisi beberapa kolom, baik kolom sederhana maupun bertingkat.
- Kolom berulang
- Kolom dalam tabel BigQuery yang dapat memiliki beberapa nilai, misalnya daftar. Kolom berulang bisa sederhana dan bertingkat.
Untuk mengetahui informasi selengkapnya tentang jenis data kompleks BigQuery, lihat referensi berikut:
- Kolom bertingkat dan berulang BigQuery dalam SQL standar
- Penjelasan BigQuery: Menangani data gabungan, data bertingkat & berulang
- Dokumentasi Looker tentang pembuatan bertingkat
Struktur tabel varian
Saat menjalankan alat Variant Transforms, Anda menentukan nama tabel BigQuery. Biasanya, nama tabel adalah variants
.
Struktur kumpulan data tabel varian
Kumpulan data tingkat teratas tabel variants
dapat berupa segmen varian dan non-varian. Setiap kumpulan data tabel variants
berisi satu atau beberapa panggilan.
Tabel berikut mengilustrasikan struktur catatan tabel varian. Tabel menampilkan data varian berikut:
Variant1
Variant2
Set data BigQuery berisi contoh berikut:
Sample1
Sample2
Sample3
Dalam tabel berikut, Anda dapat mengamati hasil ini:
Variant1
telah dipanggil untukSample1
danSample2
.Variant2
telah dipanggil untukSample1
danSample3
.
Variant1 | Contoh1 Contoh2 |
Variant2 | Contoh1 Contoh3 |
... | ... |
Struktur kolom tabel varian
Setiap tabel variants
mencakup kumpulan kolom tetap dan kumpulan variabel
kolom. Struktur tabel akan terlihat seperti berikut:
Kolom Varian Tetap | Panggilan Telepon | Kolom INFO Varian |
... | Kolom Panggilan yang Diperbaiki Kolom INFO Panggilan | ... |
Kolom tetap tabel varian
Kolom (varian) tingkat kumpulan data tetap adalah sebagai berikut:
reference_name
start_position
end_position
reference_bases
alternate_bases
names
quality
filter
Kolom tingkat panggilan tetap (VariantCall
) adalah sebagai berikut:
name
genotype
phaseset
Contoh skema
Saat data 1.000 Genom dimuat ke BigQuery, data ini mencakup pengimporan ALL.chrY.phase3_integrated_v1a.20130502.genotypes.vcf.
File VCF mencakup berbagai kolom INFO
tingkat varian dan tingkat panggilan, seperti
yang dijelaskan dalam perintah header INFO
dan FORMAT
berikut:
##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]]
Saat file dimuat ke BigQuery, hal berikut terjadi:
- Kolom yang ditandai sebagai
INFO
, sepertiAC
danAF
, ditambahkan sebagai kolomINFO
ke resource varian. - Kolom yang ditandai sebagai
FORMAT
, seperti kolomGP
danGQ
, ditambahkan sebagai kolomINFO
ke resourceVariantCall
. - Kolom FORMAT
GT
tidak ditambahkan sebagai kolom INFO. Nilai telah dikonversi ke kolomgenotype
.
Menampilkan skema di BigQuery akan menunjukkan kolom tetap berikut:
Nama kolom | Jenis | Mode | Deskripsi |
---|---|---|---|
reference_name | STRING | NULLABLE | Nama referensi. |
start_position | INTEGER | NULLABLE | Posisi awal (berbasis 0). Sesuai dengan basis pertama string basis referensi. |
end_position | INTEGER | NULLABLE | Posisi akhir (berbasis 0). Sesuai dengan basis pertama setelah basis terakhir dalam alel referensi. |
reference_bases | STRING | NULLABLE | Basis referensi. |
alternate_bases | RECORD | BERULANG | Satu kumpulan data untuk setiap basis alternatif (jika ada). Lihat Informasi data alternate_bases tambahan. |
alternate_bases.alt | STRING | NULLABLE | Basis alternatif. |
names | STRING | BERULANG | Nama varian (misalnya, ID RefNB). |
kualitas | FLOAT | NULLABLE | Skor kualitas dengan skala Phred (-10log10 prob(panggilan salah)). Nilai yang lebih tinggi menunjukkan kualitas yang lebih baik. |
filter | STRING | BERULANG | Daftar filter yang gagal (jika ada) atau "LULUS" yang menunjukkan bahwa varian telah lulus semua filter. |
call | RECORD | BERULANG | Satu kumpulan data untuk setiap panggilan. |
Jika skema ditampilkan, kolom variabel berikut akan ditampilkan (kolom INFO
):
Nama kolom | Jenis | Mode | Deskripsi |
---|---|---|---|
call.name | STRING | NULLABLE | Nama panggilan. |
call.genotype | INTEGER | BERULANG | Genotipe panggilan. "-1" digunakan jika genotipe tidak dipanggil. |
call.phaseset | STRING | NULLABLE | Fase panggilan (jika ada). "*" digunakan dalam kasus di mana genotipe diturunkan tetapi tidak ada fase yang ditetapkan ("PS" dalam FORMAT) yang ditetapkan. |
Informasi data alternate_bases
tambahan
Data alternate_bases
berisi kolom INFO
dengan Number=A
. Data
ini menyederhanakan kueri dengan meniadakan kebutuhan untuk memetakan setiap kolom dengan
data alternatif yang sesuai.
Untuk menggunakan versi skema BigQuery sebelumnya, dengan kolom Number=A
tidak bergantung pada basis alternatif, selesaikan langkah-langkah berikut:
- Jalankan alat Variant Transforms, dan teruskan flag
--split_alternate_allele_info_fields
. - Tetapkan nilai flag
--split_alternate_allele_info_fields
keFalse
.
Membagi kumpulan data secara otomatis
Dalam kasus berikut, alat Transformasi Varian secara otomatis membagi data menjadi beberapa baris dengan setiap baris berukuran kurang dari 100 MB:
- Data memiliki panggilan dalam jumlah yang besar.
- Jumlah panggilan yang besar menghasilkan baris BigQuery yang lebih besar dari 100 MB.
Pemisahan data otomatis diperlukan karena adanya batas BigQuery 100 MB per baris.
Nilai null
Jika kolom berulang float atau integer berisi nilai null, alat Variant Transforms tidak dapat membuat skema BigQuery. BigQuery tidak mengizinkan nilai null di kolom berulang. Seluruh {i>record<i} boleh bernilai {i>null<i}, tetapi nilai dalam {i>record <i}harus bukan {i>null<i}.
Contoh:
- Misalkan kolom
INFO
file VCF memiliki nilai1,.,2
. Alat Variant Transforms tidak dapat memuat1,null,2
ke BigQuery. - Penggantian numerik harus digunakan untuk nilai null. Secara default,
nilai pengganti adalah
-2^31
, atau-2147483648
.
Untuk menetapkan nilai numerik kustom, teruskan tanda --null_numeric_value_replacement
dengan nilai saat menjalankan alat Variant Transforms.
Atau, Anda dapat mengonversi nilai null menjadi string dan menggunakan .
sebagai
nilainya. Saat melakukannya, header harus ditentukan sebagai String
.