Halaman ini menjelaskan struktur skema yang dihasilkan di BigQuery saat Anda menggunakan alat Transformasi Varian. 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, pahami istilah berikut.
Tata nama genomik
- Sampel
- DNA yang dikumpulkan dan diproses berdasarkan 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 juga merupakan region bernama lainnya 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 genom tidak menyertakan segmen non-varian dengan varian.
Untuk informasi selengkapnya tentang segmen non-varian, lihat Tentang gVCF.
- Telepon
Kejadian yang diidentifikasi dari segmen varian atau non-varian untuk setiap sampel. Panggilan mewakili penentuan genotipe terkait varian tertentu. Panggilan mungkin menyertakan informasi terkait seperti kualitas dan fase.
- Kolom INFO
Kolom opsional ditambahkan ke informasi varian dan panggilan. Misalnya, semua panggilan memiliki kolom
genotype
, tetapi tidak semua set data memiliki kolom "Kualitas Genotipe" (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 mengetahui tata nama genom lainnya, lihat referensi berikut:
Istilah BigQuery
Pahami istilah BigQuery berikut:
- Kolom sederhana
- Elemen data sederhana dalam tabel BigQuery, seperti angka dan string.
- Kolom bertingkat
- Elemen data kompleks dalam tabel BigQuery. Kolom bertingkat dapat berisi beberapa kolom, baik sederhana maupun bertingkat.
- Kolom berulang
- Kolom dalam tabel BigQuery yang dapat memiliki beberapa nilai, seperti daftar. Kolom berulang dapat berupa kolom sederhana dan bertingkat.
Untuk mengetahui informasi selengkapnya tentang jenis data kompleks BigQuery, lihat artikel berikut:
- Kolom bertingkat dan berulang BigQuery dalam SQL standar
- Penjelasan BigQuery: Menggunakan join, data bertingkat & berulang
- Dokumentasi Looker tentang tingkatan
Struktur tabel varian
Saat menjalankan alat Variant Transforms, Anda menentukan nama tabel BigQuery. Biasanya, nama tabel adalah variants
.
Struktur data tabel varian
Data tingkat teratas tabel variants
dapat berupa varian dan segmen non-varian. Setiap data tabel variants
berisi satu atau beberapa
panggilan.
Tabel berikut mengilustrasikan struktur data tabel varian. Tabel menunjukkan data varian berikut:
Variant1
Variant2
Set data BigQuery berisi sampel berikut:
Sample1
Sample2
Sample3
Dalam tabel berikut, Anda dapat mengamati hasil ini:
Variant1
telah dipanggil untukSample1
danSample2
.Variant2
telah dipanggil untukSample1
danSample3
.
Variant1 | Sample1 Sample2 |
Variant2 | Sample1 Sample3 |
... | ... |
Struktur kolom tabel varian
Setiap tabel variants
menyertakan kumpulan kolom tetap dan kumpulan kolom variabel. Struktur tabel terlihat seperti berikut:
Kolom Varian Tetap | Telepon | Kolom INFO Varian |
... | Kolom Panggilan Tetap Kolom INFO Panggilan | ... |
Kolom tetap tabel varian
Kolom tingkat data (varian) tetap adalah sebagai berikut:
reference_name
start_position
end_position
reference_bases
alternate_bases
names
quality
filter
Kolom level panggilan tetap (VariantCall
) adalah sebagai berikut:
name
genotype
phaseset
Contoh skema
Saat data 1000 Genomes dimuat ke BigQuery, data tersebut mencakup impor ALL.chrY.phase3_integrated_v1a.20130502.genotypes.vcf.
File VCF menyertakan 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 dikonversi ke kolomgenotype
.
Melihat skema di BigQuery akan menampilkan kolom tetap berikut:
Nama kolom | Jenis | Mode | Deskripsi |
---|---|---|---|
reference_name | STRING | NULLABLE | Nama referensi. |
start_position | INTEGER | NULLABLE | Posisi awal (berbasis 0). Sesuai dengan basa pertama dari string basa referensi. |
end_position | INTEGER | NULLABLE | Posisi akhir (berbasis 0). Sesuai dengan basa pertama setelah basa terakhir dalam alel referensi. |
reference_bases | STRING | NULLABLE | Basis referensi. |
alternate_bases | RECORD | BERULANG | Satu data untuk setiap basis alternatif (jika ada). Lihat Informasi kumpulan data alternate_bases tambahan. |
alternate_bases.alt | STRING | NULLABLE | Dasar alternatif. |
nama | STRING | BERULANG | Nama varian (misalnya, ID RefSNP). |
kualitas | FLOAT | NULLABLE | Skor kualitas dengan skala Phred (-10log10 prob(call is wrong)). Nilai yang lebih tinggi menyiratkan 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. |
Melihat skema akan menampilkan kolom variabel berikut (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 | Phaseset panggilan (jika ada). "*" digunakan jika genotipe dikelompokkan menurut fase, tetapi tidak ada kumpulan fase ("PS" dalam FORMAT) yang ditentukan. |
Informasi data alternate_bases
tambahan
Kumpulan data alternate_bases
berisi kolom INFO
dengan Number=A
. Kumpulan data
menyederhanakan kueri dengan menghilangkan kebutuhan untuk memetakan setiap kolom dengan
kumpulan data alternatif yang sesuai.
Untuk menggunakan versi skema BigQuery sebelumnya, dengan kolom Number=A
yang tidak bergantung pada basis alternatif, selesaikan langkah-langkah berikut:
- Jalankan alat Variant Transforms, dan teruskan tanda
--split_alternate_allele_info_fields
. - Tetapkan nilai flag
--split_alternate_allele_info_fields
keFalse
.
Memisahkan data secara otomatis
Dalam kasus berikut, alat Transformasi Varian akan otomatis membagi data menjadi beberapa baris dengan setiap baris berukuran kurang dari 100 MB:
- Kumpulan data memiliki banyak panggilan.
- Panggilan dalam jumlah besar menghasilkan baris BigQuery yang lebih besar dari 100 MB.
Pemisahan kumpulan data otomatis diperlukan karena batas BigQuery 100 MB per baris.
Nilai null
Jika kolom berulang float atau bilangan bulat berisi nilai null, alat Variant Transforms tidak dapat membuat skema BigQuery. BigQuery tidak mengizinkan nilai null di kolom berulang. Seluruh data dapat berupa null, tetapi nilai dalam data harus non-null.
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 penggantiannya adalah
-2^31
, atau-2147483648
.
Untuk menetapkan nilai numerik kustom, teruskan tanda --null_numeric_value_replacement
dengan nilai saat menjalankan alat Transformasi Varian.
Atau, Anda dapat mengonversi nilai null menjadi string dan menggunakan .
sebagai nilai. Saat melakukannya, header harus ditentukan sebagai String
.