MM/PBSAMM/PBSA and MM/GBSA
便宜的結合自由能估計,也是最常被過度解讀的數字。
01一句話只有一句
用已經跑好的軌跡快速估結合自由能,便宜,但絕對值幾乎不能信。
02Why should I care?我為什麼要讀這頁
因為這是目前多數變體篩選流程實際拿來排序的那一個量,而你遲早要為這件事跟人辯論。
許多變體篩選流程從頭到尾都用平衡結合 ΔG 排序:從序列設計模型、蛋白–核酸親和力預測器,一路到 MM-PBSA 與 FEP。這一整條軸上,MM/PBSA 是最便宜、最常被跑、也最容易被當成「有能量單位所以是物理」的那一個。你要能精確說出它量到什麼、量不到什麼,否則你只能講「我覺得這樣不對」,那是講不贏的。
用你熟悉的語言講:single-trajectory MM/PBSA 相當於你算吸附能時,只用吸附後的構形去切出 slab 和吸附物,兩邊都不放鬆。
在表面科學裡你很清楚這個量叫什麼:它把 deformation/reorganization energy 直接設成零。對一個吸附能只差幾十 meV 的體系,這種近似是致命的;對 Cas9 這種「apo 蛋白跟 R-loop 三元根本是兩台不同的機器」的系統,它同樣是致命的。差別只在於,MD 這邊還額外套了一層連續介質溶劑,並且把熵丟掉了。
03What這是什麼
MM/PBSA(Molecular Mechanics / Poisson-Boltzmann Surface Area)把結合自由能拆成三塊:
第一塊 ΔEMM:真空中的力場能量差。
ΔEinternal 是鍵長、鍵角、二面角項。在 single-trajectory 近似下,這一項恆等於零——因為 receptor 與 ligand 的座標是直接從複合體的同一幀切出來的,內部座標一模一樣,相減完全抵銷。這不是「近似地小」,是被結構性地設成零。
第二塊 ΔGsolv:溶劑化自由能差。
極性項解 Poisson-Boltzmann 方程(PB),或用 Generalized Born 近似(GB,就是 MM/GBSA,快得多但更粗)。非極性項幾乎都是一條線性經驗式 ΔGnonpolar = γ · ΔSASA + b,γ 與 b 是擬合出來的常數。
**第三塊 −TΔS:構形熵。**通常直接被省略,或用 normal mode analysis 粗估。省略的後果是 ΔGbind 系統性地過度為負;粗估的後果是誤差棒常常跟答案本身同量級。
還有一個你必須知道的參數:內部介電常數 εin。PB/GB 求解時,溶質內部要給一個介電常數。AMBER 系列的預設是 1,等於把溶質當成真空;帶電或高極性的界面通常要調高。在 148 個蛋白–RNA 複合體上做過設定掃描的 benchmark 裡,親和力預測表現最好的組合是 εin = 2 搭配 GBn1;蛋白–DNA 這種電荷更密的界面也有人用到 4。重點不是哪個值「對」,是這個值由你選。
這件事你應該立刻聯想到 DFT+U 的 U。εin 是被調到能重現某組實驗親和力的擬合參數。一旦你調了它,你算出來的數字就不能再拿來當那個性質的獨立證據。 這跟「用 U 調到能重現 band gap,然後宣稱你預測了 band gap」是同一個邏輯錯誤。
04Why為什麼重要
因為 funnel 需要一個閘門,而這是最便宜的那一個。
軌跡已經跑完了,MM/PBSA 只是後處理,幾百幀在 CPU 上是分鐘到小時等級。相較之下,做一個突變的 FEP 要跑十幾到二十幾個 λ window、兩條熱力學支路,成本高兩到三個數量級。當「便宜」是這個 project 的硬約束時,一個順手就能對整個變體庫跑一遍的量,本身就有價值。
而且它捕捉到的物理不是假的。 這一點必須誠實講,否則你的批評會變成過度矯正:
- SpCas9-HF1 的設計邏輯,正是移除 Cas9 對 target-strand 磷酸骨架的非專一氫鍵接觸。
- eSpCas9(1.1) 的設計邏輯,是中和 non-target strand 溝槽裡的正電殘基。
這兩個都是**「削弱非專一靜電結合」**型的設計,而靜電互補正好是 MM/PBSA 最擅長看的東西。所以「ΔG 完全沒用」是錯的。
問題出在下一步:把 ΔG 當成專一性的排序軸。
MM/PBSA 量的是井有多深(平衡結合強度)。Cas9 的專一性住在牆有多高(HNH 構形檢查點的能障)。這是兩個正交的量,把前者排序得再精準,也排不出後者。
三個高保真變體(SpCas9-HF1、eSpCas9(1.1)、HypaCas9)對 on-target 與 off-target 的結合親和力跟 WT 差不多,差別在 HNH 是否被放行。Chen 等人講得最清楚:HypaCas9 的機制叫 enhanced proofreading,是提高構形活化的門檻,不是綁得比較鬆。後來 Liu 等人用完整的 pre-steady-state 動力學把這句話換成硬數字:Cas9-HF1 與 HypaCas9 的 R-loop 形成速率跟 WT 幾乎一樣(結合那一端根本沒動),被壓下去的是 intrinsic 切割速率,掉了兩個數量級以上。你可以把 ΔG 算到 0.1 kcal/mol 的精度,也看不到這件事。
還有一個更少人講、但同樣致命的問題:越負不等於越好。 Cas9 切完 DNA 之後不會馬上放開,體外表現為 single-turnover 酵素——它黏在切開的雙股上,多輪催化的限速步驟是產物釋放;單分子實驗裡,PAM 端配對足夠的位點可以維持超過一小時的 ultrastable 結合。(要注意這跟「單次切割的限速步驟」是兩件事:後者的 stopped-flow 量測指向切割之前的 R-loop 形成/DNA unwinding。)
真正要命的是專一性本身怎麼來的。在 Liu 等人的 3 bp PAM-distal 錯配底物上,off-target 受質「先脫離」與「被切掉」的分流大約是 WT 33%/67%、HypaCas9 76%/24%、Cas9-HF1 90%/10%。專一性來自「放掉」這條路徑贏過「切下去」。 把結合拉得更緊,等於把「放掉」那條路關小——你會得到一個更不專一的變體。任何「ΔG 越負分數越高」的打分函數,不只是量錯了維度,是把方向寫反了。
05How怎麼做
工具: gmx_MMPBSA(吃 GROMACS 軌跡)或 AmberTools 的 MMPBSA.py。兩者都需要你明確定義哪些原子是 complex/receptor/ligand。
一份能過 review 的最小操作清單:
- 決定要不要保留結構離子。 剝掉水和抗衡離子是標準動作,但 HNH 與 RuvC 活性中心的 Mg2+ 不是溶劑。把它們跟水一起剝掉,界面靜電就整個變形了。
- 設定離子強度。 PB solver 有 salt concentration 參數,設成跟你要比對的實驗條件一致(常見是 0.15 M),不要用預設 0。
- 選幀。 從 production 段取數百幀。丟掉 equilibration。
- 誤差要跨 replica 算,不要跨 frame 算。 這是最常見的造假來源,見 When NOT 第 5 條。
- 做 εin 敏感度掃描。 至少跑 1、2、4 三組,把結果一起報。如果排序在掃描中翻掉,那個排序就不能用。
- 熵:要嘛誠實省略並且從此不引用絕對值,要嘛用 normal mode 或 interaction entropy 估並附誤差。 normal mode 需要把每個結構完全能量極小化才符合諧近似,對大系統貴到不切實際。它真正的問題不是截斷半徑——Ryde 一組在 JCIM 2012 掃過截斷與 buffer region 的設定,8 到 16 Å 之間的差異落在統計誤差以內——而是成本高、加上逐幀熵值的散度很大,所以要平均掉夠多幀才穩得下來,而那正是大系統負擔不起的部分。
- 蛋白–核酸系統要特別小心,而且要先知道它擅長哪一種問題。 MM/PBSA 系列 benchmark 的第八篇在 148 個蛋白–RNA 複合體上掃過各種設定組合,結果是兩件事分得很開:構形辨識(在一堆 decoy 裡挑出接近天然的 pose)有 117/148(79.1%)落在前十名,勝過該研究測過的所有 docking scoring function;親和力預測則要靠挑對設定(顯式溶劑下最小化 + GBn1 + εin = 2)才拿到最高相關性,而那個「最高」離可以拿來下決策還很遠。這個落差正好就是本頁的結論:它是好的 pass/fail 篩子與 pose 篩子,不是好的親和力尺。
輸出長什麼樣: 一張表,列出 ΔEelec、ΔEvdW、ΔGpolar、ΔGnonpolar 與總和,外加(若用 GB)逐殘基分解。你會立刻看到一件事:對蛋白–DNA 這種高電荷界面,ΔEelec 與 ΔGpolar 各自輕易到數百甚至上千 kcal/mol、符號相反,淨值只剩零頭。兩個大數相減得小數,任何系統誤差都會被放大。這就是為什麼絕對值不可信、而相對值在受控比較下還勉強可用。
06When什麼時候用
- 當 funnel 需要一個「這個設計還綁不綁得上」的是非題閘門時。 把界面拆爛的變體刷掉,這件事 MM/PBSA 做得到。
- 當你要比較同一系列、同一結合模式、淨電荷相同的變體時。 系統誤差在這種受控比較下部分抵銷。
- 當你想知道某個突變殺掉了哪些接觸時,用逐殘基分解當假說產生器,然後回去用 contact map 或 salt bridge 驗證。分解值本身不是證據。
- 當你要檢查設計有沒有做到你想做的事時。 你移除了一個磷酸接觸,靜電項就該往預期方向動;沒動就是你的建模有問題。
- 當軌跡已經存在時。 邊際成本接近零,跑了不虧,只要你不誤讀。
07When NOT什麼時候別用
-
不要引用絕對的 ΔGbind。 為什麼會壞:熵被丟掉(或用一個誤差跟答案同量級的估計補上)、εin 是擬合旋鈕、連續介質溶劑在高電荷界面上沒有明確的水與離子、而且最終數值是兩個數百 kcal/mol 大數相減的殘差。怎麼看出它壞了:你的蛋白–DNA 複合體算出幾十甚至上百 kcal/mol 的「結合自由能」,換算成 Kd 是一個宇宙裡不存在的數;或者把 εin 從 1 改到 4,答案整個平移十幾 kcal/mol。
-
不要用它排高保真變體的專一性。 為什麼會壞:三個文獻高保真變體對 on/off-target 的結合親和力與 WT 差不多,差異在 HNH 構形檢查點的動力學上,這個軸 MM/PBSA 看不到。怎麼看出它壞了:拿 ground truth panel 檢驗——如果 WT、SpCas9-HF1、eSpCas9(1.1)、HypaCas9 的 ΔG 全部落在跨 replica 誤差棒之內,那你排的是雜訊;如果排得出來但順序跟文獻的專一性順序不一致,那更糟,因為你會相信一個錯的排名。
-
不要假設越負越好。 為什麼會壞:off-target 的專一性來自「先脫離」與「被切掉」兩條路徑的競爭,把結合拉緊等於壓縮脫離那條路;而且 Cas9 是 single-turnover 酵素,切完之後黏在產物上,更緊的結合連週轉都拖慢。怎麼看出它壞了:這一條在計算裡完全看不出來,這正是它危險的地方。唯一的偵測方式是回頭看你排名最高的設計在做什麼——如果它們清一色是「在磷酸骨架接觸面加正電」,那你設計的是一個什麼 DNA 都綁的黏膠,不是一個更專一的酵素。
-
當結合前後兩邊真的會重組時,不要用 single-trajectory 近似。 為什麼會壞:ΔEinternal 被設成零,reorganization energy 消失。Cas9 特別嚴重——apo 蛋白與 sgRNA/R-loop 結合後的構形差異大到 domain 都重新排列,這不是小擾動。怎麼看出它壞了:改用 separate-trajectory(分別跑 apo receptor 與 apo ligand)重算一次,如果答案大幅改變,你設成零的那一項就不是零;或者比較不同起始結構(預測結構 vs 晶體結構)的結果差多少。
-
不要用 frame 數去算標準誤。 為什麼會壞:連續幀高度相關,SEM = SD/√Nframes 會給你 0.1 kcal/mol 的假精度。怎麼看出它壞了:把 4 條獨立 replica 各自的平均值拿來比,spread 通常大一個數量級以上。參考點:在你自己的 5F9R 系統上,最穩的聚合量 BSA 跨 4 replica 的 CV 也還有 2.1%,總 protein–DNA 接觸 4.1%;一個依賴靜電細節的量不可能比它們更穩。
-
不要把結構離子跟溶劑一起剝掉。 為什麼會壞:Mg2+ 是界面靜電的一部分,也是催化中心的一部分。怎麼看出它壞了:逐殘基分解在活性中心殘基上給出離譜的數值;或者保留與剝除兩種算法的靜電項差距遠大於變體之間的差距。
-
不要跨 paper 比較 MM/PBSA 數值。 為什麼會壞:力場、水模型、εin、PB solver、非極性項的 γ、幀數、熵處理方式,每一項都會系統性平移結果。怎麼看出它壞了:你會發現同一個複合體在不同論文裡的 ΔGbind 可以差好幾倍。能比的只有同一套 protocol 下的相對排序。
08Project Lens跟我的 project 多相關
為什麼不是更低(不是一星或二星):
- 它幾乎免費。 軌跡已經在跑了,MM/PBSA 是後處理。在「便宜」是硬約束的 workflow 裡,邊際成本接近零的量沒有理由丟掉。
- funnel 真的需要一個結合可行性閘。 一個把界面拆爛的設計應該在早期就出局,不該浪費後面昂貴的 gate。這件事 MM/PBSA 做得到,而且做得比什麼都不做好。
- 它對 SpCas9-HF1 與 eSpCas9(1.1) 那一類設計是有訊號的。 這兩個變體確實是靠削弱非序列專一的靜電與氫鍵接觸做出來的(HF1 砍 target 股磷酸骨架的氫鍵,eSpCas9(1.1) 中和 non-target 股溝槽的正電殘基),而靜電互補正是 MM/PBSA 的守備範圍。如果你的批評強到連這件事都否認,你就過度矯正了。
- 它是這個領域的共同語言。 你不能只說「這沒用」,你要能說清楚它的有效邊界在哪,並且提出一個對方能接受的替代排序軸。
為什麼不是四星或五星:
funnel 的排序軸就是它,而這正是這一類篩選流程的結構性盲區:全程用平衡結合 ΔG 排序,但要篩的性質(專一性)不住在那條軸上。更關鍵的是:從 MM/PBSA 升級到 FEP,買到的是同一條軸上更高的精度。要公道地說,charge-changing FEP 只要有做反離子處理,技術上就是對的——問題從來不是「做得不夠嚴謹」,而是軸選錯了。把一把很準的尺拿去量錯的維度,準不會救你。
具體怎麼用:
放在 Gate 2 的 pass/fail 位置,用一個保守的門檻刷掉明顯崩掉的變體,不放在 Gate 3 的排序位置。報告時只給跨 replica 的 mean ± SD 加上 εin 敏感度掃描,並且明講「這一層只保證候選能結合,不宣稱任何專一性排序」。排序的責任交給檢查點那一側:用 HNH 距離 當構形代理,再用 自由能地景 去校準它。要誠實的是,那條軸目前也還沒有 ground truth 校準,所以它現在是替代假說,不是一把現成的尺。 你能主張的是「這一類 funnel 押錯了維度」,不是「換我這條就準了」。
還有一個高 CP 值的用法: 把 MM/PBSA 在 ground truth panel 上排不出高保真變體這件事,當成 methodology paper 裡的 negative result 寫出來。這比再多一個「我們也算了 ΔG」有價值得多,因為它是可證偽、可重現、而且直接指向下一步該做什麼的結果。
09Reviewer Thinkingreviewer 會問什麼
你的 ΔG_bind 誤差棒是怎麼算的?跨 frame 還是跨 replica?點開看參考答案
這一問幾乎可以廢掉半數 MM/PBSA 論文。跨 frame 的 SEM 是假精度,因為幀之間高度相關。正確做法是跑至少 3 到 4 條獨立 replica,報跨 replica 的 mean ± SD,並且把逐幀的 spread 另外標成灰帶。誠實地說:如果變體之間的差異落在 replica 誤差棒之內,就直說「在本方法的解析度下無法區分」,不要用小數點第二位假裝有差別。
你用了什麼 ε_in?結論對它敏感嗎?點開看參考答案
必須附敏感度掃描。跑 εin = 1、2、4 三組,把三條排名一起放進補充材料。如果排序在掃描中穩定,你有一個可辯護的相對結論;如果翻掉,那就承認排序不可用,只報 pass/fail。不要只報一個 εin 然後不解釋為什麼選它——reviewer 會直接懷疑你是挑了一個好看的。
你把熵丟掉了。憑什麼?點開看參考答案
可以丟,但要說清楚假設:你只做同一系列、同一結合模式的相對比較,並假設 −TΔS 在系列內近似抵銷。接著要主動指出這個假設何時失效——突變改變淨電荷、改變界面剛性、或引入/移除大幅柔軟的 loop 時,熵項就不再抵銷。把不適用的變體標出來,比假裝整組都適用可信得多。
你怎麼證明 ΔG 排序跟專一性有關?點開看參考答案
最誠實的答案是:目前沒有證明,而這正是本研究要檢驗的假設。做法是用文獻高保真變體當 ground truth panel(SpCas9-HF1、eSpCas9(1.1)、HypaCas9),看 ΔG 能不能把它們跟 WT 分開。要注意底物選擇:在 on-target 底物上 eSpCas9(1.1) 本來就該是 null,要看到效應必須用 mismatched 底物,否則你測的是一個設計上就不該有訊號的對照。
single-trajectory 近似把 reorganization 設成零,對 Cas9 這種大幅構形變化的系統合理嗎?點開看參考答案
不完全合理,而且應該主動承認。可行的緩解是至少對幾個代表性變體做 separate-trajectory 對照,量出 reorganization 項的量級,證明它在系列內近似為常數(因此不影響相對排序)。如果量不出常數,那相對排序也站不住,這時候唯一誠實的用法就只剩 pass/fail。
10Common Mistakes最常犯的錯
- 報絕對的 ΔGbind 並跟實驗 Kd 對照。 後果:數值差好幾倍甚至符號都不對,整篇的可信度一起賠掉。正解:只報系列內相對值,或報 ΔΔG,並明說絕對值不具物理意義。
- 用 frame 數算標準誤。 後果:0.1 kcal/mol 的假誤差棒,讓不存在的差異看起來顯著。正解:跨獨立 replica 算,並公開 replica 數。
- 只跑一個 εin。 後果:reviewer 直接懷疑挑參數。正解:附 1/2/4 的敏感度掃描與對應排名。
- 把 Mg2+ 當溶劑剝掉。 後果:活性中心靜電失真,逐殘基分解出現離譜值。正解:明確列出保留哪些離子,並在方法段寫清楚。
- 拿逐殘基分解當結論。 後果:GB 分解對 εin 與半徑參數極度敏感,數字不穩。正解:只當假說產生器,用獨立的接觸/氫鍵分析驗證。
- 把「ΔG 越負」直接寫成打分函數。 後果:方向就寫反了——專一性靠的是 off-target 受質先脫離,綁更緊會壓掉那條路。正解:改成雙側門檻(太弱出局、太強也標記為風險),或乾脆只做 pass/fail。
- 在 on-target 底物上測 eSpCas9(1.1) 然後說「方法沒訊號」。 後果:把設計上就該是 null 的對照當成方法失效。正解:專一性效應要用 mismatched 底物測。
11Further Reading讀哪幾篇
12Summary三句話
MM/PBSA 是把已經跑好的軌跡拿去估結合自由能,成本近乎為零,代價是熵通常被丟掉、內部介電常數是可調參數、單軌跡近似把 reorganization 設成零,因此絕對值沒有物理意義。它在「這個變體還綁不綁得上」這個是非題上確實有用,也看得見 SpCas9-HF1 與 eSpCas9(1.1) 那種削弱非序列專一靜電接觸的設計,所以全盤否定它是過度矯正。但 Cas9 的專一性由 HNH 構形檢查點的動力學決定,而且更緊的結合會壓掉 off-target 受質「先脫離」那條讓專一性成立的路徑,所以它的正確定位是結合可行性的必要但不充分初篩,不是專一性的排序軸。