iT邦幫忙

2026 iThome 鐵人賽

DAY 26
0
Build on Google AI

《解構生命暗物質:用 AlphaGenome Atlas 破譯 98% 非編碼基因組的 30 天實戰》系列 第 26 篇

【科普】Day 26 | 解讀基因組的「文法字典」:AlphaGenome 如何自動挖掘 2,500 多個 DNA 調控單字(Motifs)?

  • 分享至 

  • xImage
  •  

💡 導讀:如果 A, T, C, G 是英文字母,那「調控單字(Motifs)」就是細胞控制室的密碼指令!

人類的 DNA 就像是一本由 A、T、C、G 四個字母寫成的巨型密碼書。

如果把單一鹼基(A、T、C、G)比喻成「英文字母」,那麼由 4 到 20 個鹼基組合而成的特定序列——調控基序(Cis-regulatory Motifs),就是這本書裡的 「單字」與「密碼指令」!

細胞裡的 轉錄因子(Transcription Factors, TFs) 就像是負責閱讀密碼的蛋白質侍衛。當侍衛看到特定的單字密碼(例如 TATA-box 或 CTCF)時,就會黏上去把基因的開關打開或關閉。

但是,如果這串單字中間發生了一個字母突變(比如將原本的單字改錯了一個字),侍衛就會看不懂密碼、憤而離去,或者意外造出了一個錯誤的新密碼,導致大腦或肝臟的基因表現大亂!

後續來看看 AlphaGenome Atlas 究竟是如何化身為生醫界的 「AI 語言學家」,自動從 30 億個 DNA 字母中破解並歸納出全基因組超過 2,500 種調控單字(Motifs) 的神秘文法!


一、 AI 如何學會基因語言?從「飽和突變模擬 (ISM)」到 2,500 多種調控單字

過去,生物學家要找出一個基因開關附近有哪些調控單字,必須在實驗室裡做幾百次繁瑣的蛋白質結合實驗(如 ChIP-seq)。

DeepMind 研究團隊(包含 Stowers 研究所的 Julia Zeitlinger 博士等人)利用 AlphaGenome 做到了傳統實驗做不到的事:

  1. 電腦全基因組「試錯」(In Silico Mutagenesis, ISM):AlphaGenome 在電腦裡把 30 億個字母一個個故意改改看,觀察每一次修改會對轉錄因子結合、染色質開放度與 RNA 產生什麼影響。
  2. 自動萃取特徵(TF-MoDISco & MotifCompendium):AI 發現某些特定長度的字母組合一被改變,基因表現就會劇烈波動!AI 自動抓出這些重要區段,並將全球上億個候選片段歸納、聚類成 2,601 個不重複的調控單字(Motifs)。
  3. 分類與標註(Motif Dictionary):
    • 94 類核心轉錄因子單字(如主導肝臟表現的 HNF4、主導開關的 TP53 家族)。
    • 122 類鋅指蛋白單字(Zinc Finger TFs)。
    • 104 種雙複合單字組合(Composite Motifs):例如兩個轉錄因子單字相隔固定距離並排出現(如 OCT-SOX 或 AP1-IRF),就像是句子裡的固定片語組合!

二、 動態的細胞語言:相同的調控單字,在不同器官裡有不同意思!

AlphaGenome 破解的調控字典,最厲害的地方在於它具備 「細胞特異性(Cell-type Specificity)」——也就是說,同一個單字在皮膚細胞和在大腦細胞裡,AI 預測出的含義與功能是完全不同的!

經典案例 1:IRF6 基因與唇顎裂(Cleft Lip and Palate)

  • 在皮膚細胞(Ectoderm / Keratinocytes)中:IRF6 基因上游 10 kb 處有一個增強子區域,上面印著 TP63 轉錄因子單字,這個單字會像「油門」一樣大力啟動 IRF6 的表現。當這個 TP63 單字發生單字母突變時,油門壞掉,就會引發罕見的唇顎裂疾病!
  • 在間葉細胞(Mesoderm)中:同一個區域處於靜默狀態,反而被 ZEB 壓制單字 鎖住。AlphaGenome 精準預測出這種跨細胞的動態語法差異!

經典案例 2:BRCA1 乳癌基因啟動子突變

  • 在 BRCA1 基因的啟動子區域,有一個名為 E2F 的調控單字。當該單字發生 chr17:43125410:G>A 突變時,AlphaGenome 預測顯示 E2F 單字直接被「抹除(Ablated)」,導致 BRCA1 基因表達量斷崖式下跌,細胞失去了修復 DNA 的能力!
調控單字類別 (Motif Class) 代表性單字與轉錄因子 細胞內的生物學功能 (Biochemistry Function) AlphaGenome 多模態觀察
開模型/激活型 (Activators) HNF1, HNF4, CEBP 像「油門」,打開染色質並大力拉高 RNA 轉錄量。 DNase、H3K27ac 與 RNA-seq 訊號同步飆高。
壓制型 (Repressors) ZEB, GLI, ZNF274 像「煞車」,關閉染色質或招募抑制性組織蛋白(H3K9me3)。 訊號呈顯著負向抑制(Net Negative Impact)。
雙重調控型 (Dual/Context) CTCF, REST 像「3D 拓撲架構鎖」,負責形塑 DNA 3D 結構或視環境開關。 在 Contact Maps(3D 結構圖)與不同細胞系展現多變功能。

💻 三、 實作:撰寫「調控單字破壞分析器 (Motif Disruption Analyzer)」

在我們的 神經罕病與基因調控分析助理 專案中,我們可以撰寫一段 Python 腳本 analyze_motif_disruption.py,輸入一個變異座標,自動對比變異前後是否「破壞了某個調控單字」:

import os
import json
from dotenv import load_dotenv
import alphagenome as ag

# 載入隱藏設定檔中的憑證
load_dotenv()

def analyze_variant_motif_disruption(variant_query, target_tissue="brain"):
    """
    查詢 AlphaGenome Atlas 數據,分析該變異是否破壞了特定的調控單字 (Cis-regulatory Motif)
    """
    client = ag.Client()
    print(f"🔍 正在查詢變異 {variant_query} 在 [{target_tissue}] 中的調控單字 (Motif) 破壞情況...")

    try:
        # 呼叫 API 獲取變異註解與 Motif 匹配資料
        response = client.get_variant_annotation(variant_query, include_motifs=True)

        variant_id = response.get('variant_id', variant_query)
        avi_score = response.get('avi_score', {}).get('percentile', 0)
        motifs = response.get('affected_motifs', [])

        print("\n" + "="*55)
        print(f"🧬 變異座標: {variant_id} | AVI 風險評分: {avi_score} / 30")

        if not motifs:
            print("ℹ️ 此變異未重疊或破壞已知的調控單字 (Non-motif region)。")
        else:
            print(f"⚠️ 偵測到 {len(motifs)} 個受到此變異影響的 DNA 調控單字 (Motifs):")
            for idx, m in enumerate(motifs, 1):
                tf_name = m.get('tf_family', 'Unknown TF')
                motif_id = m.get('motif_id', 'N/A')
                impact = m.get('impact_type', 'Disrupted') # e.g., Disrupted (破壞) or Created (新造)

                print(f"  #{idx} 調控單字: {tf_name} ({motif_id})")
                print(f"     ➔ 破壞類型: 【{impact}】")
                print(f"     ➔ 匹配強度變化: {m.get('ref_binding_score', 0):.2f} ➔ {m.get('alt_binding_score', 0):.2f}")

        print("="*55 + "\n")

    except Exception as e:
        print(f"❌ Motif 破壞分析失敗: {e}")

if __name__ == "__main__":
    # 測試 BRCA1 啟動子上的 E2F 單字破壞變異範例 (或 DNM1 變異)
    test_variant = "chr17:43125410:G:A"
    analyze_variant_motif_disruption(test_variant, target_tissue="mammary_gland")

這段腳本能幫臨床研究員快速抓包:「這個變異之所以高分,是因為它把 E2F/TP63 調控單字的結合強度從 1.5 直接拍扁到了 0.0!」,精準還原了分子等級的犯罪現場!



上一篇
AlphaGenome Atlas 實戰 | Day 25 | 基因座分子效應圖 —— 用 Python 繪製漂亮的數據預測軌跡對比
系列文
《解構生命暗物質:用 AlphaGenome Atlas 破譯 98% 非編碼基因組的 30 天實戰》 共 26 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言