--- name: gromacs description: Use when working on biomolecular molecular dynamics with GROMACS, including system setup, equilibration, production runs, trajectory analysis, or MM/PBSA-style post-processing. --- # GROMACS 分子动力学 用 GROMACS 做分子动力学模拟:从体系搭建、平衡、产出 MD 到轨迹分析和结合自由能评估。 本 skill **故意保持轻量**: - 它负责告诉 agent 什么时候该用 GROMACS、标准工作流是什么、哪些科学规范不能踩 - 它**不**充当完整命令手册 - 具体命令行选项、`.mdp` 参数、子命令语法统一去查 `scholaraio toolref` ## Agent 默认协议(toolref-first) 对 GROMACS 问题,agent 默认按这个顺序工作: 1. 先判断问题属于哪一层:`gmx` 子命令、`.mdp` 参数、分析工具、力场/拓扑流程 2. 写 `.mdp` 前先查 thermostat、barostat、constraints、cutoff、输出频率这类高风险参数 3. 对用户自然语言说法,先 `search` 再 `show` 4. 如果 `toolref` 已经能回答,就不要在 skill 中重复堆参数表 5. 如果 `toolref` 缺页或命中不理想,agent 应先完成任务,并明确这是 `toolref` 覆盖缺口,而不是用户需要自己手动适配 这意味着: - 普通用户不需要自己打磨 GROMACS 参数映射 - agent 应优先自己把 `Parrinello-Rahman`、`v-rescale thermostat`、`constraints h-bonds` 等问法映射到参数页 - `skill` 负责路线和规范,`toolref` 负责参数与接口 ## 前置条件 ```bash # 安装 conda install -c conda-forge gromacs # 配体参数化 conda install -c conda-forge acpype ambertools # 结合自由能 pip install gmx-MMPBSA # 可视化(可选) conda install -c conda-forge pymol-open-source ``` 验证:`gmx --version` 应显示版本号和 GPU 支持信息。 ## 何时使用 适合: - 蛋白-配体结合、蛋白构象变化、膜蛋白、溶液中生物大分子 - 需要标准 MD 流程、轨迹分析、MM/PBSA 估算 不适合: - 需要量子化学精度时,转 DFT / QM/MM - 配体参数化来源不明、力场体系不一致时,不要直接推进 ## Toolref 优先 当 agent 不确定子命令、选项、`.mdp` 参数含义时,**先查 toolref**。 常用查法: ```bash scholaraio toolref search gromacs "temperature coupling" scholaraio toolref show gromacs mdp integrator scholaraio toolref show gromacs mdp pcoupl scholaraio toolref show gromacs mdp tau-t scholaraio toolref show gromacs mdp ref-t ``` 推荐习惯: - 写 `.mdp` 前,先逐项查核心参数 - 不靠记忆拼写 thermostat/barostat 选项 - 对“这项参数在当前版本是否还推荐”这类问题,优先相信 `toolref` 而不是旧教程 如果遇到覆盖缺口: - 先继续使用 GROMACS 官方文档完成任务 - 在输出中点明这里超出了当前 `toolref` 覆盖 - 不要把补齐 `toolref` 当成普通用户的前置工作 ## 核心流程 ### 知识库协作模式 这是本 skill 与普通 GROMACS 教程的核心区别。**在任何模拟开始前:** 1. 用 `scholaraio usearch "<体系关键词>"` 检索知识库中的相关论文 2. 从论文中提取:力场选择依据、模拟参数(温度、压力、时长)、验证基准数据 3. 在 `.mdp` 文件注释中标注参数来源(如 "# 300 K, per Homeyer et al. 2014 JCTC") 4. 模拟完成后,将结果与论文数据定量对比 建议工作流: 1. 读论文,确定力场、温压条件、盐浓度、模拟时长和验证指标 2. 准备蛋白/配体结构与拓扑 3. 构建溶剂盒并加离子 4. 能量最小化 5. NVT / NPT 平衡 6. 产出 MD 7. 轨迹分析 8. 必要时做 MM/PBSA,并和文献/实验对比 典型输出: - RMSD / RMSF / 氢键 / 回旋半径 - 关键构象快照或轨迹动画 - 结合自由能及误差条 - 对应文献基准的对比图 ### 常见查询点 - `.mdp` 核心参数:`integrator`, `dt`, `pcoupl`, `tcoupl`, `tau-t`, `ref-t` - 产出阶段系综设置 - PME / cutoff / 压缩轨迹输出参数 - 不同版本对 thermostat/barostat 的推荐配置 这些都应优先通过 `toolref` 查询,而不是写死在 skill 里。 ## 科学规范(专家级检查清单) | 检查项 | 正确做法 | 常见错误 | |--------|---------|---------| | 力场 | CHARMM36m 或 AMBER ff19SB | 用过时的 OPLS-AA | | 配体参数化 | GAFF2 + AM1-BCC (ACPYPE) | 自动生成的垃圾拓扑 | | 力场一致性 | 全 AMBER 或全 CHARMM,**不混用** | CHARMM 蛋白 + GAFF 配体 | | 产出恒压器 | Parrinello-Rahman | 产出阶段用 Berendsen | | 盒子形状 | 十二面体(省 30% 水) | 立方体 | | 离子浓度 | 0.15 M NaCl | 只中和电荷不加盐 | | MM/PBSA 取样 | 最后 10 ns(平衡后) | 用整条轨迹 | | 误差报告 | ΔG ± σ | 只报单个值 | 附加规范: - 平衡阶段和产出阶段不要混用目标不同的耦合设置而不说明理由 - 配体参数化来源必须可追溯 - 报告结果时不要只给一条 RMSD 曲线,要回到生物物理问题本身 ## 可视化 | 工具 | 用途 | |------|------| | PyMOL | 结合口袋特写、氢键、光线追踪静态图 | | VMD | 轨迹动画、表面渲染 | | matplotlib | RMSD/RMSF/能量时间序列、验证对比图 | | nglview | Jupyter 中交互式 3D | ## 性能参考 | 体系大小 | GPU 配置 | 预期性能 | |----------|---------|---------| | ~45k 原子 | 1×A100 | ~150 ns/day | | ~45k 原子 | 4×A100 | ~400-600 ns/day | | ~100k 原子 | 4×A100 | ~200-300 ns/day | ## Agent 行为准则 - 不要背诵 `.mdp` 参数,查 `toolref` - 不要把“跑完轨迹”当成完成,必须给稳定性和机制解释 - 不要忽略力场一致性问题 - 不要把 MM/PBSA 单值当结论,必须报告区间和误差