研究指引 · Subclone 系統發生重建 · Part 1 — from variants to a tree

上篇:從一堆變異到一棵腫瘤演化樹

先說清楚要重建的是什麼、為什麼值得重建,再說明頻率路線走到哪裡卡住、長讀把哪一件事從推論變成觀測,以及隨之而來的分析單位與限制。

建議先修:甲基化建議先修:LongPhase-TO

本模組學習目標

  • 界定 clone tree 的內容、輸入與輸出,並說明重建它的價值
  • 說明 VAF 與甲基化 β 值何以同為 marginal distribution,而演化樹所需者為 joint distribution
  • 解釋同一組 CCF 群集何以同時相容於線性與分支兩棵 clone tree,以及 parsimony 與 latent node 在其中的角色
  • 說明 epimutation 何以構成解析度高於 DNA 突變的時鐘,以及 epiallele 至少須跨越幾個位點方可量測
  • 指出長讀將哪一項由推論轉為觀測,並計算該項成立的距離範圍
  • 切出連鎖視窗與單倍型連鎖區段,並說明為何連鎖區段數大於連鎖視窗數
  • 說明 read-AF 在此路線中取代了頻率譜的哪一個角色

為什麼重要

課程模組至 Capstone 為止。前述各章所回答的均為同一類問題: 某個位置是否存在變異該變異位於哪一條染色體。 以下三頁轉向另一類問題,性質為研究方向的說明,而非課程。

重建的對象

腫瘤並非由單一均質的細胞群體構成。它自單一細胞起始, 於分裂過程中持續累積 ,因而分化為數個群體, 各自帶有不同的變異組合;M2 稱這些群體為

這些群體之間存在先後關係:某一群衍生自另一群。 將「何者衍生自何者」表示為圖,即得一棵樹 —— 節點為一群細胞,邊代表「在祖先既有的變異之上再取得一個」。 此樹稱為 即為以下三頁所要重建的對象

研究目標:用長讀定序把 subclone 的先後順序重建出來 上排三格由左到右說明這件事的形狀。 第一格是腫瘤真實的樣子:同一顆腫瘤裡有好幾群細胞,每一群帶著不同的變異組合, 而且群與群之間有先後關係 —— 某一群是從另一群長出來的。 第二格為定序實際輸出的內容:細胞被打碎並混合, 剩下的是一堆看不出來源的片段,以及每個位點各自的變異頻率,群的資訊在這一步掉了。 第三格是要重建回來的東西:一棵樹,節點是一群細胞, 邊代表在祖先的變異之上又多拿到一個,這棵樹叫 clone tree。 中排說明長讀在這裡的角色。短讀僅能給出各位點各自的頻率,屬逐位點分離的資訊; 長讀一條分子就跨過好幾個位點,因此直接看得到「這幾個變異有沒有出現在同一個分子上」, 而那正是決定先後順序需要的東西。 最下方是這兩頁的研究目標:用長讀把 subclone 的先後順序重建出來, 並且說清楚重建到哪裡為止是可信的。 讀法是:定序把群的資訊打散,重建就是把它拼回去,而長讀多帶了一種拼得回去的線索。 研究目標:把 subclone 的先後順序重建出來 ① 腫瘤真實的樣子 群 A 群 B 群 C 好幾群細胞,各帶不同的變異組合 而且群之間有先後關係 ② 定序所得 VAF 0.31 · 0.18 · 0.29 細胞被打碎,看不出誰跟誰同一群 群的資訊在這一步掉了 ③ 要重建回來的 誰從誰長出來 —— 一棵 clone tree 定序 重建 長讀在這裡的角色 短讀 只夠給每個位點各自的頻率 長讀 一條分子就跨過好幾個位點, 因此直接看得到「這幾個變異在不在同一個分子上」 這兩頁的研究目標:用長讀把 subclone 的先後順序重建出來 並且說清楚重建到哪裡為止是可信的。
定序過程消去了「哪些細胞屬於同一群」的資訊,重建即為將其還原。 中間一格為實際可得的資料:一批無法辨識來源的片段,以及各位點各自的頻率。 下半說明長讀的作用 —— 單一條分子即跨越多個位點, 因而可直接觀測「這幾個變異是否位於同一個分子上」,而該資訊正是決定先後次序所需者。

困難在於中間一格:觀測資料既不包含該樹,也不包含任何一顆完整的細胞。 bulk 定序將所有細胞打碎並混合,可得者僅有片段與頻率,樹須由此反推。

重建的價值

  • 用藥 —— 兩個可標靶的變異若位於同一群細胞,單一藥物可能同時作用於兩者; 分屬兩群則否。此即 M0 開篇的問題。
  • 抗藥 —— 治療後復發者通常源自原已存在的某一小群。 須先確定群體的組成與各自的比例,方能判斷防治的對象。
  • 時序 —— 最早發生的變異,往往即為驅動該腫瘤生長的變異。

M9 的小規模示範

M9 以兩個位點示範過完整的流程:細胞僅會取得變異而不會回復, 故狀態由 00 轉為 10,再轉為 11; bulk read 在這兩個位置上即為一個 0/1 向量; 重建即為在狀態方格上尋找一棵樹,自 00 出發、每一步僅翻轉一個位元、 可達所有觀測狀態且步數最少。

以下三頁處理的是同一問題的放大版本 —— 由兩個位點放大至數千個變異, 由單一連鎖視窗放大至整個基因體。放大之後出現兩個在小規模下不顯現的問題, 而這三頁即針對該二問題。

三篇的分工

內容
上篇
(本頁)
問題本身的結構。此領域二十年來的主要取徑、頻率路線的限制所在、 長讀將哪一項由推論轉為觀測,以及其代價。末節實作一張狀態表的抽取。
中篇 多變異連鎖視窗所提供者並非更多資料點,而是資料點之間的關係。 先寫出僅以 VAF 重建的完整流程作為對照基準,指出它三項限制各落在哪一個參數上, 再說明那些關係能補上的三格分別是什麼。
下篇 把三者合成一條聯合估計式,並處理它能不能真的建起來: 約束的來源、兩道品質閘門、兩類會產生假約束的誤讀,以及實際產量。

以下一項性質貫穿全篇。此問題已有二十年的研究史, 而它具有一項根本的性質:同一份資料可支持不只一個答案。 一項跨機構評比將 31 個 subclone 重建程式置於 51 個模擬腫瘤上執行,共 12,061 次 (2024 年線上發表,2025 年正式刊出)。其結論並非某一程式較為準確,而是 —— 更換程式對結果的影響大於更換腫瘤

同一份輸入、不同程式、不同答案,而各個答案皆與資料相符。 此現象並非實作缺陷所致,而是資料本身未攜帶足以唯一決定答案的資訊。 上篇要確立的是:所缺的是哪一部分資訊、短讀資料何以無法取得它, 以及長讀取得該資訊之後,問題的結構如何改變。

概念與互動

此路線的四個轉折

以下先回顧此領域的發展。四個轉折各自解決了前一階段的一個問題, 同時各自留下新的問題。

subclone 重建的四個轉折:從頻率分群到分子層級的共現觀測 四列,由上到下是時間順序。 第一列 2014 到 2015 年,PyClone、SciClone 與 PhyloWGS 用變異頻率分群, 第一次讓「腫瘤裡有幾群細胞、各佔多少」變成可計算的問題; 留下的問題是誰是誰的祖先仍需額外偏好才能決定。 第二列 2016 年,改成量分布的形狀:把變異數累積起來對 1 除以 f 作圖, 中性演化時那條線是直的, 904 個腫瘤中有 323 個符合;留下的問題是 driver 變異的頻率偏向兩端,中性比例可能被高估。 第三列 2024 年的大規模評比,31 個程式在 51 個模擬腫瘤上跑, 把「答案不唯一」量化出來:換程式對結果的影響大於換腫瘤。 第四列是換一種資訊來源,甲基化提供快約五個數量級的時鐘, 長讀直接觀測同一分子上的共現;代價是這種觀測只在一條 read 跨得到的距離內成立。 讀法是:前三列都在同一份資訊裡想辦法,第四列才換掉資訊本身。 subclone 重建的四個轉折 前三個轉折都在同一份資訊裡想辦法;第四個才換掉資訊本身。 年代 這一步做到了什麼 留下什麼問題 2014–2015 頻率分群 用變異頻率把突變分成幾群 PyClone · SciClone · PhyloWGS 誰是誰的祖先,還是要靠 額外的偏好才選得出來 2016 頻率譜的形狀 不分群,改看累積曲線的斜率 904 個腫瘤中 323 個符合 1/f driver 頻率偏向兩端, 中性的比例可能被高估 2024 大規模評比 把「答案不唯一」量化出來 31 個程式 × 51 個模擬腫瘤 換程式的影響比換腫瘤大 —— 資訊本身就不夠 2014–2025 換一種資訊 甲基化:快約五個數量級的時鐘 長讀:同一分子上的共現是觀測值 共現只在一條 read 跨得到 的距離內成立
四個轉折並非彼此取代,而是各自補足前一階段所不可見者。 ① 以頻率將變異分群,首次使「腫瘤含幾群細胞」成為可計算的問題。 ② 發現頻率分布本身具有形狀,可用於判定是否存在天擇。 ③ 大規模評比顯露前兩者共同的上限:答案不唯一。 ④ 兩種新的資訊來源 —— 甲基化提供解析度更高的時鐘,長讀提供分子層級的共現關係。

第一步:將一批變異的頻率繪為直方圖 —— mutation frequency spectrum

設一份腫瘤樣本含數千個 somatic 變異,各自具有其 。 將這數千個 VAF 繪為直方圖,可得一張具有結構的圖, 稱為

mutation frequency spectrum:一份腫瘤樣本裡幾千個 somatic 變異的 VAF 直方圖 橫軸是 VAF,縱軸是落在該區間的 somatic 變異個數。圖上有三塊結構。 第一塊是位於 VAF 0.30 附近的峰,代表所有腫瘤細胞都帶有的變異; 在拷貝數正常、變異只在其中一份拷貝上的條件下,峰的位置恰好是純度除以二, 所以峰在 0.30 表示純度 0.60。 第二塊是峰左邊 VAF 0.18 附近的鼓起,代表只有一部分腫瘤細胞帶有的變異, 每一個這樣的鼓起對應一群 subclone。 第三塊是中性演化檢定用的區間。要注意檢定的對象不是這張直方圖本身: 直方圖的形狀是頻率倒數的平方,真正呈直線的是把 「出現在某個頻率以上的變異數」累積起來之後對頻率倒數作圖的那條線。 原始研究刻意只在 VAF 0.12 到 0.24 這一段擬合,因為更低頻的一端混著 深度不足造成的假陽性,更高頻的一端已經進入 clonal 峰。 圖上最左邊三根長條就是那個假陽性區,標了叉號,不能拿來擬合。 讀法是:分群看第一塊與第二塊,天擇要換成累積曲線並且只用中間那一段。 把幾千個 somatic 變異的 VAF 畫成直方圖 三塊結構各自回答不同的問題,而第三塊不能直接看這張圖。 變異數 ✗ 假陽性區 ② subclonal 肩 ① clonal 峰 峰在 0.30 → 純度 0.60 0 0.1 0.2 0.3 0.4 0.5 ③ 中性檢定只在這一段擬合(VAF 0.12–0.24) VAF = 帶有此變異的 read 佔該位點所有 read 的比例 ① 所有腫瘤細胞都帶有。CN=2、multiplicity=1 時峰的位置恰好是純度 ÷ 2,可反推純度。 ② 只有一部分腫瘤細胞帶有。每一個鼓起對應一群 subclone —— 這是「分群」要抓的東西。 ③ 不可直接量測此圖的斜率:直方圖為 1/f²,須先將變異數累積,該線方對 1/f 呈直線。
三塊結構各有其意義。 最右側的峰對應全部腫瘤細胞皆帶有的變異,其位置由 決定(拷貝數正常、變異僅位於其中一份拷貝上時,恰為 purity ÷ 2)。 左側的肩對應僅一部分腫瘤細胞帶有的變異 —— 每一個肩對應一群 中性演化的檢定所用者為中段(VAF 0.12–0.24),且其量測對象並非此直方圖 —— 須先將變異數累積後對 1/f 作圖,該線方為直線。 最左側三根標記叉號的長條為假陽性區:深度不足時定序錯誤亦落於該處,不可用於擬合。 區分 ① 與 ② 即為分群;③ 所問者為是否存在天擇。

2014 至 2015 年間出現三項影響最大的做法,其思路均為對此圖分群SciClone(2014)以 beta 混合模型(以數個鐘形分布擬合一張直方圖)擬合 VAF, 且主要僅採用拷貝數正常、無 的區段,因為僅該處的 VAF 易於解釋。 PyClone(2014)改以 Dirichlet process(不需預先固定群數的分群模型) 對「帶有該變異的細胞比例」分群,並將 與正常細胞的混入一併納入模型。 PhyloWGS(2015)進一步將分群與建樹合為同一個推論。

2016 年出現另一種取徑:不進行分群,而直接分析分布的形狀。 其機制為:腫瘤指數成長時,發生越早的變異出現於越多細胞中,而此類變異本身數量越少。 將「出現於至少比例 f 以上的變異」計數,該累積數量在中性演化下正比於 1/f, 故累積曲線對 1/f 作圖為一條直線。 在 14 種癌別、904 個腫瘤中,有 323 個符合此直線關係。

以下兩點須予區分。 其一,直線為累積曲線的性質,而非直方圖的性質 —— 直方圖本身的形狀為 1/f2(累積曲線的微分),直接量測直方圖的斜率將得到錯誤的指數。 其二,原始研究刻意僅在 VAF 0.12 至 0.24 一段擬合: 更低頻的一端混有假陽性,更高頻的一端已進入 clonal 峰。

後續研究指出符合中性的比例可能被高估 —— driver 變異的頻率本即偏向 0 與 1 兩端,不易在中間頻率被觀測到, 故「該線為直線」不等同於「不存在天擇」。

由 VAF 至 CCF:換算所需的分母

前述分群的對象並非 VAF,而是 。 理由已見於 M8:VAF 為「帶變異的 read 所佔比例」,CCF 為「帶變異的癌細胞所佔比例」, 兩者相差一段換算。

換算式的分母並非 2:

從 VAF 換算到 cancer cell fraction 要經過三個估計值 上半是換算式:CCF 等於 VAF 乘上一個分數, 分子是純度乘腫瘤拷貝數再加上 2 乘以 1 減純度,分母是純度乘 multiplicity。 式子裡有三個量不是直接量到的:純度與腫瘤拷貝數各自來自另一支程式, multiplicity 也就是變異位在幾份腫瘤拷貝上,通常只能在 1 與 2 之間猜。 下半用同一個 VAF 0.30 示範三組假設的結果: 純度 0.60、拷貝數 2、multiplicity 1 時 CCF 是 1.00,讀成所有腫瘤細胞都帶有; 只把 multiplicity 改成 2,CCF 掉到 0.50,同一個變異就被讀成只有一半腫瘤細胞帶有; 把拷貝數改成 3,CCF 變成 1.30,超過 1 表示這組假設本身不成立。 讀法是:CCF 是三個估計值的商,其中 multiplicity 猜錯一格就足以讓 clonal 與 subclonal 互換。 CCF 是三個估計值的商 換算式的分母不是 2。三個量各自有誤差,其中一個通常只能猜。 CCF = VAF × 純度 × 腫瘤拷貝數 + 2 × (1 − 純度) 純度 × multiplicity 純度:另一支程式估的 腫瘤拷貝數:另一支程式估的 multiplicity:通常只能在 1 與 2 之間猜 同一個 VAF = 0.30,在三組假設下落在哪裡 CCF > 1 → 假設不成立 純度 腫瘤拷貝數 multiplicity CCF 0.60 2 1 1.00 0.60 2 2 0.50 0.60 3 1 1.30 0 0.5 1.0 1.5 multiplicity 從 1 改成 2,CCF 就少一半 —— 剛好足以把一個 clonal 變異讀成 subclonal。 前兩列都是合理的讀法,資料本身分不出來;只有第三列的 CCF > 1 才是假設出錯。
由 VAF 至 CCF 須經過三個估計值。 純度拷貝數來自其他程式,各自帶有誤差; (變異位於幾份腫瘤拷貝上)通常僅能在 1 與 2 之間推定。 推定偏差一格,CCF 即差兩倍 —— 而 CCF 相差兩倍已足以將 clonal 變異誤讀為 subclonal。 下方三條軸所繪為同一個 VAF = 0.30 在不同假設下的落點。

因此頻率路線的第一層不確定性源於換算:CCF 為三個估計值的商, 而三者皆可能偏誤。此層已於 M8 標記為「重要區分 #3:VAF 不等於 cancer cell fraction」。

以下互動用於確認一項關係:CCF 固定時,純度改變會使 VAF 如何移動。 峰的位置之所以可反推純度,依據即為此關係。

互動練習
固定 CCF=1(全部腫瘤細胞皆帶有),僅改變純度。 觀察 VAF 峰位置的移動 —— 前述頻率譜之所以能由峰位置反推純度,所用者即為此關係。 反之,純度估計偏誤將使整張圖的橫軸一併偏移。

群集之後:clone tree 仍不唯一

設換算完全正確,得到三群變異,CCF 分別為 1.0、0.6、0.3。 其次須將此三群排為一棵 ,即確定何者為何者的祖先。

可用的約束僅有一條,且屬純粹的算術:一群細胞的數量不可能多於其祖先。 故子節點的 CCF 不得超過父節點;若一個節點有兩個子節點,兩者的 CCF 之和亦不得超過該節點。

同一組 CCF 值,線性與分支兩棵 clone tree 都通過檢查 左右兩邊用的是同一組 CCF 值:1.00、0.60 與 0.30。 左邊是線性樹,0.30 那群是 0.60 那群的後代,檢查條件是 0.30 小於等於 0.60,成立。 右邊是分支樹,0.60 與 0.30 是兄弟,各自從 1.00 長出來, 檢查條件是 0.60 加 0.30 等於 0.90,小於等於 1.00,也成立。 每棵樹下方畫出對應的細胞群組成: 左邊帶 C 的細胞完全包在帶 B 的細胞裡面,右邊兩者互不重疊。 兩種情況的生物學意義完全不同,一邊是一條線上的連續演化,一邊是兩支平行分支, 但它們對得上同一組數字。 讀法是:CCF 只給出每一群有多大,不足以決定誰是誰的祖先。 同一組 CCF:1.00 · 0.60 · 0.30 兩棵樹都通過那條算術檢查,所以光靠 CCF 選不出來。 線性:0.30 那群是 0.60 那群的後代 1.00 群 A 0.60 群 B 0.30 群 C 0.30 ≤ 0.60 ✓ 全部腫瘤 帶 B 帶 C 分支:0.60 與 0.30 各自從 1.00 長出來 1.00 群 A 0.60 群 B 0.30 群 C 0.60 + 0.30 = 0.90 ≤ 1.00 ✓ 全部腫瘤 帶 B 帶 C 差別在最下面那排:左邊「帶 C」完全包在「帶 B」裡,右邊兩者互不重疊。 而這件事 CCF 沒有記錄。要選出一棵樹,方法必須自己補上一個偏好 —— 通常是取步數最少的。
同一組 CCF 值 1.0 / 0.6 / 0.3,兩棵樹皆通過該算術檢查。 :線性 —— 0.3 一群為 0.6 一群的後代(0.30.6 ✓)。 :分支 —— 0.6 與 0.3 為兄弟,各自衍生自 1.0(0.6+0.3=0.91.0 ✓)。 兩棵樹的生物學意義完全不同:左為單一路徑上的連續演化,右為兩支平行的分支。 但兩者對應同一組數字,故僅憑 CCF 無法擇一。

在此情形下,方法必須引入額外的偏好。最常用者為 : 於所有相容的樹中選取步數最少者。此為合理的偏好,但它是偏好,而非證據。 此外,為使樹得以連通,有時須補入未獲任何資料直接支持的中間狀態, 此類節點稱為

以兩個位點即可說明其必然出現的原因。設僅觀測到 0011 兩種狀態,無任何一條 read 為 1001。 但每一步僅能增加一個突變,故由 0011 之間必然經過 1001。方法只能補入其一,而所補入者 係「模型為連通所假設」,並非觀測所得。

解讀邊界:latent node 不一定是未觀測細胞群

latent node 並非「一群尚未被觀測到的細胞」。 它可能對應真實的中間世代(該群細胞其後被取代),亦可能僅為此模型記帳上的需要。 且此處有兩種並列的補法(補 10 或補 01),資料同樣無從擇一。

成因:頻率為 marginal distribution,樹所需者為 joint distribution

前述兩層不確定性表面上為兩個獨立的問題,實則同一。以兩個位點即可完整說明。

設一個連鎖視窗內有兩個 somatic 位點 A、B。頻率給出兩個數字: A 出現於 50% 的細胞、B 出現於 30% 的細胞。 此二數字各自描述單一位點,此類分布稱為

而樹所要回答的問題為:同時帶有 A 與 B 的細胞佔多少。 此為兩個位點聯合的分布,稱為 。 由邊際分布無法推得聯合分布 —— 此非統計方法不足,而是該資訊確實不存在於資料中。

更精確地說,邊際並非全無作用,它給出一個區間: 同時帶有兩者的比例至多不超過 0.30(不可能多於帶有 B 者), 至少不低於 0.50+0.301=0(兩者可完全不重疊)。 故邊際將答案限定於 0 至 0.30 之間,而此區間無法再行收窄。 樹的形狀在此區間的兩端則完全不同。

邊際頻率相同的兩種細胞組成,聯合計數與樹卻不同 左右兩種細胞組成的邊際頻率刻意做成完全一樣:A 出現在 50% 的細胞裡,B 出現在 30% 的細胞裡。 左邊的組成是:3 個細胞同時帶有 A 與 B,2 個只帶 A,5 個都沒有。 右邊的組成是:5 個只帶 A,3 個只帶 B,2 個都沒有,沒有任何細胞同時帶有兩者。 兩邊各自數出來的 A 都是 5 個、B 都是 3 個,所以邊際頻率相同。 差別出現在聯合計數表,而且剛好互換:左邊「只帶 B」的 01 是 0 個、11 是 3 個; 右邊 01 是 3 個、11 是 0 個。 因此左邊相容的樹是一條線,B 出現在已經有 A 的細胞裡; 右邊的樹分岔,因為只帶 B 的那群細胞必須另外從起點長出來。 兩邊都是每個突變只發生一次就解釋得通的樹。 要點:邊際頻率不提供 01 與 11 兩格各自的計數,而樹的形狀正取決於此二格。 頻率是邊際分布,樹要的是聯合分布 左右兩邊的邊際頻率刻意做成完全相同 —— 重點正是「光看這兩個數字分不出來」。 組成 甲 A = 0.50 B = 0.30 10 個腫瘤細胞。小方塊:左=A、右=B,實心=帶有 聯合計數:每種狀態各有幾個細胞 00 10 01 11 5 2 0 3 → 與這張表相容的樹 00 +A 10 +B 11 01 沒有任何細胞 線性:B 只出現在已經有 A 的細胞裡 組成 乙 A = 0.50 B = 0.30 10 個腫瘤細胞。小方塊:左=A、右=B,實心=帶有 聯合計數:每種狀態各有幾個細胞 00 10 01 11 2 5 3 0 → 與這張表相容的樹 00 +A +B 10 01 11 沒有任何細胞 分支:有一群細胞只帶 B,完全不帶 A 差別只有兩格:0111 誰是空的 —— 而邊際頻率對這兩格完全沒有意見。 兩邊都是「每個突變只發生一次」解釋得通的樹。若兩格都不是空的,就連這種樹都不存在了。
兩種細胞組成,上方兩個頻率刻意設為相同(0.50 與 0.30), 用以顯示僅憑此二數字無法區分兩者。 :帶有 B 的 3 個細胞亦全部帶有 A,故 B 為 A 的後代,樹為線性。 :無任何細胞同時帶有兩者,另有 3 個僅帶 B,故 B 須另行自起點衍生,樹為分支。 下排為差異所在:聯合計數表,且兩者恰好互換 —— 左側 01 為空,右側 11 為空。 此二格對應的邊際頻率完全相同。
互動練習
滑桿僅改變一項:同時帶有 A 與 B 的細胞數。 上方兩個邊際頻率始終不變,下方的聯合計數表與右側的樹則隨之改變。 將滑桿由 3 移至 0:兩端分別對應上圖的左與右,同一組邊際頻率相容於兩棵不同的樹。 中間的 1 與 2 值得留意 —— 四種狀態皆出現時,連「每個突變僅發生一次」的樹都不存在, B 必須發生兩次。真實資料中此情形通常表示某個 call 為假,或若干條 read 被指派至錯誤的 haplotype, 而此點僅能由聯合觀測發現。 切換至「僅有邊際頻率」,聯合計數表全部轉為問號,此即短讀路線的處境。

回到前述兩層不確定性,兩者為同一件事的兩個面向: CCF 換算是在估計邊際,簡約性則是在推定聯合。 短讀路線的每一項模型假設,都是在補足聯合分布這一格。

甲基化面臨同一限制:β 值與 epiallele

既然序列上的頻率不足,更換標記是否有所改善?為自然的候選。

其吸引力在於速率。(甲基化狀態的隨機翻轉)的發生速率, 文獻常引的量級為每個 、每次細胞分裂 105104;DNA 突變則為每個鹼基 1091010。 同量級相比,快約五個數量級。此即表示甲基化為解析度高得多的時鐘 —— 兩群細胞分離僅數十代時,序列上尚無任何差異,甲基化上已可觀測。

該速率應視為量級而非定值:它隨位點與量測方式差異甚大, 專供作時鐘之用的位點另有估至 103 量級者。 故「甲基化快得多」一項穩固,「快幾個數量級」則不宜作為定值引用。

此取徑已達規模化。2015 年一項研究取 19 位低度膠質瘤病人的原發與復發檢體, 分別以甲基化與以突變建樹,兩棵樹高度吻合(相關係數 0.56 至 0.90), 顯示甲基化所攜帶的譜系訊號為真 —— 惟其為「高度吻合」而非「同一棵樹」, 該研究中亦有病人的甲基化訊號跨越了基因型上已分離的分支。 2025 年的一項研究更進一步:僅以 bulk 甲基化資料,在 1,976 個淋巴系癌樣本上 推估腫瘤的生長速率與發生年齡,不需定序基因體。

然而甲基化的常規讀法具有相同的限制。單一 CpG 位點的甲基化程度以 β 值表示, 即該位點所有分子中甲基化者的比例。此亦為一個邊際。

逐位點的 β 值相同,分子層級的 epiallele 組成卻完全不同 左右兩邊都是一個區域裡的四個 CpG、六條分子。 兩邊每一個 CpG 的甲基化比例都恰好是 0.50,所以逐位點統計的 β 值完全相同。 左邊六條分子各自有不同的甲基化組合,共六種不同的組合, 而且每條分子甲基化的個數也不一樣,這是同一群細胞的隨機起伏。 右邊只有兩種組合,三條分子四個 CpG 全部甲基化,另外三條全部未甲基化, 這代表兩群不同的細胞。 差別只在把同一條分子上的四個 CpG 一起看的時候才出現, 這種一起看的組合稱為 epiallele。 要注意的是,右邊那種乾淨的兩群也可能是同一群細胞的兩條 haplotype, 一條甲基化、一條不甲基化,這種情形叫 allele-specific methylation; 要分開得看這兩群 epiallele 跟 HP 標籤對不對得上。 讀法是:β 值是邊際統計,跟 VAF 有一樣的限制。 β 值也是邊際統計 實心=甲基化,空心=未甲基化。左右兩邊每個位點的 β 值都是 0.50。 組成 甲:同一群細胞的隨機起伏 1 2 3 4 CpG β 值(每個位點各自統計) 0.50 0.50 0.50 0.50 不同的 epiallele:6 種,每條分子甲基化的數量也不同 組成 乙:兩群細胞,各自一致 1 2 3 4 CpG β 值(每個位點各自統計) 0.50 0.50 0.50 0.50 不同的 epiallele:2 種 同一條分子上的四個 CpG 一起看,才分得出「一群細胞在起伏」與「兩群細胞」。 惟「兩群」亦可能為同一群細胞的兩條 haplotype,一條甲基化、一條不甲基化 —— 須與 HP 標籤比對方能區分。
一段區域內的四個 CpG,左右兩側各位點的 β 值皆為 0.50, 逐位點統計完全無法區分。 :每個分子皆為雜亂的半甲基化,對應同一群細胞的隨機起伏。 :分子分為兩組,一組全甲基化、一組全不甲基化。 兩者的差異同樣僅在同一分子上的四個 CpG 聯合觀測時出現。 將單一分子上的甲基化組合視為一個單位,該單位稱為 惟右側的兩組未必對應兩群細胞,見下方警告。

2014 年的 methclone 即在執行此項工作:它自 read 直接計數 epiallele 的組成, 再以組成的熵變化量衡量兩個時間點之間譜系結構的改變。

資料需求:epiallele 分析需要多少 CpG 與深度

該形式為此類做法所共有,各工具所選的數值不同而已。 methclone 要求單一條 read 跨越 4 個相鄰的 CpG(對應 24=16 種可能組合), 且該位置須有 60× 以上的深度,組成比例方能估得準確。 亦即:同一條分子上須有足夠多的 CpG,且此類分子須有足夠的數量 —— 4 為 methclone 的選擇,並非自然常數。

短讀相對於此門檻的位置

人類基因體約有 2,800 萬個 CpG,分布於 3.1 Gb 上, 平均每 100 bp 一個。CpG island 內部則密集得多,約每 10 至 20 bp 一個。

一條 read 能同時看到幾個 CpG:短讀與長讀的差距 上半是基因體的平均 CpG 密度,大約每 100 個鹼基一個 CpG。 在這個密度下,一條 100 bp 的短讀只跨得到一個 CpG, 而一條 20 kb 的長讀長度是圖上這一整段的十倍,跨過大約 200 個 CpG。 下半是 CpG island 內部的密度,大約每 15 個鹼基一個 CpG。 在這裡 100 bp 的短讀跨得到約七個 CpG,達到 epiallele 分析所需的四個門檻。 兩者合起來說明:短讀要做分子層級的甲基化分析,只做得到 CpG island 這類密集區域, 長讀則不必挑區域。 讀法是:門檻不是四個 CpG 這個數字本身,而是「哪些區域達得到這個門檻」。 4 個 CpG 這個門檻,決定了短讀能分析哪些區域 短線=一個 CpG 的位置(這張圖不表示它甲基化與否)。長圓角矩形=一條 read 蓋到的範圍。 ① 基因體平均:約每 100 bp 一個 CpG(全基因體約 2,800 萬個) 100 bp read → 只跨到 1 個 CpG 這一段 = 2,000 bp 20 kb read:長度是這一整段的 10 倍,跨過約 200 個 CpG ② CpG island 內:約每 15 bp 一個 CpG 100 bp read → 跨到 7 個 CpG,達到門檻 這一段 = 200 bp 所以短讀的 epiallele 分析只做得到 CpG island 這類密集區,長讀不必挑區域。 而且同一條長讀上還帶著序列變異,所以序列與甲基化的聯合分布是同一次觀測給的。
同一段基因體,兩種讀長所能同時觀測的 CpG 數量。 :100 bp 短讀在基因體平均密度下約僅跨越 1 個 CpG,僅落於 CpG island 內時方能跨越 4 個以上 —— 亦即 epiallele 分析在短讀上僅適用於基因體的一小部分區域:20 kb 長讀在平均密度下跨越約 200 個 CpG,且不需篩選區域。 同一條分子上同時帶有序列變異,故序列與甲基化的聯合分布來自同一次觀測。

長讀將 joint distribution 轉為直接觀測

至此轉折已明確。一條 對應一個分子, 其在多個位點上的 allele 為一次觀測所得的組合,而非由兩個邊際推得。 亦即:聯合分布不需推估,可直接計數。

以下例說明兩者的差異。同一顆腫瘤、同樣兩個 somatic 位點、同樣十條分子, 兩種讀長所算得的 VAF 完全相同,故差異僅可能來自組合是否可觀測:

同樣的兩個 VAF,短讀留下兩棵樹,長讀只剩一棵 左右兩半用的是同一顆腫瘤、同樣兩個 somatic 位點、同樣十條分子, 兩邊算出來的 VAF 也完全一樣:A 是零點五零,B 是零點三零。 差別只在讀長。 左半是短讀:兩個位點相距三 kb,沒有任何一條 read 同時蓋得到, 所以每條 read 只在一個位點上有值。能算出來的就只有那兩個 VAF。 這兩個數字同時相容於兩棵樹:一棵是 B 長在 A 的細胞裡,另一棵是兩者各自從起點長出來。 兩棵都通過檢查,所以分不出來。 右半是長讀:一條分子就跨過兩個位點,所以每條 read 在兩個位點上都有值, 可以直接數出組合。十條裡面,兩個位點都是參考型的有五條, 只帶 A 的有兩條,兩個都帶的有三條,而只帶 B 的一條也沒有。 只帶 B 的分子不存在這件事,直接排除掉「兩者各自長出」那棵樹, 因為那棵樹必須要有只帶 B 的細胞。於是只剩下一棵。 最下方點出關鍵:多出來的不是精度,是一種新的觀測 —— 邊際頻率不提供哪一格為空的資訊,而該空缺的一格正是決定樹形者。 讀法是:兩邊的 VAF 刻意做成一模一樣,所以差別只可能來自組合。 同樣的兩個 VAF,短讀留下兩棵樹,長讀只剩一棵 兩側為同一顆腫瘤、同樣十條分子。VAF 刻意設為相同,故差異僅可能來自組合是否可觀測。 短讀:一條只蓋得到一個位點 A 相距 3 kb B VAF(A) = 5/10 = 0.50 VAF(B) = 3/10 = 0.30 能算的就只有這兩個數字 —— 組合看不到 相容的樹 B 長在 A 裡 兩者各自長出 長讀:一條跨過兩個位點 A 相距 3 kb B VAF(A) = 5/10 = 0.50 VAF(B) = 3/10 = 0.30 一模一樣,但還數得出組合:只帶 B 的 0 條 相容的樹 B 長在 A 裡 兩者各自長出 這棵樹需要「只帶 B」的細胞 但一條分子也沒有 長讀多給的不是精度,是一種新的觀測:哪一種組合是空的 邊際頻率不提供此資訊,而該空缺的一格正是決定樹形者。
左右兩側的 VAF 刻意設為相同:A=0.50、B=0.30。 左側兩個位點相距 3 kb,短讀無法跨越,故每條 read 僅在一個位點上有值 —— 可計算者僅有該二數字,而該二數字同時相容於兩棵樹。 右側單一條分子即跨越兩個位點,因而可計數組合:兩者皆帶有者 3 條, 僅帶 B 者為零。「兩者各自衍生」該棵樹需要存在僅帶 B 的細胞,因而被排除,僅餘一棵。

此例的關鍵在於被排除的那一格。 短讀一側並非量測較不準確 —— 其兩個 VAF 與長讀完全相同 —— 而是缺少一種觀測:哪一種組合為空。 邊際頻率不提供此資訊,而該空缺的一格正是決定樹形者。

與前述區間的說法對照:邊際僅將「同時帶有兩者的比例」限定於 0 至 0.30 之間, 兩端各對應一棵樹,中段無法收窄。此例中長讀將該比例直接計數為 0.30, 恰為區間的上界,即「帶有 B 的細胞全部亦帶有 A」,區間收斂為一點,樹因而確定。

M9 已說明此觀測的形式:將每條 read 在 k 個 somatic 位點上的 R/A 記為 0/1 向量, 即得一張狀態表;求步數最少且可達所有觀測狀態的樹,即為該連鎖視窗的候選演化次序。 在本頁的座標中,該狀態表即為聯合分布的直接樣本, 而非 CCF 群集那類邊際的整理。

惟狀態表的每一列對應分子而非細胞,此點易生誤讀。 單一細胞的兩條染色體會產生兩條不同 haplotype 的 read,同一條染色體亦可能被多條 read 覆蓋。 故「狀態 11 有 6 條 read」不等同於「有 6 個細胞同時帶有兩個變異」。 此即 M0「read 為分子片段的觀測,而非細胞標籤」一項警告在此路線上的具體後果。

尚有第二層結構須先區分。發生於某一細胞的某一條染色體上, 故同一個 somatic 位點的變異僅會出現於其中一條 上。 先將 read 依 分為兩組再各自建樹, 一方面符合生物學,一方面使各組的狀態空間減半。

代價:分析單位縮小為單倍型連鎖區段

聯合觀測有其代價:它僅在單一條 read 可跨越的距離內成立。 兩個位點若相距 100 kb,無任何一條 read 同時覆蓋兩者, 則該二位點之間的聯合分布與短讀時期同樣未知。

分析單位怎麼切出來:phase set → 連鎖視窗 → 單倍型家族 三層,由上到下是切分的順序。 第一層是 phase set。跨越兩個 phase set 之間沒有相位關係,所以分析不能跨過去。 第二層在 phase set 內按 read 實際跨得到的距離切成連鎖視窗, 圖上是三個連鎖視窗,各含 2 個或 3 個 somatic 位點,每個連鎖視窗有五條 read。 連鎖視窗裡的 read 畫成虛線外框,代表這時候還不知道它們來自哪一條 haplotype。 第三層把中間那個連鎖視窗的五條 read 按單倍型家族分成兩堆,三條一堆、兩條一堆, 外框改成實線,代表來源已經由程式判定。 第三層每一條 read 的 x 座標與第二層完全相同,因為那是同一批 read,只是重新分組。 讀法是:最小分析單位是「一個連鎖視窗的一個單倍型家族」,不是整條染色體。 最小分析單位:一個連鎖視窗的一個單倍型家族 上方小圓=somatic 位點。虛線外框的 read = 還不知道來自哪一條 haplotype。 ① phase set phase set A phase set B 跨 phase set 之間沒有相位關係,分析不能跨過去 ② 切連鎖視窗 W1 · k=2 W2 · k=3 W3 · k=2 ③ 分家族 把 W2 這五條 read 按單倍型家族分成兩堆(每一條的 x 座標與上方相同) HP1 family 每一堆各自建樹 HP2 family 狀態空間小一半 somatic 變異只發生在其中一條 haplotype 上,所以先分家族既符合生物學,也讓問題變小。 代價:兩個相距超過 read 跨距的位點之間,聯合分布仍然是未知的 —— 跟短讀時代一樣。
分析單位的切分方式。 先須落於同一個 之內 —— 跨 phase set 的相位關係本即無定義。 再依 read 實際可跨越的距離切為 ,每個連鎖視窗含 k 個 somatic 位點(k 通常為 2 或 3)。 ③每個連鎖視窗之內再依單倍型家族分為兩組。 故最小分析單位為 :一個連鎖視窗的一條單倍型家族,而非整條染色體。 上下兩層的 x 座標刻意對齊:兩者為同一批 read,僅重新分組。

以下估算此量級,並據以說明 k 為何幾乎恆為 2 或 3。 一般實體腫瘤的突變負荷約為每 Mb 1 至 10 個 somatic 變異。 取 5 個/Mb、read 跨距 20 kb,則單一固定寬度視窗內的變異數平均為 0.1 個。 依 Poisson 分布計算「至少有 2 個」的機率約為 0.5% —— 3.1 Gb 切分為 15 萬餘個固定寬度視窗,僅數百個達到條件。

尚須再乘一個係數。分析單位為單倍型連鎖區段,故兩個變異不僅須落於同一連鎖視窗,還須落於同一條 haplotype 上,方能構成 k=2 的狀態表。 一對變異落於同一家族的機率約為 ½,故 0.5% 減半至 0.24%。

突變負荷高的樣本則不同。以同一算法,50 個/Mb 時平均為 1 個/固定寬度視窗, 「至少有 2 個」的機率升至 26%,計入家族係數之後仍有兩至三萬個可用連鎖區段。 故此路線的適用性直接取決於樣本的突變負荷,且非參數調整所能改變。

read-AF:頻率的角色由分群改為排序

須澄清一項常見的誤解:長讀路線並未捨棄頻率, 而是將頻率的角色由「用於分群」改為「用於在並列的候選中排序」。

M8 已提及此量,稱為 :於同一連鎖視窗、同一單倍型家族的 read 之中, 某個 somatic 位點的 ALT 所佔比例。它與全基因體 VAF 的差別在於分母受限縮 —— 僅計入同一連鎖視窗、同一條 haplotype 的 read。

以下一點須明確:限縮分母並未使純度消失。 同一條 haplotype 的 read 中亦含來自正常細胞的分子(其在該位點為 REF), 故 read-AF 約等於「純度 × 帶有該變異的腫瘤細胞比例」,而非後者本身。 read-AF 之所以不需換算,是因為它僅用於比較大小:同一連鎖視窗、同一單倍型家族內的兩個位點共用同一個純度,比較兩者時純度為共同因子而消去。 M8 已將此列為方法的適用範圍限制 —— 兩個位點的局部拷貝數或 multiplicity 若不同,則無法消去

其用法為:發生較早的變異應出現於較多分子上, 故候選樹中若有兩條路徑步數相同,read-AF 遞減者較為合理。 關鍵在於次序:先以聯合觀測將候選集合收斂至最小成本解,以 read-AF 排序。 次序顛倒將退回頻率路線原有的問題 —— 以邊際推定聯合。

單倍型頻率譜的形式

比較兩條路線之前,須先確認比較的層級:前述既有做法皆非在單一位點上做推論。 SciClone、PyClone 與 PhyloWGS 均將數千個變異的 VAF 匯總為一張直方圖, 再自該圖的形狀導出結論;1/f 中性檢定所量測者亦為同一張圖的尾端。 故應比較的是頻譜這一層,而非單一位點的量測準確度。

長讀一側亦有一張頻率譜,做法完全相同 —— 同樣將整批數值匯總為直方圖,橫軸同樣為頻率。 所更換者僅為被計數的對象:不再是「單一位點的 ALT 所佔比例」, 而是「一條單倍型所佔的分子比例」。單倍型即 somatic haplotagging 所給出的標籤 (HP1、HP1-1、HP1-2…),每一條對應一組變異的特定組合

更換之後兩張圖形態相異,而相異之處恰好決定了樹。 以同一組 SNV 為例。先觀察原始的 read,使後兩張圖的每一個數字皆可回溯:

20 條分子在六個位點上的等位組合 一個連鎖視窗裡有六個 somatic 位點,由左到右標為 A 到 F,共二十條分子跨過全部六個位點。 二十條分成三群。第一群九條,六個位點全是參考型,佔四成五。 第二群七條,在 A、B、C 三個位點是變異型,D、E、F 是參考型,佔三成五。 第三群四條,反過來在 D、E、F 是變異型,A、B、C 是參考型,佔兩成。 關鍵是沒有任何一條分子同時帶著 A B C 與 D E F 這兩組。 下半列出同一批分子的兩種數法。 第一種逐位點數,得到 A、B、C 的 VAF 都是七除以二十等於零點三五, D、E、F 都是四除以二十等於零點二。 第二種逐單倍型數,得到沒有變異的那群佔九除以二十等於零點四五, 帶 A B C 的那群佔零點三五,帶 D E F 的那群佔零點二。 最下方指出:因為沒有分子同時帶兩組,帶 A B C 與帶 D E F 的兩群是兄弟不是祖孫, 而這件事只有在一條分子跨得過這六個位點時才數得出來。 讀法是:兩種頻率譜的數字都從這一張圖來,差別只在數的時候把什麼當成一個連鎖區段。 先看原始的 read 一個連鎖視窗、六個 somatic 位點、20 條跨得過全部六個位點的分子。 A B C D E F 9 條(45%) 沒有變異 → HP1 7 條(35%) 帶 A B C → HP1-1 4 條(20%) 帶 D E F → HP1-2 ① 逐位點數 → VAF VAF(A) = VAF(B) = VAF(C) = 7/20 = 0.35 VAF(D) = VAF(E) = VAF(F) = 4/20 = 0.20 六個位點 → 六個數字 ② 逐單倍型數 → 單倍型頻率 HP1 = 9/20 = 0.45 HP1-1 = 7/20 = 0.35 HP1-2 = 4/20 = 0.20 三條單倍型 → 三個數字 沒有分子同時帶 A B C 與 D E F,所以 HP1-1 與 HP1-2 是兄弟 —— 而這只有在一條分子跨得過這六個位點時才數得出來。
一個連鎖視窗、六個 somatic 位點、20 條可跨越全部六個位點的分子。 分為三組:9 條全為參考型、7 條帶有 A B C、4 條帶有 D E F, 且無任何一條同時帶有兩組。 下半為同一批分子的兩種計數方式 —— 逐位點計數得到六個 VAF,逐單倍型計數得到三個頻率。

同一批分子,兩種計數方式:逐位點計數,六個位點給出六個數字; 逐單倍型計數,三條單倍型給出三個數字。將兩組數字各自匯總為直方圖,即得以下兩張頻率譜。

同一組 SNV,兩種頻率譜:VAF 譜留下兩棵樹,單倍型頻率譜只剩一棵 同一個連鎖視窗、同一組六個 somatic SNV,兩種把它們整理成直方圖的方式,橫軸都是頻率。 這個連鎖視窗的分子組成是:四成五沒有任何體細胞變異,三成五帶著 A、B、C 三個變異, 兩成帶著 D、E、F 三個變異,而且沒有任何一條分子同時帶著這兩組。 左邊是 VAF 頻率譜:每一個數字來自一個位點,所以六個 SNV 給出六個點。 A、B、C 的 VAF 都是零點三五,D、E、F 都是零點二,於是得到兩根高度為三的長條。 讀出來是「有兩群,各佔零點三五與零點二」, 但這兩個數字同時相容於兩棵樹:零點二可以是零點三五的後代,也可以是它的兄弟, 因為兩種都通過那條算術檢查,所以分不出來。 右邊是單倍型頻率譜:每一個數字來自一條單倍型,所以只有三個點,每根長條高度都是一。 三根分別是 HP1-2 佔零點二、HP1-1 佔零點三五、HP1 佔零點四五。 注意零點四五那一根在左邊完全不存在,因為那群細胞在這個連鎖視窗沒有任何變異, 沒有變異就沒有 VAF。 而且標籤說明 HP1-1 與 HP1-2 都直接掛在 HP1 底下,是兄弟不是祖孫, 於是分支那棵樹是唯一解。 最下方指出兩項本質差異:左側每根長條計數的是變異,右側計數的是細胞群; 左邊的頻率是邊際,右邊的頻率帶著隸屬關係。 讀法是:同一組 SNV,換掉頻率的連鎖區段之後,連樹的形狀都跟著定下來了。 同一組 SNV,兩種頻率譜 一個連鎖視窗、六個 somatic SNV。組成:45% 沒有變異、35% 帶 A B C、20% 帶 D E F,且沒有分子同時帶兩組。 VAF 頻率譜 每一根:有幾個變異落在這個頻率 D E F A B C 0 0.2 0.35 0.45 六個 SNV → 六個點,堆成兩根 讀出來:有兩群,0.35 與 0.20 但這兩個數字同時相容於兩棵樹 —— 0.20 ≤ 0.35 ✓  0.35 + 0.20 ≤ 1 ✓ 後代 兄弟 兩棵都通過 —— 分不出來 單倍型頻率譜 每一根:有幾條單倍型落在這個頻率 HP1-2 HP1-1 HP1 0 0.2 0.35 0.45 三條單倍型 → 三個點,每根高度都是 1 讀出來:三條,0.45 / 0.35 / 0.20 標籤說明 HP1-1 與 HP1-2 都掛在 HP1 底下, 而且沒有分子同時帶 A B C 與 D E F。 後代 兄弟 只剩一棵 —— 樹定下來了 ① 左側每根長條計數的是變異,右側計數的是細胞群。0.45 一根在左側無法繪出 —— 無變異即無 VAF。 ② 左邊的頻率是邊際,右邊的頻率帶著隸屬關係,所以「兄弟還是祖孫」不必再猜。
同一組六個 SNV,兩種整理方式,橫軸皆為頻率。 左側六個位點各給出一個 VAF,匯為兩根高度 3 的長條;右側三條單倍型各給出一個頻率,各根高度皆為 1。 差異恰好落在能否確定樹:左側兩棵樹皆通過,右側僅餘一棵。

左側:六個 SNV 各給出一個 VAF。A、B、C 皆為 0.35,D、E、F 皆為 0.20, 匯為兩根高度 3 的長條。其讀法為「有兩群,各佔 0.35 與 0.20」—— 但此二數字同時相容於兩棵樹0.200.35 ✓;0.35+0.201 ✓),故無從區分。 此與前述 1.0/0.6/0.3 一組為同一件事。

右側:三條單倍型各給出一個頻率,各根長條高度皆為 1。隨之出現兩項差異:

  • 0.45 一根在左側無法繪出。該群細胞在此連鎖視窗內不帶任何 somatic 變異 —— 無變異即無 VAF。然而它是此連鎖視窗內最大的一群,且為另外兩群的祖先。 VAF 頻率譜可觀測後代,不可觀測祖先。
  • 標籤攜帶隸屬關係。HP1-1 與 HP1-2 皆直接隸屬於 HP1,兩者為兄弟而非祖孫。 且此關係係自 read 計數所得(無分子同時帶有 A B C 與 D E F),而非推定。 分支一棵樹因而為唯一解。

故兩者的差異可精確表述為:左側每一根長條計數的是「變異」,右側計數的是「細胞群」; 左側的頻率為邊際,右側的頻率攜帶隸屬關係。 同一組 SNV,更換頻率的計數單位之後,樹的形狀隨之確定。

標籤的取捨

此處有一項易被忽略、但影響結論的選擇。 VAF 具有一項性質:它不區分變異位於哪一條 haplotype,一個位點對應一個數字。 單倍型頻率譜是否比照辦理 —— 捨去 HP1-1、HP1-2、HP2-1 的身分, 僅保留一組頻率值?

兩種做法皆成立,但兩者性質不同。

單倍型頻率譜的標籤取捨:捨去標籤後近乎退化為 VAF 譜 左右兩欄是兩種都成立的做法。 左邊是丟掉標籤:把所有 somatic 單倍型的頻率倒進同一張直方圖,不管它是哪一條。 這是跟 VAF 譜嚴格的一對一替換 —— VAF 譜丟掉「變異在哪一條 haplotype 上」, 這裡丟掉「頻率屬於哪一條單倍型」。 得到的峰位置跟 VAF 譜幾乎一樣,唯一的實質差別是分母: VAF 的分母是該位點全部的 read,含兩個家族;單倍型頻率的分母只有同一個家族, 而且那個分母是就地量到的,不必用全域的純度與拷貝數換算。 右邊是保留標籤:多出來的不是頻率,而是一個偏序 —— 誰包含誰、誰跟誰是兄弟。 這是 VAF 譜沒有對應物的東西,兄弟還是祖孫不必再用簡約性猜。 代價是標籤只在連鎖視窗內有定義,跨連鎖視窗匯總不了,所以全基因體的譜只能是不看標籤那一種。 最下方是關鍵的量化:在二十 kb 的連鎖視窗下,含變異的連鎖視窗裡有兩個以上變異的比例, 每 Mb 五個變異時只有百分之四點九,十個時百分之九點七, 二十個時百分之十八點七,五十個時百分之四十一點八。 也就是說典型實體腫瘤有九成五的連鎖視窗只有一個變異, 那種連鎖視窗裡一條單倍型就等於一個變異,是一對一的。 所以丟掉標籤之後這張譜幾乎就是換了分母的 VAF 譜, 真正多出來的資訊在標籤裡,而標籤是連鎖視窗性的。 標籤的取捨 兩種都成立,但給的東西差很多 —— 而且差別的大小由突變負荷決定。 ① 丟掉標籤 把所有 somatic 單倍型的頻率倒進同一張直方圖 這是跟 VAF 譜嚴格的一對一替換 VAF 譜丟掉「變異在哪一條 haplotype 上」, 這裡丟掉「頻率屬於哪一條單倍型」。 峰的位置跟 VAF 譜幾乎一樣 唯一的實質差別是分母:VAF 用該位點全部 的 read(兩個家族),單倍型頻率只用同一家族。 而那個分母是就地量到的,不必全域換算。 ② 保留標籤 HP1-1、HP1-2、HP2-1 各自是誰 多出來的不是頻率,是一個偏序 誰包含誰、誰跟誰是兄弟。 HP1-1 ⊂ HP1 HP1-1 ∥ HP1-2 這是 VAF 譜沒有對應物的東西 兄弟還是祖孫,不必再用簡約性猜。 代價:標籤只在連鎖視窗內有定義,跨連鎖視窗匯總不了 (重要區分 #13)。全基因體的譜只能用 ①。 為什麼「丟掉標籤」幾乎就塌回 VAF 譜 突變負荷(連鎖視窗 20 kb) 5/Mb 10/Mb 20/Mb 50/Mb 含變異的連鎖視窗裡有 ≥2 個變異 4.9% 9.7% 18.7% 41.8% 典型實體腫瘤(約 5/Mb)有 95% 的連鎖視窗只有一個變異 —— 那種連鎖視窗裡「一條單倍型」就是「一個變異」。 所以真正多出來的資訊在標籤裡,不在頻率值裡;而標籤是連鎖視窗性的。
捨去標籤方為與 VAF 譜嚴格的一對一替換,但其結果近乎退化為 VAF 譜; 保留標籤所額外提供者為一個偏序,而該偏序在 VAF 譜中無對應物。 下方數值說明差異的幅度 —— 由突變負荷決定。

捨去標籤方為嚴格的一對一替換:VAF 譜捨去「變異位於哪一條 haplotype」, 此版本捨去「頻率屬於哪一條單倍型」。所得的峰位置與 VAF 譜幾乎相同, 唯一的實質差異在於分母 —— VAF 使用該位點全部的 read(含兩個家族), 單倍型頻率僅使用同一家族的 read,且該分母為就地量測所得, 不需套用全域的純度與拷貝數估計。此版本可以匯總為全基因體尺度的譜。

惟須說明一點:捨去標籤之後,該譜近乎退化為 VAF 譜。 其成因為算術上的。在固定寬度 20 kb 視窗、每 Mb 5 個變異時,含變異的固定寬度視窗中有 95% 僅含單一變異—— 此類視窗內「一條單倍型」即等同於「一個變異」,兩者一一對應。 故其額外提供者僅為較為乾淨的分母。

保留標籤所額外提供者並非頻率,而是一個偏序: HP1-1 ⊂ HP1,且 HP1-1 與 HP1-2 為兄弟。前述六個 SNV 的例子之所以能確定樹, 依據正是此偏序,而非該三個頻率值本身。 此為 VAF 譜完全無對應物者。

其代價前已述及:標籤僅在連鎖視窗內有定義,跨連鎖視窗的 HP1-1 並非同一條 (重要區分 #13)。故該偏序無法延伸至全基因體尺度。

兩者合併考量,此路線的定位即明確: 其額外資訊存在於標籤,而非頻率值;且標籤具有局部性。 亦即,它不會改善「全基因體共有幾群、各佔多少」此一問題的答案, 它所回答的是「在此連鎖視窗內,這幾個變異的先後次序」。 而其回答的品質直接取決於突變負荷:負荷越高,k2 的連鎖視窗越多,該偏序的可用範圍越大。

比較口徑:全基因體頻率圖如何由局部視窗匯總

左側該類圖通常為全基因體尺度 (數千個位點全部納入),此處所繪為單一連鎖視窗。若要製作全基因體版本, 即將各連鎖視窗各自算得的單倍型頻率全部匯入同一張直方圖 —— 標籤具有局部性(跨連鎖視窗的 HP1-1 並非同一條,重要區分 #13 為此現象的極端情形), 但頻率值可以匯總

故此路線所要檢驗的是一個具體的問題: 將頻率的計數單位由單一位點改為多位點的單倍型,重建所得的樹是否不同? 上述例子顯示。而由於同一顆腫瘤兩者皆可計算,此問題可直接比較。

中篇則先處理一項更關鍵的事實:真正額外提供的資訊不在頻率值,而在標籤, 亦即該偏序;而偏序僅能自多變異連鎖視窗產生。 中篇與下篇所處理者,即為如何將這些關係收成約束,並接至全基因體尺度的重建。

三條路線的可觀測範圍

三條 subclone 重建路線的輸入、聯合分布來源、輸出與代價 三欄比較。 第一欄 single-cell:把細胞一個一個分開定序, 聯合分布是在細胞層級直接觀測到的,輸出是完整的細胞譜系樹, 代價是成本高、能觀察的細胞數有限。 第二欄 bulk 短讀加頻率:整團細胞一起定序、覆蓋全基因體, 聯合分布不是觀測到的,要靠簡約性等模型假設補上, 輸出是一棵全基因體的樹,代價是多棵樹同時相容、換程式就換答案。 第三欄 bulk 長讀加單倍型:同樣是整團細胞一起定序,但 read 跨 10 到 50 kb, 聯合分布在分子層級直接觀測到, 輸出是幾萬個局部候選拓撲而不是一棵全域樹, 代價是這種觀測只在 read 跨距內成立,而且可用的區域數量受突變負荷限制。 讀法是:三者不是誰取代誰,中間那條回答整體有幾群,右邊那條回答這幾個位點的先後。 三條路線各自看得到什麼 關鍵那一列是「聯合分布怎麼來的」:觀測到的,還是假設補的。 single-cell bulk 短讀 + 頻率 bulk 長讀 + 單倍型 輸入 一個一個細胞 分開定序 整團細胞一起定序 覆蓋全基因體 整團細胞一起定序 read 跨 10–50 kb 聯合分布 直接觀測 細胞層級 靠模型假設補 簡約性等偏好 直接觀測 分子層級 輸出 完整的細胞譜系樹 一棵全基因體的樹 幾萬個局部候選拓撲 不是一棵全域樹 代價 成本高 能看的細胞數有限 多棵樹同時相容 換程式就換答案 只在 read 跨距內成立 受突變負荷限制 三者不是誰取代誰:中間那條回答「整體有幾群」,右邊那條回答「這幾個位點的先後」。 而 single-cell 是三者裡唯一直接觀測到細胞的;另外兩條看到的都是分子,不是細胞。
三條路線的輸入、輸出與代價。 single-cell:直接取得細胞層級的聯合分布,資訊最為完整,但成本最高、覆蓋率低。 bulk 短讀+頻率:覆蓋全基因體且成本低,輸出為一棵全基因體尺度的樹, 但該樹須以模型假設補足聯合分布。 bulk 長讀+單倍型:聯合分布為觀測所得,惟僅在 read 跨距內成立, 故輸出為數萬個局部候選拓撲,而非一棵全基因體尺度的樹。 三者並非彼此取代 —— 中者回答「整體有幾群」,右者回答「這幾個位點的先後」。

此點決定了此路線適用的問題類型。 它產出「此腫瘤含 4 個 subclone、各佔多少比例」一類的全域結論, 而是產出數萬筆局部陳述,其形式為 「在此連鎖視窗、此條 haplotype 上,這幾個變異的先後次序有哪些候選」。

而 M0 的用藥問題恰為局部性質:兩個變異是否位於同一群細胞。 此類問題僅需該二位點鄰近範圍的聯合分布,不需完整的樹。

真實資料與證據

本頁各項論點均有可查證的數值,其來源與量級如下。

本頁的論點支持它的實測
頻率路線的上限來自資訊,而非實作品質 31 個 subclone 重建程式、51 個模擬腫瘤、7 項任務、12,061 次執行。演算法選擇對表現的影響大於腫瘤本身的特性;純度校正後的深度、拷貝數狀態與可比對性則與多數程式的表現相關(2024 線上/2025 刊出)
頻率譜的形狀可量測,但亦易被過度解讀 14 種癌別、904 個腫瘤中有 323 個符合 1/f 中性演化的直線(2016)。後續分析指出 driver 頻率偏向 0 與 1 兩端,難以在中間頻率被觀察到,因此中性比例可能被高估(2018、2019)
甲基化為解析度更高的時鐘 epimutation 速率約 105104/CpG/次分裂(文獻多寫為上界),DNA 突變約 1091010/bp/次分裂,同量級相比約差五個數量級。專供作時鐘之用的位點另有估至 103 者,故此為量級而非定值
甲基化所攜帶的譜系訊號與突變高度吻合 19 位低度膠質瘤病人的原發與復發檢體中,以甲基化建的樹與以 somatic 變異建的樹高度吻合(相關係數 0.56–0.90),但並非完全一致(2015)
甲基化路線已達規模化 僅以 bulk 甲基化資料,在 1,976 個淋巴系癌樣本上推估生長速率與發生年齡;同一批分析中,bulk 樣本內偵測到的 subclonal 天擇並不常見(2025)
分子層級的聯合觀測有明確的技術門檻 epiallele 組成分析要求 read 跨越 4 個相鄰 CpG(24=16 種組合),且該位置深度須達 60× 以上(2014)。全基因體平均每 100 bp 一個 CpG,故 100 bp 短讀僅在 CpG 密集區達到此門檻

兩項須注意。其一,上表前兩列均來自模擬腫瘤或統計配適,而非具金標準的真實檢體 —— 真實腫瘤的演化史無從得知,故此領域連金標準本身都須以合成方式建立。 M10 曾討論同一困難的另一版本:以合成純度的樣本評估 variant caller 時,該「正確答案」同樣為人工建構。 其二,最後一列的「4 個 CpG」與「每 100 bp 一個」為兩項獨立的事實, 須並置方能顯示短讀的限制所在;單獨觀察任一項皆無法導出此結論。

預測與結果檢視

一份腫瘤樣本換算後得到三群 somatic 變異,CCF 分別為 1.000.550.40。 請問:CCF 0.40 一群為 CCF 0.55 一群的後代,抑或其兄弟

展開答案

無從區分,且並非資料量不足所致。

兩種解皆通過該算術檢查:作為後代時 0.400.55 ✓;作為兄弟時 0.55+0.40=0.951.00 ✓。 若程式僅輸出一棵樹,該樹係由其偏好(通常為簡約性)所選,而非由資料所選。

真正的區分所需者並非更多變異或更深的定序, 而是另一類資訊:同時帶有這兩群變異的細胞佔多少。 此為聯合分布,而 CCF 為邊際分布。

取得途徑有三。single-cell 直接於細胞層級觀測共現。 多時間點或多部位取樣可縮減可能的樹的數目 —— 兄弟關係在不同部位常呈不同比例,後代關係則同步變化。 長讀在兩群變異恰好落於同一條 read 跨距內時,可直接計數聯合分布。 第三條途徑有其條件:兩群變異須足夠接近。相距 100 kb 時長讀亦無法適用。

學習檢核

與中篇的銜接

前述單倍型連鎖區段的狀態表即為中篇的起點, 而中篇將其作為約束使用,而非作為輸出。

關鍵的觀察是:本實驗室現行的實作已經在計算這些關係。 它對每個連鎖區段都判定過屬於串接或分岔 —— 這些判定即為「這兩個變異不可能同群」、 「此群為彼群的祖先」。所缺的並非資料,而是將其接至全基因體尺度。

接上之後可完成三件 VAF 頻率譜無法完成的事: 打破「兩群大小相等」此一結構性盲點、直接量測峰的寬度, 以及在不需純度的條件下定出群與群的相對位置。

銜接之前須先確立這些判定的可信度。 在真實輸出中,一個含 194 條 read 的連鎖區段,其三個位點對的跨越深度分別為 20、17 與 3, 其中 n=3 的位點對仍產出了一條約束。 錯誤的約束較缺少約束更為不利:它將迫使模型分出一個不存在的群,且不留任何跡象。

原始文獻與程式碼

  • SciClone:Miller CA 等,SciClone: inferring clonal architecture and tracking the spatial and temporal patterns of tumor evolution,PLoS Computational Biology 10(8):e1003665,2014。
  • PyClone:Roth A 等,PyClone: statistical inference of clonal population structure in cancer,Nature Methods 11(4):396–398,2014。
  • methclone:Li S 等,Dynamic evolution of clonal epialleles revealed by methclone, Genome Biology 15:472,2014。
  • PhyloWGS:Deshwar AG 等,PhyloWGS: reconstructing subclonal composition and evolution from whole-genome sequencing of tumors,Genome Biology 16:35,2015。
  • 甲基化與突變所建之樹互相吻合:Mazor T 等,DNA methylation and somatic mutations converge on the cell cycle and define similar evolutionary histories in brain tumors, Cancer Cell 28(3):307–317,2015。
  • 1/f 中性演化檢定:Williams MJ 等,Identification of neutral tumor evolution across cancer types,Nature Genetics 48(3):238–244,2016。
  • 對中性檢定的質疑:Tarabichi M 等,Neutral tumor evolution?, Nature Genetics 50(12):1630–1633,2018;以及 Bozic I 等, On measuring selection in cancer from subclonal mutation frequencies, PLoS Computational Biology 15(9):e1007368,2019。
  • epimutation 速率的整理:Chen S、Wu J、Gaiti F,Methylation-based lineage tracing in cancer,Blood,2026(doi:10.1182/blood.2024028196)。文中的速率寫為「up to」,屬上界而非定值。
  • 大規模評比:Salcedo A 等,Crowd-sourced benchmarking of single-sample tumor subclonal reconstruction,Nature Biotechnology 43(4):581–592(2024 年線上發表,2025 年刊出)。
  • EVOFLUx:Gabbutt C、Duran-Ferrer M 等,Fluctuating DNA methylation tracks cancer evolution at clinical scale,Nature 645:764–773,2025。程式碼在 github.com/Duran-FerrerM/evoflux

本模組術語

5mC(5-甲基胞嘧啶)
胞嘧啶第 5 個碳上的甲基化修飾。這是常見的 DNA 甲基化形式,主要見於 CpG;可影響轉錄調控,效應依基因組位置與細胞類型而異。
CpG
序列上一個 C 後接一個 G(p 代表兩者之間的磷酸鍵)。哺乳類多數 5mC 位於 CpG,特定細胞或情況亦可見非 CpG 甲基化。
HP tag
BAM 裡標示某條 read 屬於哪一條 haplotype 的 tag。LongPhase-S 的 germline haplotag 寫成整數 HP:i:1;somatic haplotag 與 LongPhase-TO 則寫成字串 HP:Z:1-1
LOH(異型合子性喪失)
原本 heterozygous 的區域變成只剩一種 allele。LOH 不等於缺失 —— 也可能是一條 haplotype 遺失後另一條被複製(copy-neutral LOH)。
VAF(變異等位基因頻率)
在某個位點上,支持 alt allele 的 read 佔全部 read 的比例。VAF 不等於帶有這個突變的細胞比例
cancer cell fraction(癌細胞比例)
帶有某個特定突變的腫瘤細胞佔全部腫瘤細胞的比例。用來區分 clonal(1)與 subclonal(<1)突變。不等於 VAF。
clone(克隆)
源自共同祖先細胞,並共享一組可辨識 somatic mutations 的細胞群。
clone tree(克隆演化樹)
描述腫瘤內各群細胞祖先關係的樹:節點是一群帶有相同變異組合的細胞,邊代表在祖先之上又多拿到變異。要注意同一組群集常常有多棵樹同時相容。
copy number(拷貝數)
某段基因體在細胞內的拷貝數。多數正常常染色體區段為 2,可再分為 major 與 minor allele copy number。
epiallele(表觀等位型)
同一條分子上一組相鄰 CpG 的甲基化組合,例如四個 CpG 的 1101。逐位點的 β 值看不到它 —— 要算 epiallele 的組成,一條 read 至少得跨過 4 個 CpG。
epimutation(表觀突變)
細胞分裂時甲基化狀態的隨機翻轉。文獻常引的量級是每個 CpG、每次分裂 105104,而 DNA 突變約每鹼基 1091010,同量級對比約差五個數量級,所以甲基化是解析度更高的譜系時鐘。要注意這個速率隨位點與量測方式差異很大(有估到 103 的),應當成量級而非定值。
haplotype(單倍型)
同一條實體染色體拷貝上,具有一致相位的一組 alleles 或 variants。HP1 與 HP2 是任意的相對標籤。
joint distribution(聯合分布)
多個變數一起看的分布,也就是「哪些組合各出現多少」。演化樹的形狀取決於聯合分布,而不是邊際分布;長讀的價值在於一條分子上的組合是直接觀測到的。
latent node(潛在節點)
建樹時為了讓圖連得起來而補進的中間狀態,沒有被任何 read 直接觀測到。它是模型的產物,不能當成「還沒觀察到的細胞」。
long read(長讀)
單條可達數千至數萬鹼基的定序片段(例如 ONT、PacBio)。若可靠地同時覆蓋多個 variant,可提供它們位於同一 DNA 分子上的直接觀測證據。
marginal distribution(邊際分布)
只描述單一變數的分布。VAF 與甲基化 β 值都是邊際統計:它們各自只講一個位點有多少比例帶有標記,不講兩個位點在同一個分子或同一個細胞上的搭配情形。
mutation frequency spectrum(突變頻率譜)
把一份樣本裡所有 somatic 變異的 VAF 畫成直方圖後得到的分布。分布上的峰與肩對應不同大小的細胞群,最低頻端的尾巴斜率則被用來判斷有沒有天擇。
mutation multiplicity
在帶有某突變的細胞中,該突變所占的拷貝數;是 VAF 與 cancer cell fraction 換算時的重要參數。
parsimony(簡約法)
在所有與資料相容的解裡,選步數(或成本)最少的那一個。它是一個偏好而不是證據 —— 當多個解並列時,簡約法決定選哪一個,但資料本身沒有排除其他解。
phase block
一段可建立連續相位關係的區域。read 長度不足、缺少 informative heterozygous 位點或證據不一致時,可能形成不同 phase blocks。
read-AF(read 層級的 ALT 比例)
在同一個分析區域、同一個單倍型家族的 read 之中,某個 somatic 位點帶 ALT 的比例。分母已限縮到同一條 haplotype 的同一段區域,所以不必經過純度與拷貝數換算;用途是在步數並列的候選樹之間排序。
somatic variant(體細胞變異)
在非生殖系細胞譜系中、通常於受精後取得的變異;可只存在於部分細胞,通常不由親代遺傳給子代。癌症基因體學常分析此類變異。
subclone(次克隆)
clone 內取得額外變異並擴增的子群;治療後可能富集具有抗性的 subclone。
tumour purity(腫瘤純度)
樣本中腫瘤細胞所佔的比例。purity 越低,somatic 訊號被正常細胞稀釋得越嚴重,偵測越困難。
單倍型家族(一條 germline 單倍型,加上由它衍生的 somatic 單倍型)
把 read 依 HP tag 分成的兩組之一。家族一HP1 與從它長出來的 HP1-1家族二HP2HP2-1;歸不到任何一條 germline 單倍型的 HP3 不屬於任何一族。叫「家族」是因為它把一條 germline 單倍型與由它衍生的 somatic 單倍型收在同一組裡 —— 分組看的是 germline 那一層,不是有沒有帶 somatic 突變。

在同一個 phase block 內,一個家族對應一條染色體拷貝,所以「兩族」就是那個位置上的兩條同源染色體。但兩件事不成立:其一,軟體判定不出哪一族來自父親、哪一族來自母親(那需要另外定序父母);其二,標號只在該 phase block 內有定義,跨 block 的「家族一」並非同一條染色體。
單倍型連鎖區段
一個連鎖視窗再限定到一條單倍型家族 —— 也就是「一個連鎖視窗、一條染色體拷貝」。這是局部共現分析的最小單位:其中的 read 全部來自同一條染色體拷貝,另一條拷貝屬於另一個連鎖區段。因此一個連鎖視窗至多切出兩個連鎖區段,連鎖區段數大於連鎖視窗數,兩者不可混用為同一個分母。單倍型標號只在該區段內有定義,跨區段的同名標號並非同一條染色體。
連鎖視窗
同一個 phase block 之內,由 read 連鎖的傳遞閉包所界定的一段:凡有某條 read 同時覆蓋至少兩個 somatic 位點,該段即成一個視窗;另一條 read 疊到已連鎖的位點又碰到新位點時,兩段合併成更長的視窗。不是固定寬度,也不跨 phase block。早期估算比例時所用的「20 kb 視窗」是固定寬度的近似,兩者的計數不可互換。