返回Skills库

分子动力学

MIT
🏗️ 行业应用
K-Dense-AI蛋白质

使用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 -res

OpenMM示例

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)

最佳实践

  1. 系统准备:仔细检查初始结构,确保没有错误
  2. 力场选择:选择适合系统的力场
  3. 溶剂化:确保溶剂盒子足够大,避免周期性相互作用
  4. 离子强度:使用生理相关的离子浓度
  5. 平衡:充分平衡系统,确保温度和压力稳定
  6. 时间步长:使用合适的时间步长,避免能量漂移
  7. 长程静电:使用PME或Ewald方法处理长程静电
  8. 约束:约束键长和键角,允许更大的时间步长
  9. 轨迹保存:定期保存轨迹,避免丢失数据
  10. 分析:使用多种分析方法验证结果

常见问题

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-skillsMIT 许可) | 查看上游来源

上游项目:K-Dense-AI/scientific-agent-skills / claude-scientific-skills | 收录时间:2026-08-18 | 更新:2026-08-18

本页面内容基于上游开源许可项目整理,仅供学习参考。AI铺子不对第三方内容承担责任, 详情请参阅免责声明