Memahami skema varian BigQuery

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). Kolom genotype adalah bagian tetap dari skema VariantCall, tetapi tidak memiliki kolom GQ. Anda dapat mengimpor kolom dan nilai GQ sebagai pasangan nilai kunci ke kolom VariantCall 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:

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 untuk Sample1 dan Sample2.
  • Variant2 telah dipanggil untuk Sample1 dan Sample3.
   
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, seperti AC dan AF, ditambahkan sebagai kolom INFO ke resource varian.
  • Kolom yang ditandai sebagai FORMAT, seperti kolom GP dan GQ, ditambahkan sebagai kolom INFO ke resource VariantCall.
  • Kolom FORMAT GT tidak ditambahkan sebagai kolom INFO. Nilai telah dikonversi ke kolom genotype.

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:

  1. Jalankan alat Variant Transforms, dan teruskan flag --split_alternate_allele_info_fields.
  2. Tetapkan nilai flag --split_alternate_allele_info_fields ke False.

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:

  1. Misalkan kolom INFO file VCF memiliki nilai 1,.,2. Alat Variant Transforms tidak dapat memuat 1,null,2 ke BigQuery.
  2. 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.