如果你是一位偵探,正在調查一起複雜的案件。警方拿給你一份名單,上面有 500 萬個嫌疑犯(這就是一個普通人身上攜帶的 DNA 變異數量)。

更誇張的是,AlphaGenome 這台「多頻譜攝影機」超級強大,它幫每一個嫌疑犯都拍下了 幾千條詳細的分子動態軌跡報告(包含 RNA 剪接、染色質門有沒有開、轉錄產量多少等)。
剛開始你可能會覺得很興奮,但隨即就會陷入深深的絕望——因為資料實在太多了!如果要把 500 萬個變異、每個變異幾千條軌跡全部看完,可能要花上幾百年!在電腦科學中,這就叫做 「維度災難(Curse of Dimensionality)」。
臨床醫生如果每天面對這種「資訊爆炸」,根本無法做出診斷。因此,Google DeepMind 推出了一個新的指標——AlphaGenome Variant Impact (AVI) 評分!
AVI 評分系統就像是把幾千頁的複雜報告,濃縮成一個直觀的「危險指數燈號」。它不是只靠單一 AI 模型,而是 DeepMind 旗下兩大頂級生醫 AI 的「強強聯手」:
DeepMind 的工程師精心挑選了 18 類核心特徵 來訓練 AVI 模型,讓它既有超高準確度,又能保持極佳的可解釋性:
| 特徵來源 | 涵蓋的核心特徵 (共 18 類) | 負責的基因組區域 | 白話功能與解決的痛點 |
|---|---|---|---|
| AlphaGenome (10 類) | RNA 剪接變化、轉錄表達量(CAGE/PRO-Cap)、染色質開放度(ATAC/DNase)、轉錄因子結合(ChIP-TF)、組蛋白修飾、3D 接觸圖、多腺苷酸化等。 | 98% 非編碼區(深層內含子、啟動子、增強子) | 抓出隱藏在基因暗物質中、破壞生命開關與調控網絡的變異。 |
| AlphaMissense (1 類) | 胺基酸替換導致的蛋白質三維結構與物理穩定性破壞。 | 2% 蛋白質編碼區 | 評估錯義突變對實體蛋白質零件的打擊程度。 |
| 蛋白質喪失註解 (3 類) | 蛋白質提前終止(Nonsense)、起始位點遺失(Start Lost)、終止位點遺失(Stop Lost)。 | 編碼區邊界關鍵位置 | 標記會讓蛋白質做不出來或結構嚴重殘缺的致命變異。 |
| 演化與變異類型 (4 類) | 跨物種演化保守性(PhastCons 470-way、Cactus 241-way)與 Indel 類型標籤(插入/缺失)。 | 跨區域綜合特徵 | 提供演化歷史的保底防線,並校正長度改變導致的誤差。 |
AVI 最終會將分數轉換為國際通用的 PHRED 標度:
要特別注意的是:AVI 是一個「危險優先級排序分數」,而不是直接等於臨床的患病機率。它能幫研究人員快速挑出最值得優先排查的候選嫌疑犯。
這套 AVI 評分系統在真實的臨床患者身上表現如何?
在 GREGoR 罕見病聯盟的回溯性研究中,每位疑難雜症患者平均帶有 400 萬到 500 萬個候選變異。如果我們讓 AI 和傳統工具分別對這些變異進行排序,並只看前 50 名(Top 50)最危險的嫌疑犯:
這意味著,原本醫生需要從 400 萬個變異中大海撈針,現在只要看完 AVI 排序前 50 名的清單,就有高達四分之三的機會直接鎖定真正的致病元兇!
analyze_motifs.py)AlphaGenome 從人類基因組中解讀出了超過 2,500 個調控單字 (Motifs)。當突變發生在非編碼區時,常會直接「擦除」或「創造」某個轉錄因子(如 E2F, TP63, CTCF)的結合密碼。
今天我們來寫一個解析腳本,看變異有沒有破壞 DNA 密碼單字!
analyze_motifs.py# analyze_motifs.py - 調控單字 (Motif) 破壞分析器
import config
from hello_alphagenome import fetch_variant_raw_response
def extract_affected_motifs(raw_response):
"""萃取受突變影響的 DNA 調控單字 (Motifs)"""
motifs = raw_response.get("affected_motifs", [])
# 模擬數據 (若 API 回傳中無此欄位)
if not motifs:
motifs = [
{
"tf_family": "TP63 / TP53 家族 (皮膚/神經發育調控)",
"motif_id": "MOTIF_TP63_012",
"impact_type": "Disrupted (密碼被抹除)",
"ref_score": 1.45,
"alt_score": 0.02
}
]
return motifs
if __name__ == "__main__":
raw = fetch_variant_raw_response(config.TEST_VARIANT)
motif_list = extract_affected_motifs(raw)
print(f"\n🧬 偵測到 {len(motif_list)} 個受到變異破壞的 DNA 單字:")
for m in motif_list:
print(f" • 轉錄因子: {m['tf_family']}")
print(f" • 影響類型: {m['impact_type']}")
print(f" • 結合強度變化: {m['ref_score']} ➔ {m['alt_score']}")
明天,我們將繼續深入探索 AVI 分數的讀法與「特徵歸因(Feature Attribution)」技術,看看 AI 如何像拆解帳單一樣,讓我們一眼看懂高分背後的真實生物學原因!