返回Skills库
使用OpenMM和MDAnalysis运行和分析分子动力学模拟。设置蛋白质/小分子系统、定义力场、运行能量最小化和生产MD、分析轨迹(RMSD、RMSF、接触图、自由能表面)。用于结构生物学、药物结合和生物物理学。
分子动力学
概述
分子动力学(MD)模拟是一种计算方法,用于研究原子和分子随时间的运动和相互作用。该技能涵盖了使用GROMACS、AMBER、NAMD、LAMMPS、OpenMM等软件包进行分子动力学模拟的全过程,包括系统准备、能量最小化、平衡、生产运行、轨迹分析、自由能计算、增强采样、粗粒化建模和可视化。
核心能力
1. 系统准备
- 结构准备:从PDB或其他格式获取初始结构
- 质子化:添加氢原子,确定质子化状态
- 力场选择:选择合适的力场(AMBER、CHARMM、OPLS、GROMOS)
- 溶剂化:将分子放入水盒子中(TIP3P、TIP4P等)
- 离子添加:添加离子以中和系统并达到所需离子强度
- 能量最小化:消除结构中的不良接触
2. 能量最小化
- 最速下降法:快速消除高能接触
- 共轭梯度法:更精确的能量最小化
- 约束最小化:在约束下最小化特定部分
- 收敛标准:设置能量和力的收敛标准
3. 平衡
- NVT平衡:恒定温度平衡
- NPT平衡:恒定温度和压力平衡
- 温度耦合:使用Berendsen、V-rescale或Nosé-Hoover恒温器
- 压力耦合:使用Berendsen或Parrinello-Rahman恒压器
- 约束:约束键长和键角(LINCS、SETTLE)
4. 生产运行
- 时间步长:选择合适的时间步长(1-2 fs)
- 积分器:使用Leap-Frog或Velocity Verlet积分器
- 周期性边界条件:应用周期性边界条件
- 长程静电:使用PME或Ewald方法
- 范德华力:使用截断或切换函数
- 轨迹保存:定期保存坐标、速度和能量
5. 轨迹分析
- RMSD分析:计算均方根偏差
- RMSF分析:计算均方根涨落
- 氢键分析:识别和分析氢键
- 二级结构分析:分析蛋白质二级结构
- 距离和角度:计算原子间距离和角度
- 回转半径:计算分子的回转半径
- 溶剂可及表面积:计算SASA
6. 自由能计算
- 热力学积分:使用TI计算自由能差
- 自由能微扰:使用FEP计算相对结合自由能
- 伞形采样:使用伞形采样计算PMF
- 元动力学:使用元动力学探索自由能面
- MM/PBSA和MM/GBSA:使用MM/PBSA或MM/GBSA估算结合自由能
7. 增强采样
- 副本交换MD:使用REMD增强采样
- 加速MD:使用aMD提高采样效率
- 高斯加速MD:使用GaMD增强采样
- 自适应偏置力:使用ABF计算自由能面
8. 粗粒化建模
- Martini力场:使用Martini力场进行粗粒化模拟
- 反向映射:将粗粒化结构映射回全原子细节
- 多尺度模拟:结合粗粒化和全原子模拟
9. 可视化
- VMD:使用VMD可视化轨迹
- PyMOL:使用PyMOL可视化结构
- Chimera:使用Chimera或ChimeraX可视化
- 轨迹动画:创建轨迹动画
何时使用此技能
在以下情况下使用此技能:
- 研究蛋白质、核酸、膜蛋白等生物分子的动力学
- 研究药物-配体结合
- 计算结合自由能
- 研究蛋白质折叠
- 研究膜蛋白功能
- 研究蛋白质-蛋白质相互作用
- 研究酶催化机制
- 研究分子识别
常用软件包
GROMACS
- 特点:高性能、开源、广泛使用
- 适用:蛋白质、核酸、膜蛋白、药物-配体复合物
- 优势:快速、易于使用、良好的文档
AMBER
- 特点:强大的力场、丰富的工具
- 适用:蛋白质、核酸、药物分子
- 优势:精确的力场、成熟的工具链
NAMD
- 特点:高性能并行计算
- 适用:大型生物分子系统
- 优势:良好的并行扩展性
LAMMPS
- 特点:通用分子动力学
- 适用:各种分子系统
- 优势:灵活、可扩展
OpenMM
- 特点:Python友好、GPU加速
- 适用:快速原型开发、GPU计算
- 优势:易于使用、Python API
使用示例
GROMACS示例
# 1. 准备拓扑文件
gmx pdb2gmx -f protein.pdb -o processed.gro -water tip3p -ff amber99sb-ildn
# 2. 定义盒子并添加溶剂
gmx editconf -f processed.gro -o boxed.gro -c -d 1.0 -bt dodecahedron
gmx solvate -cp boxed.gro -cs spc216.gro -o solvated.gro -p topol.top
# 3. 添加离子
gmx grompp -f ions.mdp -c solvated.gro -p topol.top -o ions.tpr
gmx genion -s ions.tpr -p topol.top -pname NA -nname CL -neutral -conc 0.15
# 4. 能量最小化
gmx grompp -f minim.mdp -c ionized.gro -p topol.top -o em.tpr
gmx mdrun -deffnm em
# 5. NVT平衡
gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -o nvt.tpr
gmx mdrun -deffnm nvt
# 6. NPT平衡
gmx grompp -f npt.mdp -c nvt.gro -r nvt.gro -t nvt.cpt -p topol.top -o npt.tpr
gmx mdrun -deffnm npt
# 7. 生产运行
gmx grompp -f md.mdp -c npt.gro -r npt.gro -t npt.cpt -p topol.top -o md.tpr
gmx mdrun -deffnm md
# 8. 分析
gmx rms -s md.tpr -f md.xtc -o rmsd.xvg -ref
gmx rmsf -s md.tpr -f md.xtc -o rmsf.xvg -resOpenMM示例
from simtk.openmm import app
import simtk.openmm as mm
from simtk import unit
# 1. 加载PDB文件
pdb = app.PDBFile('protein.pdb')
# 2. 创建力场
forcefield = app.ForceField('amber99sb.xml', 'tip3p.xml')
# 3. 创建系统
system = forcefield.createSystem(pdb.topology, nonbondedMethod=app.PME,
nonbondedCutoff=1.0*unit.nanometers,
constraints=app.HBonds)
# 4. 创建积分器
integrator = mm.LangevinIntegrator(300*unit.kelvin, 1.0/unit.picoseconds,
2.0*unit.femtoseconds)
# 5. 创建模拟
simulation = app.Simulation(pdb.topology, system, integrator)
simulation.context.setPositions(pdb.positions)
# 6. 最小化能量
simulation.minimizeEnergy()
# 7. 平衡
simulation.context.setVelocitiesToTemperature(300*unit.kelvin)
simulation.step(10000)
# 8. 生产运行
simulation.reporters.append(app.DCDReporter('trajectory.dcd', 1000))
simulation.reporters.append(app.StateDataReporter('data.csv', 1000,
step=True, potentialEnergy=True, temperature=True))
simulation.step(100000)最佳实践
- 系统准备:仔细检查初始结构,确保没有错误
- 力场选择:选择适合系统的力场
- 溶剂化:确保溶剂盒子足够大,避免周期性相互作用
- 离子强度:使用生理相关的离子浓度
- 平衡:充分平衡系统,确保温度和压力稳定
- 时间步长:使用合适的时间步长,避免能量漂移
- 长程静电:使用PME或Ewald方法处理长程静电
- 约束:约束键长和键角,允许更大的时间步长
- 轨迹保存:定期保存轨迹,避免丢失数据
- 分析:使用多种分析方法验证结果
常见问题
Q: 如何选择合适的力场?
A: 根据系统类型选择。蛋白质常用AMBER、CHARMM;核酸常用AMBER、CHARMM。
Q: 平衡需要多长时间?
A: 通常需要1-10 ns,具体取决于系统大小和复杂性。
Q: 如何判断模拟是否收敛?
A: 检查能量、温度、压力、RMSD等是否稳定。
Q: 如何计算结合自由能?
A: 使用MM/PBSA、MM/GBSA、FEP或TI等方法。
资源
- GROMACS文档:http://www.gromacs.org/documentation
- AMBER文档:https://ambermd.org/doc12/
- NAMD文档:https://www.ks.uiuc.edu/Research/namd/
- LAMMPS文档:https://lammps.sandia.gov/doc/
- OpenMM文档:http://docs.openmm.org/
兼容工具
Claude CodeOpenClawHermes Agent
站内相关工具
数据来源:claude-scientific-skills(MIT 许可) | 查看上游来源
上游项目:K-Dense-AI/scientific-agent-skills / claude-scientific-skills | 收录时间:2026-08-18 | 更新:2026-08-18
本页面内容基于上游开源许可项目整理,仅供学习参考。AI铺子不对第三方内容承担责任, 详情请参阅免责声明。