模組 12 · LongPhase-S: matched tumour–normal
LongPhase-S(配對 tumor–normal)
依序說明 GHIR、LCVF、DNA 比例迴歸、比例感知過濾與最終 somatic haplotagging;並說明這個迴歸估的為何是 tumor DNA fraction,不是 cellular purity。
本模組學習目標
- 說明一條 tumor read 為什麼被標成 HP1、HP2、HP1-1、HP2-1 或 HP3
- 畫出 LongPhase-S 的四個階段,並說明為什麼比例估計必須排在過濾之前
- 寫出 GHIR 的算式,並說明造成失衡的兩個來源
- 說明這個迴歸估出來的量為什麼是 tumor DNA fraction,而不是 cellular purity
- 說出四個 somatic variant filter 各自在偵測什麼樣的假陽性
- 在 BAM 裡找到 somatic haplotype 的標籤,並知道估計值被寫到哪裡
為什麼重要
前面幾章的 phasing 都假設「一個人只有兩條染色體拷貝」。腫瘤樣本不成立: 裡面混著正常細胞與好幾群癌細胞,某些區段還多了或少了拷貝。 在這個前提下,把 read 分成 HP1/HP2 兩堆已經不夠用。
LongPhase-SLongPhase-S配對 tumor–normal 版本。做腫瘤 DNA 比例估計(輸出欄位名為 purity)、比例感知的 somatic variant 過濾,以及 somatic haplotagging。The matched tumour–normal version: tumour DNA fraction estimation (the output field is named purity), fraction-aware somatic filtering, and somatic haplotagging.完整條目 → 的做法是多做一層:除了兩條 germline haplotype, 再把「帶著 somatic 變異的那些 read」單獨拉成它們的後代分支。 這一層做出來之後有三個連帶好處 —— 可以直接估腫瘤來源 DNA 佔了多少、 可以用來重新判斷變異真假、也可以看出哪些 read 屬於同一個癌細胞群。
第一項要先把量講清楚,因為工具的參數名稱與輸出欄位都叫 purity,
但它估的是 腫瘤 DNA 比例tumour DNA fraction 腫瘤 DNA 比例樣本 DNA 中源自腫瘤的比例。與 tumor purity(細胞比例)在 aneuploid 或 WGD 的情況下會不一樣。The fraction of DNA originating from tumour cells; diverges from cellular purity under aneuploidy or WGD.完整條目 →(分母是分子),
不是 cellular puritytumour purity 腫瘤純度樣本中腫瘤細胞所佔的比例。purity 越低,somatic 訊號被正常細胞稀釋得越嚴重,偵測越困難。The fraction of cells in a sample that are tumour cells. Low purity dilutes somatic signal.完整條目 →(分母是細胞)。
M3 與 M8 的重要區分 #2 已建立這兩個量在非二倍體之下並不相等;
本章說明 LongPhase-S 落在哪一邊,以及為什麼它不可能落在另一邊。
概念與互動
先看懂 somatic haplotagging 本身
整章的其他東西都建立在這一步上:somatic haplotaggingsomatic haplotagging把帶有 somatic 突變的 read 指派到它們源自的 germline haplotype。這是 LongPhase-S 的核心產出。Assigning somatic-mutation-bearing reads to the germline haplotype they arose from. The core output of LongPhase-S.完整條目 → 就是給每條 tumor read 貼一個標籤。 判斷只用兩件事 —— 這條 read 上的 germline allele 屬於哪一條,以及它有沒有帶 somatic allele。
HP3 不是第三條染色體,而是「證據還不足以判斷來源」的暫時標籤。| 標籤 | 這條 read 的情況 |
|---|---|
HP1 / HP2 | 只帶 germline allele,可判定屬於哪一條 haplotype |
HP1-1 / HP2-1 | 同時帶 germline 與 somatic allele,且來源可判定 |
HP3 | 帶 somatic allele,但沒有可比對的 germline 錨點(例如 read 太短、或該區段沒有 het 位點) |
這個標籤系統帶來一個一般 phasing 工具做不到的事:
在一條 haplotype 整條遺失的 LOHLOH 異型合子性喪失原本 heterozygous 的區域變成只剩一種 allele。LOH 不等於缺失 —— 也可能是一條 haplotype 遺失後另一條被複製(copy-neutral LOH)。Loss of heterozygosity: a formerly het region retains only one allele. Not necessarily a deletion.完整條目 → 區域裡,帶 somatic 變異的 read 仍會被標成 HP1-1,
而不是被硬塞進剩下那條 germline haplotype。
四個階段
| 階段 | 做什麼 | 產出 |
|---|---|---|
| ① | 初步 somatic haplotagging(上一節那張圖) | 每條 read 一個暫時標籤 |
| ② | 算全基因體的 GHIRGHIR 生殖系單倍型失衡比Germline Haplotype Imbalance Ratio:在候選 somatic 位點上,取標為 HP1 與 HP2 的 read 數中較大者除以兩者之和,值域為 0.5 至 1。須注意兩件事:分母只含這兩個 germline 計數,HP1-1/HP2-1/HP3 皆不在內;且這些標籤是整條 read 的判定(該 read 任一處帶 somatic 等位即離開 germline 計數),並非該位點的等位計數。它不是直接的 purity 讀數:拷貝數變異、LOH、read 跨距內的突變密度、標記錯誤與抽樣不足都會使它偏移。Germline Haplotype Imbalance Ratio: at a candidate somatic locus, the larger of the HP1 and HP2 tagged read counts divided by their sum, ranging from 0.5 to 1. Two caveats: the denominator contains only those two germline counts, excluding HP1-1/HP2-1/HP3; and those tags are whole-read decisions (a read carrying a somatic allele anywhere leaves the germline counts), not per-locus allele counts. It is not a direct purity readout — copy number, LOH, mutation density within the read span, tagging error and sparse sampling all shift it.完整條目 → 分布、過濾低信心位點、迴歸估腫瘤 DNA 比例 | 一個比例數值 |
| ③ | 依該比例調整門檻,跑四個過濾器重新校準候選變異 | 高信心的 somatic VCF |
| ④ | 用校準後的變異重新 haplotag,並處理 HP3 | 最終 HP 標籤 |
變異呼叫本身不在這四個階段裡:tumor 的候選變異由 ClairSClairS配對 tumor–normal 的 somatic variant caller。tumor-only 版本叫 ClairS-TO。A somatic variant caller for matched tumour–normal data; ClairS-TO is the tumour-only version.完整條目 → 或 DeepSomatic 提供,
normal 的 germline 變異由 Clair3Clair3以深度學習做 germline variant calling 的工具,長 read 上常用。A deep-learning germline variant caller widely used for long reads.完整條目 → 或 DeepVariant 提供,並先 phasephasing 定相為可判定的 variants 建立其位於不同實體染色體拷貝上的相位關係;VCF 常以 0|1 等形式表示。長 read 可提供跨位點的分子層級觀測證據。Determining which variants lie on the same physical chromosome, turning 0/1 into 0|1. Long reads provide direct molecular evidence.完整條目 → 成 HP1/HP2 骨架。
LongPhase-S 是接在它們後面的一層。
為何比例估計先於過濾
回到 M8 的合成示例:腫瘤 DNA 比例 0.2、50× coverage,一個 clonal somatic 變異 只有約 5 條 read 支持。
若套用適合純腫瘤的嚴格門檻,真變異可能被當成雜訊而漏掉,recallrecall 召回率在指定評估範圍內,所有真陽性中被找出的比例:TP / (TP + FN)。若只對固定的 caller 候選集做後處理,recall 只能維持或下降,不能恢復 caller 從未輸出的真陽性;報告時應說清楚這個候選集範圍。Within a stated evaluation scope, the fraction of true positives that were found: TP / (TP + FN). With a fixed caller candidate set, post-filtering can preserve or lower recall but cannot recover variants the caller never emitted; report the candidate-set scope explicitly.完整條目 → 下降。
若一律放寬,高比例樣本的偽陽性則可能增加。
因此門檻不是一組固定數字:流程先估比例,再依比例級距選用對應的那組參數。 這一步只需要「支持 read 大概會有幾條」,而那正是 DNA 比例決定的量 —— 過濾這件事本來就不需要細胞比例。
GHIR:兩條 germline haplotype 的 read 有多偏
GHIRGHIR 生殖系單倍型失衡比Germline Haplotype Imbalance Ratio:在候選 somatic 位點上,取標為 HP1 與 HP2 的 read 數中較大者除以兩者之和,值域為 0.5 至 1。須注意兩件事:分母只含這兩個 germline 計數,HP1-1/HP2-1/HP3 皆不在內;且這些標籤是整條 read 的判定(該 read 任一處帶 somatic 等位即離開 germline 計數),並非該位點的等位計數。它不是直接的 purity 讀數:拷貝數變異、LOH、read 跨距內的突變密度、標記錯誤與抽樣不足都會使它偏移。Germline Haplotype Imbalance Ratio: at a candidate somatic locus, the larger of the HP1 and HP2 tagged read counts divided by their sum, ranging from 0.5 to 1. Two caveats: the denominator contains only those two germline counts, excluding HP1-1/HP2-1/HP3; and those tags are whole-read decisions (a read carrying a somatic allele anywhere leaves the germline counts), not per-locus allele counts. It is not a direct purity readout — copy number, LOH, mutation density within the read span, tagging error and sparse sampling all shift it.完整條目 →(Germline Haplotype Imbalance Ratio)在每一個候選 somatic 位點上各算一次:
所以它的範圍是 0.5 到 1:0.5 表示兩條完全平衡,1.0 表示 read 全部偏向其中一條。
分母只算被分到 HP1 或 HP2 的 read —— 這是關鍵,因為帶 somatic allele 的 read 會被改標成
HP1-1/HP2-1,就不再算進原本那條的計數。
失衡有兩個來源,這點很容易只記住一個:
- somatic 變異把 read 拉走。腫瘤佔的比例越高,被拉走的越多 —— 這是我們想量的訊號。
- 腫瘤本身的拷貝數變化、LOH 與 aneuploidy。某條 haplotype 被放大或整條刪掉, 一樣會讓比值接近 1 —— 這是雜訊,而且它跟腫瘤佔多少沒有關係。
第 2 項的處理方式是拿配對的 normal 樣本當基準:normal 裡就已經失衡的位點, 失衡顯然不是腫瘤造成的,直接排除。這就是下一節 LCVF 的工作。
LCVF:先把不能用的位點濾掉
這一步存在的理由很實際。研究團隊發現,落在低信心區域的假變異會把 GHIR 分布弄糊; 但已知的高信心區域清單(例如 HCC1395 的 SEQC2)只適用於那一個細胞株, 沒辦法拿去套用在別的樣本上。所以他們改用一組看得到、算得出來的條件來取代那份清單, 稱為 LCVF(Low-Confidence Variant Filtering)。四個條件全部通過才留下:
| 條件 | 判準 | 排除什麼 |
|---|---|---|
| Minimum haplotagging | normal 與 tumor 兩邊都至少要有 1 條被標到 HP1/HP2 的 read | 根本算不出 GHIR 的位點 |
| Germline haplotype imbalance | normal 的 GHIR 必須低於門檻 | 本來就已經失衡的位點(多為 germline 結構變異或 CNVcopy number 拷貝數某段基因體在細胞內的拷貝數。多數正常常染色體區段為 2,可再分為 major 與 minor allele copy number。How many copies of a genomic segment a cell carries; a typical diploid autosomal segment has two. It can be split into major- and minor-allele copy numbers.完整條目 →) |
| Germline haplotype read ratio | normal 中「有被標到 haplotype 的 read ÷ 總深度」必須高於門檻 | 大量 read 標不上任何 haplotype 的位點 —— 通常是比對有問題 |
| Germline haplotype read count | 支持 read 數必須高於門檻,而門檻由資料分布決定 | read 數太少的位點 —— 分母太小,GHIR 會亂跳 |
最後一項值得多看一眼。固定一個「至少幾條 read」的數字看起來最簡單, 但那個數字在比例 0.2 與比例 1.0 的樣本上不可能同時適用。 實際觀察到高信心與低信心變異的 read 數呈雙峰分布, 於是做法改成:先把直方圖平滑化、找出兩個主峰、取中間的谷點當門檻。 門檻因此會隨著樣本自己移動。
從分布到一個數字:迴歸模型
濾乾淨之後,全基因體的 GHIR 分布就可以拿來估比例了。 做法刻意簡單:整個分布只取兩個數字 —— 中位數與四分位距 —— 再用二次多項式迴歸對上目標值。
模型補充:為何迴歸只用兩個特徵
要學的是一條單調的關係,不是分類問題; 特徵少也讓模型不容易在八個資料集上過擬合。 代價是這條曲線只在訓練資料涵蓋的範圍內可信 —— 這也是後面「判讀練習」要處理的問題。
這個迴歸估的是哪一個量
上圖那五個「已知比例」的樣本,是把純腫瘤細胞株的 BAM 與正常樣本的 BAM 依 read 數混合出來的。所以標籤 0.2 的意思是「這堆 read 裡有兩成來自腫瘤細胞株」—— 它控制的是分子的比例,也就是 tumour DNA fractiontumour DNA fraction 腫瘤 DNA 比例樣本 DNA 中源自腫瘤的比例。與 tumor purity(細胞比例)在 aneuploid 或 WGD 的情況下會不一樣。The fraction of DNA originating from tumour cells; diverges from cellular purity under aneuploidy or WGD.完整條目 →,一般記作 。
迴歸學到的是「GHIR 的中位數與四分位距 → 這個標籤」。 既然標籤是 ,學到的曲線輸出的當然也是 。 要把它轉成 cellular puritytumour purity 腫瘤純度樣本中腫瘤細胞所佔的比例。purity 越低,somatic 訊號被正常細胞稀釋得越嚴重,偵測越困難。The fraction of cells in a sample that are tumour cells. Low purity dilutes somatic signal.完整條目 → ,需要腫瘤的 倍體ploidy 倍性細胞內染色體套數。多數正常常染色體為 2(diploid);腫瘤可呈現 3、4 或其他非整倍體狀態。The number of chromosome sets in a cell. Most normal autosomal regions are diploid (2); tumours may be triploid, tetraploid or otherwise non-diploid.完整條目 → :
時兩者相等。這也是為什麼在二倍體的討論裡混用兩個詞不會出事, 而在腫瘤上會。
而 LongPhase-S 的模型裡沒有 。 它不做拷貝數分段、不估等位特異拷貝數、也沒有任何一個參數代表倍體 —— 整個模型就是兩個特徵與一條多項式。缺了 ,上面那條換算式跑不動, 所以它在原理上就不可能輸出 。這不是實作偷懶,是模型形式決定的。
具體差多少?以研究實際用到的細胞株為例,腫瘤細胞株多半不是二倍體:
| 來源細胞株的 | 2.0(二倍體) | 3.2 | 4.0 |
|---|---|---|---|
| 混合標籤 對應的 | 0.200 | 0.135 | 0.111 |
| 混合標籤 對應的 | 0.600 | 0.484 | 0.429 |
低比例那一端差得最兇:標籤寫 0.2,實際的細胞比例可能只有 0.11。 如果把輸出當成細胞比例拿去跟病理判讀的腫瘤細胞百分比對照, 會得到一個看起來像是「工具高估了」的結論 —— 而那其實是兩邊在講不同的量。
四個 somatic variant filter
比例估好之後進入第三階段。四個過濾器各看一種證據,任何一個沒過就丟掉:
| Filter | 看什麼 | 怎麼判斷 |
|---|---|---|
| TINC | 該位點在 normal 樣本的 VAFVAF 變異等位基因頻率在某個位點上,支持 alt allele 的 read 佔全部 read 的比例。VAF 不等於帶有這個突變的細胞比例。Variant Allele Frequency: the fraction of reads supporting the alternate allele. Not the same as the fraction of cells carrying it.完整條目 → | 真 somatic 在 normal 幾乎為 0;偏高的多半是 germline。低於門檻才留 |
| Read consistency | 每條支持 read 兩側的 germline allele | 一條 read 同時帶 HP1 與 HP2 的 allele 就是「混合 read」;混合比例低於門檻才留 |
| Haplotagging background | 支持 read 分別來自哪一條 haplotype | 真變異集中在其中一邊;兩邊都超過門檻就丟掉 |
| Variant cluster | 密集區間(預設 100 bp)內的變異是否擠在同一批 read 上 | 要 VAF 低、支持數少、區間內變異夠多、共現統計異常四項同時成立才丟掉 |
門檻怎麼來的?不是公式算出來的,是搜出來的。 每個比例級距各做一次獨立的參數最佳化:先在合理範圍內隨機取樣做全域搜尋, 再對表現最好的區域做網格細搜。所以「purity 感知」的具體意思是 「查表拿出這個比例對應的那組門檻」,而不是把它代進某個公式。
HP3 怎麼補上來源
第四階段重建時,沒有 germline 錨點的 read 仍然只能先標成 HP3。
補救的方式是去看其他也帶同一個 somatic allele 的 read屬於哪個背景 ——
但規則很嚴格:只有在那些 read 全部指向同一個背景時才繼承。
HP3。
最下方是這個保守規則的代價 —— HP3 的 recall 明顯較低,但 precision 仍高,
表示它寧可不指派也不亂猜。真實證據
實際指令
# 僅估計腫瘤 DNA 比例(子指令名稱是 estimate_purity)
longphase-s estimate_purity \
-s phased_normal_snp.vcf \
-b normal.bam \
--tumor-snv-file tumor_snv.vcf \
--tumor-bam-file tumor.bam \
-r reference.fasta \
-t 8 \
-o output_prefix
# somatic haplotagging(依版本可自動估計或用 --tumor-purity 指定)
longphase-s somatic_haplotag \
-s phased_germline_snp.vcf \
-b normal.bam \
--tumor-snv-file tumor_snv_indel.vcf \
--tumor-bam-file tumor.bam \
-r reference.fasta \
-t 8 \
-o tagged_prefix \
--output-somatic-vcf
輸出檔案位置
| 東西 | 位置 |
|---|---|
| somatic haplotype 標籤 | BAM 的 HP:Z:1-1 / 2-1 / 3(字串型別) |
腫瘤 DNA 比例(欄位名為 Tumor purity) | <prefix>_purity.out 文字檔 |
| 過濾後的 somatic VCF | <prefix>_sc.vcf(需加 --output-somatic-vcf) |
| haplotagging 效能 | <prefix>_somatic_haplotag.metrics(需給 --truth-vcf) |
三項常見注意事項
- 估計值不會印到 stdout。請讀取
_purity.out,尋找Tumor purity: 0.169599這一行 —— 欄位名寫的是 purity,讀到的是 。 - 是
--tumor-bam-file,不是--tumor-bam。 同理是--tumor-snv-file。 --tumor-purity的合法範圍是 0.1–1.0(不是 0–1)。 給了這個參數就會關閉自動估計 —— 而你要給的是 DNA 比例,不是病理報告上的腫瘤細胞百分比。
輸出結果示例
以下是 LongPhase-S 在真實資料上的 IGV 截圖,可作為流程完成後的檢視示例:

HP1-1。圖中 somatic 變異兩側缺少 HP2 的 germline allele,支持其來源為 HP1; 仍應結合 read、base 與 mapping quality,以及其他 filter 結果,不能僅憑視覺判定。

比例估計的結果

結果摘要
研究在八個資料集、六個癌症細胞株上評估,並用合成混合樣本製造已知的 腫瘤 DNA 比例梯度。把 recall 與 precision 分開看,才看得出這個方法實際上做了什麼:
| 面向 | 報告的結果 |
|---|---|
| DNA 比例估計 | 在低比例區段明顯優於 ASCAT(ASCAT 在多個資料集把 0.2 預測成 1.0);leave-k-out 交叉驗證平均 約 0.96。比較是在 的尺度上做的:ASCAT 輸出 ,先經換算式才進入這張表 |
| 接在 ClairS 之後(SNV) | recall 平均 +4.5%(最多 +14.4%),precision 平均 −1.3%,淨效果 F1 平均 +1.9%(8 個資料集中 6 個變好) |
| 接在 ClairS 之後(indel) | recall 平均 +14.7%,precision 平均 −11.9%,F1 平均 +7.1%(8 個中 7 個變好) |
| 接在 DeepSomatic 之後 | 方向相反:主要是 precision 上升(SNV 平均 +3.1%),recall 略降,F1 只有小幅變化(+1.2% / +0.5%) |
| somatic haplotagging | HP1-1/HP2-1 的 read 層級 F1 在 8 個資料集中有 6 個 ;HP3 明顯較低 |
兩件事值得停下來看。
第一,同一個工具接在不同 caller 後面,改善的方向不一樣。 接 ClairS 主要補 recall(把原本被濾掉的真變異救回來),接 DeepSomatic 主要補 precision(把假的濾掉)。 這代表改善量取決於前一級 caller 原本偏保守還是偏寬鬆,不是一個固定的「加成」。
第二,recall 漲很多不等於 F1 漲很多。indel 那一列 recall +14.7% 但 precision −11.9%, 淨值只有 +7.1%;而 COLO829_ONT 甚至因為 precision 掉太多(0.82 → 0.49)讓 F1 略降。 看到「提升」兩個字時,要先問是哪一個指標提升。
HP3 的限制在上一節已經量化過:低的是 recall 而不是 precision。
報告結果時應同時說明這一點,不要只說「haplotagging 準確」。
這些數字的成立條件
全部來自細胞株與合成混合樣本。合成樣本提供了已知的DNA 比例(這是真實檢體給不了的), 代價是它不會有真實腫瘤的纖維組織混雜、空間異質性與更複雜的次族群結構。
這裡要補一句原始素材沒明說的假設:「混出比例 0.2 的樣本」預設來源腫瘤是 100% 純的。 細胞株確實接近如此,所以真值可信 —— 但那個真值是 , 換算成細胞比例還需要細胞株自己的倍體。
研究本身也把這點列為限制,並指出 subclonal 的 CNV、LOH 與 aneuploidy 可能造成部分模仿比例效果的等位失衡。
判讀練習
執行 estimate_purity 後得到 0.95,但外部資料估計這個檢體只有大約 40% 的腫瘤細胞。
可能出了什麼問題?
展開答案
第 0 步:先確認兩邊在講同一個量。
「40% 的腫瘤細胞」是細胞比例 ;estimate_purity 給的是 DNA 比例 。
兩者本來就不該相等。但這一項算不完這筆帳,值得算一次看看:
| 假設腫瘤倍體 | 2.0 | 3.0 | 4.0 | 要湊到 0.95 得多少 |
|---|---|---|---|---|
| 所對應的 | 0.400 | 0.500 | 0.571 |
四倍體只能把 0.40 拉到 0.57,要拉到 0.95 需要生物學上不存在的倍體。 所以單位不一致解釋得了其中一部分,解釋不了全部 —— 剩下的落差另有成因。 這一步的價值在於:先扣掉它,才知道真正要追的落差有多大(是 0.55 還是 0.38)。
扣掉之後,依可能性排序:
- 大範圍的 LOHLOH 異型合子性喪失原本 heterozygous 的區域變成只剩一種 allele。LOH 不等於缺失 —— 也可能是一條 haplotype 遺失後另一條被複製(copy-neutral LOH)。Loss of heterozygosity: a formerly het region retains only one allele. Not necessarily a deletion.完整條目 → 或 CNVcopy number 拷貝數某段基因體在細胞內的拷貝數。多數正常常染色體區段為 2,可再分為 major 與 minor allele copy number。How many copies of a genomic segment a cell carries; a typical diploid autosomal segment has two. It can be split into major- and minor-allele copy numbers.完整條目 →。GHIR 量的是 haplotype 失衡, 而 LOH 與 aneuploidy 造成的失衡跟腫瘤佔多少無關 —— 若沒被 LCVF 濾掉,就會被誤讀成高比例。 值得注意的是:研究實際觀察到的結果沒有出現這個問題, 即使資料集中有帶染色體規模 LOH 的細胞株(例如 HCC1395),估計仍未受影響; 論文推測原因是這個估計本身是 phase-aware 的,而以等位比例或拷貝數為基礎的方法更容易被這類事件帶偏。 所以這一項要當成「先檢查 LCVF 有沒有正常工作」,而不是預設它一定出錯。
- 輸入的 normal VCF 沒有正確 phase。GHIR 依賴 HP1/HP2 的分群;
若 phasing 錯誤,比例便失去解釋力。先檢查 phased VCF 裡的
PS是否合理。 - TINCTINC 腫瘤污染正常樣本Tumour-in-normal contamination:配對正常樣本含有腫瘤來源訊號,使 genuine somatic 變異也可能在 normal 中被觀察到,因而可能被錯誤過濾。Tumour-in-normal contamination: tumour cells present in the matched normal, causing true somatic variants to produce signal there as well.完整條目 →。如果 normal 樣本含有腫瘤 DNA 污染,germline 基準線可能發生偏移。
- 模型外推。迴歸是在六個細胞株的合成樣本上訓練的。 如果你的樣本在某個維度上不像那批訓練資料(不同癌別、不同 basecallerbasecalling 鹼基判讀把定序儀的原始訊號(ONT 是電流)轉成 A/C/G/T 字母的步驟。不同 basecaller 版本會產生不同的錯誤特性 —— 所以「同一個細胞株、不同 basecaller」是兩份不同的資料集。Converting raw sequencer signal into A/C/G/T. Different basecallers yield different error profiles.完整條目 →、不同 coverage), 預測可能不可靠。
建議的排查順序是:先把外部的細胞比例換算成 (第 0 步),
再以 IGV 檢視多個區域的 phasing 品質,
最後查看 _purity.out 的 filter 統計,確認 LCVF 濾掉的位點比例。
若濾除比例異常低,第 1 項的可能性較高。
實作練習
執行完整流程
# 前置:normal 的 germline VCF 要先 phase 好
longphase-s phase \
-s normal_snp.vcf -b normal.bam -r reference.fasta \
-t 8 -o phased_normal --ont
# 主流程:估 DNA 比例 + 過濾 + somatic haplotagging
longphase-s somatic_haplotag \
-s phased_normal.vcf \
-b normal.bam \
--tumor-snv-file tumor_snv.vcf \
--tumor-bam-file tumor.bam \
-r reference.fasta \
-t 8 \
-o tagged \
--output-somatic-vcf \
--somatic-calling-log
逐項檢視輸出
# 腫瘤 DNA 比例(不會印到 stdout,請讀取輸出檔案)
grep -A2 'Estimation result' tagged_purity.out
# 每條 read 被分到哪個 somatic haplotype
samtools view tagged.bam | grep -o 'HP:Z:[0-9-]*' | sort | uniq -c
# 過濾後的 somatic 變異(PASS 與 LowQual)
awk '!/^#/ {print $7}' tagged_sc.vcf | sort | uniq -c
三項常見注意事項
| 細節 | 正確做法 |
|---|---|
| 找不到比例結果 | 它不印到 stdout,在 <prefix>_purity.out 裡 |
| 參數名稱 | 是 --tumor-bam-file 與 --tumor-snv-file,不是 --tumor-bam |
| 手動指定比例 | --tumor-purity 的合法範圍是 0.1–1.0(不是 0–1);給了就關閉自動估計 |
使用 IGV 驗證輸出
載入 tagged.bam,依 HP tag 分組,檢視一個 somatic 變異。
可檢查帶有 somatic 變異的 read 是否集中於某一條 haplotype,
以及兩側的 germline allele 是否一致。
若帶變異的 read 兩側 germline allele 混合, 該位點的偽陽性疑慮會增加;仍需結合四個過濾器與其他品質指標判斷。
學習檢核
原始文獻與程式碼
本章的方法對應 LongPhase-S 的預印本
(bioRxiv, 2025,doi
10.1101/2025.11.20.689492),程式碼在
github.com/CCU-Bioinformatics-Lab/longphase-s。
上面的階段名稱與參數判準以原始碼為準;文件與論文用字若有出入,請以 longopts 表為準。
本模組術語
- Clair3
- 以深度學習做 germline variant calling 的工具,長 read 上常用。
- ClairS
- 配對 tumor–normal 的 somatic variant caller。tumor-only 版本叫 ClairS-TO。
- GHIR(生殖系單倍型失衡比)
- Germline Haplotype Imbalance Ratio:在候選 somatic 位點上,取標為 HP1 與 HP2 的 read 數中較大者除以兩者之和,值域為 0.5 至 1。須注意兩件事:分母只含這兩個 germline 計數,HP1-1/HP2-1/HP3 皆不在內;且這些標籤是整條 read 的判定(該 read 任一處帶 somatic 等位即離開 germline 計數),並非該位點的等位計數。它不是直接的 purity 讀數:拷貝數變異、LOH、read 跨距內的突變密度、標記錯誤與抽樣不足都會使它偏移。
- LOH(異型合子性喪失)
- 原本 heterozygous 的區域變成只剩一種 allele。LOH 不等於缺失 —— 也可能是一條 haplotype 遺失後另一條被複製(copy-neutral LOH)。
- LongPhase-S
- 配對 tumor–normal 版本。做腫瘤 DNA 比例估計(輸出欄位名為 purity)、比例感知的 somatic variant 過濾,以及 somatic haplotagging。
- TINC(腫瘤污染正常樣本)
- Tumour-in-normal contamination:配對正常樣本含有腫瘤來源訊號,使 genuine somatic 變異也可能在 normal 中被觀察到,因而可能被錯誤過濾。
- VAF(變異等位基因頻率)
- 在某個位點上,支持 alt allele 的 read 佔全部 read 的比例。VAF 不等於帶有這個突變的細胞比例。
- basecalling(鹼基判讀)
- 把定序儀的原始訊號(ONT 是電流)轉成 A/C/G/T 字母的步驟。不同 basecaller 版本會產生不同的錯誤特性 —— 所以「同一個細胞株、不同 basecaller」是兩份不同的資料集。
- copy number(拷貝數)
- 某段基因體在細胞內的拷貝數。多數正常常染色體區段為 2,可再分為 major 與 minor allele copy number。
- phasing(定相)
- 為可判定的 variants 建立其位於不同實體染色體拷貝上的相位關係;VCF 常以
0|1等形式表示。長 read 可提供跨位點的分子層級觀測證據。 - ploidy(倍性)
- 細胞內染色體套數。多數正常常染色體為 2(diploid);腫瘤可呈現 3、4 或其他非整倍體狀態。
- recall(召回率)
- 在指定評估範圍內,所有真陽性中被找出的比例:
TP / (TP + FN)。若只對固定的 caller 候選集做後處理,recall 只能維持或下降,不能恢復 caller 從未輸出的真陽性;報告時應說清楚這個候選集範圍。 - somatic haplotagging
- 把帶有 somatic 突變的 read 指派到它們源自的 germline haplotype。這是 LongPhase-S 的核心產出。
- tumour DNA fraction(腫瘤 DNA 比例)
- 樣本 DNA 中源自腫瘤的比例。與 tumor purity(細胞比例)在 aneuploid 或 WGD 的情況下會不一樣。
- tumour purity(腫瘤純度)
- 樣本中腫瘤細胞所佔的比例。purity 越低,somatic 訊號被正常細胞稀釋得越嚴重,偵測越困難。