GROMACS蛋白质-小分子模拟全链路原子一致性校验指南
简介:本资源是一份面向计算生物学与药物设计初学者的GROMACS分子动力学实战学习笔记,聚焦蛋白质-小分子复合物的完整模拟流程与关键数据分析方法。内容覆盖环境配置、结构预处理(PDB清洗、缺失原子补全、氢原子添加与末端电荷设定)、力场选择(AMBER/OPLS-AA/GROMOS等)、溶剂化建模(SPC/E/TIP3P等水模型应用)、NPT系综平衡及RMSD/RMSF/氢键等核心分析技术,兼具原理说明与命令实操细节。资源为1个2.39MB的DOCX文档,结构清晰、图文结合,含典型命令模板、参数解析、常见报错提示与操作逻辑图解,便于边学边练、快速复现。目前已有12051人学习下载,适合高校生化/药学专业学生、科研新手及需系统掌握GROMACS标准工作流的研究者作为入门指南与案头参考。
1. GROMACS蛋白质-小分子复合物模拟不是“跑通就行”,而是从pdb清洗到NPT平衡的全链路可信度构建
你花三天配好环境、下载PDB、删完水、补完缺失残基、跑出第一个.tpr,结果mdrun刚启动就报错Fatal error: Number of coordinates in coordinate file does not match topology——这不是玄学,是拓扑与结构在原子层级彻底失配的明确信号。GROMACS中蛋白质-小分子复合物的动力学模拟,本质是一场对原子级一致性的严苛校验:从PDB里一个被MOE误标为H1的氢原子,到topol.top中[ atoms ]段第372行电荷值多写一位小数,再到npt.mdp里tau_p = 2.0单位漏写ps,任何一处微小偏差都会在能量最小化阶段暴露为力场崩溃,在NPT平衡时演变为密度震荡,在MD生产阶段直接导致轨迹飞散。这不是软件难用,而是它把热力学系综、周期性边界、长程静电处理这些黑匣子全摊开给你看——你必须亲手缝合每一条数据流。这份学习笔记不教你怎么“跳过报错继续跑”,而是带你把gmx pdb2gmx的每个交互选项、gmx solvate的溶剂填充逻辑、genion替换水分子的拓扑更新机制,全部拆进gro/top/ndx三文件协同演化的底层事实里。适合已能独立完成单蛋白模拟、但一加小分子就反复翻车的进阶用户;也适合被导师扔进课题组、手握1AKI.pdb却卡在posre.itp生成环节的研一新生。它解决的不是“能不能跑”,而是“为什么这个.gro和那个.top必须严格一一对应”——这才是你在VMD里看到稳定折叠、在gmx rms里拿到可信RMSD曲线的前提。
2. 拓扑生成与结构预处理:pdb2gmx不是转换器,而是力场语义解析器
GROMACS的拓扑文件(.top)不是坐标文件的附属说明,它是整个模拟系统的原子宪法:定义哪些原子存在、带多少电荷、属于哪个残基、如何成键、键角二面角参数为何值。而gmx pdb2gmx正是将PDB这种“几何快照”翻译成力场“语义契约”的核心编译器。它的输出质量,直接决定后续所有步骤是否在合法框架内运行。
2.1 力场选型不是查表,而是匹配研究目标的物理保真度
AMBER、OPLS-AA、CHARMM、GROMOS四大主流力场并非性能排行榜,而是针对不同生物场景设计的物理模型:
| 力场类型 | 适用场景 | 关键物理特性 | GROMACS调用名 | 注意事项 |
|---|---|---|---|---|
| AMBER99SB-ILDN | 高精度蛋白质构象采样、酶催化机理 | 优化主链二面角、侧链χ角势能面 | amber99sb-ildn | 对His质子化状态敏感,必须用-inter交互指定 |
| OPLS-AA/L | 蛋白质-小分子结合自由能计算 | 平衡范德华与静电参数,小分子兼容性好 | oplsaa | 小分子需额外提供ligand.itp,且[ atomtypes ]必须与力场顶层forcefield.itp无冲突 |
| CHARMM36 | 膜蛋白、脂质双层体系 | 显式处理极化效应、脂质头基电荷分布 | charmm36-jul2022 | 安装包体积大(>500MB),需确认gmx share/gromacs/top/charmm36路径存在 |
| GROMOS 54a7 | 快速筛选、粗粒化前驱体 | 简化二面角项,计算速度快 | gromos54a7 | 对脯氨酸环张力描述较弱,不适合精密切割 |
提示:新手务必从
amber99sb-ildn起步。它对蛋白质主链的描述最成熟,报错信息最友好,且pdb2gmx内置的-ter和-inter交互逻辑最完善。别被“OPLS更适合小分子”的说法带偏——先让蛋白站稳,再谈配体。
2.2 pdb2gmx命令执行:交互式电荷分配是不可跳过的血泪关卡
以1AKI_clean.pdb为例,执行标准命令:
gmx pdb2gmx -f 1AKI_clean.pdb -o 1AKI_processed.gro -water spce -ff amber99sb-ildn看似简单,但终端会弹出三次关键交互,跳过任意一次都将埋下后续崩溃的种子:
Select the Force Field:
输入1选择amber99sb-ildn后回车。若此处输错编号(如输0),pdb2gmx会静默使用默认力场,导致.top中#include "amber99sb-ildn.ff/forcefield.itp"路径错误。Select the Water Model:
输入2选择SPC/E(对应spce)。注意:-water spce参数仅预设选项,终端仍会要求确认。若输入3(TIP3P)但力场未适配(如AMBER力场原生不支持TIP3P电荷分布),gmx grompp在后续步骤会报Fatal error: Charge group 1 has a charge of 0.000000。Select N- and C-terminus types:
这是最易翻车环节。按Enter接受默认NH3+/COO-后,程序会问:Select the N-terminus type for residue 1 (ALA) 1: NH3+ (charged, default) 2: NH2 (neutral) 3: NH3+ (charged, H-bonded to backbone)必须逐个检查每条链首尾残基。例如某条链C端是甘氨酸(GLY),其羧基在生理pH下应为
COO-(选项1),若误选COOH(选项2),则整个系统净电荷失衡,genion阶段会因-neutral参数强制添加过多Cl⁻而引发水分子重叠。
2.3 输出文件的原子级验证:三文件必须构成闭环
pdb2gmx成功后生成三个文件,需人工交叉验证:
1AKI_processed.gro:末尾三行是盒子向量(如8.50000 8.50000 8.50000),第3列是Z轴高度。打开文件,统计总原子数(第2行数字)。topol.top:搜索[ molecules ]段,找到Protein_A行,其后数字(如1)表示该分子数量;再向上找#include "amber99sb-ildn.ff/forcefield.itp",确认路径存在。posre.itp:这是位置限制文件,仅包含重原子(非H)。用grep -c "^ *" posre.itp统计行数,应≈1AKI_processed.gro中非氢原子总数(可用awk '$5!="H" {count++} END{print count}' 1AKI_processed.gro验证)。
逻辑说明:
posre.itp的原子索引必须与.gro中重原子顺序严格一致。若.gro第100行是CA原子,posre.itp第100行就必须是100 1000 1000 1000(索引+三方向力常数)。任何错位都会导致NVT阶段蛋白剧烈抖动。
2.4 小分子配体的拓扑陷阱:ligand.itp不是复制粘贴就能用
当体系含小分子(如抑制剂)时,pdb2gmx无法自动生成其拓扑。常见做法是用acpype或antechamber生成ligand.itp,但直接合并到topol.top必报错。根本原因在于力场原子类型冲突:
ligand.itp中[ atomtypes ]段定义了ca,c3,h1等类型;amber99sb-ildn.ff/forcefield.itp中已定义同名原子类型,但参数不同(如ca在蛋白中是芳香碳,在配体中可能是sp³碳)。
正确解法(以AMBER力场为例):
- 将
ligand.itp中[ atomtypes ]段全部删除; - 在
topol.top顶部#include "amber99sb-ildn.ff/forcefield.itp"之后,插入ligand.itp中除[ atomtypes ]外的全部内容(即[ moleculetype ],[ atoms ],[ bonds ]等); - 修改
[ atoms ]段中所有原子类型,使其匹配力场定义(如将配体中的ca改为c3,需查amber99sb-ildn.ff/atomtypes.atp确认)。
参数说明:
atomtypes.atp是力场原子类型数据库,c3代表sp³杂化碳,ca代表芳香碳。强行保留配体[ atomtypes ]会导致GROMACS加载时覆盖力场原生定义,使蛋白碳原子参数错乱。
3. 溶剂化与离子平衡:盒子尺寸、水模型、电荷中和的三维约束
完成拓扑构建后,体系仍是真空中的孤立蛋白。要模拟真实生理环境,必须用周期性水盒子包裹,并中和电荷。这步看似只是“加水加盐”,实则是对空间几何、静电平衡、计算效率三重约束的精密求解。
3.1 盒子构建:cubic vs dodecahedron不是形状偏好,而是计算成本博弈
gmx editconf定义盒子时,-bt参数选择直接影响模拟规模:
# 方案A:立方盒子(cubic) gmx editconf -f 1AKI_processed.gro -o 1AKI_newbox.gro -c -d 1.0 -bt cubic # 方案B:菱形十二面体(dodecahedron) gmx editconf -f 1AKI_processed.gro -o 1AKI_dodec.gro -c -d 1.0 -bt dodecahedron- 立方盒子:边长=
max(蛋白X宽, Y宽, Z宽) + 2×1.0nm。若蛋白尺寸为5.2×4.8×6.1 nm,则盒子为7.2×7.2×7.2 nm,体积=373.2 nm³。 - 菱形十二面体:同等最小图像距离(1.0nm)下,体积仅为立方盒子的71%。上例中体积≈265.0 nm³,减少29%水分子。
为什么选dodecahedron?
GROMACS的ns_type = grid邻近搜索算法对盒子形状敏感。立方盒子有8个顶点,顶点处水分子邻近列表更新频率高;菱形十二面体无顶点,邻近搜索更均匀。实测同配置下,dodecahedron比cubic提速12-18%。但注意:-d 1.0是硬约束——若蛋白某维度超7.0nm,dodecahedron可能无法容纳,此时必须切回cubic。
3.2 水模型选择:SPC/E、TIP3P、TIP4P不是精度竞赛,而是力场耦合协议
GROMACS内置水模型参数与力场强绑定,不能跨力场混用:
amber99sb-ildn+spce:官方推荐组合,SPC/E的偶极矩(2.35 D)与AMBER电荷匹配;oplsaa+tip3p:OPLS力场专为TIP3P优化,若强行用spce,gmx grompp会报Warning: The combination rule is set to 2 but the water model uses rule 1;charmm36+charmm36-water:必须用charmm36自带的tip3p变体(charmm36-water.tpr),普通tip3p.gro缺少极化修正项。
实操验证法:
查看水模型文件$GMXDATA/top/spce.itp,搜索[ defaults ]段:
[ defaults ] ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 1 2 yes 0.5 0.8333comb-rule = 2表示采用Lorentz-Berthelot混合规则,这与AMBER力场forcefield.itp中comb-rule 2一致。若comb-rule值不同(如TIP3P为1),则范德华参数计算错误。
3.3 溶剂填充:solvate命令的拓扑同步机制
gmx solvate不仅是“把水倒进盒子”,更是拓扑动态更新引擎:
gmx solvate -cp 1AKI_newbox.gro -cs spc216.gro -o 1AKI_solv.gro -p topol.top-cp:蛋白盒子坐标(输入);-cs:水分子构型模板(spc216.gro是216个SPC/E水分子的预平衡集合);-o:输出溶剂化后坐标;-p:关键!指定要修改的拓扑文件。
执行后,topol.top会被自动追加两行:
; Include water topology #include "spc.itp" ... [ molecules ] ; Compound #mols Protein_A 1 SOL 12456 ; 自动计算的水分子数逻辑说明:
solvate通过解析-cs文件的原子数(spc216.gro含216×3=648个原子),反推盒子中可容纳的水分子数,并写入[ molecules ]段。若手动修改topol.top中SOL数量,gmx grompp会因坐标数≠拓扑预期而崩溃。
3.4 离子添加:genion不是“加盐”,而是水分子置换与电荷守恒的原子级手术
gmx genion的本质是:在SOL组中随机挑选水分子,用Na⁺/Cl⁻原子替换其氧原子位置,并更新拓扑中水分子计数。命令:
gmx grompp -f ions.mdp -c 1AKI_solv.gro -p topol.top -o ions.tpr gmx genion -s ions.tpr -o 1AKI_solv_ions.gro -p topol.top -pname NA -nname CL -neutral执行时终端提示:
Select a group: SOL必须输入13(假设SOL组编号为13)。若误选1(System),genion会尝试替换整个体系的原子,导致灾难性错误。
参数深挖:
-neutral表示添加离子使体系净电荷为0。若蛋白净电荷为+8,则添加8个Cl⁻;若为-5,则添加5个Na⁺。也可用-nn 8强制添加8个Na⁺(不中和),但需确保后续em.mdp中emtol足够大,否则EM阶段因强静电排斥而失败。
4. 能量最小化与平衡:从原子重叠到NPT稳定的四阶收敛验证
溶剂化后体系充满原子碰撞(如水氧与蛋白CA距离<0.1nm)和电荷斥力(如两个Arg侧链靠近)。直接跑MD必崩溃。必须通过EM→NVT→NPT三级平衡,让体系在热力学约束下逐步松弛。
4.1 能量最小化(EM):steep算法不是万能钥匙,而是重叠修复的最后防线
minim.mdp中关键参数:
integrator = steep ; 最速下降法,适合大幅修正 emtol = 1000.0 ; 力阈值(kJ/mol/nm),低于此值停止 nsteps = 50000 ; 最大步数,防无限循环 coulombtype = PME ; 长程静电必须用PME,避免截断误差 rvdw = 1.0 ; 范德华截断半径,必须≥盒子最小图像距离一半执行与验证:
gmx grompp -f minim.mdp -c 1AKI_solv_ions.gro -p topol.top -o em.tpr gmx mdrun -v -deffnm em-v输出实时力值,观察Potential Energy是否从正数(斥力主导)降至负数千kJ/mol(引力主导);- 检查
em.log末尾:Steepest Descents converged in 12432 steps表示成功;若达nsteps仍未收敛,说明初始重叠太严重,需回溯检查editconf -d距离是否过小。
避坑 / 常见问题 / 排查
现象1:mdrun报错Fatal error: Two atoms are only 0.031 nm apart
原因:editconf -d设置过小(如0.5nm),蛋白表面原子与盒子边界水分子重叠。
解决:增大-d至1.0-1.2nm,重新editconf→solvate→genion。现象2:
em.edr中Potential能量震荡不收敛,最后一步力值>5000 kJ/mol/nm
原因:minim.mdp中rvdw = 0.8小于实际最小图像距离(1.0nm),导致范德华力计算错误。
解决:rvdw必须≥-d值,设为1.0。现象3:
gmx energy -f em.edr -o potential.xvg绘图显示能量骤降后反弹
原因:steep算法在势能面平坦区失效,需切换至cg(共轭梯度)算法。
解决:改integrator = cg,emtol = 1000.0,nsteps = 10000。现象4:
em.gro用VMD打开,蛋白结构扭曲成麻花状
原因:posre.itp未在topol.top中正确#include,导致重原子无位置限制,EM时被水分子暴力推开。
解决:检查topol.top是否含#include "posre.itp",且位置在[ system ]段之前。
4.2 NVT平衡:V-rescale温控不是温度开关,而是动能重分配的统计过程
NVT阶段目标是让系统温度达到300K平台,同时保持体积恒定。nvt.mdp核心:
tcoupl = V-rescale ; 比Berendsen更准确的温控 tc-grps = Protein Non-Protein ; 分组控温,避免蛋白过热 tau_t = 0.1 0.1 ; 温度耦合时间常数(ps),越小响应越快但波动越大 ref_t = 300 300 ; 参考温度(K) gen_vel = yes ; 从麦克斯韦分布生成初速度 gen_temp = 300 ; 初速度温度执行要点:
gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -o nvt.tpr gmx mdrun -deffnm nvt-r em.gro是关键!它施加位置限制(posre.itp),防止蛋白在升温时剧烈移动;tc-grps分组确保蛋白与水独立控温,避免水分子热运动带动蛋白整体漂移。
验证方法:
gmx energy -f nvt.edr -o temperature.xvg→ 用xmgrace temperature.xvg绘图,观察0-20ps剧烈波动后,20-100ps是否稳定在295-305K区间。若全程在280K以下,说明tau_t过大,温控响应迟钝。
4.3 NPT平衡:Parrinello-Rahman压控不是加压阀,而是盒子向量的动态弛豫
NPT阶段引入压力耦合,让密度收敛至1.0 g/cm³(水)。npt.mdp关键差异:
pcoupl = Parrinello-Rahman ; 各向同性压控,调整盒子向量 pcoupltype = isotropic ; 盒子各向同性缩放 tau_p = 2.0 ; 压力耦合时间常数(ps) ref_p = 1.0 ; 参考压力(bar) compressibility = 4.5e-5 ; 水的等温压缩率(bar⁻¹),必须匹配水模型执行命令:
gmx grompp -f npt.mdp -c nvt.gro -r nvt.gro -t nvt.cpt -p topol.top -o npt.tpr gmx mdrun -v -deffnm npt-t nvt.cpt读取NVT末态检查点,保证连续性;compressibility值必须与水模型匹配:SPC/E用4.5e-5,TIP3P用4.2e-5,错用会导致密度震荡。
验证方法:
gmx energy -f npt.edr -o pressure.xvg→ 绘图看压力是否在0.5-1.5 bar间波动;gmx energy -f npt.edr -o density.xvg→ 密度应在0.995-1.005 g/cm³平台。若密度持续上升,说明tau_p过小,盒子收缩过猛。
5. 生产模拟与轨迹分析:从mdrun输出到RMSD/RMSF的物理意义解码
NPT平衡后,系统已处于300K、1bar热力学稳态。此时移除位置限制(-r参数去掉),释放蛋白自由度,进入生产MD采集数据阶段。
5.1 MD参数设计:dt=2fs不是惯例,而是数值稳定性与采样精度的权衡
md.mdp中dt = 0.002(2fs)是GROMACS默认值,但需理解其物理约束:
- 稳定性要求:
dt必须小于体系最高振动频率周期的1/10。O-H键振动周期≈10fs,故dt≤1fs最安全,但2fs在多数蛋白体系中可接受; - 采样精度要求:若研究氢键断裂(寿命~1ps),
dt=2fs可每500步采样1ps,满足奈奎斯特采样定理。
关键参数:
nsteps = 500000 ; 500000 × 0.002 = 1000 ps = 1 ns nstxout-compressed = 5000 ; 每10ps保存一次压缩坐标(.xtc),减小文件体积 compressed-x-grps = System ; 保存整个体系 continuation = yes ; 从NPT续跑 gen_vel = no ; 从npt.cpt读取末态速度,保证动力学连续5.2 轨迹分析:gmx rms不是画曲线,而是量化构象偏移的参考系选择
RMSD(均方根偏差)衡量蛋白相对于参考结构的全局偏移,但参考系选择决定物理意义:
# 方案1:以EM后结构为参考(评估平衡稳定性) gmx rms -s em.tpr -f npt.xtc -o rmsd_npt.xvg -tu ns # 方案2:以晶体结构为参考(评估模拟保真度) gmx rms -s 1AKI_clean.pdb -f md.xtc -o rmsd_crystal.xvg -tu ns # 方案3:以NPT末态为参考(评估生产阶段漂移) gmx rms -s npt.gro -f md.xtc -o rmsd_prod.xvg -tu ns-s指定参考结构,.tpr含拓扑信息,.pdb仅含坐标;- 若用
1AKI_clean.pdb作参考,需确保其原子顺序与.xtc完全一致(用gmx make_ndx生成相同索引组)。
参数说明:
-tu ns输出时间单位为纳秒;-o输出.xvg文件,可用xmgrace绘图。典型RMSD曲线:0-100ps快速上升至1.5Å,100-1000ps在1.2-2.0Å间波动,表明蛋白核心稳定。
5.3 RMSF(均方根涨落):识别柔性区域的原子级探针
RMSF反映各残基Cα原子的波动幅度,揭示功能位点柔性:
gmx rmsf -s npt.tpr -f md.xtc -o rmsf.xvg -res -ox bfact.pdb-res按残基输出(非原子);-ox bfact.pdb生成B因子着色PDB,可在PyMOL中可视化:load bfact.pdb,spectrum b, rainbow。
物理意义:RMSF<0.5Å为刚性核心区(如α螺旋),>1.5Å为柔性环区(如酶活性口袋环)。若某配体结合口袋残基RMSF突增,提示配体可能诱导构象变化。
5.4 氢键分析:gmx hbond不是统计数量,而是判定相互作用存续时间
配体-蛋白氢键是结合稳定性的关键指标:
gmx hbond -s md.tpr -f md.xtc -num hbnum.xvg -hbm hbmap.xpm -hbn hbacount.xvg-num输出每帧氢键总数;-hbm生成氢键矩阵(XPM格式),用gmx xpm2ps -f hbmap.xpm -o hbmap.eps转PDF;-hbn输出各氢键存在时间(ps),筛选>50ps的稳定氢键。
判定标准:GROMACS默认氢键定义为
D-H···A,距离<0.35nm且角度>120°。若研究特定残基(如ASP30),可用-n index.ndx指定其原子索引组。
6. 避坑实战:五类高频翻车现场与原子级修复方案
GROMACS模拟中90%的崩溃源于可预测的配置错误。以下是我在某高校分子模拟实验室带学生踩过的真实血泪坑,按发生频率排序,每条附带终端原始报错、根因定位法和一行修复命令。
6.1 拓扑-坐标原子数不匹配:最痛但最易查的“数数错误”
现象:gmx grompp报错
Fatal error: Number of coordinates in coordinate file (1AKI_solv.gro, 12456 atoms) does not match topology (topol.top, 12457 atoms)原因:solvate向topol.top追加SOL 12456后,有人手动在[ molecules ]段下方多加了一行空格或注释,导致GROMACS解析时多计1行;或posre.itp中#ifdef POSRES未闭合,使#include失效。
解决:
# 1. 精确统计topol.top中SOL数量(排除注释行) grep -v "^;" topol.top | grep -A 1000 "\[ molecules \]" | grep "SOL" | awk '{print $2}' # 2. 精确统计gro文件原子数(跳过注释和盒子行) sed -n '3,$p' 1AKI_solv.gro | sed '/^ *$/d' | wc -l # 3. 若不等,用vim打开topol.top,删除[ molecules ]段后所有空行和注释行6.2 水模型与力场comb-rule冲突:静默错误的隐形杀手
现象:gmx grompp无报错,但mdrun运行100步后崩溃,md.log末尾:
Step 102: The distance between two atoms is 0.000000 nm, which is less than the minimum allowed 0.000000 nm.原因:spce.itp中comb-rule = 2,但topol.top中#include "amber99sb-ildn.ff/forcefield.itp"被误删,GROMACS回退到默认comb-rule = 1,导致范德华参数计算为零。
解决:
# 检查forcefield.itp是否存在且被正确include grep "amber99sb-ildn.ff/forcefield.itp" topol.top # 若无输出,手动添加到topol.top顶部 echo '#include "amber99sb-ildn.ff/forcefield.itp"' | cat - topol.top > topol_fixed.top6.3 离子添加后索引组错位:genion的“SOL组幻觉”
现象:gmx genion执行后,gmx make_ndx创建index.ndx时,SOL组编号不是13而是1,且gmx grompp -n index.ndx报错Group SOL not found。
原因:genion修改topol.top后,SOL分子数增加,但make_ndx未重新解析拓扑,仍沿用旧索引。
解决:
# 强制make_ndx重新读取拓扑 gmx make_ndx -f 1AKI_solv_ions.gro -o index.ndx << EOF del 13 name 13 SOL q EOF6.4 NVT阶段蛋白飞出盒子:位置限制文件失效
现象:VMD打开nvt.xtc,蛋白在盒子中高速平移,10ps后撞到边界消失。
原因:nvt.mdp中-r em.gro指定了限制结构,但em.gro是EM后结构,其盒子向量(末尾三行)与nvt.mdp中pbc = xyz要求的周期性边界不匹配。
解决:
# 用editconf重置em.gro盒子为立方体 gmx editconf -f em.gro -o em_box.gro -c -bt cubic -d 1.0 # 在nvt.mdp中确保pbc = xyz,且-r指向em_box.gro gmx grompp -f nvt.mdp -c em_box.gro -r em_box.gro -p topol.top -o nvt.tpr6.5 RMSD曲线诡异震荡:参考结构与轨迹原子序不一致
现象:gmx rms输出rmsd.xvg中数值在0.1-5.0Å间无规律跳变,远超正常蛋白波动范围。
原因:1AKI_clean.pdb中残基顺序为ALA, GLY, SER...,而md.xtc来自npt.tpr,其拓扑中残基顺序为SER, ALA, GLY...(因pdb2gmx按PDB原子序重排)。
解决:
# 用gmx make_ndx生成与轨迹一致的索引组 gmx make_ndx -f npt.gro -o ref.ndx << EOF keep 1-1000 q EOF # 以npt.gro为参考(与轨迹同源) gmx rms -s npt.gro -f md.xtc -n ref.ndx -o rmsd_fixed.xvg从那以后我每次生成新.tpr,都强制走一遍gmx check -s xxx.tpr,它会输出#atoms, #residues, #molecules三行数字——我盯着这三行,像核对银行流水一样,直到它们与.gro
本文还有配套的精品资源,点击获取