Molecular Dynamics分子動力學

給 DFT 人的 MD:力場不是近似的 DFT,它量的是完全不同的東西。

4 頁
Two side-by-side error-source lists, DFT on the left and classical MD on the right, with markers separating entries that converge monotonically from fixed choices, and a bottom band showing that raising ENCUT is not the same move as doubling trajectory length.
示意圖(向量繪製) 換到 MD 不是把誤差變小,是把整張誤差清單換掉。DFT 那邊只有前兩項是「加大就靠近極限、而且看得出何時可以停」;MD 這邊沒有任何一項是那種形狀,而最貴的那一格(軌跡長度)只縮小統計誤差,既不修力場的系統誤差,也不能證明你沒漏掉構形空間。

這章的頁面

這章在講什麼

這章只回答一個問題:怎麼從一個座標檔,得到一條你敢在上面掛誤差棒的軌跡。 它處理的範圍從「打開 PDB」到「production 跑完、你能說出這條軌跡支撐得起多強的宣稱」為止,中間所有的決定 —— 力場、水模型、盒型、離子、timestep、控溫、跑幾條、跑多長 —— 全部在這一章裡各有一個位置。

對你來說,這章的真正內容不是操作手冊,而是一次誤差預算的整體替換。在 DFT 世界你的誤差來自哪裡你閉著眼睛都能列:基組(ENCUT)、k-mesh、贗勢、交換相關泛函、有沒有 vdW 修正、smearing。你會為前兩項做收斂測試,因為它們是單調可逼近的 —— 加大就會靠近極限,而且你知道加到哪裡可以停。換到 MD,這份清單整個被抽掉換成另一份:力場的參數化品質、水模型、起始結構、取樣量、replica 數。麻煩的是新清單裡最貴的那一項(取樣)不是單調可逼近的:跑久一點會縮小統計誤差,但不會縮小力場的系統誤差,而且「還有一整片構形空間沒去過」這件事原則上只能反證不能證明。很多人把「多跑 100 ns」當成「把 ENCUT 從 400 加到 500」,這是這一章要拆掉的最大誤解。

一個必須先講清楚的界線

力場沒有電子。鍵不能斷、電荷不能轉移、極化被平均進固定電荷裡。凡是需要成鍵、金屬配位化學或質子轉移的問題,答案不會因為軌跡更長而變對 —— 那是 QM 或 QM/MM 的地盤。知道哪些問題不該問 MD,跟知道怎麼跑 MD 一樣重要。

這章回答的東西:不教任何一種軌跡分析怎麼算(那整章在 Analysis),不教增強取樣的實作(在自由能地景),不教 QM/MM,也不教怎麼調參數去擬合實驗。它更不會告訴你「業界標準是跑多久」—— 這個問題在這章的答案永遠是「看你要宣稱什麼」。

四頁是一條把不確定性從模糊變成數字的鏈。給 DFT 人的 MD 換世界觀:位能面換成經典的、答案換成 300 K 系綜下的分布與時間相關量而不是單點能量。系統建立把整個位能面與邊界條件一次決定完,而它的錯誤幾乎都不會炸給你看;這頁有一個純賺的例子值得記住 —— 立方盒 762,027 原子換成菱形十二面體 535,265 原子,省掉三成、吞吐量約 1.4 倍,而最小影像距離不變,這種不需要新增任何假設的省錢是「便宜」這個硬約束底下最好的一種Production 設定是一連串換匯:constraints 換掉振動自由度、HMR 換掉質量分布、大 timestep 換掉積分精度,換回來的都是牆鐘時間與 replica 數;唯一的例外是 thermostat,它改變的不是精度而是你在取樣哪個系綜,選錯了跑再久也不會對。最後取樣與收斂把前面所有決定的後果變成一組數字:4 條 replica × 約 87 ns 之下,聚合量的跨 replica CV 在 10% 以下(BSA 2.1%、總 protein–DNA 接觸 4.1%),而紅燈那一層 —— 介面 iRMSD、逐位點距離、groove 量與 DNA RMSF —— 落在 24 到 146%。這一章的產出不是一條軌跡,是一句話:「我的哪些數字可以承擔排序責任,哪些只能拿來講故事。」

A four-stage chain from worldview to system setup to production settings to sampling, ending at the final claim, with brackets underneath showing how far downstream each stage's mistakes propagate and whether the failure is silent or measurable.
示意圖(向量繪製) 把這一章的四頁按「決定被鎖死的順序」排開。橫桿左端是做決定的地方,箭頭是它還能污染到的地方:越早的決定波及越廣,而且失敗時沒有聲音。唯一的例外是 thermostat —— 它在第 3 頁,但它換掉的是系綜本身,跑再久也不會自己修好。

教授可能問

用你熟悉的語言講:力場跟 DFT 的關係到底是什麼?點開看參考答案

最容易踩的坑是說「力場是便宜的 DFT」。正確的說法是:力場是一個形式已經寫死、參數事後擬合的經典位能面 —— 鍵長鍵角用簡諧、二面角用傅立葉級數、非鍵用 Lennard-Jones 加固定點電荷。它沒有電子自由度,所以鍵不能斷、電荷不能重新分布,極化效應被平均進那組固定電荷裡。這代表兩件事:第一,它在參數化涵蓋的構形範圍內可以很準,離開那個範圍就沒有任何理論保證,跟泛函「至少形式上是從第一原理出發」的處境不同;第二,你換來的是好幾個數量級的速度,那正是你能對 500,000 個原子取樣百 ns 尺度的唯一原因。把它理解成一個高度專門化的擬合模型,不是一個粗糙的近似解,你後面所有判斷都會比較準。

MD 給你的「答案」是什麼形狀?跟你算一個吸附能有什麼不同?點開看參考答案

吸附能是一個數字,MD 的答案是一個分布。你問「HNH 距離是多少」,正確的答案不是 12 Å,是「在這個系綜下它的分布長這樣、平均在這裡、跨獨立軌跡的散布這麼大」。這個形狀上的差別有一個直接後果:每一個 MD 數字都必須帶誤差棒,而那個誤差棒必須來自獨立的 replica,不是來自同一條軌跡的標準差。 同一條軌跡的相鄰幀高度相關,用它算標準誤等於假裝自己有幾萬個獨立樣本,那是這個領域最常見的統計謊言之一。

「跑久一點」能解決哪些問題、不能解決哪些問題?點開看參考答案

能解決的只有一件事:統計誤差。分布的平均值會收得更準,罕見事件有更多機會出現。不能解決的有三件,而且每一件都比統計誤差貴:力場的系統誤差(跑一微秒也不會讓一個參數化不良的二面角變對)、起始結構的偏差(如果你的軌跡跨不過主要能障,你只是在一個盆地裡取樣得更仔細)、以及模型缺失的物理(沒有電子就是沒有電子)。在算力有限的時候,把時間拿去加 replica 通常比加長度划算,因為前者同時檢驗統計誤差與起始構形的影響,後者只處理前者。

你的模擬跑在 300 K 的 NPT 系綜。這句話對你的結果意味著什麼?點開看參考答案

意味著你量到的每一個量都是系綜平均,而不是某個特定構形的性質;也意味著溫度與壓力是被 thermostat 與 barostat 維持的,而那兩個東西是演算法不是物理。這裡有一個容易被忽略的重點:thermostat 的選擇不是精度問題而是系綜的定義問題。某些做法(例如把速度整體縮放的 Berendsen 家族)會把動能漲落壓窄:平均溫度是對的,分布卻不是正則分布,而且容易出現能量在自由度之間分配不均的病態(flying ice cube),跑再久也不會自己修好。這跟你在 DFT 裡調 smearing 的心態不同:smearing 選錯通常只是收斂性與精度的取捨,thermostat 選錯是你在取樣另一個系綜。

Reviewer 可能問

你的 aggregate 取樣量是多少?為什麼那個量足以支撐你的結論?點開看參考答案

把數字與作用域一起給。你的是 4 條獨立 replica × 約 87 ns、535,265 原子的完整 R-loop 三元複合體。關鍵不在數字大小,而在你能不能用它界定宣稱:聚合量前後半漂移 2 到 17%、跨 replica CV 在 10% 以下,可以承擔排序責任;介面 iRMSD、逐位點量與 DNA RMSF 的 CV 落在 24 到 146%,只能當定性敘述。答「我們跑了領域慣例的長度」是最糟的回答,因為它把責任推給一個不存在的慣例,而且完全沒有回答問題。

你的 replica 是真正獨立的嗎?獨立在哪裡?點開看參考答案

這一問在抓一個很常見的作弊:從同一個平衡化後的構形分出四條、只換亂數種子,跟從四個不同的建系統與加熱過程各自出發,統計意義完全不同。前者共享了整個平衡化歷史,它們的「獨立」只涵蓋速度分配的隨機性。要能防守,就得明講你的獨立性是在哪一層引入的(不同的初始速度?不同的溶劑化與離子放置?不同的平衡化軌跡?),並且承認被共享的那一層不在誤差棒的涵蓋範圍內。你自己的情況要照實寫:四條共用同一個起始座標,換掉的是 integrator、barostat 與初速這三個亂數種子 —— 那是速度層的獨立,不是建系統層的獨立,而換再多種子也解決不了共用起點這件事。誠實地把獨立性的層級寫出來,比含糊地說「四條獨立軌跡」安全。

你用了 HMR 與 4 fs 的 timestep,你怎麼證明這沒有改變你的結果?點開看參考答案

這題不是破口而是一個還沒放上桌的選擇。先把兩把尺攤開:OpenMM 手冊寫的是 constraints=HBonds 之下 Langevin 動力學約可用 4 fs(決定性積分器才是約 2 fs),照這把尺,4 fs 本身就在建議範圍內、1.5 amu 是額外的安全邊際;Amber 生態則習慣 4 fs 配 3.024 Da 的重氫,照那把尺看同一組設定就偏積極。落在兩套慣例中間時,「我照手冊」與「我照 Amber 慣例」都不是完整的回答。可防守的補法成本接近零:一段短 NVE 看能量漂移,加上一段 2 fs、不用 HMR 的對照跑,比對真正拿去打分的那幾個聚合量。特別注意不能拿溫度當證據 —— Langevin 恆溫器會把積分誤差造成的能量漏失吸收掉,溫度計永遠是 300 K,安靜偏掉的是構形分布。做了那兩件事,它從「會被質疑的點」變成「方法段的一句話」。

你的水模型與力場組合有沒有已知的偏差?對蛋白與核酸的介面尤其重要。點開看參考答案

可以守住的答案是把已知問題講在前面,而不是等人指出來。固定電荷力場在高度帶電的核酸介面上,離子與磷酸的作用強度是長期被討論的問題,也因此才有針對離子與磷酸交互作用的修正參數這一整條線;三點水模型在描述水的介電與擴散性質上也有已知的系統偏差。你的防線有兩層:第一,所有宣稱都是同一套力場下的相對比較(WT 與變體、on-target 與 mismatched),系統偏差在雙差裡會大幅抵消;第二,任何依賴絕對數值的敘述都不放進結論。這比宣稱「我們的力場很準」可防守得多。

口試可能問

你為什麼選古典 MD,而不是 QM/MM 或機器學習位能?點開看參考答案

講成三者的可及性與問題匹配度。QM/MM 適合處理切割那一步的化學,但你的問題發生在化學之前的構形檢查點,而且 QM/MM 的取樣量在 500,000 原子的系統上不可能達到你需要的統計。機器學習位能在小系統與特定化學上進展很快,但要涵蓋蛋白加核酸加水這個組成、又要有可用的參數,目前不在你的預算內。古典 MD 是唯一能在這種算力等級(一張消費級 GPU,加上叢集上同時只跑得動個位數 job 的小額配額)之下,對完整複合體取樣到有統計意義的手段。代價一起講:你放棄了任何跟成鍵化學有關的問題,也放棄了絕對能量,只保留構形統計的相對比較。

算力加倍,你會拿去加長度、加 replica、還是加系統條件?為什麼?點開看參考答案

這一問在測你有沒有把取樣分析真的內化。優先序是:先加 replica(因為你的誤差棒與可靠度分層完全建立在 replica 上,而且 n = 2 會系統性高估一致性 —— 逐殘基 top-8 共享從 n = 2 的 6/8 掉到 n = 4 的 3/8),再加系統條件(帶 PAM-distal 錯配的底物,因為 on-target 底物在某些變體上結構性地是 null,沒有條件就沒有動態範圍),最後才加長度。理由要說到底:加長度只縮小同一個盆地裡的統計誤差,加 replica 與加條件則是在檢驗你的結論是否存在。

哪一個 MD 參數最容易被 DFT 直覺誤當成收斂旋鈕?你怎麼處理它,代價是什麼?點開看參考答案

real-space cutoff。DFT 直覺會說「加大一定更準」,所以第一反應是把它從 1.0 nm 推到 1.2 nm 當成免費升級。但力場的 Lennard-Jones 參數是在某個 cutoff 底下配出來的(amber14 這一系的慣例是 0.8 到 1.0 nm 搭 PME),推大不會更靠近真值,只是離開參數化的條件;1.2 nm 是 CHARMM 生態的慣例,換力場才跟著換。正確的處理是把它降級成敏感度測試的旋鈕:要動就固定其他所有參數只動它,再比較你真正要報的那幾個量。代價分兩層講:短期是我放棄了一個看起來白賺的升級,還多付算力做對照;長期省下來的更多 —— 如果當初真的調了,後面每一個數字都會落在一組沒有人驗證過的參數上,而且不會有任何錯誤訊息提醒我。這一題真正在測的是我有沒有把 MD 的參數重新分過類:哪些是可逼近的收斂旋鈕,哪些是力場參數化的一部分,動了就等於換了力場。

如果有人說你的整章結論都只是「力場的產物」,你要怎麼回應?點開看參考答案

不要否認,要重新界定宣稱的層級。可以守住的說法是:本工作宣稱的是在固定力場與固定流程之下,哪些描述符跨獨立軌跡可重現、哪些不可重現,這是精密度(precision)的陳述,不需要力場正確也成立。力場的正確性只有在你要宣稱「這個數字對應到真實的實驗量」時才成為必要條件,而那一步在驗證之前不會發生。把方法學貢獻放在不依賴力場正確性的那一層,是這條路線唯一能全身而退的架構。

AI 對話練習

練習一:兩個世界的誤差預算對照表

你是一位同時做過第一原理計算與生物分子模擬的資深研究員。我是計算化學/材料背景,熟 DFT、VASP、吸附能與電催化,剛開始做古典分子動力學。

請跟我一起建一張「誤差預算對照表」。做法:

  1. 你先問我,在 DFT 裡我通常怎麼決定 ENCUT 與 k-mesh、以及我怎麼知道可以停。
  2. 然後你逐項給我 MD 這邊的對應項目(力場參數化、水模型、起始結構、盒子大小、timestep 與 constraints、取樣長度、replica 數)。每給一項,我要先自己回答三件事:它對應到 DFT 的哪一項、它是不是單調可逼近的、以及我要用什麼檢查決定它夠不夠。
  3. 我答完你再糾正。特別注意抓出我把「非單調」的項目當成「單調可逼近」來處理的地方,並說明那個誤會會在下游造成什麼具體的錯誤結論。
  4. 最後把整張表整理成兩欄,並在每一列標上「這一項答錯的代價:高/中/低」,附一句理由。

不要安慰我,也不要略過我答對的項目的漏洞。

練習二:費曼技巧,講清楚「為什麼多跑時間救不了它」

我要向你解釋一個命題:在分子動力學裡,增加模擬長度只縮小統計誤差,不縮小力場的系統誤差,也不保證跨得過主要的構形能障。

你扮演一位聰明但完全沒做過 MD 的計算材料研究生。規則:

  1. 我每講完一段,你只能做三件事之一:指出我用了沒定義過的名詞、指出我的因果推論跳步、或指出我講的東西無法從我前面說過的推出來。發現任何一項就立刻打斷,不要等我講完。
  2. 至少挑戰我一次:「那你怎麼分辨『這個現象不會發生』跟『我沒跑到它發生』?」
  3. 至少挑戰我一次:「既然統計誤差會隨時間下降,那我一直跑下去,誤差棒不就任意小了嗎?那不就等於答案很準?」
  4. 不要幫我補完我沒講清楚的部分,也不要展示你自己的知識。

我講完後請列出:我漏掉的關鍵環節、我講錯的地方、以及一個「如果我真的懂了就答得出來」的追問。

練習三:算力預算的取捨演練

你是一位務實、討厭空話的計算組 PI。我要向你報告一份分子動力學的算力配置計畫,你的工作是挑戰它。

我的條件:系統是一個約 535,000 原子的蛋白–RNA–DNA 三元複合體,目前有 4 條獨立 replica、每條約 87 ns。算力是一張消費級 GPU,加上叢集上同時只跑得動個位數 job 的小額配額,儲存空間也很緊。目標是建立一套便宜、可大量篩選的變體排序流程,最後寫成方法學論文。

請你:

  1. 先問我三個問題,確認我打算用哪些描述符打分、我的儲存策略、以及我要比較幾個變體與幾種底物條件。
  2. 然後要求我提出一份配置方案(跑幾個條件、每個條件幾條 replica、每條多長、存檔頻率多少),我提出後你逐條挑戰。
  3. 特別針對三件事逼問我:我的方案有沒有一個「本來就該是 null」的對照條件、我的 replica 獨立性是在哪一層引入的、以及儲存空間會不會在計畫的第幾週爆掉。
  4. 最後給我一張最小可行配置表,標出算力減半時要先砍哪一格、砍掉之後我失去的是哪一句宣稱。

回答要具體到我可以照著寫 job script,不要給我原則性的建議。