本頁面說明使用 Variant Transforms 工具時,在 BigQuery 中產生的結構定義。如果您想瞭解匯出表格的結構,並使用 Variant Transforms 工具將 VCF 檔案轉換並直接載入至 BigQuery,請參閱本頁面。
命名法
為了瞭解匯出格式和結構定義,請先熟悉以下術語。
Genomics 命名法
- 樣本
- 使用單一 ID 收集和處理的 DNA。樣本通常包含單一有機體,但也可以是異質樣本,例如臉頰拭子。
- 參照名稱
- DNA 參照片段的名稱。參照名稱通常是一條染色體,但也可以是參照基因體的其他已命名區域。
- 變化版本
已識別為與參照基因體不同的基因體區域。變化版本必須具備下列屬性:
- 參照名稱
- 起始位置
- 結束位置
- 一或多個參照鹼基
- 非變異基因段
與參照基因體相符的基因體區域,非變異基因段也稱為「參照區隔」。通常,基因體資料不會納入具有變異基因的非變異基因段。
如要進一步瞭解非變異基因段,請參閱「關於 gVCF」。
- 撥打電話
經過研判發現個別樣本的變異基因段或非變異基因段。呼叫代表根據特定變異基因段確立的基因型。呼叫可能包含品質和階段等相關資訊。
- INFO 欄位
在變異基因段和呼叫資訊中加入的選填欄位。舉例來說,所有呼叫都有
genotype
欄位,但並非所有資料集都有「基因型品質」(GQ
) 欄位。genotype
欄位是VariantCall
結構定義的固定部分,但沒有GQ
欄位。您可以將GQ
欄位和值做為鍵/值組合匯入VariantCall
info
欄位。
如需更多基因體命名法,請參閱以下說明:
BigQuery 用語
請熟悉下列 BigQuery 術語:
- 簡易欄位
- BigQuery 資料表中的簡易資料元素,例如數字和字串。
- 巢狀欄位
- BigQuery 資料表中的複雜資料元素。巢狀欄位可以包含多個欄位,包括簡易欄位和巢狀欄位。
- 重複欄位
- 可以擁有多個值的 BigQuery 資料表欄位,例如清單。重複欄位可為簡易,也可以是巢狀。
如要進一步瞭解 BigQuery 的複雜資料類型,請參閱以下文章:
Variants 資料表結構
執行 Variant Transforms 工具時,您會指定 BigQuery 表格名稱。資料表的名稱通常為 variants
。
Variants 資料表記錄結構
variants
資料表的頂層記錄可以是變異基因段或非變異基因段。每個 variants
資料表記錄都包含一或多個呼叫。
下表說明變異基因段表記錄結構。表格顯示以下變異基因段記錄:
Variant1
Variant2
BigQuery 資料集包含下列範例:
Sample1
Sample2
Sample3
下表列出這些結果:
- 系統已為
Sample1
和Sample2
呼叫Variant1
。 - 系統已為
Sample1
和Sample3
呼叫Variant2
。
Variant1 | Sample1 Sample2 |
Variant2 | Sample1 Sample3 |
... | ... |
Variants 資料表欄位結構
每個 variants
表格都包含一組固定欄位和一組可變欄位。資料表的結構如下所示:
固定變異基因段欄位 | 辨識項目 | 變異基因段 INFO 欄位 |
... | 固定辨識欄位 辨識 INFO 欄位 | ... |
變異基因段資料表固定欄位
固定記錄層級 (變異基因段) 欄位如下:
reference_name
start_position
end_position
reference_bases
alternate_bases
names
quality
filter
固定的辨識層級 (VariantCall
) 欄位如下:
name
genotype
phaseset
結構定義範例
將 1, 000 種基因體資料載入 BigQuery 中時,也包括匯入 ALL.chrY.phase3_integrated_v1a.20130502.genotypes.vcf。
VCF 檔案包含各種變異基因段層級和辨識層級的 INFO
欄位,如以下 INFO
和 FORMAT
標頭指令所述:
##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]]
將檔案載入 BigQuery 時,發生了以下情況:
- 標記為
INFO
的欄位 (例如AC
和AF
) 會新增至「Variant」資源做為INFO
欄位。 - 標示為
FORMAT
的欄位 (例如GP
和GQ
欄位) 會新增為INFO
欄位,並加入VariantCall
資源。 - 系統不會將「FORMAT」欄位
GT
新增為「INFO」欄位,系統將該值轉換為genotype
欄位。
在 BigQuery 中查看結構定義時,系統會顯示下列固定欄位:
欄位名稱 | 類型 | 模式 | 說明 |
---|---|---|---|
reference_name | STRING | NULLABLE | 參照名稱 |
start_position | INTEGER | NULLABLE | 起始位置 (從 0 開始)。對應至參照鹼基字串的第一個鹼基。 |
end_position | INTEGER | NULLABLE | 結束位置 (從 0 開始)。對應至參照等位基因中最後一個鹼基之後的第一個鹼基。 |
reference_bases | STRING | NULLABLE | 參照鹼基 |
alternate_bases | RECORD | REPEATED | 每個替代鹼基 (如果有的話) 一筆記錄。請參閱「其他 alternate_bases 記錄資訊」。 |
alternate_bases.alt | STRING | NULLABLE | 替代鹼基。 |
names | STRING | REPEATED | 變異基因段名稱 (例如 RefSNP ID)。 |
quality | FLOAT | NULLABLE | Phred 量表的品質分數 (-10log10 prob(辨識錯誤))。數值越高代表品質越好。 |
filter | STRING | REPEATED | 失敗篩選清單 (如果有),或「PASS」表示變異基因段已符合所有篩選條件。 |
call | RECORD | REPEATED | 每個辨識項目一筆記錄。 |
查看結構定義時,系統會顯示下列變數欄位 (INFO
欄位):
欄位名稱 | 類型 | 模式 | 說明 |
---|---|---|---|
call.name | STRING | NULLABLE | 辨識項目名稱。 |
call.genotype | INTEGER | REPEATED | 辨識項目的基因型。如果沒有辨識基因型,就會使用「-1」。 |
call.phaseset | STRING | NULLABLE | 通話的階段組合 (如果有)。如果基因型已有階段,但沒有指定階段組合 (在 FORMAT 中為「PS」),就會使用「*」。 |
其他 alternate_bases
記錄資訊
alternate_bases
記錄包含任何含有 Number=A
的 INFO
欄位。這麼做就不必將每個欄位對應至其相應的備用記錄,進而簡化查詢作業。
如要使用舊版的 BigQuery 結構定義 (其中的 Number=A
欄位與替代鹼基無關),請完成下列步驟:
- 執行 Variant Transforms 工具,並傳遞
--split_alternate_allele_info_fields
標記。 - 將
--split_alternate_allele_info_fields
標記的值設為False
。
自動分割記錄
在下列情況下,Variant Transforms 工具會自動將記錄分割成多個資料列,每個資料列的大小不超過 100 MB:
- 記錄包含大量呼叫。
- 大量呼叫導致 BigQuery 資料列大小超過 100 MB。
由於 BigQuery 每個資料列的大小上限為 100 MB,因此必須自動分割記錄。
空值
如果浮點或整數重複欄位包含空值,Variant Transforms 工具就無法建立 BigQuery 結構定義。BigQuery 不允許在重複欄位中使用空值。整筆記錄可以是空值,但記錄中的值必須為非空值。
例如:
- 假設 VCF 檔案的
INFO
欄位有值1,.,2
,Variant Transforms 工具無法將1,null,2
載入至 BigQuery。 - 您必須改用其他數字來替代空值。根據預設,替換值為
-2^31
或-2147483648
。
如要設定自訂數值,請在執行 Variant Transforms 工具時傳送一個含有值的 --null_numeric_value_replacement
旗標。
或者,您也可以將空值轉換成字串,然後使用 .
做為值。如要採用這個做法,則必須將標頭指定為 String
。