主题
分子动力学模拟流水线 — 使用说明
在哪里输入命令
所有命令在 Windows 终端中输入:
方法一(推荐):VS Code 终端
用 VS Code 打开 F:\project 文件夹,按 Ctrl+` 打开终端,直接输入命令。
方法二:PowerShell
按 Win + R → 输入 powershell → 回车。
方法三:在 Claude Code 对话框中
命令前加 ! 让 Claude 帮你执行:
! conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "CCO"快速开始
前提:已完成环境安装(见底部安装说明)。
powershell
# 基础:从最新对接结果跑 100 ns MD
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "SMILES字符串"
# 指定时长(发表建议 100 ns 以上)
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "..." --ns 100 --project my_md
# 使用第 3 个对接姿态
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "..." --pose 3
# 断点续跑(连接断开后恢复)
conda run -n base python F:\project\md\md.py --project my_md --resume
# 快速验证(跳过 MMPBSA)
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "..." --no-mmpbsa运行结束后,在 F:\project\md\projects\{项目名}\ 中找到 report.html,用浏览器打开查看完整报告。
参数说明
| 参数 | 必填 | 默认 | 说明 |
|---|---|---|---|
--pdb | ✓* | — | 4 字母 PDB ID,如 1HVR |
--smiles | ✓* | — | 配体 SMILES 字符串 |
--ns | 100 | 生产模拟时长(ns),建议 ≥ 100 | |
--pose | 1 | 使用第 N 个对接姿态 | |
--from-docking | 自动最新 | 指定 docking 项目目录名 | |
--project | PDB_时间戳 | 自定义项目名 | |
--no-mmpbsa | — | 跳过结合自由能计算 | |
--no-analysis | — | 跳过轨迹分析 | |
--resume | — | 断点续跑(需同时指定 --project) |
*使用 --resume 时不需要 --pdb 和 --smiles。
修改参数的两种方式
方式一:命令行标志(单次生效,不影响默认值)
适合偶尔需要不同参数的情况,加在命令后面即可:
powershell
# 本次跑 200 ns(默认是 100 ns)
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "..." --ns 200
# 本次用对接第 3 个姿态(默认是第 1 个)
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "..." --pose 3
# 本次跳过 MMPBSA(节省时间)
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "..." --no-mmpbsa
# 快速测试模式(NVT/NPT 各 10 ps,生产 10 ps,自动跳过 MMPBSA)
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "..." --test
# 组合使用:200 ns + 第 2 个姿态 + 自定义项目名
conda run -n base python F:\project\md\md.py --pdb 1HVR --smiles "..." --ns 200 --pose 2 --project hiv_200ns方式二:修改 config.yaml(永久改变默认值)
适合你的研究习惯发生变化时,改一次后每次运行都生效:
yaml
# F:\project\md\config.yaml
simulation:
production_ns: 100 # ← 改为 200 就永久默认跑 200 ns
temperature: 300 # ← 模拟温度(K)
equilibration:
nvt_ps: 500 # ← NVT 平衡时长(高分文章标准,不建议改短)
npt_ps: 500 # ← NPT 平衡时长
mmpbsa:
frames: 200 # ← MMPBSA 取帧数(越多越准,越慢)规则:命令行标志 > config.yaml > 内置默认值。 命令行没写的参数才会读 config.yaml。
模拟流程(10 个阶段)
[0] 输入解析 → 从 docking 项目提取最优 pose,同步到 WSL2
[1] 蛋白准备 → gmx pdb2gmx(AMBER99SB-ILDN 力场,TIP3P 水模型)
[2] 配体参数化 → antechamber + ACPYPE(GAFF2 力场 + AM1-BCC 电荷)
[3] 体系构建 → 合并拓扑 → 立方水盒子(1.0 nm 边距)→ Na+/Cl- 0.15 M
[4] 能量最小化 → 最陡下降法,Fmax < 1000 kJ/(mol·nm)
[5] NVT 平衡 → 500 ps,300 K,V-rescale 恒温器,位置约束
[6] NPT 平衡 → 500 ps,1 bar,C-rescale 压控器,位置约束
[7] 生产模拟 → 100 ns,V-rescale + Parrinello-Rahman,GPU 全加速
[8] 轨迹分析 → RMSD / RMSF / 氢键 / PCA / 自由能图 → 论文级 PNG
[9] MM-GBSA → gmx_MMPBSA,后 20 ns 200 帧
[10] 报告 → 同步回 Windows + 生成 report.html输出文件
F:\project\md\projects\{项目名}\
├── report.html ← 浏览器打开,含全部图表
├── analysis\
│ ├── rmsd.png / rmsd.csv ← 蛋白+配体 RMSD
│ ├── rmsf.png / rmsf.csv ← 残基柔性
│ ├── hbonds.png / hbonds.csv ← 配体-蛋白氢键
│ ├── pca.png / pca.csv ← 主成分分析(PC1 vs PC2)
│ ├── fel.png ← 自由能图
│ └── summary.csv ← 关键数值汇总
└── mmpbsa\
└── FINAL_RESULTS_MMPBSA.dat ← 结合自由能详细结果结果解读
RMSD(结构稳定性)
| RMSD 均值 | 评估 |
|---|---|
| < 0.15 nm | 极稳定,接近晶体构象 |
| 0.15–0.25 nm | 稳定,正常波动范围 |
| 0.25–0.35 nm | 基本稳定,轻微构象调整 |
| > 0.35 nm | 存在明显构象变化,需分析原因 |
配体 RMSD < 0.2 nm 表明配体在结合口袋中稳定结合。
RMSF(残基柔性)
- 活性位点残基 RMSF 通常 < 0.1 nm(刚性)
- Loop 区域 RMSF 常 > 0.2 nm(柔性正常)
- 将结合口袋残基的低 RMSF 值在论文中明确报告
PCA(主成分分析)
- 单一密集簇:构象空间收敛,模拟充分采样
- 沿 PC1 的线性轨迹:存在单一主导运动模式(如 hinge motion)
- 多个独立簇:存在构象转变,需延长模拟时间或分析转变机制
- PC1+PC2 通常解释 >50% 的总运动方差
自由能图(FEL)
- 蓝色低洼区(ΔG ≈ 0)= 最优势构象,即结合稳定态
- 多个能量最低点:配体结合存在构象异质性
- 等值线间距 ~0.5 kJ/mol;ΔG > 5 kJ/mol 的区域构象丰度极低
MM-GBSA 结合自由能
| ΔG_bind (kcal/mol) | 评估 |
|---|---|
| < −30 | 强结合,有成药潜力 |
| −15 ~ −30 | 中等结合,有优化空间 |
| −5 ~ −15 | 弱结合 |
| > −5 | 基本无结合 |
⚠️ MM-GBSA 绝对值有系统误差,适合同系列化合物排序,不适合直接预测 K_i 或 IC_50。
方法介绍(适合直接参考撰写论文方法段)
0. 计算流程总览
本研究采用分子对接 → 分子动力学模拟两步法,是当前计算药学发表论文的主流策略:
[分子对接]
输入:靶蛋白 PDB 结构 + 配体 SMILES
工具:AutoDock Vina 1.2(CPU)/ GNINA(GPU)
输出:结合姿态(poses.pdbqt)+ 打分(kcal/mol)
↓
[分子动力学模拟](本流水线)
输入:对接最优姿态(蛋白 + 配体坐标)
工具:GROMACS 2025.1(GPU 加速)
输出:RMSD / RMSF / PCA / FEL / MM-GBSA 结合自由能为何先对接再做动力学?
分子对接计算速度快(分钟级),可快速筛选出预测结合力较强的姿态;但对接使用刚性蛋白模型,忽略溶剂效应,打分函数存在系统误差。分子动力学模拟在显式溶剂、真实温压条件下评估蛋白质-配体复合物的动态稳定性和结合自由能,是验证对接结果可靠性、为发表提供高质量数据的必要步骤。二者结合是 J. Med. Chem.、Eur. J. Med. Chem.、J. Chem. Inf. Model. 等期刊普遍接受的标准计算流程。
1. 体系准备
将分子对接所得最优结合姿态(蛋白质-配体复合物)作为分子动力学模拟的初始构象。蛋白质采用 AMBER99SB-ILDN 力场 [1],配体采用 GAFF2 力场配合 AM1-BCC 电荷 [2,3],溶剂使用 TIP3P 水模型 [4]。
力场选择理由
| 力场 | 适用对象 | 为何选择 |
|---|---|---|
| AMBER99SB-ILDN | 蛋白质骨架+侧链 | 对蛋白质骨架 φ/ψ 二面角的精确参数化,已在大量蛋白质 MD 研究中广泛验证 [1] |
| GAFF2 | 小分子配体 | 通用有机力场,适用范围覆盖绝大多数药物分子,参数体系完整 [2] |
| AM1-BCC | 配体部分电荷 | 计算效率与精度的平衡,是 GAFF/GAFF2 配套的标准电荷方案 [3] |
| TIP3P | 水分子 | 与 AMBER 系列力场经过联合参数化验证,计算效率高 [4] |
2. 体系构建
将蛋白质-配体复合物置于边长满足最小镜像约定的立方周期盒子中,蛋白质到盒子边缘最短距离为 1.0 nm。以 TIP3P 水分子填充盒子,加入 Na⁺/Cl⁻ 离子将体系中和并调节盐浓度至 0.15 mol/L,模拟生理条件。
3. 能量最小化
采用最陡下降法对初始结构进行能量最小化,收敛标准为最大力 F_max < 1000 kJ·mol⁻¹·nm⁻¹,最大步数 50,000 步。所有非键相互作用采用 Particle Mesh Ewald(PME)处理长程静电 [5],截断距离设为 1.0 nm。
4. 平衡模拟
NVT 平衡(500 ps):位置约束蛋白质和配体重原子(力常数 1000 kJ·mol⁻¹·nm⁻²),使用 V-rescale 恒温器 [6](τ = 0.1 ps)将体系升温至 300 K。500 ps 的 NVT 平衡确保溶剂充分弛豫,温度波动收敛至目标值 ±5 K 以内。
NPT 平衡(500 ps):继续位置约束,引入 C-rescale 压控器(GROMACS 2021+ 推荐方案,τ_p = 2.0 ps,等温压缩系数 4.5 × 10⁻⁵ bar⁻¹)将压力稳定至 1.0 bar。500 ps NPT 平衡确保体系密度收敛。
为何平衡 500 ps:100 ps 平衡在大量发表文献中被证明不足以使蛋白质侧链与溶剂充分弛豫;近三年 J. Med. Chem.、J. Chem. Inf. Model. 等期刊的同行评审通常要求 NVT + NPT 各 ≥ 500 ps。
5. 生产模拟
移除位置约束,采用以下参数进行生产模拟:
| 参数 | 值 | 说明 |
|---|---|---|
| 积分器 | md(蛙跳 Leapfrog) | 标准 MD 积分器 |
| 时间步长 | 2 fs | LINCS 约束氢键后的最大稳定步长 |
| 模拟时长 | 100 ns(默认) | 可通过 --ns 调整 |
| 恒温器 | V-rescale [6](τ = 0.1 ps) | 正确产生正则系综 [6],同时支持 GROMACS GPU update 全加速 |
| 压控器 | Parrinello-Rahman [8](τ = 5.0 ps) | 严格 NPT,正确产生等温等压系综 |
| 长程静电 | PME(截断 1.0 nm) | 周期体系金标准 [5] |
| 轨迹输出频率 | 每 100 ps 一帧 | 100 ns = 1000 帧 |
为何选 V-rescale + Parrinello-Rahman:V-rescale(Bussi 等 2007)通过随机速度重缩放严格产生正则(NVT)系综 [6],而 Nosé-Hoover 在 GROMACS 中不支持 GPU 坐标更新(
-update gpu),会导致 20–40% 的性能损失。生产阶段使用 V-rescale(τ = 0.1 ps)配合 Parrinello-Rahman 压控器(τ = 5.0 ps)兼顾了统计正确性和 GPU 全加速,是 GROMACS 官方推荐的组合 [9]。
6. 轨迹分析
使用 MDAnalysis [10] 对去除周期边界条件并以蛋白质几何中心对齐的生产轨迹进行分析:
RMSD(均方根偏差):以初始平衡结构为参考,分别计算蛋白质 Cα 骨架和配体重原子的 RMSD,评估体系整体结构稳定性。
RMSF(均方根涨落):计算每个残基 Cα 原子相对于平均结构的位置涨落,表征蛋白质各区域的构象柔性。
配体–蛋白氢键:采用几何准则(D···A 距离 ≤ 3.5 Å,D–H···A 角度 ≥ 150°)统计每帧轨迹中配体与蛋白质之间的氢键数目。
主成分分析(PCA):对蛋白质 Cα 原子坐标矩阵进行协方差分析,提取主运动模式。以前两个主成分(PC1、PC2)为坐标轴绘制构象散点图,以帧时间上色,评估模拟收敛性和构象空间采样。
自由能图(FEL):以 PC1/PC2 为反应坐标,通过统计各构象的出现概率 P 计算相对自由能:
$$\Delta G = -k_{\rm B}T \ln\left(\frac{P}{P_{\max}}\right)$$
在 300 K 下,k_BT = 2.494 kJ/mol。FEL 直观展示最优势构象区域及构象转变路径。
7. 结合自由能计算(MM-GBSA)
使用 gmx_MMPBSA [11] 对生产轨迹后 20 ns 均匀抽取 200 帧,采用 MM-GBSA 方法估算配体–蛋白质结合自由能:
$$\Delta G_{\rm bind} = \Delta H - T\Delta S \approx \Delta E_{\rm MM} + \Delta G_{\rm GB} + \Delta G_{\rm SA}$$
其中 ΔE_MM 为分子力学能量(键合 + 静电 + 范德华),ΔG_GB 为广义 Born 隐式溶剂去溶剂化自由能,ΔG_SA 为非极性溶剂化贡献(由溶剂可及面积估算)。
关于熵贡献:本研究未计算构象熵项(−TΔS)。基于简正模式分析(Normal Mode Analysis)的熵计算计算成本高且对柔性体系引入显著噪音,在同系列化合物相对排序场景下,仅凭焓项(MM-GBSA)的相对排序已具有良好的预测能力 [11]。若需绝对结合自由能或化合物结构差异较大,建议采用 FEP/TI 计算。在论文方法段中请明确说明:"Conformational entropy contributions (−TΔS) were not included; binding free energies reported represent the enthalpic MM-GBSA term and are used for relative ranking only."
发表论文方法段模板
以下文字可在投稿时直接参考/修改使用:
Molecular Docking and Molecular Dynamics Simulation. Molecular docking was performed using AutoDock Vina 1.2 [REF-Vina] with the AMBER99SB-ILDN protein structure prepared at pH 7.4 using PDBFixer and OpenMM. The docking grid box was centered on the co-crystallized ligand or known binding site with dimensions of 25 × 25 × 25 Å and an exhaustiveness of 32. The top-ranked binding pose was selected for subsequent molecular dynamics simulations.
All-atom molecular dynamics simulations were performed using GROMACS 2025.1 [REF]. The protein was parameterized with the AMBER99SB-ILDN force field [1], and the ligand was parameterized with the General AMBER Force Field 2 (GAFF2) [2] using AM1-BCC partial charges calculated by Antechamber [3]. The protein-ligand complex was solvated in a cubic box with TIP3P water molecules [4], with a minimum distance of 1.0 nm between the solute and box boundary. The system was neutralized and brought to a physiological salt concentration of 0.15 M NaCl. Energy minimization was performed using the steepest descent algorithm until the maximum force converged to below 1000 kJ mol⁻¹ nm⁻¹. The system was then equilibrated in the NVT ensemble for 500 ps at 300 K using the V-rescale thermostat [6] (τ = 0.1 ps), followed by 500 ps NPT equilibration at 1.0 bar using the C-rescale barostat [GROMACS ref] (τ = 2.0 ps), with harmonic position restraints applied to all heavy atoms of the protein and ligand. Production simulations of 100 ns were performed in the NPT ensemble using the V-rescale thermostat [6] (τ = 0.1 ps) and the Parrinello-Rahman barostat [8] (τ = 5.0 ps) with a 2 fs integration time step. The V-rescale thermostat correctly samples the canonical ensemble [6] and enables full GPU coordinate update in GROMACS. Long-range electrostatics were treated with the Particle Mesh Ewald (PME) method [5] with a 1.0 nm real-space cutoff. Hydrogen bonds were constrained using the LINCS algorithm [REF]. Trajectories were saved every 100 ps. Root mean square deviation (RMSD), root mean square fluctuation (RMSF), and hydrogen bond analyses were performed using MDAnalysis [10]. Principal component analysis (PCA) and free energy landscape (FEL) were constructed from Cα backbone coordinates; the relative free energy was calculated as ΔG = −k_B T ln(P/P_max). Binding free energies were calculated using the MM-GBSA method as implemented in gmx_MMPBSA [11], using 200 snapshots extracted from the last 20 ns of the production trajectory. Conformational entropy contributions (−TΔS) were not included; the reported ΔG values represent enthalpic MM-GBSA terms and are used for relative ranking within the compound series.
分子对接与分子动力学模拟(中文版)。 以 AutoDock Vina 1.2 进行分子对接 [REF-Vina],蛋白质结构经 PDBFixer 和 OpenMM 在 pH 7.4 条件下加氢预处理,对接盒以共晶配体或已知结合位点为中心,尺寸 25 × 25 × 25 Å,搜索深度(exhaustiveness)为 32,取打分最优姿态用于后续分子动力学模拟。使用 GROMACS 2025.1 进行全原子分子动力学模拟。蛋白质采用 AMBER99SB-ILDN 力场 [1] 进行参数化,配体采用 GAFF2 力场 [2] 并通过 Antechamber 计算 AM1-BCC 部分电荷 [3]。蛋白质-配体复合物置于立方周期边界盒中,以 TIP3P 水模型 [4] 填充,溶质距盒子边界最小距离为 1.0 nm,加入 Na⁺/Cl⁻ 离子中和体系并将盐浓度调节至 0.15 mol/L。采用最陡下降法进行能量最小化,收敛至最大力 F_max < 1000 kJ·mol⁻¹·nm⁻¹。随后依次进行 500 ps NVT 平衡(V-rescale 恒温器 [6],τ = 0.1 ps,300 K)和 500 ps NPT 平衡(C-rescale 压控器,τ = 2.0 ps,1.0 bar),平衡过程中对蛋白质和配体重原子施加位置约束(力常数 1000 kJ·mol⁻¹·nm⁻²)。生产模拟采用 V-rescale 恒温器 [6](τ = 0.1 ps)和 Parrinello-Rahman 压控器 [8](τ = 5.0 ps),时间步长 2 fs,共模拟 100 ns,每 100 ps 输出一帧轨迹。V-rescale 恒温器严格产生正则系综 [6] 并支持 GROMACS GPU 全加速。长程静电采用 PME 方法处理 [5],截断距离 1.0 nm,氢键采用 LINCS 算法约束。轨迹分析使用 MDAnalysis [10] 进行 RMSD、RMSF 和氢键分析;以 Cα 骨架前两个主成分(PCA)构建自由能图(FEL),相对自由能 ΔG = −k_BT ln(P/P_max),k_BT = 2.494 kJ/mol(300 K)。结合自由能采用 gmx_MMPBSA [11] 的 MM-GBSA 方法计算,取生产轨迹后 20 ns 均匀抽取的 200 帧。
参考文献
AMBER99SB-ILDN 力场
Lindorff-Larsen K, Piana S, Palmo K, Maragakis P, Klepeis JL, Dror RO, Shaw DE.
Improved side-chain torsion potentials for the Amber ff99SB protein force field.
Proteins. 2010, 78(8), 1950–1958.
DOI: 10.1002/prot.22711GAFF2 力场
Wang J, Wolf RM, Caldwell JW, Kollman PA, Case DA.
Development and testing of a general amber force field.
J. Comput. Chem. 2004, 25(9), 1157–1174.
DOI: 10.1002/jcc.20035AM1-BCC 电荷
Jakalian A, Jack DB, Bayly CI.
Fast, efficient generation of high-quality atomic charges. AM1-BCC model: II. Parameterization and validation.
J. Comput. Chem. 2002, 23(16), 1623–1641.
DOI: 10.1002/jcc.10128TIP3P 水模型
Jorgensen WL, Chandrasekhar J, Madura JD, Impey RW, Klein ML.
Comparison of simple potential functions for simulating liquid water.
J. Chem. Phys. 1983, 79(2), 926–935.
DOI: 10.1063/1.445869PME 长程静电
Essmann U, Perera L, Berkowitz ML, Darden T, Lee H, Pedersen LG.
A smooth particle mesh Ewald method.
J. Chem. Phys. 1995, 103(19), 8577–8593.
DOI: 10.1063/1.470117V-rescale 恒温器
Bussi G, Donadio D, Parrinello M.
Canonical sampling through velocity rescaling.
J. Chem. Phys. 2007, 126(1), 014101.
DOI: 10.1063/1.2408420Nosé-Hoover 恒温器
Nosé S. A molecular dynamics method for simulations in the canonical ensemble.
Mol. Phys. 1984, 52(2), 255–268.
DOI: 10.1080/00268978400101201
Hoover WG. Canonical dynamics: Equilibrium phase-space distributions.
Phys. Rev. A. 1985, 31(3), 1695–1697.
DOI: 10.1103/PhysRevA.31.1695Parrinello-Rahman 压控器
Parrinello M, Rahman A.
Polymorphic transitions in single crystals: A new molecular dynamics method.
J. Appl. Phys. 1981, 52(12), 7182–7190.
DOI: 10.1063/1.328693GROMACS 2025
Abraham MJ, Murtola T, Schulz R, et al.
GROMACS: High performance molecular simulations through multi-level parallelism from laptops to supercomputers.
SoftwareX. 2015, 1–2, 19–25.
DOI: 10.1016/j.softx.2015.06.001MDAnalysis
Michaud-Agrawal N, Denning EJ, Woolf TB, Beckstein O.
MDAnalysis: A toolkit for the analysis of molecular dynamics simulations.
J. Comput. Chem. 2011, 32(10), 2319–2327.
DOI: 10.1002/jcc.21787gmx_MMPBSA / MM-GBSA
Valdés-Tresanco MS, Valdés-Tresanco ME, Valiente PA, Moreno E.
gmx_MMPBSA: A New Tool to Perform End-State Free Energy Calculations with GROMACS.
J. Chem. Theory Comput. 2021, 17(10), 6281–6291.
DOI: 10.1021/acs.jctc.1c00645ACPYPE
Sousa da Silva AW, Vranken WF.
ACPYPE — AnteChamber PYthon Parser interfacE.
BMC Res. Notes. 2012, 5, 367.
DOI: 10.1186/1756-0500-5-367LINCS 约束算法
Hess B, Bekker H, Berendsen HJC, Fraaije JGEM.
LINCS: A linear constraint solver for molecular simulations.
J. Comput. Chem. 1997, 18(12), 1463–1472.
DOI: 10.1002/jcc.540181201
环境安装(首次使用)
详见 CLAUDE.md 技术栈说明,运行:
bash
# 验证所有依赖已就绪
python F:\project\md\check_env.py常见问题
Q:模拟运行到一半断了怎么办?
A:用 --resume 参数接着跑,流水线会自动检测已完成的阶段并跳过:
powershell
conda run -n base python F:\project\md\md.py --project 你的项目名 --resumeQ:PCA 图里有多个分散的簇,正常吗?
A:通常说明模拟未充分收敛或存在真实构象转变。建议:(1) 延长至 200–300 ns;(2) 检查 RMSD 是否在模拟后期出现跳变;(3) 若用于发表,需报告并讨论构象转变的原因。
Q:MM-GBSA 结果是正值,怎么回事?
A:正的 ΔG_bind 表明该构象不稳定结合。可能原因:(1) 对接姿态不合理;(2) 模拟时间不足;(3) 配体在口袋中发生了脱出。建议检查配体 RMSD 曲线和 FEL 图。
Q:100 ns 够发高分文章吗?
A:对于刚性活性位点和低分子量配体(MW < 500),100 ns 通常足够;对于存在诱导契合的靶点、构象灵活的蛋白质(如 GPCRs、IDPs)或大分子配体,建议 ≥ 300 ns,部分顶刊要求 500 ns–1 μs。
文件结构
F:\project\md\
├── md.py ← 主入口(运行这个)
├── config.yaml ← 路径 + 模拟参数
├── check_env.py ← 环境验证
├── 使用说明.md ← 本文件
├── CLAUDE.md ← AI 助手配置
├── mdp\ ← GROMACS 参数文件
│ ├── minim.mdp ← 能量最小化
│ ├── nvt.mdp ← NVT 平衡(500 ps)
│ ├── npt.mdp ← NPT 平衡(500 ps)
│ ├── prod.mdp ← 生产模拟
│ └── mmpbsa.in ← MM-GBSA 参数
├── scripts\ ← Windows 侧辅助模块
│ ├── wsl_bridge.py ← WSL2 通信
│ ├── input_resolver.py ← 从 docking 提取输入
│ └── report.py ← HTML 报告生成
└── wsl_scripts\ ← WSL2 侧各阶段脚本
├── 1_prepare_protein.sh
├── 2_parametrize_ligand.sh
├── 3_build_system.sh
├── 4_em.sh
├── 5_nvt.sh
├── 6_npt.sh
├── 7_prod.sh
├── 8_analyze.py ← RMSD/RMSF/HBond/PCA/FEL
├── 9_mmpbsa.sh
└── lib\
├── merge_gro.py
└── topol_merge.py