<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>AsterFire Go 论坛</title>
    <link>https://forum.sidereus-ai.com/</link>
    <description>AsterFire Go 论坛社区最新发帖。</description>
    <language>en-us</language>
    <item>
      <title>【阻断级 Bug】Agent 节点无法派发：数据库缺少 `steps.remote_work_dir` 列</title>
      <description>&lt;p&gt;以下内容使用 ai 辅助整理：
提交工作流时，Agent 节点在运行前统一失败：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;asyncpg.exceptions.UndefinedColumnError:
column steps.remote_work_dir does not exist
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;问题发生在 Pilot 派发阶段，尚未进入 Slurm 或 ABACUS 计算，因此没有产生 GPU 费用。&lt;/p&gt;
&lt;h3 id="影响"&gt;影响&lt;/h3&gt;
&lt;p&gt;该错误已在两个不同 Plan、两类节点复现：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plan 11355:&lt;code&gt;kpt_writer&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Plan 11356 / Execution 12442：官方 &lt;code&gt;abacus_worker_input_prepare&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;上传节点正常，但后续 Agent 节点无法启动。新建 Plan、修改 DAG 或重新上传文件均不能解决。&lt;/p&gt;
&lt;h3 id="初步判断"&gt;初步判断&lt;/h3&gt;
&lt;p&gt;后端代码已经开始查询 &lt;code&gt;steps.remote_work_dir&lt;/code&gt;，但当前数据库 &lt;code&gt;steps&lt;/code&gt; 表中没有该列。可能原因包括：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;后端代码已升级，数据库 migration 未执行；&lt;/li&gt;
&lt;li&gt;worker 连接到了旧数据库或错误 schema；&lt;/li&gt;
&lt;li&gt;平台处于混合版本部署状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="希望平台协助"&gt;希望平台协助&lt;/h3&gt;
&lt;p&gt;请核对：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Step.remote_work_dir&lt;/code&gt; 的 ORM 定义；&lt;/li&gt;
&lt;li&gt;Alembic/database migration 版本；&lt;/li&gt;
&lt;li&gt;worker 实际连接的 database、schema 及&lt;code&gt;search_path&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;executor/worker是否版本一致。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;建议按正式 migration 修复或回滚不匹配的应用版本，不建议直接按猜测手工增加字段。&lt;/p&gt;

&lt;p&gt;修复后请先用一个无计费的最小 Agent 节点验证 Pilot 派发，再通知用户重试原 Plan。&lt;/p&gt;

&lt;p&gt;补充：plane_grpc、cluster_route、online_master 及文件上传均正常；结构、输入参数、KPT 和赝势核验也已通过，因此可以排除用户输入和计算资源占用问题。&lt;/p&gt;

&lt;p&gt;标签：&lt;code&gt;后端Bug&lt;/code&gt; &lt;code&gt;数据库Migration&lt;/code&gt; &lt;code&gt;Pilot派发&lt;/code&gt; &lt;code&gt;ABACUS&lt;/code&gt;&lt;/p&gt;</description>
      <author>chaocosmos</author>
      <pubDate>Fri, 14 Aug 2026 18:04:31 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/51</link>
      <guid>https://forum.sidereus-ai.com/topics/51</guid>
    </item>
    <item>
      <title>集群 CPU-MISC 大作业独占导致 11 任务长时间排队</title>
      <description>&lt;p&gt;集群 CPU-MISC 分区有一个 56 核大作业长时间运行，导致包括我的 job 747134（PDBFixer，只需几分钟）在内的 11 个任务一直 Pending，已排队超过 1 小时。请协助查看大作业预计何时结束，或能否将短任务优先调度。谢谢。&lt;/p&gt;</description>
      <author>tq10</author>
      <pubDate>Sun, 02 Aug 2026 15:32:27 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/50</link>
      <guid>https://forum.sidereus-ai.com/topics/50</guid>
    </item>
    <item>
      <title>如何更好的使用工具</title>
      <description>&lt;p&gt;test&lt;/p&gt;</description>
      <author>XTCah</author>
      <pubDate>Mon, 27 Jul 2026 11:18:42 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/49</link>
      <guid>https://forum.sidereus-ai.com/topics/49</guid>
    </item>
    <item>
      <title>111222</title>
      <description>&lt;p&gt;1111333&lt;/p&gt;</description>
      <author>111</author>
      <pubDate>Thu, 16 Jul 2026 02:00:20 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/48</link>
      <guid>https://forum.sidereus-ai.com/topics/48</guid>
    </item>
    <item>
      <title># PDB、PDBQT、PQR 与 mmCIF 文件格式入门教程</title>
      <description>&lt;h2 id="PDB、PDBQT、PQR 与 mmCIF 文件格式入门教程"&gt;PDB、PDBQT、PQR 与 mmCIF 文件格式入门教程&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;本教程用于快速理解常见生物分子结构文件格式：PDB、PDBQT、PQR 和 mmCIF。重点放在文件内容、字段含义、典型用途和示例，不涉及编程解析实现。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="0. 四种格式先对比"&gt;0. 四种格式先对比&lt;/h2&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;格式&lt;/th&gt;
&lt;th&gt;主要用途&lt;/th&gt;
&lt;th&gt;核心特点&lt;/th&gt;
&lt;th&gt;常见场景&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PDB&lt;/td&gt;
&lt;td&gt;通用三维结构坐标&lt;/td&gt;
&lt;td&gt;固定列宽，人眼可读&lt;/td&gt;
&lt;td&gt;蛋白、核酸、配体、水、离子结构&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PDBQT&lt;/td&gt;
&lt;td&gt;分子对接&lt;/td&gt;
&lt;td&gt;PDB + partial charge + AutoDock atom type&lt;/td&gt;
&lt;td&gt;AutoDock, AutoDock Vina&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PQR&lt;/td&gt;
&lt;td&gt;静电势计算&lt;/td&gt;
&lt;td&gt;PDB + charge + radius&lt;/td&gt;
&lt;td&gt;APBS、PDB2PQR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mmCIF&lt;/td&gt;
&lt;td&gt;现代 PDB 数据库格式&lt;/td&gt;
&lt;td&gt;标签化字段，适合大结构&lt;/td&gt;
&lt;td&gt;RCSB PDB 下载、结构数据库、复杂体系&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;一句话记忆：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PDB 看坐标，PDBQT 看对接，PQR 看电荷半径，mmCIF 看结构化字段。
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="1. PDB 文件格式"&gt;1. PDB 文件格式&lt;/h2&gt;
&lt;p&gt;PDB 是最经典的生物大分子结构格式。它用文本保存原子坐标、残基信息、链信息、晶胞信息、实验注释等内容。&lt;/p&gt;

&lt;p&gt;PDB 的核心特点是：&lt;strong&gt;固定列宽&lt;/strong&gt;。也就是说，每一行中某个字段的位置由列号决定，而不是简单按空格分隔。&lt;/p&gt;
&lt;h2 id="2. PDB 文件整体结构"&gt;2. PDB 文件整体结构&lt;/h2&gt;
&lt;p&gt;一个典型 PDB 文件可能包含这些记录：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;记录&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HEADER&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文件头，包含分类、日期、PDB ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TITLE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;结构标题&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;COMPND&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;分子组成信息&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SOURCE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;来源物种或表达系统&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;KEYWDS&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;关键词&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;EXPDTA&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;实验方法，如 X-ray、NMR、EM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;REMARK&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;注释信息&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SEQRES&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;序列信息&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;CRYST1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;晶胞参数&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ATOM&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;标准残基中的原子坐标&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HETATM&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;非标准残基、配体、水、离子等坐标&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TER&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;一条链结束&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;MODEL&lt;/code&gt; / &lt;code&gt;ENDMDL&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;多模型结构&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;CONECT&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;原子连接关系&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;END&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文件结束&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;最常用、最重要的是 &lt;code&gt;ATOM&lt;/code&gt; 和 &lt;code&gt;HETATM&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="3. PDB 示例"&gt;3. PDB 示例&lt;/h2&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HEADER    OXYGEN TRANSPORT                         07-MAR-84   4HHB
TITLE     THE CRYSTAL STRUCTURE OF DEOXY HUMAN HEMOGLOBIN
EXPDTA    X-RAY DIFFRACTION
CRYST1   63.150   83.590   53.800  90.00  99.34  90.00 P 1 21 1      4
ATOM      1  N   VAL A   1      18.715  24.840   4.621  1.00 33.80           N
ATOM      2  CA  VAL A   1      17.647  23.823   4.529  1.00 33.22           C
ATOM      3  C   VAL A   1      16.307  24.438   4.965  1.00 32.66           C
ATOM      4  O   VAL A   1      16.167  25.650   5.138  1.00 33.14           O
HETATM 1001 FE   HEM A 142      12.323  18.441   7.552  1.00 21.30          FE
HETATM 2001  O   HOH A 301      25.113  17.892  10.442  1.00 40.10           O
TER
END
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="4. PDB 的 ATOM/HETATM 字段"&gt;4. PDB 的 ATOM/HETATM 字段&lt;/h2&gt;
&lt;p&gt;PDB 的坐标行有固定字段。下面以 &lt;code&gt;ATOM&lt;/code&gt; 行为例：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ATOM      1  N   VAL A   1      18.715  24.840   4.621  1.00 33.80           N
&lt;/code&gt;&lt;/pre&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;字段&lt;/th&gt;
&lt;th&gt;示例&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;record&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ATOM&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;记录类型&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;serial&lt;/td&gt;
&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;原子编号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;atom name&lt;/td&gt;
&lt;td&gt;&lt;code&gt;N&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;原子名&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;altLoc&lt;/td&gt;
&lt;td&gt;空&lt;/td&gt;
&lt;td&gt;替代构象标记&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;resName&lt;/td&gt;
&lt;td&gt;&lt;code&gt;VAL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;残基名&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;chainID&lt;/td&gt;
&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;链 ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;resSeq&lt;/td&gt;
&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;残基编号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;iCode&lt;/td&gt;
&lt;td&gt;空&lt;/td&gt;
&lt;td&gt;插入码&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;x, y, z&lt;/td&gt;
&lt;td&gt;&lt;code&gt;18.715 24.840 4.621&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;三维坐标，单位通常是 Å&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;occupancy&lt;/td&gt;
&lt;td&gt;&lt;code&gt;1.00&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;占有率&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B-factor&lt;/td&gt;
&lt;td&gt;&lt;code&gt;33.80&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;温度因子&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;element&lt;/td&gt;
&lt;td&gt;&lt;code&gt;N&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;元素符号&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="5. ATOM 与 HETATM 的区别"&gt;5. ATOM 与 HETATM 的区别&lt;/h2&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;记录&lt;/th&gt;
&lt;th&gt;常见对象&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ATOM&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;标准蛋白氨基酸、标准核酸残基&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HETATM&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;配体、金属离子、水、辅因子、非标准残基&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;例子：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ATOM      1  CA  ALA A   1      10.000  12.000   8.000  1.00 20.00           C
HETATM  501  C1  LIG A 101      15.200  10.400   5.600  1.00 18.00           C
HETATM  601  O   HOH A 201      20.100  15.300   9.200  1.00 35.00           O
HETATM  701 NA    NA A 301      22.000  13.000   7.500  1.00 25.00          NA
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ALA&lt;/code&gt; 是标准氨基酸，所以通常是 &lt;code&gt;ATOM&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;LIG&lt;/code&gt; 是小分子配体，所以通常是 &lt;code&gt;HETATM&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;HOH&lt;/code&gt; 是水。&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;NA&lt;/code&gt; 是钠离子。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="6. PDB 里几个容易混淆的字段"&gt;6. PDB 里几个容易混淆的字段&lt;/h2&gt;&lt;h3 id="6.1 chainID"&gt;6.1 chainID&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;chainID&lt;/code&gt; 是链 ID，通常为一个字符：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ATOM      1  N   MET A   1      ...
ATOM    500  N   GLY B   1      ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里 &lt;code&gt;A&lt;/code&gt; 和 &lt;code&gt;B&lt;/code&gt; 是两条链。&lt;/p&gt;

&lt;p&gt;注意：PDB 的 chain ID 很短，复杂体系中可能不够用，这也是 mmCIF 更适合大结构的原因之一。&lt;/p&gt;
&lt;h3 id="6.2 resName"&gt;6.2 resName&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;resName&lt;/code&gt; 是残基名：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALA  GLY  VAL  LYS  ARG
DA   DT   DG   DC
HOH  WAT  SOL
LIG  ATP  HEM
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;写 GROMACS selection 或做结构筛选时，残基名非常重要。例如：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname LIG
resname HOH
resname ATP
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="6.3 resSeq 与 iCode"&gt;6.3 resSeq 与 iCode&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;resSeq&lt;/code&gt; 是残基编号，&lt;code&gt;iCode&lt;/code&gt; 是插入码。有些结构中会出现：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;42
42A
42B
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这表示残基编号相同，但插入码不同。做精确残基定位时，不应只看编号。&lt;/p&gt;
&lt;h3 id="6.4 altLoc"&gt;6.4 altLoc&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;altLoc&lt;/code&gt; 表示替代构象，常见为 &lt;code&gt;A&lt;/code&gt;、&lt;code&gt;B&lt;/code&gt;：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ATOM     32  CA AARG A  10      11.281  86.699  94.383  0.50 35.88           C
ATOM     33  CA BARG A  10      11.296  86.721  94.521  0.50 35.60           C
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这通常表示同一个原子有两个可能位置，每个位置 occupancy 为 &lt;code&gt;0.50&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="7. PDB 的优点和限制"&gt;7. PDB 的优点和限制&lt;/h2&gt;
&lt;p&gt;优点：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;人眼可读。&lt;/li&gt;
&lt;li&gt;生态成熟，几乎所有分子软件都支持。&lt;/li&gt;
&lt;li&gt;小型蛋白、配体、水、离子结构表达很直观。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;限制：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;固定列宽，字段容量有限。&lt;/li&gt;
&lt;li&gt;原子编号、链 ID、坐标范围都有格式限制。&lt;/li&gt;
&lt;li&gt;不适合超大复合物和复杂元数据。&lt;/li&gt;
&lt;li&gt;很多注释在 &lt;code&gt;REMARK&lt;/code&gt; 中，不够结构化。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;因此，现代结构数据库更推荐使用 mmCIF。&lt;/p&gt;
&lt;h2 id="8. PDBQT 文件格式"&gt;8. PDBQT 文件格式&lt;/h2&gt;
&lt;p&gt;PDBQT 常用于分子对接，尤其是 AutoDock 和 AutoDock Vina。&lt;/p&gt;

&lt;p&gt;可以把 PDBQT 理解为：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PDB + Q + T
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Q&lt;/code&gt; = partial charge，部分电荷&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;T&lt;/code&gt; = AutoDock atom type，AutoDock 原子类型&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="9. PDBQT 示例"&gt;9. PDBQT 示例&lt;/h2&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ROOT
HETATM    1  C1  LIG A   1      12.345  10.234   5.678  1.00  0.00     0.120 C
HETATM    2  N1  LIG A   1      13.210  11.002   5.112  1.00  0.00    -0.350 NA
HETATM    3  O1  LIG A   1      11.800   9.100   5.000  1.00  0.00    -0.420 OA
ENDROOT
TORSDOF 3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;和 PDB 相比，PDBQT 行尾多了两类信息：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;字段&lt;/th&gt;
&lt;th&gt;示例&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;partial charge&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;0.120&lt;/code&gt;、&lt;code&gt;-0.350&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;对接程序使用的部分电荷&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AutoDock atom type&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;C&lt;/code&gt;、&lt;code&gt;NA&lt;/code&gt;、&lt;code&gt;OA&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;AutoDock 原子类型&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;常见 AutoDock atom type：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;大致含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;碳&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;芳香碳&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;N&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;氮&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;NA&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;氢键受体氮&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;氧&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;OA&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;氢键受体氧&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;S&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;硫&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HD&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;极性氢&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="10. PDBQT 中的柔性配体记录"&gt;10. PDBQT 中的柔性配体记录&lt;/h2&gt;
&lt;p&gt;配体 PDBQT 里可能出现：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ROOT
ENDROOT
BRANCH
ENDBRANCH
TORSDOF
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;它们用于描述配体可旋转键。&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;记录&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;ROOT&lt;/code&gt; / &lt;code&gt;ENDROOT&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;配体的刚性核心&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;BRANCH&lt;/code&gt; / &lt;code&gt;ENDBRANCH&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;可旋转分支&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TORSDOF&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;可旋转自由度数量&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;示意：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ROOT
HETATM    1  C1  LIG A   1      ...
HETATM    2  C2  LIG A   1      ...
ENDROOT
BRANCH   2   3
HETATM    3  C3  LIG A   1      ...
HETATM    4  O1  LIG A   1      ...
ENDBRANCH 2   3
TORSDOF 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果只是查看坐标，可以关注 &lt;code&gt;ATOM/HETATM&lt;/code&gt; 行。&lt;br&gt;
如果要用于对接，不要随意删除 &lt;code&gt;ROOT/BRANCH/TORSDOF&lt;/code&gt; 这些记录。&lt;/p&gt;
&lt;h2 id="11. PDBQT 的用途和注意事项"&gt;11. PDBQT 的用途和注意事项&lt;/h2&gt;
&lt;p&gt;PDBQT 常用于：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;对接受体文件：&lt;code&gt;receptor.pdbqt&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;对接配体文件：&lt;code&gt;ligand.pdbqt&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Vina docking 输入&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;注意事项：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PDBQT 不是普通 PDB 改后缀。&lt;/li&gt;
&lt;li&gt;必须正确处理氢原子。&lt;/li&gt;
&lt;li&gt;必须正确赋 partial charge。&lt;/li&gt;
&lt;li&gt;必须正确识别 AutoDock atom type。&lt;/li&gt;
&lt;li&gt;配体 PDBQT 还需要合理的可旋转键定义。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="12. PQR 文件格式"&gt;12. PQR 文件格式&lt;/h2&gt;
&lt;p&gt;PQR 常用于静电势计算，例如 APBS、PDB2PQR。&lt;/p&gt;

&lt;p&gt;可以把 PQR 理解为：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PDB + charge + radius
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;它通常把 PDB 中 occupancy 和 B-factor 的位置换成：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;partial charge，部分电荷&lt;/li&gt;
&lt;li&gt;atomic radius，原子半径&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="13. PQR 示例"&gt;13. PQR 示例&lt;/h2&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ATOM      1  N   MET A   1      38.428  13.947  27.214 -0.3000 1.8500
ATOM      2  CA  MET A   1      37.319  14.801  27.701  0.2100 2.2750
ATOM      3  C   MET A   1      36.008  14.042  27.457  0.5100 2.0000
ATOM      4  O   MET A   1      35.900  12.820  27.300 -0.5100 1.7000
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里末尾的两个数字不是 occupancy 和 B-factor，而是：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;字段&lt;/th&gt;
&lt;th&gt;示例&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;charge&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-0.3000&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;部分电荷&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;radius&lt;/td&gt;
&lt;td&gt;&lt;code&gt;1.8500&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;原子半径&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="14. PQR 与 PDB 的区别"&gt;14. PQR 与 PDB 的区别&lt;/h2&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;问题&lt;/th&gt;
&lt;th&gt;PDB&lt;/th&gt;
&lt;th&gt;PQR&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;主要用途&lt;/td&gt;
&lt;td&gt;通用结构坐标&lt;/td&gt;
&lt;td&gt;静电势计算&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;坐标&lt;/td&gt;
&lt;td&gt;有&lt;/td&gt;
&lt;td&gt;有&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;occupancy&lt;/td&gt;
&lt;td&gt;有&lt;/td&gt;
&lt;td&gt;通常没有&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B-factor&lt;/td&gt;
&lt;td&gt;有&lt;/td&gt;
&lt;td&gt;通常没有&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;charge&lt;/td&gt;
&lt;td&gt;通常没有&lt;/td&gt;
&lt;td&gt;有&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;radius&lt;/td&gt;
&lt;td&gt;没有&lt;/td&gt;
&lt;td&gt;有&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;因此，不要把 PQR 直接当普通 PDB 用，否则软件可能把 charge/radius 错读成 occupancy/B-factor。&lt;/p&gt;
&lt;h2 id="15. PQR 常见用途"&gt;15. PQR 常见用途&lt;/h2&gt;
&lt;p&gt;PQR 常用于：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;APBS 静电势计算&lt;/li&gt;
&lt;li&gt;分子表面电势可视化&lt;/li&gt;
&lt;li&gt;蛋白质电荷分布分析&lt;/li&gt;
&lt;li&gt;pH 相关质子化状态分析后的结构表达&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PQR 的质量高度依赖：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;力场参数&lt;/li&gt;
&lt;li&gt;pH 设置&lt;/li&gt;
&lt;li&gt;质子化状态&lt;/li&gt;
&lt;li&gt;原子半径集合&lt;/li&gt;
&lt;li&gt;缺失原子和氢原子处理&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="16. mmCIF 文件格式"&gt;16. mmCIF 文件格式&lt;/h2&gt;
&lt;p&gt;mmCIF，也常写作 PDBx/mmCIF，是现代 PDB 数据库推荐使用的结构格式。&lt;/p&gt;

&lt;p&gt;PDB 是固定列格式，而 mmCIF 是标签化、表格化格式。&lt;/p&gt;

&lt;p&gt;mmCIF 的基本单位是：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;概念&lt;/th&gt;
&lt;th&gt;示例&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;data block&lt;/td&gt;
&lt;td&gt;&lt;code&gt;data_4HHB&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;一个数据块&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;data item&lt;/td&gt;
&lt;td&gt;&lt;code&gt;_entry.id 4HHB&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;单个键值&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;category&lt;/td&gt;
&lt;td&gt;&lt;code&gt;_atom_site&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;一类相关数据&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;attribute&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Cartn_x&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;category 下的具体字段&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;loop&lt;/td&gt;
&lt;td&gt;&lt;code&gt;loop_&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;表格数据开始&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="17. mmCIF 示例"&gt;17. mmCIF 示例&lt;/h2&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;data_4HHB
#
_entry.id 4HHB
#
_cell.length_a 63.150
_cell.length_b 83.590
_cell.length_c 53.800
_cell.angle_alpha 90.00
_cell.angle_beta 99.34
_cell.angle_gamma 90.00
#
loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.label_seq_id
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.occupancy
_atom_site.B_iso_or_equiv
ATOM 1 N N VAL A 1 18.715 24.840 4.621 1.00 33.80
ATOM 2 C CA VAL A 1 17.647 23.823 4.529 1.00 33.22
ATOM 3 C C VAL A 1 16.307 24.438 4.965 1.00 32.66
#
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="18. mmCIF 的 _atom_site 表"&gt;18. mmCIF 的 &lt;code&gt;_atom_site&lt;/code&gt; 表&lt;/h2&gt;
&lt;p&gt;mmCIF 中，原子坐标通常位于 &lt;code&gt;_atom_site&lt;/code&gt; category。&lt;/p&gt;

&lt;p&gt;常见字段：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;mmCIF 字段&lt;/th&gt;
&lt;th&gt;对应 PDB 概念&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.group_PDB&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ATOM/HETATM&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;记录类型&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;serial&lt;/td&gt;
&lt;td&gt;原子编号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.type_symbol&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;element&lt;/td&gt;
&lt;td&gt;元素&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.label_atom_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;atom name&lt;/td&gt;
&lt;td&gt;原子名&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.label_comp_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;resName&lt;/td&gt;
&lt;td&gt;残基名&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.label_asym_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;chainID&lt;/td&gt;
&lt;td&gt;链或不对称单元 ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.label_seq_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;resSeq&lt;/td&gt;
&lt;td&gt;残基编号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.Cartn_x&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;x 坐标&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.Cartn_y&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;y&lt;/td&gt;
&lt;td&gt;y 坐标&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.Cartn_z&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;z&lt;/td&gt;
&lt;td&gt;z 坐标&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.occupancy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;occupancy&lt;/td&gt;
&lt;td&gt;占有率&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;_atom_site.B_iso_or_equiv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;B-factor&lt;/td&gt;
&lt;td&gt;B 因子&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="19. label 与 auth 的区别"&gt;19. label 与 auth 的区别&lt;/h2&gt;
&lt;p&gt;mmCIF 中经常有两套字段：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;label_asym_id
auth_asym_id
label_seq_id
auth_seq_id
label_atom_id
auth_atom_id
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;它们的区别：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;前缀&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;label_*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;数据库规范化后的标识&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;auth_*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;作者提交结构时使用的原始标识&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;_atom_site.label_asym_id  A
_atom_site.auth_asym_id   H
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这可能表示数据库内部把链标为 &lt;code&gt;A&lt;/code&gt;，但作者原始链名是 &lt;code&gt;H&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;实际使用建议：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;想和论文、PDB 显示、可视化软件对应：优先看 &lt;code&gt;auth_*&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;想做数据库规范化处理：优先看 &lt;code&gt;label_*&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="20. mmCIF 的优点"&gt;20. mmCIF 的优点&lt;/h2&gt;
&lt;p&gt;相比 PDB，mmCIF 的优点是：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;不受 80 列限制。&lt;/li&gt;
&lt;li&gt;支持更大的结构和更多链。&lt;/li&gt;
&lt;li&gt;字段含义清楚。&lt;/li&gt;
&lt;li&gt;元数据更完整。&lt;/li&gt;
&lt;li&gt;更适合程序读取和数据库存储。&lt;/li&gt;
&lt;li&gt;是现代 PDB 数据库推荐格式。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;缺点是：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;不如 PDB 直观。&lt;/li&gt;
&lt;li&gt;人眼快速浏览坐标时稍微麻烦。&lt;/li&gt;
&lt;li&gt;初学者需要理解 &lt;code&gt;loop_&lt;/code&gt; 和字段名。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="21. 四种格式使用建议"&gt;21. 四种格式使用建议&lt;/h2&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;需求&lt;/th&gt;
&lt;th&gt;推荐格式&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;查看普通蛋白结构&lt;/td&gt;
&lt;td&gt;PDB 或 mmCIF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;从 RCSB 下载复杂结构&lt;/td&gt;
&lt;td&gt;mmCIF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;准备 GROMACS 初始结构&lt;/td&gt;
&lt;td&gt;PDB/GRO，必要时从 mmCIF 转换&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;分子对接输入&lt;/td&gt;
&lt;td&gt;PDBQT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;静电势计算&lt;/td&gt;
&lt;td&gt;PQR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;长期保存结构数据库信息&lt;/td&gt;
&lt;td&gt;mmCIF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;人工快速查看坐标&lt;/td&gt;
&lt;td&gt;PDB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="22. 我们平台推荐的转换和清理流程"&gt;22. 我们平台推荐的转换和清理流程&lt;/h2&gt;
&lt;p&gt;实际项目中，不建议手动改后缀来转换格式。推荐使用我们平台中的：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Babel：用于常见结构格式转换、小分子格式处理、加氢、简单标准化。&lt;/li&gt;
&lt;li&gt;PDBFixer：用于蛋白结构清理，例如补缺失原子、补氢、处理缺失残基、移除不需要的异质分子。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;推荐流程：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;蛋白 mmCIF/PDB -&amp;gt; PDBFixer 清理和补全 -&amp;gt; 检查链、残基、水、离子 -&amp;gt; 导出目标格式
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;小分子 SDF/MOL2/PDB -&amp;gt; Open Babel 转换和加氢 -&amp;gt; 检查键级、电荷、质子化状态 -&amp;gt; 导出目标格式
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;对接任务：
蛋白结构 -&amp;gt; 清理 -&amp;gt; 加氢/赋电荷 -&amp;gt; receptor.pdbqt
配体结构 -&amp;gt; 转换 -&amp;gt; 加氢/赋电荷/设置可旋转键 -&amp;gt; ligand.pdbqt
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;静电势任务：
PDB -&amp;gt; 修复结构 -&amp;gt; 赋电荷和半径 -&amp;gt; PQR -&amp;gt; APBS/静电分析
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;转换后建议检查：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;链 ID 是否保留。&lt;/li&gt;
&lt;li&gt;残基名是否改变。&lt;/li&gt;
&lt;li&gt;配体是否完整。&lt;/li&gt;
&lt;li&gt;水和离子是否按预期保留或删除。&lt;/li&gt;
&lt;li&gt;氢原子是否合理。&lt;/li&gt;
&lt;li&gt;PDBQT 是否有 partial charge 和 AutoDock atom type。&lt;/li&gt;
&lt;li&gt;PQR 是否有 charge 和 radius。&lt;/li&gt;
&lt;li&gt;大结构转 PDB 时是否发生编号或链名截断。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="23. 最后总结"&gt;23. 最后总结&lt;/h2&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PDB    = 经典结构坐标格式，适合查看和通用交换
PDBQT  = 对接格式，在 PDB 基础上加入电荷和 AutoDock 原子类型
PQR    = 静电势格式，在 PDB 基础上加入电荷和原子半径
mmCIF  = 现代结构数据库格式，字段结构更完整，适合复杂体系
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;实践上：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;普通查看：PDB 最直观。&lt;/li&gt;
&lt;li&gt;数据库下载：mmCIF 更推荐。&lt;/li&gt;
&lt;li&gt;分子对接：用 PDBQT。&lt;/li&gt;
&lt;li&gt;静电势计算：用 PQR。&lt;/li&gt;
&lt;li&gt;格式转换和结构清理：优先使用平台里的 Open Babel 和 PDBFixer。&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>admin</author>
      <pubDate>Mon, 13 Jul 2026 16:09:19 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/47</link>
      <guid>https://forum.sidereus-ai.com/topics/47</guid>
    </item>
    <item>
      <title>GROMACS Selection 选区语法</title>
      <description>&lt;h2 id="GROMACS Selection 选区语法教程：从入门到常用写法"&gt;GROMACS Selection 选区语法教程：从入门到常用写法&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;整理来源：Jerkwin《GROMACS 选区 (selection) 语法及用法》&lt;br&gt;
原文：&lt;a href="https://jerkwin.github.io/GMX/GMXsel/" rel="nofollow" target="_blank"&gt;https://jerkwin.github.io/GMX/GMXsel/&lt;/a&gt;&lt;br&gt;
参考校对：GROMACS 2026.3 官方文档 Selection syntax and usage&lt;br&gt;
&lt;a href="https://manual.gromacs.org/current/onlinehelp/selections.html" rel="nofollow" target="_blank"&gt;https://manual.gromacs.org/current/onlinehelp/selections.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="0. 最简单的案例"&gt;0. 最简单的案例&lt;/h2&gt;
&lt;p&gt;这一节先给最常用、最容易复制的 selection。初学时可以先不管完整语法，把这些例子当作模板改名字、改链 ID、改残基名即可。&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;目标&lt;/th&gt;
&lt;th&gt;selection 写法&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择 A 链&lt;/td&gt;
&lt;td&gt;&lt;code&gt;chain A&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;常用于 PDB/mmCIF 中有链 ID 的体系&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择 B 链&lt;/td&gt;
&lt;td&gt;&lt;code&gt;chain B&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;把 &lt;code&gt;B&lt;/code&gt; 换成自己的链 ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择残基名为 LIG 的小分子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;resname LIG&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;LIG&lt;/code&gt; 要换成实际配体残基名&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择所有蛋白&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Protein"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;依赖 GROMACS/index 中已有 &lt;code&gt;Protein&lt;/code&gt; 组&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择所有蛋白原子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;protein&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;如果当前工具/版本支持该内置选择，可直接用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择所有 RNA&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "RNA"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;如果 index 中已有 &lt;code&gt;RNA&lt;/code&gt; 组，推荐这样写&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;按常见 RNA 残基名选择 RNA&lt;/td&gt;
&lt;td&gt;&lt;code&gt;resname A U G C RA RU RG RC&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;不同力场/文件命名可能不同&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择所有 DNA/RNA 核酸&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;group "DNA"&lt;/code&gt; 或 &lt;code&gt;group "RNA"&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;取决于 index 组是否存在&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择蛋白骨架&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Backbone"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;依赖已有 &lt;code&gt;Backbone&lt;/code&gt; 组&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;不依赖 index 选择蛋白骨架&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Protein" and name N CA C O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;常用骨架原子；必要时可加 &lt;code&gt;OXT&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择蛋白 A 链骨架&lt;/td&gt;
&lt;td&gt;&lt;code&gt;chain A and group "Protein" and name N CA C O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;链、蛋白、原子名三重条件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择水&lt;/td&gt;
&lt;td&gt;&lt;code&gt;resname SOL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GROMACS 常见水名是 &lt;code&gt;SOL&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择其他常见水命名&lt;/td&gt;
&lt;td&gt;&lt;code&gt;resname SOL WAT HOH TIP3&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;根据体系实际命名选择&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择离子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Ion"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;如果 index 中已有 &lt;code&gt;Ion&lt;/code&gt; 组，最方便&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择常见钠钾氯离子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;resname NA K CL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;命名可能是 &lt;code&gt;NA+&lt;/code&gt;、&lt;code&gt;CLA&lt;/code&gt;、&lt;code&gt;CL-&lt;/code&gt; 等，需看结构文件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择水和离子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Water_and_ions"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;如果 index 中已有该组，推荐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;不依赖 index 选择水和常见离子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;resname SOL WAT HOH TIP3 NA K CL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;实际残基名按体系调整&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;排除水和离子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;not group "Water_and_ions"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;常用于只分析溶质&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择 C-alpha 原子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Protein" and name CA&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;常用于蛋白结构分析&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择蛋白重原子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Protein" and not name H*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;按原子名排除氢，命名规则需确认&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择配体附近 0.5 nm 内的蛋白原子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Protein" and within 0.5 of resname LIG&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;动态邻近选择&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;选择配体附近 0.5 nm 内的完整蛋白残基&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Protein" and same residue as within 0.5 of resname LIG&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;比只选邻近原子更适合看结合口袋&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;几个小提醒：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;resname LIG&lt;/code&gt; 里的 &lt;code&gt;LIG&lt;/code&gt; 是残基名，不是文件名。可以先用可视化软件或 &lt;code&gt;.gro/.pdb&lt;/code&gt; 文件确认真实残基名。&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;group "Protein"&lt;/code&gt;、&lt;code&gt;group "Backbone"&lt;/code&gt;、&lt;code&gt;group "Water_and_ions"&lt;/code&gt; 依赖 index 组是否存在；如果报错，就用 &lt;code&gt;gmx make_ndx&lt;/code&gt; 生成，或改用不依赖 index 的写法。&lt;/li&gt;
&lt;li&gt;水和离子的命名差异很大，最稳妥的方法是先看结构文件中的 residue name。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="1. Selection 是什么？"&gt;1. Selection 是什么？&lt;/h2&gt;
&lt;p&gt;在 GROMACS 里，selection 用来选择原子、残基、分子或它们的几何位置，以便后续分析工具使用。&lt;/p&gt;

&lt;p&gt;它和传统的 index 文件不完全一样：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;方式&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;th&gt;适合场景&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;index group&lt;/td&gt;
&lt;td&gt;通常是静态分组&lt;/td&gt;
&lt;td&gt;简单、固定的原子集合&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;selection&lt;/td&gt;
&lt;td&gt;可以按表达式动态选择&lt;/td&gt;
&lt;td&gt;距离、坐标、残基、质心等复杂条件&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;selection 最后会被求值为一组位置。这些位置可以是：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;原子坐标&lt;/li&gt;
&lt;li&gt;残基质心&lt;/li&gt;
&lt;li&gt;残基几何中心&lt;/li&gt;
&lt;li&gt;分子质心&lt;/li&gt;
&lt;li&gt;自定义常量位置&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;很多分析命令，例如 &lt;code&gt;gmx distance&lt;/code&gt;、&lt;code&gt;gmx select&lt;/code&gt;、&lt;code&gt;gmx gangle&lt;/code&gt;，都可以使用 selection。&lt;/p&gt;
&lt;h2 id="2. 先看一个完整例子"&gt;2. 先看一个完整例子&lt;/h2&gt;
&lt;p&gt;假设你想选择所有距离蛋白 0.5 nm 以内的配体 &lt;code&gt;LIG&lt;/code&gt; 原子，可以写：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gmx &lt;span class="k"&gt;select&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; topol.tpr &lt;span class="nt"&gt;-f&lt;/span&gt; traj.xtc &lt;span class="nt"&gt;-select&lt;/span&gt; &lt;span class="s1"&gt;'"Close to protein" resname LIG and within 0.5 of group "Protein"'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个 selection 可以拆成四部分：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Close to protein"  resname LIG  and  within 0.5 of group "Protein"
&lt;/code&gt;&lt;/pre&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;部分&lt;/th&gt;
&lt;th&gt;作用&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;"Close to protein"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;给这个选区起名字&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;resname LIG&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;选择残基名为 &lt;code&gt;LIG&lt;/code&gt; 的原子&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;and&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;逻辑与&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;within 0.5 of group "Protein"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;限制这些原子必须距离 Protein 组 0.5 nm 以内&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;这就是 selection 的核心思想：用一条可读的表达式，把“我要选什么”直接写出来。&lt;/p&gt;
&lt;h2 id="3. Selection 的工作流程"&gt;3. Selection 的工作流程&lt;/h2&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    A["输入结构/轨迹"] --&amp;gt; B["读取 selection 表达式"]
    B --&amp;gt; C["解析 atom / position / numeric 表达式"]
    C --&amp;gt; D["逐帧求值"]
    D --&amp;gt; E["得到一组位置"]
    E --&amp;gt; F["交给分析工具"]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果表达式依赖坐标，例如 &lt;code&gt;within&lt;/code&gt;、&lt;code&gt;distance&lt;/code&gt;、&lt;code&gt;x &amp;lt; 2&lt;/code&gt;，它可以在轨迹每一帧重新计算，因此结果可能随时间变化。&lt;/p&gt;
&lt;h2 id="4. 在命令行中传入 selection"&gt;4. 在命令行中传入 selection&lt;/h2&gt;&lt;h3 id="4.1 直接写在命令行"&gt;4.1 直接写在命令行&lt;/h3&gt;
&lt;p&gt;多数工具会有类似 &lt;code&gt;-select&lt;/code&gt; 的参数。不同工具的参数名可能不同，具体要看命令帮助：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gmx &lt;span class="nb"&gt;help &lt;/span&gt;&lt;span class="k"&gt;select
&lt;/span&gt;gmx &lt;span class="nb"&gt;help &lt;/span&gt;distance
gmx &lt;span class="nb"&gt;help &lt;/span&gt;gangle
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一个命令里可以传入一个或多个 selection。多个 selection 可以用分号分隔：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gmx &lt;span class="k"&gt;select&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; topol.tpr &lt;span class="nt"&gt;-f&lt;/span&gt; traj.xtc &lt;span class="nt"&gt;-select&lt;/span&gt; &lt;span class="s1"&gt;'resname SOL and name OW; resname LIG'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意：selection 通常要加引号，避免 shell 把括号、星号、空格等字符提前解释掉。&lt;/p&gt;
&lt;h3 id="4.2 从文件读取"&gt;4.2 从文件读取&lt;/h3&gt;
&lt;p&gt;如果 selection 很长，建议写进文件，例如 &lt;code&gt;selection.dat&lt;/code&gt;：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Water oxygens" resname SOL and name OW;
"Ligand near protein" resname LIG and within 0.5 of group "Protein";
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后运行：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gmx &lt;span class="k"&gt;select&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; topol.tpr &lt;span class="nt"&gt;-f&lt;/span&gt; traj.xtc &lt;span class="nt"&gt;-select&lt;/span&gt; &lt;span class="nt"&gt;-sf&lt;/span&gt; selection.dat
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="4.3 使用 index 文件"&gt;4.3 使用 index 文件&lt;/h3&gt;
&lt;p&gt;如果你已经有传统 index 文件，可以用 &lt;code&gt;-n&lt;/code&gt; 传入：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gmx &lt;span class="k"&gt;select&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; topol.tpr &lt;span class="nt"&gt;-f&lt;/span&gt; traj.xtc &lt;span class="nt"&gt;-n&lt;/span&gt; index.ndx &lt;span class="nt"&gt;-select&lt;/span&gt; &lt;span class="s1"&gt;'group "Protein"'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;index 组可以通过两种方式引用：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;group 1
group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果整个 selection 就是一个 index 组，&lt;code&gt;group&lt;/code&gt; 关键词在某些交互场景下可以省略。&lt;/p&gt;
&lt;h2 id="5. Selection 的三类表达式"&gt;5. Selection 的三类表达式&lt;/h2&gt;
&lt;p&gt;GROMACS selection 里最重要的是理解三种表达式：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;th&gt;例子&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ATOM_EXPR&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;选出一组原子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;resname SOL and name OW&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;POS_EXPR&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;得到一组位置&lt;/td&gt;
&lt;td&gt;&lt;code&gt;com of group "Protein"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;NUM_EXPR&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;得到数值&lt;/td&gt;
&lt;td&gt;&lt;code&gt;x of cog of resname LIG&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;一般来说，一个完整 selection 应该是 &lt;code&gt;ATOM_EXPR&lt;/code&gt; 或 &lt;code&gt;POS_EXPR&lt;/code&gt;。如果写的是原子表达式，GROMACS 会按默认位置类型把它转换成位置。&lt;/p&gt;
&lt;h2 id="6. 常用选择条件"&gt;6. 常用选择条件&lt;/h2&gt;&lt;h3 id="6.1 按残基和原子名称选择"&gt;6.1 按残基和原子名称选择&lt;/h3&gt;
&lt;p&gt;选择所有水氧：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname SOL and name OW
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;选择所有蛋白 C-alpha 原子：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;group "Protein" and name CA
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;选择残基名为 &lt;code&gt;LIG&lt;/code&gt; 的配体：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname LIG
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;常用关键词：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;关键词&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;name&lt;/code&gt; / &lt;code&gt;atomname&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;按 GROMACS 原子名选择&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;pdbname&lt;/code&gt; / &lt;code&gt;pdbatomname&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;按 PDB 文件中的原始原子名选择&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;resname&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;按残基名选择&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;atomtype&lt;/code&gt; / &lt;code&gt;type&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;按原子类型选择&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;chain&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;按链 ID 选择&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;注意：如果输入是 PDB 文件，GROMACS 可能会转换以数字开头的 4 字符原子名。例如 PDB 中的 &lt;code&gt;3HG2&lt;/code&gt; 可能需要用 &lt;code&gt;name HG23&lt;/code&gt; 匹配。如果想按 PDB 原始名字匹配，使用 &lt;code&gt;pdbname&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id="6.2 按编号选择"&gt;6.2 按编号选择&lt;/h3&gt;
&lt;p&gt;选择原子编号 1 到 5，以及 7 和 9：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;atomnr 1 to 5 7 9
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;选择残基编号 1 到 5 和 10：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resnr 1 to 5 10
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;常用整数关键词：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;关键词&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomnr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;原子编号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;resnr&lt;/code&gt; / &lt;code&gt;resid&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;残基编号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;resindex&lt;/code&gt; / &lt;code&gt;residue&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;残基索引&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;molindex&lt;/code&gt; / &lt;code&gt;mol&lt;/code&gt; / &lt;code&gt;molecule&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;分子索引&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="7. 逻辑运算：and、or、not"&gt;7. 逻辑运算：and、or、not&lt;/h2&gt;
&lt;p&gt;selection 可以用逻辑运算组合：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname SOL and name OW
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname LIG or resname ATP
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;not resname SOL
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;复杂表达式建议加括号：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(resname LIG or resname ATP) and within 0.5 of group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;逻辑表达式会从左到右求值，并有短路行为。因此，把便宜、严格的条件放前面通常更高效：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname LIG and within 0.5 of group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;比先做全体系距离判断再筛 &lt;code&gt;LIG&lt;/code&gt; 更直观，也往往更快。&lt;/p&gt;
&lt;h2 id="8. 字符串匹配：普通字符串、通配符、正则"&gt;8. 字符串匹配：普通字符串、通配符、正则&lt;/h2&gt;
&lt;p&gt;按名称选择时，可以使用普通字符串：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name CA
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;也可以使用通配符：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name "C*"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;还可以使用正则表达式：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname "R[AB]"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;GROMACS 会根据字符串内容自动猜测匹配类型。如果想强制某种匹配方式，可以用：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;写法&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;name = "C*"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;按字面量匹配 &lt;code&gt;C*&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;name ? "C*"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;强制通配符匹配&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;name ~ "C[0-9]+"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;强制正则匹配&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;包含特殊字符、空格或可能和关键词冲突的字符串，建议始终加双引号。&lt;/p&gt;
&lt;h2 id="9. 按距离选择"&gt;9. 按距离选择&lt;/h2&gt;&lt;h3 id="9.1 within：最常用的距离选择"&gt;9.1 within：最常用的距离选择&lt;/h3&gt;
&lt;p&gt;选择距离蛋白 0.5 nm 以内的配体原子：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname LIG and within 0.5 of group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;选择距离固定坐标 &lt;code&gt;[1.2, 3.1, 2.4]&lt;/code&gt; 超过 1 nm 的所有原子：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;not within 1 of [1.2, 3.1, 2.4]
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="9.2 distance 与 mindistance"&gt;9.2 distance 与 mindistance&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;distance from POS&lt;/code&gt; 计算到单个位置的距离：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;distance from com of group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;mindistance from POS_EXPR&lt;/code&gt; 计算到一组位置中最近一个位置的距离：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mindistance from group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果要提高计算效率，可以给距离关键词加 &lt;code&gt;cutoff&lt;/code&gt;：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;distance from com of group "Protein" cutoff 2.0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;距离超过 cutoff 的结果会被截断为 cutoff，适合只关心某个范围内的判断。&lt;/p&gt;
&lt;h2 id="10. 位置：atom、com、cog 与残基/分子中心"&gt;10. 位置：atom、com、cog 与残基/分子中心&lt;/h2&gt;
&lt;p&gt;selection 不一定只选原子，也可以选“位置”。&lt;/p&gt;
&lt;h3 id="10.1 常量位置"&gt;10.1 常量位置&lt;/h3&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[1.2, 3.1, 2.4]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;表示一个固定三维坐标。&lt;/p&gt;
&lt;h3 id="10.2 质心和几何中心"&gt;10.2 质心和几何中心&lt;/h3&gt;
&lt;p&gt;蛋白质质心：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;com of group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;配体几何中心：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cog of resname LIG
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果分子跨周期性边界，可以加 &lt;code&gt;pbc&lt;/code&gt;：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;com of group "Protein" pbc
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="10.3 常见位置类型"&gt;10.3 常见位置类型&lt;/h3&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;写法&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atom&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;原子位置&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;res_com&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;每个残基的质心&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;res_cog&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;每个残基的几何中心&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mol_com&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;每个分子的质心&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mol_cog&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;每个分子的几何中心&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;例如，残基 1 到 5 和残基 10 的质心：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;res_com of resnr 1 to 5 10
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="11. whole、part、dyn 的区别"&gt;11. whole、part、dyn 的区别&lt;/h2&gt;
&lt;p&gt;位置类型可以加前缀：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;前缀&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;th&gt;适合场景&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;whole_&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;用整个残基/分子计算中心&lt;/td&gt;
&lt;td&gt;想按完整残基或完整分子理解&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;part_&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;用选中的固定原子集合计算中心&lt;/td&gt;
&lt;td&gt;默认折衷，速度和直觉较平衡&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dyn_&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;每帧只用真正满足条件的原子计算中心&lt;/td&gt;
&lt;td&gt;严格动态选择，但可能更慢&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;例子：选择每个残基中 &lt;code&gt;C1 C2 C3&lt;/code&gt; 任意一个满足 &lt;code&gt;x &amp;lt; 2&lt;/code&gt; 的残基，并计算这些原子的质心：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;part_res_com of name C1 C2 C3 and x &amp;lt; 2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果要用整个残基计算质心：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;whole_res_com of name C1 C2 C3 and x &amp;lt; 2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果只用当前帧严格满足 &lt;code&gt;x &amp;lt; 2&lt;/code&gt; 的那些原子计算质心：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dyn_res_com of name C1 C2 C3 and x &amp;lt; 2
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="12. 给 selection 起名字"&gt;12. 给 selection 起名字&lt;/h2&gt;
&lt;p&gt;可以在 selection 前面加一个字符串作为名字：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Close to protein" resname LIG and within 0.5 of group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个名字可能出现在输出文件、图例或日志中。建议给复杂 selection 起一个短名字，后续排查会轻松很多。&lt;/p&gt;
&lt;h2 id="13. 使用变量复用表达式"&gt;13. 使用变量复用表达式&lt;/h2&gt;
&lt;p&gt;复杂 selection 中，变量非常有用。变量定义语法：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VARNAME = EXPR ;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;例子：计算每个 &lt;code&gt;RES&lt;/code&gt; 残基质心到所有 &lt;code&gt;RES&lt;/code&gt; 质心的距离，并筛选 2 到 4 nm 范围内的残基：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rdist = res_com distance from com of resname RES;
resname RES and rdist &amp;gt;= 2 and rdist &amp;lt;= 4
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;使用变量有两个好处：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;表达式更易读&lt;/li&gt;
&lt;li&gt;公共子表达式在一帧内只需要求值一次&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="14. merge、plus 和 permute"&gt;14. merge、plus 和 permute&lt;/h2&gt;&lt;h3 id="14.1 plus：把多个位置拼起来"&gt;14.1 plus：把多个位置拼起来&lt;/h3&gt;
&lt;p&gt;两个 index 组的质心：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;com of group 1 plus com of group 2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这可以用于 &lt;code&gt;gmx distance&lt;/code&gt; 计算两个质心之间的距离。&lt;/p&gt;

&lt;p&gt;固定 x 方向向量：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[0, 0, 0] plus [1, 0, 0]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这可以在 &lt;code&gt;gmx gangle&lt;/code&gt; 里作为参考向量。&lt;/p&gt;
&lt;h3 id="14.2 merge：交错合并位置"&gt;14.2 merge：交错合并位置&lt;/h3&gt;
&lt;p&gt;生成类似 &lt;code&gt;C1 C2 C2 C3 C3 C4 ... C8 C9&lt;/code&gt; 的重复原子序列：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name "C[1-8]" merge name "C[2-9]"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这可用于 &lt;code&gt;gmx distance&lt;/code&gt; 计算 &lt;code&gt;C1-C2&lt;/code&gt;、&lt;code&gt;C2-C3&lt;/code&gt; 等连续距离。&lt;/p&gt;
&lt;h3 id="14.3 permute：改变最终顺序"&gt;14.3 permute：改变最终顺序&lt;/h3&gt;
&lt;p&gt;默认 selection 返回结果通常按原子索引递增排序。如果想把 &lt;code&gt;C1 C2&lt;/code&gt; 变成 &lt;code&gt;C2 C1&lt;/code&gt;：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name C1 C2 permute 2 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这在 &lt;code&gt;gmx gangle&lt;/code&gt; 中很有用，例如想得到 &lt;code&gt;C2 -&amp;gt; C1&lt;/code&gt; 而不是 &lt;code&gt;C1 -&amp;gt; C2&lt;/code&gt; 的向量。&lt;/p&gt;
&lt;h2 id="15. same：把局部条件扩展到整个残基/分子"&gt;15. same：把局部条件扩展到整个残基/分子&lt;/h2&gt;
&lt;p&gt;选择至少有一个原子距离配体 &lt;code&gt;LIG&lt;/code&gt; 0.5 nm 以内的所有蛋白残基：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;group "Protein" and same residue as within 0.5 of resname LIG
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里的关键是：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;same residue as ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;它不是只选中靠近配体的那些原子，而是把满足条件的原子扩展为整个 residue。&lt;/p&gt;

&lt;p&gt;类似思路也可用于按分子、残基编号、字符串属性扩展选择。&lt;/p&gt;
&lt;h2 id="16. insolidangle：按立体角选择"&gt;16. insolidangle：按立体角选择&lt;/h2&gt;
&lt;p&gt;语法：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;insolidangle center POS span POS_EXPR [cutoff REAL]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;它的含义是：从中心位置 &lt;code&gt;POS&lt;/code&gt; 看过去，选择落在由 &lt;code&gt;POS_EXPR&lt;/code&gt; 中各位置张成的小圆锥范围内的原子。&lt;code&gt;cutoff&lt;/code&gt; 控制圆锥宽度，默认单位是角度。&lt;/p&gt;

&lt;p&gt;这个关键词相对少用，适合处理“从某个观察点看，处在某方向区域内的原子”这一类几何问题。&lt;/p&gt;
&lt;h2 id="17. 常用例子速查"&gt;17. 常用例子速查&lt;/h2&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;目标&lt;/th&gt;
&lt;th&gt;selection&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;所有水氧&lt;/td&gt;
&lt;td&gt;&lt;code&gt;resname SOL and name OW&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;残基 1-5 和 10 的质心&lt;/td&gt;
&lt;td&gt;&lt;code&gt;res_com of resnr 1 to 5 10&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;距固定点超过 1 nm 的原子&lt;/td&gt;
&lt;td&gt;&lt;code&gt;not within 1 of [1.2, 3.1, 2.4]&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;距蛋白 0.5 nm 内的配体&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"Close to protein" resname LIG and within 0.5 of group "Protein"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;至少一个原子靠近配体的蛋白残基&lt;/td&gt;
&lt;td&gt;&lt;code&gt;group "Protein" and same residue as within 0.5 of resname LIG&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;两个 index 组的质心&lt;/td&gt;
&lt;td&gt;&lt;code&gt;com of group 1 plus com of group 2&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C1-C2、C2-C3 连续距离&lt;/td&gt;
&lt;td&gt;&lt;code&gt;name "C[1-8]" merge name "C[2-9]"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;把 C1 C2 改成 C2 C1&lt;/td&gt;
&lt;td&gt;&lt;code&gt;name C1 C2 permute 2 1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="18. 常见坑"&gt;18. 常见坑&lt;/h2&gt;&lt;h3 id="18.1 selection 要加引号"&gt;18.1 selection 要加引号&lt;/h3&gt;
&lt;p&gt;命令行里建议始终给 selection 加引号：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gmx &lt;span class="k"&gt;select&lt;/span&gt; &lt;span class="nt"&gt;-select&lt;/span&gt; &lt;span class="s1"&gt;'resname SOL and name OW'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果 selection 本身需要双引号，外层可以用单引号：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gmx &lt;span class="k"&gt;select&lt;/span&gt; &lt;span class="nt"&gt;-select&lt;/span&gt; &lt;span class="s1"&gt;'"Close to protein" resname LIG and within 0.5 of group "Protein"'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="18.2 结构文件和轨迹文件的信息来源不同"&gt;18.2 结构文件和轨迹文件的信息来源不同&lt;/h3&gt;
&lt;p&gt;如果工具同时使用 &lt;code&gt;-s&lt;/code&gt; 和 &lt;code&gt;-f&lt;/code&gt;，通常：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;坐标来自轨迹 &lt;code&gt;-f&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;原子名、残基名等拓扑/结构信息来自 &lt;code&gt;-s&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;如果轨迹里的原子名和结构文件里的不同，GROMACS 可能不会警告你；通常只检查原子数量。&lt;/p&gt;
&lt;h3 id="18.3 负数范围可能需要花括号"&gt;18.3 负数范围可能需要花括号&lt;/h3&gt;
&lt;p&gt;有些情况下，表达式第一个值是负数会触发语法问题：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;charge -1 to -0.7
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可以改写为：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;charge {-1 to -0.7}
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="18.4 默认顺序不是你写的顺序"&gt;18.4 默认顺序不是你写的顺序&lt;/h3&gt;
&lt;p&gt;很多关键词会按原子索引递增返回结果，所以这些写法可能得到同样顺序：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname RA RB RC
resname RB RC RA
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果分析工具依赖顺序，考虑使用：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;permute&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;merge&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;plus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;外部 index 文件&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="19. 推荐学习路线"&gt;19. 推荐学习路线&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;先熟悉 &lt;code&gt;resname&lt;/code&gt;、&lt;code&gt;name&lt;/code&gt;、&lt;code&gt;group&lt;/code&gt;、&lt;code&gt;and&lt;/code&gt;、&lt;code&gt;or&lt;/code&gt;、&lt;code&gt;not&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;再掌握 &lt;code&gt;within&lt;/code&gt;，这是最常见的动态选择。&lt;/li&gt;
&lt;li&gt;接着学习 &lt;code&gt;com of&lt;/code&gt;、&lt;code&gt;cog of&lt;/code&gt;、&lt;code&gt;res_com of&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;当 selection 变长时，用变量拆开。&lt;/li&gt;
&lt;li&gt;遇到顺序敏感的分析，再学习 &lt;code&gt;merge&lt;/code&gt;、&lt;code&gt;plus&lt;/code&gt;、&lt;code&gt;permute&lt;/code&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="20. 一句话总结"&gt;20. 一句话总结&lt;/h2&gt;
&lt;p&gt;GROMACS selection 的核心是：&lt;strong&gt;用类似自然语言的表达式，把“选择哪些原子”和“如何把它们变成位置”写清楚。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;最常用的模板可以记成：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;条件1 and 条件2 and within 距离 of 参考对象
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resname LIG and within 0.5 of group "Protein"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;掌握这个模板后，大多数日常轨迹分析的选区问题都可以逐步扩展出来。&lt;/p&gt;</description>
      <author>admin</author>
      <pubDate>Mon, 13 Jul 2026 15:49:58 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/46</link>
      <guid>https://forum.sidereus-ai.com/topics/46</guid>
    </item>
    <item>
      <title> IUPAC-Condensed 糖链表示法中文教程</title>
      <description>&lt;h2 id="IUPAC-Condensed 糖链表示法中文教程， 糖基化怎么描述，"&gt;IUPAC-Condensed 糖链表示法中文教程，糖基化怎么描述，&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;本教程整理自 glyrepr 文档中的“IUPAC-Condensed Glycan Notation”文章，并按中文学习顺序重新组织。原文链接：&lt;a href="https://glycoverse.github.io/glyrepr/articles/iupac.html" rel="nofollow" target="_blank"&gt;https://glycoverse.github.io/glyrepr/articles/iupac.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="1. IUPAC-Condensed 是什么？"&gt;1. IUPAC-Condensed 是什么？&lt;/h2&gt;
&lt;p&gt;IUPAC-condensed 是一种用紧凑文本描述糖链结构的写法。它把糖链中的单糖、糖苷键、分支和还原端信息写进一个字符串里，适合人工阅读，也适合软件解析。&lt;/p&gt;

&lt;p&gt;例如，一个糖链可以写成：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-2)Man(a1-3)[Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-2)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)[Fuc(a1-6)]GlcNAc(b1-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这串文本看起来长，但它其实按固定规则表达了：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;每个单糖是什么&lt;/li&gt;
&lt;li&gt;单糖之间如何连接&lt;/li&gt;
&lt;li&gt;哪些部分是主链&lt;/li&gt;
&lt;li&gt;哪些部分是分支&lt;/li&gt;
&lt;li&gt;还原端的异头构型信息&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;下面这张图对应一个复杂 N-glycan 示例：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/7f5d4402-13c0-4523-9f2a-18bfffadd2bc.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="2. 常见单糖缩写"&gt;2. 常见单糖缩写&lt;/h2&gt;
&lt;p&gt;IUPAC-condensed 先用简短符号表示单糖。常见例子如下：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;中文名称&lt;/th&gt;
&lt;th&gt;英文名称&lt;/th&gt;
&lt;th&gt;IUPAC-condensed 符号&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;半乳糖&lt;/td&gt;
&lt;td&gt;Galactose&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Gal&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;葡萄糖&lt;/td&gt;
&lt;td&gt;Glucose&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Glc&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;甘露糖&lt;/td&gt;
&lt;td&gt;Mannose&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Man&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;N-乙酰氨基葡萄糖&lt;/td&gt;
&lt;td&gt;N-Acetylglucosamine&lt;/td&gt;
&lt;td&gt;&lt;code&gt;GlcNAc&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;岩藻糖&lt;/td&gt;
&lt;td&gt;Fucose&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Fuc&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;N-乙酰神经氨酸&lt;/td&gt;
&lt;td&gt;N-Acetylneuraminic acid&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Neu5Ac&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;读糖链字符串时，先把每个单糖符号识别出来，再看括号里的连接信息。&lt;/p&gt;
&lt;h2 id="3. 取代基怎么写？"&gt;3. 取代基怎么写？&lt;/h2&gt;
&lt;p&gt;糖链中的单糖有时带有额外化学修饰，IUPAC-condensed 通常把修饰直接写在单糖名称后面。&lt;/p&gt;

&lt;p&gt;基本格式：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;单糖名 + 位置数字 + 修饰类型
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;例子：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;写法&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Neu5Ac9Ac&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Neu5Ac&lt;/code&gt; 的 9 位带乙酰基&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Glc3Me&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Glc&lt;/code&gt; 的 3 位带甲基&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GlcNAc6Ac&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;GlcNAc&lt;/code&gt; 的 6 位带乙酰基&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;其中 &lt;code&gt;6Ac&lt;/code&gt; 可以读作“6 位乙酰化”。&lt;/p&gt;
&lt;h2 id="4. 糖苷键信息怎么读？"&gt;4. 糖苷键信息怎么读？&lt;/h2&gt;
&lt;p&gt;糖苷键写在两个单糖之间的括号里。&lt;/p&gt;

&lt;p&gt;通用结构：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MonosaccharideA(anomeric_config + donor_position - acceptor_position)MonosaccharideB
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;简化理解：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;供体单糖(异头构型 + 供体位置 - 受体位置)受体单糖
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Neu5Ac(a2-3)Gal
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可以读作：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Neu5Ac&lt;/code&gt; 连接到 &lt;code&gt;Gal&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;a&lt;/code&gt; 表示 &lt;code&gt;Neu5Ac&lt;/code&gt; 的异头构型是 alpha&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;2&lt;/code&gt; 表示从 &lt;code&gt;Neu5Ac&lt;/code&gt; 的 2 位出发&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;3&lt;/code&gt; 表示连接到 &lt;code&gt;Gal&lt;/code&gt; 的 3 位&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;所以 &lt;code&gt;Neu5Ac(a2-3)Gal&lt;/code&gt; 的意思是：&lt;code&gt;Neu5Ac&lt;/code&gt; 通过 alpha 2 到 3 的糖苷键连接到 &lt;code&gt;Gal&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id="未知键位"&gt;未知键位&lt;/h3&gt;
&lt;p&gt;如果连接信息不完整，可以用 &lt;code&gt;?&lt;/code&gt; 表示未知。&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;写法&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;a2-?&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;异头构型和供体位置已知，受体位置未知&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;??-3&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;受体位置已知，但异头构型和供体位置未知&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="5. 分支结构怎么写？"&gt;5. 分支结构怎么写？&lt;/h2&gt;
&lt;p&gt;糖链本质上是一棵树，但 IUPAC-condensed 要把它写成一行文本。核心规则是：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;先找主链，通常选最长路径。&lt;/li&gt;
&lt;li&gt;不在主链上的部分作为分支。&lt;/li&gt;
&lt;li&gt;分支放在方括号 &lt;code&gt;[]&lt;/code&gt; 里。&lt;/li&gt;
&lt;li&gt;分支写在它所连接的那个单糖前面。&lt;/li&gt;
&lt;li&gt;如果分支内部还有分支，递归使用同样规则。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;也就是说，方括号不是“装饰”，它告诉你这段糖链不是线性主链，而是接在后面某个单糖上的支链。&lt;/p&gt;
&lt;h2 id="6. 例子一：简单 O-glycan"&gt;6. 例子一：简单 O-glycan&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/f350ff5f-2e5a-4cbc-b720-3b241c089a8a.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;先看主链：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Gal -&amp;gt; GlcNAc -&amp;gt; GalNAc
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;加上连接信息后：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Gal(b1-4)GlcNAc(b1-6)GalNAc(a1-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;图中还有一个 &lt;code&gt;Gal&lt;/code&gt; 分支，它连接到 &lt;code&gt;GalNAc&lt;/code&gt;。因为分支要写在它连接的单糖之前，所以完整写法是：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Gal(b1-4)GlcNAc(b1-6)[Gal(b1-3)]GalNAc(a1-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里的 &lt;code&gt;[Gal(b1-3)]&lt;/code&gt; 表示：有一个 &lt;code&gt;Gal&lt;/code&gt; 分支通过 &lt;code&gt;b1-3&lt;/code&gt; 连接到后面的 &lt;code&gt;GalNAc&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="7. 例子二：N-glycan 核心结构"&gt;7. 例子二：N-glycan 核心结构&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/3dbe9662-6ad8-4539-8794-2dd162ad722b.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这个结构中有两条长度相同的候选主链。遇到这种情况，需要使用 tie-breaker 规则：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;如果候选主链长度相同，选择能让分支位置数字更小的写法。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这里有两个选择：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;选择&lt;/th&gt;
&lt;th&gt;分支位置&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;把 &lt;code&gt;Man(a1-3)&lt;/code&gt; 放在主链上&lt;/td&gt;
&lt;td&gt;分支是 &lt;code&gt;Man(a1-6)&lt;/code&gt;，位置为 6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;把 &lt;code&gt;Man(a1-6)&lt;/code&gt; 放在主链上&lt;/td&gt;
&lt;td&gt;分支是 &lt;code&gt;Man(a1-3)&lt;/code&gt;，位置为 3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;因为 3 小于 6，所以选择让 &lt;code&gt;Man(a1-3)&lt;/code&gt; 成为分支的写法。&lt;/p&gt;

&lt;p&gt;最终结果：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Man(a1-3)[Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意：分支 &lt;code&gt;[Man(a1-6)]&lt;/code&gt; 写在它连接的 &lt;code&gt;Man&lt;/code&gt; 前面。&lt;/p&gt;
&lt;h2 id="8. 例子三：更复杂的多分支结构"&gt;8. 例子三：更复杂的多分支结构&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/850d58dc-c2b0-4363-a607-dcf459be14a0.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这个结构有多个同长度分支。判断主链时，从还原端往非还原端看，先找到第一个分叉点。在这个例子里，关键分叉发生在 &lt;code&gt;Man(b1-4)&lt;/code&gt; 附近，有一条 &lt;code&gt;a1-3&lt;/code&gt; 链和一条 &lt;code&gt;a1-6&lt;/code&gt; 链。&lt;/p&gt;

&lt;p&gt;按 tie-breaker 规则，优先选择较小位置数字对应的路径作为主链。因此先写主链：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Man(a1-2)Man(a1-2)Man(a1-3)[BRANCH]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中 &lt;code&gt;[BRANCH]&lt;/code&gt; 本身也是一个带分支的结构：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/7bbb172c-0d10-4d77-a19b-6323e585aae9.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这个分支可以写成：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Man(a1-2)Man(a1-3)[Man(a1-2)Man(a1-6)]Man(a1-6)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;把分支放回主链，就得到完整写法：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Man(a1-2)Man(a1-2)Man(a1-3)[Man(a1-2)Man(a1-3)[Man(a1-2)Man(a1-6)]Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个例子最重要的点是：分支内部也可以继续有方括号，因此 IUPAC-condensed 是递归结构。&lt;/p&gt;
&lt;h2 id="9. 为什么最后会以 (b1- 结尾？"&gt;9. 为什么最后会以 &lt;code&gt;(b1-&lt;/code&gt; 结尾？&lt;/h2&gt;
&lt;p&gt;你可能会注意到，有些糖链最后不是完整的 &lt;code&gt;(b1-4)&lt;/code&gt;，而是类似：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GlcNAc(b1-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是因为最右侧的单糖是还原端，它的异头碳没有继续连接到下一个糖残基。这里的 &lt;code&gt;(b1-&lt;/code&gt; 用来保留还原端的异头构型和位置，而不是表示一个完整糖苷键。&lt;/p&gt;
&lt;h2 id="10. 阅读一个 IUPAC-condensed 字符串的建议流程"&gt;10. 阅读一个 IUPAC-condensed 字符串的建议流程&lt;/h2&gt;
&lt;p&gt;拿到一个字符串时，可以按下面顺序读：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;从右往左找还原端，也就是最右边的单糖。&lt;/li&gt;
&lt;li&gt;识别每个单糖符号，例如 &lt;code&gt;Gal&lt;/code&gt;、&lt;code&gt;Man&lt;/code&gt;、&lt;code&gt;GlcNAc&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;查看每个括号里的糖苷键信息，例如 &lt;code&gt;(b1-4)&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;遇到 &lt;code&gt;[]&lt;/code&gt; 时，把里面当作分支。&lt;/li&gt;
&lt;li&gt;分支连接到方括号后面的那个单糖。&lt;/li&gt;
&lt;li&gt;如果分支里还有 &lt;code&gt;[]&lt;/code&gt;，继续按同样规则解析。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="11. 小练习"&gt;11. 小练习&lt;/h2&gt;
&lt;p&gt;试着阅读下面这个结构：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Gal(b1-4)GlcNAc(b1-6)[Gal(b1-3)]GalNAc(a1-
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;问题：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;主链包含哪些单糖？&lt;/li&gt;
&lt;li&gt;分支是什么？&lt;/li&gt;
&lt;li&gt;分支连接到哪个单糖？&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Gal(b1-3)&lt;/code&gt; 中的 &lt;code&gt;b1-3&lt;/code&gt; 表示什么？&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;参考答案：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;主链是 &lt;code&gt;Gal -&amp;gt; GlcNAc -&amp;gt; GalNAc&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;分支是 &lt;code&gt;[Gal(b1-3)]&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;分支连接到后面的 &lt;code&gt;GalNAc&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Gal&lt;/code&gt; 以 beta 构型从 1 位连接到 &lt;code&gt;GalNAc&lt;/code&gt; 的 3 位。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="12. 速查表"&gt;12. 速查表&lt;/h2&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;符号/结构&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Gal&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;半乳糖&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GlcNAc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;N-乙酰氨基葡萄糖&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Man&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;甘露糖&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Fuc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;岩藻糖&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;(a2-3)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;alpha 构型，供体 2 位连接到受体 3 位&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;(b1-4)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;beta 构型，供体 1 位连接到受体 4 位&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;分支&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未知信息&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;(b1-&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;还原端异头信息，不是完整连接&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 id="13. 一句话总结"&gt;13. 一句话总结&lt;/h2&gt;
&lt;p&gt;IUPAC-condensed 的关键是：&lt;strong&gt;主链直接写，分支放方括号，括号记录连接方式，最右端通常是还原端。&lt;/strong&gt;&lt;/p&gt;</description>
      <author>admin</author>
      <pubDate>Mon, 13 Jul 2026 15:20:26 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/45</link>
      <guid>https://forum.sidereus-ai.com/topics/45</guid>
    </item>
    <item>
      <title>世界第一！国产 DPA4 凭什么吊打国外大原子模型——参数少 10.9 倍，训练快 42.9 倍</title>
      <description>&lt;p&gt;做高精度机器学习分子模拟的你，是不是也被训练成本逼疯了？&lt;/p&gt;

&lt;p&gt;高精度模型往往带来高参数量和高计算消耗、训练算力动辄几百 GPU-days——&lt;/p&gt;

&lt;p&gt;更别说很多高精度模型也就打榜厉害，工程化做得很差，一到实际场景，用起来就磕磕绊绊。&lt;/p&gt;

&lt;p&gt;近日，由北京科学智能研究院 OpenLAM 团队等机构的研究者最新放出的 DPA4，直接把这些老规矩掀翻了桌子。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/c39ae09a-2281-4a22-a1a6-39bf472a206d.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;三条关键数据，先帮你快速建立认知：&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;strong&gt;准确率世界第一：&lt;/strong&gt; DPA4-Pro 在 Matbench Discovery 合规榜单上取得 CPS = 0.833，是目前所有合规模型的最高分。&lt;/p&gt;

&lt;p&gt;🔸 &lt;strong&gt;小参数量打大参数量：&lt;/strong&gt; 仅 2.76M 参数的 DPA4-Air 就能在精度上超越 30.1M 参数的 eSEN-30M-MP——参数少了 &lt;strong&gt;10.9 倍&lt;/strong&gt;，训练算力仅需对方的 &lt;strong&gt;1/42.9&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;🔸 &lt;strong&gt;开箱即用：&lt;/strong&gt; DPA4 由 DeePMD-kit (&lt;a href="https://github.com/deepmodeling/deepmd-kit" rel="nofollow" target="_blank"&gt;https://github.com/deepmodeling/deepmd-kit&lt;/a&gt;\) 原生支持，代码开源在 DeepModeling 科学智能社区 (&lt;a href="https://deepmodeling.com/)%E3%80%82%E6%98%9F%E4%BD%BF%E6%99%BA%E7%AE%97" rel="nofollow" target="_blank"&gt;https://deepmodeling.com/)。星使智算&lt;/a&gt;\ AsterFire Go 科学智算平台 (&lt;a href="https://sidereus-ai.com/" rel="nofollow" target="_blank"&gt;https://sidereus-ai.com/&lt;/a&gt;\) 已内置预训练模型和 DeePMD 智能体工具，上传结构即可运行。&lt;/p&gt;

&lt;p&gt;DPA4 绝不仅仅是跑分强。它的架构设计思路，值得每一个做机器学习分子模拟的人认真看一看。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/008864e6-c253-4583-97a2-105c2ad7a32b.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;图 1：Matbench Discovery 官方截图，DPA4 在综合指标 CPS 位列第一，其中 K_SRME 指标断层式领先。数据截至 2026 年 6 月 1 日。&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="零、什么是"&gt;&lt;strong&gt;零、什么是"等变"？为什么它重要？&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;机器学习势（Machine Learning Interatomic Potentials, MLIPs）在做的事情就是用机器学习的方法拟合高精度（如第一性原理方法）势能面，以构建高精度的力场。这一力场建立三维化学结构到其能量（包括原子能量贡献和分子总能量）以及原子受力等物理属性的映射，是分子模拟中必不可少的基座。&lt;/p&gt;

&lt;p&gt;用于分子模拟的这些力场需要满足最基础的物理约束——&lt;strong&gt;“不变”（invariant）&lt;/strong&gt;性和*&lt;em&gt;“保守” (conservative) *&lt;/em&gt;性。这两个概念都很好理解：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;不变性：分子的能量需要与分子平移、旋转、以及同元素原子置换无关。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;保守性：分子中各原子的受力需要直接来自原子势能对坐标的梯度。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;一般来说，满足不变性和保守性的模型，其原子受力自然是等变的，物理约束已经足够。但实践证明，引入“等变”性质会使模型精度和数据利用率明显上升。&lt;/p&gt;

&lt;p&gt;我们可以先看看上一代 DPA 大原子模型的实现。DPA3 以线图级联的模型架构达到了很高的分辨率，在不变模型上达到了等变模型的高精度。DPA3 是怎么描述一个原子周围的化学环境的？它通过图结构看到&lt;strong&gt;距离和角度&lt;/strong&gt;——邻居有多远（r）、三个原子之间夹角多大（cosθ）。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/22627238-6913-460c-a0aa-9458bcb1c4e2.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;图 2：DPA3 模型架构，其中 (a) 图和 (b) 图很好地说明了其"线图级联"的模式：将图表示级联起来，一阶图的节点表示体系原子，边表示原子间距离（化学键），这一信息同时被二阶图的节点表达，二阶图的边则表示原子键角。依此类推。&lt;/p&gt;

&lt;p&gt;这一不变模型的分子图表示结构很清晰，并自然满足基础的物理约束，但代价是什么？网络内部的所有特征都是标量。比如说，它知道"有个碳原子在 1.5Å 外"，也知道"碳 - 氧-氢之间的夹角是 104°"，但它不知道这个碳到底在左边还是右边、上面还是下面。方向信息在输入阶段就被消掉了。&lt;/p&gt;

&lt;p&gt;而&lt;strong&gt;"等变"（equivariant）&lt;/strong&gt;这一概念，则是不变的升级进化版。这里用一个不严谨但好懂的比喻：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;不变模型（如上一代 DPA3）：&lt;/strong&gt; 好比把 3D 分子拍成一张二维照片，然后在照片上做分析。旋转分子，照片上的像素值不变——能量自然旋转不变。代价是：你丧失了"这个原子到底在左边还是右边"的方向信息。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;等变模型（如 DPA4）：&lt;/strong&gt; 好比保留了一个完整的 3D 方向感知场。旋转分子，这个感知场也跟着旋转，但最终提取的能量仍然不变。中间过程保留了方向信息，所以模型表达能力更强，数据效率更高。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;从不变到等变的演进，背后暗含了高精度分子表示问题的一个认识趋势：&lt;strong&gt;只靠原子间距离来预测能量和力，已经不够了。&lt;/strong&gt;DPA4 相比 DPA3 的核心变化，就是不让网络在消息传递的中途丢掉方向信息。&lt;/p&gt;

&lt;p&gt;实际上，对于简单的体系或者是标量性质预测而言，传统的不变表征空间的预测就是把保留了方向性的等变空间特征通过求范数等操作不可逆地压缩方向性，从而降低计算成本和物理约束，这种方案极大地降低了模型的容量和表达能力，又没有引入其他机制和先验，导致不变模型需要大得多的训练步数和数据量才能达到与等变模型相同的精度。&lt;/p&gt;

&lt;p&gt;而近年来的高精度机器学习势模型——NequIP、MACE、eSEN、Equiformer——几乎都在做同一件事：通过等变性，让网络"看到方向"。——不是把方向信息抹掉、只保留距离，而是让每个原子的特征天然携带"哪个方向有什么邻居"的信息。标量和矢量的信息被放进不同的通道分别处理，而不是强行把矢量压扁成标量，或者指望靠堆数据来弥补模型本身的方向感缺失。&lt;/p&gt;

&lt;p&gt;等变结构确保了每一层的表示都遵守正确的对称变换规则，这极大增强了模型的平滑性和外推稳定性。实测中，等变模型在势能面的偏远区域（如高能构型）通常给出更合理的力预测，这在动态模拟中至关重要。同时，等变网络可以直接在同一个等变特征空间上挂载不同阶数的输出头，对于矢量性质（如偶极矩），张量性质（如极化率）等高阶物理信息学习和预测自然适配。&lt;/p&gt;

&lt;p&gt;等变网络是让深度学习模型更“懂”三维空间的工程实现，它在样本效率、泛化能力和多属性建模上带来了质的飞跃。然而，天下没有免费的午餐。通过等变性保留方向信息是有代价的：张量积耦合的计算量随角动量阶数增长极快。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DPA4 的核心贡献，就是用"边局部坐标系"这个技巧，把保留方向信息的成本大幅降了下来。&lt;/strong&gt; 理解了这一点，后面的技术细节就好懂了。&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="一、DPA4 如何用"&gt;&lt;strong&gt;一、DPA4 如何用"边局部坐标系"把等变模型变便宜&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;DPA4（又称 SeZM: Smooth Equivariant Zone-bridging Model）是 DeePMD 团队在等变机器学习势方向上的正式回应。它作为 DeepModeling 社区的最新一代 DPA 大原子模型，在采用球谐等变架构的基础上，并没有照着 MACE/NequIP 的图纸再画一遍，而是选择了一条更适合工程落地的路线。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/02be62ea-e40d-4121-9465-5dbbb47815e5.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;图 3：DPA4 模型架构图（原论文 Figure 2）。(a) 整体数据流，(b) 共享边缓存与几何注入嵌入（GIE），(c) EMFA SO(2) 卷积——四项核心创新 A1–A4 的所在位置。下文 1.1–1.4 依次拆解。&lt;/p&gt;
&lt;h2 id="1.1 最核心的创新：为什么要在"&gt;&lt;strong&gt;1.1 最核心的创新：为什么要在"边的方向上"做文章？&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;这是理解 DPA4 最关键的一节。&lt;/p&gt;
&lt;h3 id="问题：等变为什么这么贵？"&gt;&lt;strong&gt;问题：等变为什么这么贵？&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;一般来说，通过等变保留方向信息时，会采用球谐等变的模式。假设每个原子的特征包含 16 个方向系数（对应 l=0,1,2,3 四个角量子数，每个阶有 &lt;code&gt;2l+1&lt;/code&gt; 个分量）。如果你要在全局坐标系中让两个带方向的原子互相传消息，你需要把发送原子的 16 个分量和接收原子的 16 个分量两两耦合——这在数学上叫"张量积"，全局 SO(3) Clebsch-Gordan 张量积的计算量随 &lt;code&gt;lmax&lt;/code&gt; 呈四次方增长（O(L⁴)），而且要对每条边、每一层都做。更关键的是，这个成本随角动量阶数的增长方式非常陡——阶数每加一档，耦合的组合数不是翻倍，而是平方甚至更高次地增长。&lt;/p&gt;

&lt;p&gt;这就是为什么 MACE/NequIP 这类模型虽然精度高，但通常只能停在&lt;code&gt;l=2&lt;/code&gt; 或 &lt;code&gt;l=3&lt;/code&gt;。它们并非不想用更高阶的方向分辨率来区分 d 轨道和 f 轨道的细微角度差异，只是每加一阶的代价递增太快，无法接受。&lt;/p&gt;
&lt;h3 id="DPA4 的做法：把问题从"&gt;&lt;strong&gt;DPA4 的做法：把问题从"全局耦合"变成"旋转→局部计算→旋转回"。&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;DPA4 注意到，两个原子之间传递消息时，唯一真正重要的方向是&lt;strong&gt;两个原子连线的方向&lt;/strong&gt;。垂直于这条连线的方向分量，在消息聚合到目标原子之前都是冗余的自由度。&lt;/p&gt;

&lt;p&gt;于是它把每条边上的计算拆成三步：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;旋转：把发送原子的"方向感知场"旋转一下，让新坐标系的 z 轴对齐两个原子之间的连线方向。这步只涉及一个固定的旋转矩阵乘法。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;局部计算：在新的坐标系里做消息混合。此时 z 轴已经对齐了边方向，绕边轴的旋转变成了一个更容易处理的问题——不同&lt;code&gt;|m|&lt;/code&gt; 阶之间天然解耦，不需要昂贵的交叉耦合项。计算量随角动量阶数的增长从"超线性暴增"变成了"温和的二次增长"。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;旋转回：把混合后的消息再转回全局坐标系。&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;第 1 步和第 3 步的旋转矩阵，每条边在整个前向传播中只算一次，然后所有交互层共用。真正反复执行的是第 2 步——而这正是 DPA4 省钱的地方：&lt;strong&gt;把昂贵的全局 SO(3) 耦合，搬到每条边的局部坐标系里，变成便宜的 SO(2) 块对角计算。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="为什么第 2 步便宜？一个直观的数字对比："&gt;&lt;strong&gt;为什么第 2 步便宜？一个直观的数字对比：&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;在全局坐标系里耦合方向信息，需要处理任意两个 &lt;code&gt;(l₁,m₁)&lt;/code&gt; 和 &lt;code&gt;(l₂,m₂)&lt;/code&gt; 之间的相互作用。以 &lt;code&gt;lmax=3&lt;/code&gt; 为例，单是枚举所有可能的耦合组合就是一个很大的矩阵乘法，而且这个矩阵的规模随&lt;code&gt;lmax&lt;/code&gt; 的增长是四次方级别的。&lt;/p&gt;

&lt;p&gt;而在 DPA4 的边局部坐标系里，z 轴对齐之后，不同 &lt;code&gt;|m|&lt;/code&gt; 阶之间不再需要互相耦合。权重矩阵变成了块对角结构——&lt;code&gt;|m|=0&lt;/code&gt; 是一块，&lt;code&gt;|m|=1&lt;/code&gt; 是另一块，各块之间独立计算。不仅计算量降了，而且每一块内部的约束也更简单：&lt;code&gt;|m|&amp;gt;0&lt;/code&gt; 的块只需要保持绕 z 轴旋转下的正确性，约束条件是 2×2 的矩阵形式，不需要全局张量积那么复杂的耦合系数。&lt;/p&gt;
&lt;h3 id="SO2 最核心的一个优势：lmax 可以开更大。"&gt;&lt;strong&gt;SO2 最核心的一个优势：lmax 可以开更大。&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;正因为局部计算不再受全局耦合的 scaling 制约，DPA4 敢于使用比同类等变模型大得多的 &lt;code&gt;lmax&lt;/code&gt;。&lt;code&gt;lmax&lt;/code&gt; 每大一级，能分辨的角度细节就更丰富一层——直接意味着实际精度的提升。论文中的 DPA4-Pro 使用了更大的 &lt;code&gt;lmax&lt;/code&gt; 设置，这是其精度领先的重要原因之一。这种 lmax scaling 的下降可以允许增大 lmax 到 4 甚至 5，大幅度提升模型的容量和表达能力。而同类模型受限于全局耦合的成本，往往只能在 &lt;code&gt;lmax=2&lt;/code&gt; 或 3 止步。&lt;/p&gt;
&lt;h2 id="1.3 两个独立的控制参数"&gt;&lt;strong&gt;1.3 两个独立的控制参数&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;DPA4 控制方向精细度的参数有两个：&lt;code&gt;l_schedule&lt;/code&gt; 控制的是球面上的角分辨率（能区分多细的立体角），&lt;code&gt;mmax&lt;/code&gt; 控制的是绕边轴的旋转分辨率（能区分绕键旋转多细的角度变化）。它们各自管不同的事，理解它们的区别，调参时才知道该动哪个。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;l_schedule：控制"能看多高的角动量"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;在 SO(3) 表示中，原子特征按角量子数 l 组织。&lt;code&gt;l=0&lt;/code&gt; 是标量（没有任何方向信息），&lt;code&gt;l=1&lt;/code&gt; 能编码矢量方向（3 个分量，类 p 轨道），&lt;code&gt;l=2&lt;/code&gt; 能编码张量角分布（5 个分量，类 d 轨道），&lt;code&gt;l=3&lt;/code&gt; 能编码八极（7 个分量，类 f 轨道）。每个 l 贡献 &lt;code&gt;2l+1&lt;/code&gt; 个系数。&lt;/p&gt;

&lt;p&gt;DPA4 不强制所有交互层用相同的 l。靠前的层需要高 l 来捕捉局域几何的细节（键角分布、配位多面体的形状），靠后的层感受野已经覆盖了更大的空间范围，精细角向信息的边际收益递减。&lt;code&gt;l_schedule=[3, 3, 2]&lt;/code&gt; 意味着前两层保留完整 &lt;code&gt;l≤3&lt;/code&gt;，最后一层降到&lt;code&gt;l≤2&lt;/code&gt;——前面精细编码，后面粗粒度汇总，和 CNN 里"浅层高分辨率、深层低分辨率"是一个思路。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;mmax：DPA4 独有的"绕键轴分辨率"旋钮&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mmax&lt;/code&gt; 是边局部坐标系带来的额外自由度。在边对齐的局部坐标系中，方向系数按磁量子数 &lt;code&gt;|m|&lt;/code&gt; 分组。DPA4 允许你在局部计算中截断 &lt;code&gt;|m| &amp;gt; mmax&lt;/code&gt; 的分量。以 &lt;code&gt;lmax=3&lt;/code&gt; 为例：全局 SO(3) 有 16 个系数；转到边局部坐标按 |m| 分组后，&lt;code&gt;|m|=0&lt;/code&gt; 有 4 个，&lt;code&gt;|m|=1&lt;/code&gt; 有 6 个，&lt;code&gt;|m|=2&lt;/code&gt; 有 4 个，&lt;code&gt;|m|=3&lt;/code&gt; 有 2 个；&lt;code&gt;mmax=1&lt;/code&gt;时只保留前 10 个，省掉 6 个——减少了约三分之一的局部计算量。&lt;/p&gt;

&lt;p&gt;关键是，这些被截断的分量并不是被丢弃了。在旋转回全局坐标系时，通过 rescale 因子补偿了这些分量的统计贡献，只是不做显式的逐分量耦合。丢失的交叉信息可以通过增加网络层数来间接恢复——深层传播让被截断的角向信息通过多层积累得到近似的表达。&lt;/p&gt;

&lt;p&gt;在 DPA4 当前的预训练模型中，&lt;code&gt;mmax&lt;/code&gt; 均设为 1。对于大多数应用场景，保持默认值即可获得良好的精度 - 效率平衡。&lt;/p&gt;
&lt;h2 id="1.4 为什么训练能快几个数量级？"&gt;&lt;strong&gt;1.4 为什么训练能快几个数量级？&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;DPA4 通过编译优化实现最高约 3 倍的单步训练加速（论文对照实验数据）。但实际体验中，因为模型本身参数更少且收敛更快，端到端达到同等精度所需的总训练时间可以缩短一个数量级以上。只是"开了 torch.compile"可达不到这个效果。加速来自多个层面的叠加，每一层解决的是不同性质的问题。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第一层：消除 Python 的调度开销&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PyTorch 默认的执行方式叫 eager 模式——每写一行操作，Python 就向 GPU 发起一次调用。GPU 做一次矩阵乘法可能只要几十微秒，但 Python 发起调用→等结果→返回的调度开销本身就有好几微秒。当成千上万次小操作串联起来，调度开销累积到占了总时间的 60-80%，GPU 大部分时间在等 Python 派活。&lt;/p&gt;

&lt;p&gt;DPA4 用 &lt;code&gt;torch.fx&lt;/code&gt; 的符号追踪把从坐标输入到能量和力输出的整个前向过程记录为一张完整的计算图，然后交给 &lt;code&gt;torch.compile&lt;/code&gt;（Inductor 编译器）生成一个独立的 GPU 程序。训练时 Python 只触发一次，GPU 在里面把所有事情做完才返回。几千次 kernel 调度缩减为几十次，Python 不再是瓶颈。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第二层：让二阶导数也能进编译图&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;这是最难的一步，也是 DPA4 编译管线最精妙的一步：把嵌套自动微分"展开"成扁平计算图，让力损失训练也能被编译器完整优化。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;力损失训练需要计算&lt;code&gt;∂²E/(∂x ∂θ)&lt;/code&gt;：能量 E 先对坐标 x 求导得到力 F，力 F 再对模型参数 θ 求导。两层嵌套的自动微分。标准 `torch.compile` 的流程是：AOT Autograd 先编译前向图，然后自动生成反向图用于 &lt;code&gt;loss.backward()&lt;/code&gt;。但力是通过 &lt;code&gt;autograd.grad(E, x, create_graph=True)&lt;/code&gt; 在前向图&lt;strong&gt;内部&lt;/strong&gt;计算的——AOT Autograd 发现图里还嵌着另一个 autograd 调用，就直接拒绝编译，回退到 eager 模式。这就是为什么大多数等变模型虽然也宣称"用了 compile"，但力损失训练环节实际上还是 Python 一步步调度的原因。&lt;/p&gt;

&lt;p&gt;DPA4 的解法：在编译之前，先用 &lt;code&gt;make_fx&lt;/code&gt; 把内层 &lt;code&gt;autograd.grad&lt;/code&gt; 展开。&lt;code&gt;autograd.grad&lt;/code&gt; 本质上就是链式法则——把能量对各层输出的偏导一层层乘回去。&lt;code&gt;make_fx&lt;/code&gt; 把这个展开过程记录成一张普通的、不包含 nested autograd 调用的 FX 图。展开之后，编译器看到的就是一个扁平的计算图，可以正常走完 AOT Autograd → Inductor → 生成 GPU 程序的完整流程。二阶导数变成了编译器的自然 backward pass。&lt;/p&gt;

&lt;p&gt;这个设计让力损失训练——MLIP 最核心、最昂贵的训练模式——也能享受全编译。没有这一步，前一层的努力只在推理阶段有效，训练时该慢还是慢。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第三层：对最频繁的操作写底层 GPU 代码&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;编译能消除调度开销和融合相邻操作，但不知道某些特定计算模式有更高效的硬件实现。DPA4 对最耗时的操作——Wigner-D 旋转、边几何信息计算——&lt;strong&gt;用 Triton 直接写了定制 GPU kernel&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;以 Wigner-D 旋转为例：不同 &lt;code&gt;lmax&lt;/code&gt; 下旋转矩阵的大小和稀疏模式完全不同。DPA4 根据 lmax 走不同内核路径——&lt;code&gt;l≤1&lt;/code&gt; 时矩阵极小，直接常驻 GPU 寄存器；&lt;code&gt;l=2&lt;/code&gt; 走专用展开；&lt;code&gt;l=3&lt;/code&gt; 走寄存器分块；&lt;code&gt;l&amp;gt;3&lt;/code&gt; 走通用循环分块。而 eager 模式只能用 &lt;code&gt;torch.bmm&lt;/code&gt; 一把梭，无法感知矩阵尺寸做针对性优化。&lt;/p&gt;

&lt;p&gt;另一个例子是边几何计算：eager 模式下坐标差→距离→截断包络→径向基函数需要 6 个独立 kernel，每个 kernel 把中间结果写回显存、下一个再读出来。DPA4 用一个 Triton kernel 完成全部 6 步，中间结果留在寄存器里。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第四层：几何信息全网复用&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;每条边的方向矢量、旋转矩阵、径向基函数、截断包络——完全由原子坐标和截断半径决定，与网络权重无关。DPA4 在每次前向开始时只算一次，所有交互层共用。不需要每层重新算一遍。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;四个层面的叠加方式如何？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;四个层面不是"各加速一块然后加起来"。消除调度开销省下最大一块（第一层），展开二阶导数让加速覆盖力损失训练而不只是推理（第二层），定制 kernel 在编译后的图上进一步压榨硬件（第三层），几何缓存让前面所有层都少了一个重复步骤（第四层）。每一层在前一层基础上放大收益——这就是最终加速能达到"一个数量级以上"的原因。&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="1.5 MACE vs DPA4：两条技术路线的分叉口"&gt;&lt;strong&gt;1.5 MACE vs DPA4：两条技术路线的分叉口&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;要理解 DPA4 的选择，最好的参照物是 MACE——当前最广泛使用的等变势架构之一。两者目标相同（SE(3) 等变消息传递），但实现路径截然不同。&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;维度&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;MACE 路线&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;DPA4 路线&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;等变计算核心&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;全局 SO(3) 不可约表示 + Clebsch-Gordan 张量积&lt;/td&gt;
&lt;td&gt;边局部 SO(2) 等变卷积（EMFA）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;主要成本来源&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;高阶角动量下的 CG 耦合（O(L⁴)）&lt;/td&gt;
&lt;td&gt;边局部块对角矩阵乘（O(L²)）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;lmax 扩展性&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;受 CG 成本制约，通常停在 l=2 或 l=3&lt;/td&gt;
&lt;td&gt;SO(2) 解耦后敢于使用更高 lmax&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;边信息利用&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;主要以不变标量通道引入径向信息&lt;/td&gt;
&lt;td&gt;边等变特征直接参与 SO(2) 乘积（低秩 edge-node product）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;聚合机制&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;张量积消息 + 可学习加权线性组合&lt;/td&gt;
&lt;td&gt;envelope-gated attention（自适应邻居加权）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;何时更适合&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;已适配 MACE Torch 生态、训练成本不敏感、重视轻量级自定义开发&lt;/td&gt;
&lt;td&gt;已适配 DeePMD 生态，追求更低训练成本/更小模型、重视工程可部署性&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;两者的源码对比也很说明问题。MACE 的核心操作：&lt;code&gt;Linear&lt;/code&gt; → &lt;code&gt;TensorProduct&lt;/code&gt;（通过 &lt;code&gt;instructions&lt;/code&gt; 显式指定哪些 l₁,l₂ 耦合到 l₃，内部用 CG 系数计算，O(L⁴) 级别）→ 径向 MLP 生成张量积权重 → &lt;code&gt;SymmetricContraction&lt;/code&gt; 做多体展开。依赖 e3nn 的 &lt;code&gt;o3.Irreps&lt;/code&gt; 管理不可约表示的直和。&lt;/p&gt;

&lt;p&gt;DPA4 的核心操作：&lt;code&gt;_build_so2_weight()&lt;/code&gt; 直接构建块对角矩阵 &lt;code&gt;W = diag[W_m0, B_m1, B_m2, ...]&lt;/code&gt;。&lt;code&gt;W_m0&lt;/code&gt; 无约束，&lt;code&gt;B_m&lt;/code&gt; 是 2×2 的&lt;code&gt;[W_u^T, -W_v^T; W_v^T, W_u^T]&lt;/code&gt; 块——复数乘法的实矩阵形式，天然保证 SO(2) 等变性。不需要 CG 系数，不需要 &lt;code&gt;instructions&lt;/code&gt;，权重矩阵结构本身就携带了等变约束。&lt;/p&gt;

&lt;p&gt;两者的径向调制思路相似（都用径向函数生成混合权重），但 DPA4 多了旋转到边局部坐标系这一步——就这一步，把后面的混合从 O(L⁴) 的 CG 张量积变成了 O(L²) 的块对角 matmul。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;为什么 MACE 做不到 mmax 截断？&lt;/strong&gt; MACE 在全局坐标系里用 Clebsch-Gordan 系数直接耦合不可约表示。CG 耦合的数学定义要求参与耦合的每个 l 的完整 &lt;code&gt;2l+1&lt;/code&gt; 个 m 分量都出现，截断任意一个 m 都会破坏耦合的完备性，导致等变性不严格。DPA4 因为把混合操作搬到了边局部坐标系，&lt;code&gt;|m|&lt;/code&gt; 组之间天然解耦，截断才变得安全。&lt;/p&gt;

&lt;p&gt;DPA4 源码开头的设计声明也很说明问题（见&lt;code&gt;sezm.py&lt;/code&gt;）：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"two non-negotiables: 1) Conservative forces. 2) Speed-first inference — edge geometry and Wigner-D computed exactly once per forward and reused by all blocks."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;保守性和推理效率——两条不可妥协的原则需要得兼。边局部 SO(2)、几何缓存、块对角权重，都是这两条的产物。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;总的来说，MACE 更像是"数学上很强很直接的表达"，DPA4 更像是"把强表达工程化，把训练成本压下来"——两者不是谁替代谁，而是面向不同的工程约束。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="1.6 总结"&gt;&lt;strong&gt;1.6 总结&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;DPA4 的意义不只是 DeePMD 系列模型多了一个新选项。它意味着 DeePMD 社区正式把架构重心从"如何消去方向信息"转向了"如何便宜地保留方向信息"。它选择了在每条边的局部坐标系里做简化计算——这条路和任何已有的等变模型都不一样，而且它是当前唯一能在 DeePMD 生态用上等变架构、同时保持工程可部署性的方案。&lt;/p&gt;

&lt;p&gt;对于已经用 DeePMD-kit 做模拟的朋友来说，DPA4 非常值得一试。它可能是在"更好的方向感知"和"可以接受的成本"之间，你现在能找到的最务实的选择。&lt;strong&gt;接下来，我们来看看怎么零成本上手使用。&lt;/strong&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="二、开箱即用：AsterFire Go 上的 DeePMD 智能体工具"&gt;&lt;strong&gt;二、开箱即用：AsterFire Go 上的 DeePMD 智能体工具&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;随着 DPA4 的初期发布，我们发现很多用户对于适配 DPA4 环境执行训练和计算模拟的过程中，无论是在环境配置上还是在模型使用上都遇到了许多困难，这显著阻碍了 DPA4 这一&lt;strong&gt;"世界第一""国产之光"&lt;/strong&gt;的推广普及和实际应用。&lt;/p&gt;

&lt;p&gt;因此，&lt;strong&gt;星使智算 AsterFire Go 科学智算平台&lt;/strong&gt;（&lt;a href="https://sidereus-ai.com/%EF%BC%89%E5%9F%BA%E4%BA%8E%E5%B7%B2%E6%9C%89" rel="nofollow" target="_blank"&gt;https://sidereus-ai.com/）基于已有&lt;/a&gt;\ MACE 智能体工具，快速适配上线了机器学习势函数模块的 DPA4 适配，做成了如下图所示的一系列 DeePMD 相关工具，其中内置了目前官方提供的 DPA4 预训练模型，它们支持执行各类材料/分子的计算任务。后续我们也将进一步支持 DPA4 的训练和微调，帮助研究者高效构建针对特定问题的高精度 DPA4 模型。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/2e744905-d107-4c12-b83a-58240f1469ba.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这些平台工具支持以 DeePMD 模型为基座，开箱即用地完成一系列分子模拟任务。这些任务也可以通过平台“工作流”模式，基于自然语言或是鼠标交互，灵活拼装为复杂链路或是并发计算的工作流。&lt;/p&gt;
&lt;h2 id="2.1 结构优化和 MD 模拟"&gt;&lt;strong&gt;2.1 结构优化和 MD 模拟&lt;/strong&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;结构优化：支持 cell-relax 和 relax 功能，并可视化弛豫过程和能量/力/晶格体积变化&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/d04a8c5f-0512-46bb-9d4a-a662d53d0d9f.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;分子动力学模拟 (MD)：支持 NVT/NPT，退火 MD 和 MSD/RDF 后处理，可用于预训练模型的数据采样等&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/0cb0b6b6-d234-44b6-922e-7cfdf4756e01.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="2.2 声子谱和热导率求解"&gt;2.2 声子谱和热导率求解&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;声子谱功能，基于 Phonopy，支持 Seekpath 自动识别路径的声子谱和 DOS/PDOS 计算，以及对群速度和热力学的可视化。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/2df520dc-f302-439e-86eb-046f825aa37f.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;热导率求解：基于 Phono3py 的 RTA+BTE 和色散分析 (包括散射速率和声子寿命)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/515503eb-c6fe-4103-ac34-237d4e07f06b.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;可视化热导率分量随温度的变化并导出相关数据，分析累计热导率曲线和热导率各向异性&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/72236c7d-cff3-4b00-bc6e-906b22c9be75.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;准谐近似热力学 QHA 功能，对体积自由能面做 EOS 拟合，得到给定压力下的 G(T,P)、平衡体积 V(T,P)、热膨胀系数、定压热容 Cp、体弹模量与 Gruneisen 参数&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/28479732-d495-4ad1-8287-ebf52ccfdfbb.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="2.3 力学性质"&gt;2.3 力学性质&lt;/h2&gt;
&lt;p&gt;包括但不限于弹性常数/状态方程/势能面扫描等任务：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;双原子分子 (dimer) 势能面扫描，用于诊断 MLIP 模型的物理合理性和平滑性，基于输入的 C,H,O 等字符串即可自动排列组合&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/1017499c-198f-4e18-bd4e-6728bd39295f.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;弹性常数以及 EOS 计算，可计算对应矩阵和体弹性模量/杨氏模量/剪切模量/泊松比等，并支持 Voigt/Reuss/Hill 等多种算法平行对比&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/17c00fea-8660-4a53-aada-a9f9aadedf99.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="2.4 界面性质"&gt;2.4 界面性质&lt;/h2&gt;
&lt;p&gt;包括但不限于表面能计算/异质结构建/表面吸附模拟&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;表面能：&lt;/strong&gt; 通过枚举暴露终端和单配位 O 的补 H 钝化进行筛选和基于 Miller index 自动排列组合，可以指定某个 hkl Miller Index 筛选全部暴露终端，计算表面能，也可以基于一个 max value(比如 2) 自动枚举最大指数不超过 2 的全部晶面和对应的暴露终端&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/93a0f24f-c798-4316-b788-947e9ae3aa5c.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;异质结构建&lt;/strong&gt;：支持上传两个 3D bulk 结构，指定接触的 Miller index 基于 ZSL 算法自动构建异质结，通过计算粘附功/界面能和面内应力/失配率进行全面的结构筛选，并支持超晶格和真空异质结两类模型，可灵活根据限制参数和预算自动生成异质结。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/d2a36989-7e8a-4979-a280-31c045a49f08.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;表面吸附：&lt;/strong&gt;支持上传 slab 吸附基底和吸附质分子 (或者纳米颗粒团簇) 的通用无偏吸附构型采样，即可以自动全面的采样各类代表性吸附构型进行筛选优化&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/04105f39-e9e3-4517-b35f-44fba48b71b7.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="2.5 反应路径"&gt;2.5 反应路径&lt;/h2&gt;
&lt;p&gt;支持通过不同方案开展反应路径搜索和过渡态计算。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;支持*&lt;em&gt;双端 NEB/CI-NEB *&lt;/em&gt;搜索过渡态，以及 *&lt;em&gt;单端 PRFO (sella) *&lt;/em&gt;优化一阶鞍点，其中 NEB 支持双阶段 NEB+CI-NEB，线性/IDPP 插值和自动序号对齐；&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/0a132925-3163-45a2-a390-71baf1e8e7cd.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;支持&lt;strong&gt;频率分析&lt;/strong&gt;功能计算热力学 (ZPE,S,Cv,G_correction) 和虚频，可以指定元素类型/原子序号做约束频率计算，并支持 Sella IRC 验证鞍点合理性以及获取平滑最低能量路径&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/dc10d9e3-53f8-4a12-bc87-94b4cfd85a0d.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;支持*&lt;em&gt;锥形约束拟牛顿法 (CCQN) *&lt;/em&gt;等新型过渡态优化算法，支持上传 初末态结构开展双端 CCQN 计算，以及输入反应相关化学键，执行意图驱动的单端 CCQN。通过化学意图构造的锥形引导爬坡机制，可显著降低对化学直觉和 TS 初猜准确性要求。可基于 local minimum 出发搜索分子筛中的 Cl-CH3 转移过渡态，并进行虚频分析和 Fake-IRC 验证 (最速下降)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/c9abeea6-9d7c-492e-8cdd-3a2832ea38ec.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="2.6 支持模型："&gt;2.6 &lt;strong&gt;支持模型：&lt;/strong&gt;
&lt;/h2&gt;
&lt;p&gt;这些工具目前支持 DPA4-MPTrj-Neo、DPA4-MPTrj-Air、DPA3.1-MPTrj-FT，以及用户自行上传的 Torch 后端 DeePMD 模型。如果 DeepModeling 社区有新的预训练模型发布，我们也会跟进。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/bbf3543f-b27a-4a4c-938c-4c9eb7ee1aa4.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="三、结语：把"&gt;&lt;strong&gt;三、结语：把"世界第一"变成你今天就能用的工具&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;如果只把 DPA4 当成一次榜单胜利，那它的价值确实会被低估。&lt;/p&gt;

&lt;p&gt;它更像一个信号：&lt;strong&gt;等变势的下一阶段，不是简单地"更准"，而是"更准的同时更便宜、更可部署"。&lt;/strong&gt; 2.76M 参数的小模型 DPA4-Air 能在精度上超越 30.1M 参数的竞品，训练算力仅需对方的 1/42.9——这组数字背后的实质是：高精度机器学习势正在从"只有大团队烧得起"变成"个人研究者也能训练和部署"。&lt;/p&gt;

&lt;p&gt;DPA4 的边局部 SO(2) 路线、编译友好的 torch.compile 加速训练、以及国产科学智算平台开箱即用，这三个要素叠加在一起，构成了当前 DeePMD 生态中一个非常务实的选项。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DPA4 不是在做一个更好的 MACE，它是在说：等变势的高成本时代结束了。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.76M 参数打赢 30.1M，不是奇迹，是工程——是 SO(2) 局部计算、是全图编译、是几何缓存的乘法叠加。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;开箱即用，即刻体验：&lt;/strong&gt;&lt;strong&gt;&lt;a href="https://sidereus-ai.com/" rel="nofollow" target="_blank"&gt;https://sidereus-ai.com/&lt;/a&gt;\&lt;/strong&gt;** —— 上传结构，选择模型，一键运行。**&lt;/p&gt;

&lt;p&gt;你更想看我们后续补充哪一块内容？&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;DPA4 在具体材料体系上的实战案例对比&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DPA4 的微调和再训练完整教程&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;还是"DPA4 vs MACE：同一个体系跑到底"的实战对比？&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;欢迎私聊本公众号，或者在星使智算论坛 &lt;a href="https://forum.sidereus-ai.com/" rel="nofollow" target="_blank"&gt;https://forum.sidereus-ai.com/&lt;/a&gt;\ 发帖告诉我们。谢谢大家！&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;参考文献：&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[1] Li, T.; Li, W.; Peng, A.; Xue, J.; Zhang, L.; Zhang, D.; Wang, H. DPA4: Pushing the Accuracy-Cost Frontier of Interatomic Potentials with EMFA SO(2) Convolution. arXiv:2606.02419. &lt;a href="https://doi.org/10.48550/arXiv.2606.02419" rel="nofollow" target="_blank"&gt;https://doi.org/10.48550/arXiv.2606.02419&lt;/a&gt;\&lt;/p&gt;

&lt;p&gt;[2] Zeng, J.; et al. DeePMD-Kit v3: A Multiple-Backend Framework for Machine Learning Potentials. &lt;em&gt;J. Chem. Theory Comput.&lt;/em&gt; &lt;strong&gt;2025&lt;/strong&gt;, &lt;em&gt;21&lt;/em&gt; (9), 4375–4385. &lt;a href="https://doi.org/10.1021/acs.jctc.5c00340" rel="nofollow" target="_blank"&gt;https://doi.org/10.1021/acs.jctc.5c00340&lt;/a&gt;\&lt;/p&gt;

&lt;p&gt;[3] Zhang, D.; et al. A Graph Neural Network for the Era of Large Atomistic Models. &lt;em&gt;npj Comput Mater&lt;/em&gt; &lt;strong&gt;2026&lt;/strong&gt;. &lt;a href="https://doi.org/10.1038/s41524-026-02146-2" rel="nofollow" target="_blank" title=""&gt;https://doi.org/10.1038/s41524-026-02146-2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;[4] Hermes, E. D.; et al. Sella, an Open-Source Automation-Friendly Molecular Saddle Point Optimizer. &lt;em&gt;J. Chem. Theory Comput.&lt;/em&gt; &lt;strong&gt;2022&lt;/strong&gt;, &lt;em&gt;18&lt;/em&gt; (11), 6974–6988. &lt;a href="https://doi.org/10.1021/acs.jctc.2c00395" rel="nofollow" target="_blank"&gt;https://doi.org/10.1021/acs.jctc.2c00395&lt;/a&gt;\&lt;/p&gt;

&lt;p&gt;[5] Wu, Y.; Wang, H. Cone-Shaped Constrained Quasi-Newton Method: Efficient and Robust Single-Ended Transition State Optimization Algorithm. &lt;em&gt;J. Chem. Theory Comput.&lt;/em&gt; &lt;strong&gt;2025&lt;/strong&gt;, acs.jctc.5c01015. &lt;a href="https://doi.org/10.1021/acs.jctc.5c01015" rel="nofollow" target="_blank"&gt;https://doi.org/10.1021/acs.jctc.5c01015&lt;/a&gt;\&lt;/p&gt;</description>
      <author>QuantumMisaka</author>
      <pubDate>Wed, 03 Jun 2026 11:01:08 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/44</link>
      <guid>https://forum.sidereus-ai.com/topics/44</guid>
    </item>
    <item>
      <title>希望加入 GPUMD 和 NEP</title>
      <description>&lt;p&gt;希望在“百宝箱”内的分子动力学模块加入 GPUMD（GPUMD 也是开源软件） ；机器学习势函数加入 NEP&lt;/p&gt;</description>
      <author>wanggang</author>
      <pubDate>Wed, 27 May 2026 13:10:56 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/43</link>
      <guid>https://forum.sidereus-ai.com/topics/43</guid>
    </item>
    <item>
      <title>3Zeta 级别 Pople 基组热化学别用了？看看两方观点如何在 JPCA 上碰撞</title>
      <description>&lt;p&gt;&lt;code&gt;本文首先于2026年3月9日发表在星使智算微信公众号&lt;/code&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;Pople 基组一直在有一定计算化学人心中有着特殊的地位，这种特殊的地位毫无疑问可以追溯到 Gaussian 软件在应用计算化学领域几十年如一日的风靡。但在 def2 系列基组的诸多优势（不用额外加极化/系统构建/对第五周期起自带赝势/支持元素广泛/标配辅助基组）的冲击下，也有越来越多人实际应用转向了 def2 系列基组。在 2023 年一篇 JPCA 直接在热化学问题上对 Pople 3zeta 6-311G 系列亮剑，comment 随之而来，紧接着又是一篇 reply to comment，下面就请您随我看待这场学术碰撞。&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2 id="6-311G系列都拉完了！"&gt;6-311G 系列都拉完了！&lt;/h2&gt;
&lt;p&gt;首先来看第一篇发难之作：新南威尔士大学 Laura K. McKemmish 等人的发难之作，计算软件是 Q-Chem v5.4.2&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/12fac2e4-92ec-41f1-ba14-c8112e27c91d.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;来源：J. Phys. Chem. A 2023, 127, 48, 10295–10306&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;标题起的就极度吸睛:"Benchmarking Basis Sets for Density Functional Theory Thermochemistry Calculations: Why Unpolarized Basis Sets and the Polarized 6-311G Family Should Be Avoided" ，翻译过来就是&lt;strong&gt;热化学密度泛函基组测试——为什么不加极化的基组和加了极化的 6-311G 系列都别用了&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
这个标题中也包含着任何合理的计算化学家/量子化学家都知道的事情，&lt;strong&gt;计算要带极化！计算要带极化！计算要带极化！&lt;/strong&gt;（重要的事说三遍）当然，def2 系列基组相比于 Pople 基组一个优点就是用不带极化的 def2 系列基组是困难的，但丢掉 Pople 基组的极化是计算新手的常犯错误。这里的测试集选择的是知名主族热化学数据集 GMTKN55 的改动版 diet-139-GMTKN55，里面的一些数据因为太过耗时/涉及到部分基组没有数据集分子含有的元素定义而被删除。一句话概括就是作者用的是删减过的 diet-139-GMTKN55 数据集。B3LYP/M06-2X/ωB97M-V 三个泛函被选取并结合各路基组（Pople/def2/Dunning/Jensen）进行暴力 benchmark，得到如下结果：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/06c02a8a-f4c0-4ca5-a25d-ab20ed2f21ab.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;来源：Figure 6 of J. Phys. Chem. A 2023, 127, 48, 10295–10306&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;上面的数据很好的反应了应用量子化学工作者之间的一些共识：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;M06-2X 算主族的能量不错，但是ωB97M-V 更优，B3LYP 算能量一般般&lt;/li&gt;
&lt;li&gt;3zeta 的基组算能量是比较有必要的，可以大大降低误差&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;几组 Pople 基组的"内战"结果令人惊讶：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6-311G*给出了和 6-31G*相仿的精度，zeta 数提升白提升&lt;/li&gt;
&lt;li&gt;都加弥散的 6-311+G*甚至还没比过 6-31+G*，居然还倒退&lt;/li&gt;
&lt;li&gt;加了不少额外极化的 6-311G(2df,p) 也就和 6-31++G**拼了个仿佛，加 zeta 加极化居然和加弥散差不多&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;看一下 def2 系列基组，给出了很多预料之内的信息，值得顺带一提的是 def2 加弥散有两种主流实现方式：一种是前缀加 ma，一种是后面加 D，这里测试的是后面加 D 的版本，弥散相比前缀加 ma 要加的更多。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;def2-TZVP 显著强于 def2-SVP，也显著强于 def2-SVPD&lt;/li&gt;
&lt;li&gt;def2 系列的 3zeta 各种变体显然没有 6-311G 家族来的繁多&lt;/li&gt;
&lt;li&gt;有趣的是在 3zeta 级别上继续上极化没有上弥散对结果影响大&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;
下图是 TOC，横向对比了 Pople/def2/Jensen 系列基组的 3zeta 误差，可以看到 6-311G 家族对加极化是不太敏感。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/c2e426fa-d607-4bcd-a4df-a70858006ab9.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;来源：TOC of J. Phys. Chem. A 2023, 127, 48, 10295–10306&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;基于上述测试，文章在结尾部分对 3zeta 的 Pople 系列基组展开锐评：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“On the use of 6-311G family: Despite its name, polarized 6-311G should not be considered to be of triple valence zeta quality (this paper provides compelling quantitative evidence to support the very early results of Grev and Schaefer that have unfortunately often been ignored).”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;翻译大意：&lt;strong&gt;尽管 6-311G 有 3zeta 之名，但无 3zeta 质量之实！&lt;/strong&gt;（Grev 和 Scheafer 早就说了，但大家都如若无睹！）&lt;/p&gt;

&lt;p&gt;结论不可谓不犀利！且看支持方如何反击。&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2 id="是你极化加不明白！"&gt;是你极化加不明白！&lt;/h2&gt;
&lt;p&gt;在九个月后，俄亥俄州立大学的 John.M.Herbert 等人针对上面的文章给出了 Comment，测试软件是 Q-Chem v6.1.1&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/0e3e943d-1cfd-4e87-9406-092fa094f67b.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;来源：J. Phys. Chem. A 2024, 128, 36, 7739–7745&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;作者上来就抛出了直接的观点：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Early benchmark studies suggested that Pople-type basis sets including 6-311+G(2d,p), 6-311+G(3df,2p) and 6-311+G(3df,2pd) were appropriate for thermochemical calculations and the largest Pople basis set, 6-311++G(3df,3pd), continues to be used as a benchmark-quality basis. As such, the titular prohibition on polarized 6-311G-type basis sets came as a surprise, given that none of the aforementioned examples were considered in ref (1)"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;大意翻译：&lt;strong&gt;一堆常用能量测试的 3zeta Pople 基组你是一点没提，然后就说 6-311G 全系列都不行，无语。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;他们返璞归真到了原始的 GMTKN55，并给 B3LYP 加上了 D3 的色散矫正，B3LYP-D3 or B3LYP-D3(BJ) 确实是大家更常见的用法，而且确实降低了误差。得到的数据如下图所示，里面有一个稍有陌生的基组可能是 def2-ha-TZVP，ma 是 minimal argumented 的缩写，ha 是 heavy argumented 的缩写，就是比 ma 再多加些弥散，但是仍不如 D 加的多。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/a0ecf380-d9f1-4c32-a1ae-54c5406e030d.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;来源：Figure1 of J. Phys. Chem. A 2024, 128, 36, 7739–7745&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;根据上图得到的一些重要结论：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6-311G+(2df,p) 和 def2-ma-TZVP 精度相仿&lt;/li&gt;
&lt;li&gt;6-311G(2df,p) 和 def2-TZVP 精度也相仿（笔者评：这应该是数据集/统计的原因，从第一篇文章中这两者的对比还是有差距的，在这里就差不多了）&lt;/li&gt;
&lt;li&gt;弥散函数对减小误差相当有帮助&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/57a41297-7edd-4e1a-b63f-856c0966c371.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;来源：Figure2 of J. Phys. Chem. A 2024, 128, 36, 7739–7745&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;从第二张图和例子来看作者表示：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6-311G(d,p) 成本就是 def2-TZVP 一半，统计效果相当，赢！&lt;/li&gt;
&lt;li&gt;6-311+(3df,2pd) 成本不到 def2-QZVP 1/10，给出仿佛精度，赢！&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;作者同样探讨了常说的加弥散函数不收敛问题，通过调阈值很好的解决了。（笔者评：John M. Herbert 就是 Q-Chem 核心开发者，绝大多用户肯定没他玩的 6，他调行，大家没事别乱调默认参数）&lt;/p&gt;

&lt;p&gt;Comment 反击同样气势十足，且看 reply to comment 如何为争端画上句号。&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2 id="你说的对，但是……"&gt;你说的对，但是……&lt;/h2&gt;
&lt;p&gt;在同一期 JPCA 上，Laura K. McKemmish 给出了对于 Comment 的回复：
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/f2872321-08f2-4625-8734-25dcde707572.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;来源：J. Phys. Chem. A 2024, 128, 36, 7733–7738&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这篇 reply 上来承认了 comment 的合理之处，但仍指出 6-311G 仍然不像 3zeta 基组，是加了弥散之后的 6-311+G 可以当个 3zeta 基组了。&lt;/p&gt;

&lt;p&gt;他们对一个 3 线态 C 进行了 HF 计算并看轨道系数得到了如下的图：
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/admin/6e3b7ddb-c7ab-4292-8dc2-cea1c7522ff7.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;来源：Figure1: Coefficient of the s-basis functions in the triplet carbon atom 1s (top) and 2s (bottom) alpha orbitals from Hartree–Fock calculations with various basis sets. J. Phys. Chem. A 2024, 128, 36, 7733–7738&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这里没有加极化的原因是相对充分的，因为只算了 C 原子，极化主要是对键的取向性很有帮助，只是一个孤立原子不加无妨。&lt;/p&gt;

&lt;p&gt;如果完全不知道 s basis function 这些基组概念也没关系，最简单的方法就是比较法：对比系统构建的 def2-SVP 和 def2-TZVP，可以知道后两个格代表的应该是 2zeta 和 3zeta 的区别，但是对比 6-31G 和 6-311G 就发现只变了一个格，就像加了一层弥散。这也部分能解释为什么第一篇文章数据展现出的 6-31+G*甚至比 6-311G**拼了个半斤八两。而 6-311+G 终于有点像 3zeta 了。这也是 6-311G 系列基组 s basis function 参数化不佳的最直观展现。&lt;/p&gt;

&lt;p&gt;这篇 reply to comment 同时指出了一条特别重要的点：&lt;strong&gt;统计上的区别&lt;/strong&gt;，第一篇 comment 用的是 95% 置信区间，但第二篇回应用的是标准差，统计方式不同带来相当不同的评价。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;文章结论：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6-311G 还是不可取，但是 6-311+G 系列可取，而且 6-311+G(2df,p) 不错&lt;/li&gt;
&lt;li&gt;但还是要用 def2-TZVP，理由是支持元素更多，使用更方便，在同计算时间的条件下误差比 6-311+G(2df,p) 小&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这条结论同时也给另一个常见的应用计算化学的问题提供了可参考的答案：&lt;strong&gt;优化阴离子的时候假如用 def2 系列基组要不要加弥散？比如用 ma-def2-SVP 或者 def2-SVPD？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;如果根据这篇文章的测试，可以说，对有机体系不那么必须。例如当你纠结要不要给 def2-SVP 上弥散的时候，应该先弄到 def2-TZVP 再说。这其实折射出来的是计算量子化学多年来在 Gaussian 建立的 Pople 基组语言上的惯性，大家再说加不加弥散的时候多数时候的出发点都是 Pople 基组而不是 def2 系列基组。&lt;/p&gt;

&lt;p&gt;从更实践的角度来说，这给了 B97-3c 和 r2SCAN-3c 这两种 ORCA 支持相当快速的复合方法用于更广阔的用途以理由。&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2 id="星使二茂铁针对整场学术论战评论和个人观点："&gt;星使二茂铁针对整场学术论战评论和个人观点：&lt;/h2&gt;
&lt;p&gt;两方都给出了相当详实的数据和理由，论战结果各有胜负。McKemmish 接受了 6-311+G 系列还可以，Herbert 也没有再发 reply to reply to comment 穷追不舍。问题已经被讨论的比较清楚了。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;统计标准导致了质量评价结果不同，展现出了统计学中人为干涉的一面&lt;/li&gt;
&lt;li&gt;Pople 基组并非系统性构建的问题被直接指出并辅助以相当好理解的例子&lt;/li&gt;
&lt;li&gt;Pople 基组写起来实话是很繁琐，变种奇多，def2 系列基组明显更加容易，而且新手极难犯不加极化的错误&lt;/li&gt;
&lt;li&gt;Gaussian 多年来在理论和计算的统治地位带来了 Pople 基组本位的讨论起点&lt;/li&gt;
&lt;li&gt;从用户角度来说，McKemmish 的文章更加有意义，Herbert 作为开发者的技巧绝非普通用户所能及。即便是擅于调收敛阈值，也让计算变得更加麻烦。正如同 Sob 社长经常在计算化学公社强调的那样，如果不是必须加弥散就别加。对于 Pople 基组尚且如此，对于 def2 系列基组更是如此&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2 id="最后一句"&gt;最后一句&lt;/h2&gt;
&lt;p&gt;笔者平时最常用的是 ORCA 软件，所以用的最多的还是 def2 系列基组。顺带值得一提的是，ORCA 里面没事别用 Pople 基组，因为没有对应的辅助基组，ORCA 也没有对 Pople 基组进行特别优化。多的不说了，二茂铁要继续去平台开发测试 ORCA 相关内容了，也欢迎大家使用测试我们的 ORCA 相关内容。感谢大家收看本期内容，我们下期再见。&lt;/p&gt;</description>
      <author>admin</author>
      <pubDate>Tue, 14 Apr 2026 06:45:30 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/42</link>
      <guid>https://forum.sidereus-ai.com/topics/42</guid>
    </item>
    <item>
      <title>为什么在量子化学中应该抛弃力的说法</title>
      <description>&lt;h2 id="概论"&gt;概论&lt;/h2&gt;
&lt;p&gt;时常在今天网络各交流处量子化学说法中听到 xx 力的说法。就连 Gaussian 中几何优化中仍然有一项叫 maximum force 作为几何优化结构收敛的判定。本文的目的是简要的说明为什么应该抛弃力的说法，转而使用作用一词。内容包含对拉格朗日量和哈密顿量的超简介。&lt;/p&gt;
&lt;h2 id="拉格朗日力学超简介"&gt;拉格朗日力学超简介&lt;/h2&gt;
&lt;p&gt;牛顿第二定律的原始版本 F=ma 长久统治了经典力学，但是其矢量性和面对诸多约束带来方程复杂性为其更大规模的应用出现问题。拉格朗日量的提出破坏性的解决了这项问题，利用一个&lt;strong&gt;标量&lt;/strong&gt;，即拉格朗日量解决了上述的问题。&lt;/p&gt;

&lt;p&gt;拉格朗日量 L 被动能和势能定义，其中 T 是动能，V 是势能&lt;/p&gt;

&lt;p&gt;$$L = T - V$$&lt;/p&gt;

&lt;p&gt;由拉格朗日量出发可以得到欧拉 - 拉格朗日方程，即在拉格朗日力学框架下的运动方程，其中 q 是广义坐标，q_dot 是广义速度。带入任何具体的 L 进去计算得到的式子，又叫运动方程 (Equation of Motion，简称 EOM)&lt;/p&gt;

&lt;p&gt;$$\frac{d}{dt} \left( \frac{\partial \mathcal{L}}{\partial \dot{q}} \right) - \frac{\partial \mathcal{L}}{\partial q} = 0$$&lt;/p&gt;
&lt;h2 id="一个最简单的例子，自由粒子的拉格朗日量及其EOM"&gt;一个最简单的例子，自由粒子的拉格朗日量及其 EOM&lt;/h2&gt;
&lt;p&gt;$$L(x,\dot{x}) = T - V = 1/2 m \dot{x}^2 - 0 = 1/2 m \dot{x}^2$$&lt;/p&gt;

&lt;p&gt;带入欧拉拉格朗日方程：&lt;/p&gt;

&lt;p&gt;$$\frac{d}{dt} \left( \frac{\partial \mathcal{L}}{\partial \dot{x}} \right) - \frac{\partial \mathcal{L}}{\partial x} = 0 $$&lt;/p&gt;

&lt;p&gt;$$\frac{d}{dt} \left( \frac{\partial \mathcal{L}}{\partial \dot{x}} \right) = \frac{d}{dt} ( m \dot{x} ) = m \ddot{x}$$&lt;/p&gt;

&lt;p&gt;由于拉格朗日量不显含坐标 x，对坐标 x 求导没有数值&lt;/p&gt;

&lt;p&gt;$$\frac{\partial \mathcal{L}}{\partial x} = 0 $$&lt;/p&gt;

&lt;p&gt;结合上面两式可以得到：&lt;/p&gt;

&lt;p&gt;$$m \ddot{x} = 0$$&lt;/p&gt;

&lt;p&gt;这正是自由粒子运动的牛顿第二定律方程，这个简单的例子是想说在传统牛顿力学统治的体系下，拉格朗日力学仍然可用。但有些体系就绝非牛顿第二定律可以搞定的体系了，例如我们的量子化学体系。&lt;/p&gt;
&lt;h2 id="哈密顿力学--量子化学的基本语言"&gt;哈密顿力学--量子化学的基本语言&lt;/h2&gt;
&lt;p&gt;在量子化学/固体物理中，用的更多的是哈密顿力学，哈密顿量是量子/计算化学家更加熟悉的语言。这里我们不引入任何薛定谔方程的内容，只是单纯的讨论哈密顿力学框架。&lt;/p&gt;

&lt;p&gt;$$H = T + V$$&lt;/p&gt;

&lt;p&gt;哈密顿力学的 EOM 和拉格朗日力学的 EOM 略有不同，是方程组。这里的 p 是广义动量，q 是广义坐标&lt;/p&gt;

&lt;p&gt;$$\dot{q}_i = \frac{\partial H}{\partial p_i}, \qquad\dot{p}_i = -\frac{\partial H}{\partial q_i}$$&lt;/p&gt;
&lt;h2 id="一个最简单的例子，自由粒子的哈密顿量及其EOM"&gt;一个最简单的例子，自由粒子的哈密顿量及其 EOM&lt;/h2&gt;
&lt;p&gt;$$H(x,p) = T - V = p^2/2m - 0   = p^2/2m$$&lt;/p&gt;

&lt;p&gt;带入哈密顿力学的 EOM&lt;/p&gt;

&lt;p&gt;$$\dot{q}_i = \frac{\partial H}{\partial p_i} = p/m , \qquad\dot{p}_i = -\frac{\partial H}{\partial q_i} =0$$&lt;/p&gt;

&lt;p&gt;在对左边的式子再对时间求一次导并带入右边的式子，我们自然得到了跟拉格朗日框架一样的结果：&lt;/p&gt;

&lt;p&gt;$$\ddot{q}_i = \dot{p}/m = 0$$&lt;/p&gt;
&lt;h2 id="力去哪里了?"&gt;力去哪里了？&lt;/h2&gt;
&lt;p&gt;一个简单的假设是势能只和位置 (广义坐标) 有关，大部分情况也是如此，写出拉格朗日量&lt;/p&gt;

&lt;p&gt;$$L(x,\dot{x}) = T - V = 1/2 m \dot{x}^2 - V(x) $$&lt;/p&gt;

&lt;p&gt;把如此拉格朗日量带入 EOM:&lt;/p&gt;

&lt;p&gt;$$m \ddot{x} = - \frac{\partial V(x) }{\partial x}$$&lt;/p&gt;

&lt;p&gt;对比一下最经典的牛顿第二定律 F=ma，可以发现力是势能对位置的负导数，当然我们刚才用的全部是一维条件，扩展到多维，力是势能的负梯度：&lt;/p&gt;

&lt;p&gt;$$\mathbf{F} = -\nabla V(x)$$&lt;/p&gt;
&lt;h2 id="为什么要用作用而不用力？"&gt;为什么要用作用而不用力？&lt;/h2&gt;
&lt;p&gt;如果仍然遵循牛顿力学的语言 F=ma，其中的 a 作为加速度。如果需要知道加速度那么就需要知道粒子的轨迹，但是根据测不准原理，根本没法获得准确的轨迹。所以经典的角度来看力是不对的，但如果把力看成势能的负梯度的话首先是借用了拉格朗日力学的框架，其次是如果势能同时是含时的话，更加找不到经典力学的对应。而作用这种语言完全是能量角度出发，和拉格朗日力学和哈密顿力学都是兼容的。这就是为什么在量子体系里面更多的用作用，而不是用力的说法。至于 Gaussian 里面说的 Maximum Force，其实就是梯度，在 ORCA 里面也用 Max Gradient 来表示。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;本文超级简略的介绍了拉格朗日力学和哈密顿力学，同时指出了为什么 xx 力这种说法在量子化学中是不恰当的用法并阐明了理由。&lt;/p&gt;</description>
      <author>admin</author>
      <pubDate>Fri, 03 Apr 2026 10:18:21 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/41</link>
      <guid>https://forum.sidereus-ai.com/topics/41</guid>
    </item>
    <item>
      <title>ABACUS Agent 1.1.6 | 2025 星海漫游之旅</title>
      <description>&lt;h2 id="扉页"&gt;扉页&lt;/h2&gt;
&lt;p&gt;各位 GaliLeo 平台的新老用户们，各位科研一线的研究者和爱好者们，2026 元旦快乐！&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sidereus-ai.com/" rel="nofollow" target="_blank" title=""&gt;GaliLeo 平台&lt;/a&gt;的 ABACUS Agent 建设已经有半年多了。回望来路，百感交集。最初入局为的只是“一个共产主义的事业”，不觉间竟猛然发现在做的事情竟然已经在时代浪潮的风口。&lt;/p&gt;

&lt;p&gt;更新良多，有段时间没给大家汇报近况，趁此佳节，说道说道。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/ecfabd57-d560-4f2b-a21c-0624a834c925.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="初心"&gt;初心&lt;/h2&gt;
&lt;p&gt;古早的人类，在漫长的进化史中，以直立行走解放双手，以制造和使用工具扩展自身极限，进而开启了人类的文明。&lt;/p&gt;

&lt;p&gt;1610 年，伽利略用望远镜观察天空，记录真实的星象。从此，千年的地心宇宙观被动摇，人类开始认识真实的星海。&lt;/p&gt;

&lt;p&gt;如今，我们用理论计算模拟原子，描绘微观的世界；用 AI 智能体驱动计算引擎，为了更为广阔的认识世界的征程。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/1af04e74-6635-4443-86bf-b75f6c276cc6.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;就材料、表界面等周期性问题而言，我们以国产开源的&lt;a href="https://github.com/deepmodeling/abacus-develop/" rel="nofollow" target="_blank" title=""&gt;原子算筹 (ABACUS)&lt;/a&gt;为中心，走向这段智能计算赋能科研的旅途。&lt;/p&gt;

&lt;p&gt;原子算筹有来自中国科大、北京大学、中科院物理所、北京科学智能研究院和合肥综合性国家科学中心人工智能研究院的自主原创力量，有来自开源社区和用户群体的智慧，还有广大小伙伴们的支持。我们坚信，原子算筹一定能越来越好。我们更希望，这场智算科研的星海旅途，属于所有的开发者和所有的社区小伙伴。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/ebbef91d-d17d-47e8-8dd6-204997ed6d2d.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这场漫游，未完待续。我们，永远在路上。&lt;/p&gt;
&lt;h2 id="航程"&gt;航程&lt;/h2&gt;
&lt;p&gt;点击”阅读原文“，可以快速进入智算平台。点击左侧栏 AI，映入眼帘的是琳琅满目的智能体百宝箱&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/e5a37828-2843-49e1-8e1c-d33ecc2e1c29.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;它们各自处理广阔的科学计算星海的一隅，而我们要聚焦的是原子算筹。在搜索框搜索'ABACUS'或者'第一性原理’，即可快速抵达。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/fe88584f-9fae-4a5a-926f-c4bbede0e5c6.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;通过”详情“，我们可以一窥原子算筹软件和原子算筹智能体的介绍，以及各个版本更新的概览。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/ecc17e8f-6269-478a-ad5c-59dc95b691aa.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/01bf749b-4334-4719-8bc4-1ea5242ec5d3.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/86a74845-e816-4025-8e83-39b8d38f4c43.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/904ff181-b105-492a-8a65-7673b10f948f.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;点击”使用“，可以进入正式的交互窗口。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/dbe9e70b-7c8d-4625-a836-0c7e4911c5f4.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;除了智能体的自我介绍之外，稍加下拉一下，能看到海量的可一键使用和快速预览的案例&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/7e12f5bf-2b91-45a9-a387-a8618cac559c.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这里的每一个案例都是实际跑通的功能点，都可以通过“查看示例”看到案例制作时人与 AI 的交互历程，也都可以通过”快速使用“将交互提示词加载到聊天框，快速开启从电子结构出发的材料计算模拟大航海。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/fcd4280d-64d2-4af3-bd13-b9e55cb58c56.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt="弹性常数的这个案例早在1.0.4版本就提供了"&gt;&lt;/p&gt;

&lt;p&gt;其中有一个最新的案例是”氧化钴表面 SCF 计算“。这个案例看起来平平无奇，只是个通过 SCF(自洽场) 迭代完成单个物质结构的电子结构计算过程。但正确完成这个计算其实难度很高。&lt;/p&gt;

&lt;p&gt;一方面，表面结构的计算相比传统三维体相更为困难；另一方面，氧化钴属于反铁磁性材料，需要正确设置初始磁矩和电子步迭代参数。并且，这里模拟的是 Co3O4 的 (311) 晶面，而不是常见的 (110) 等晶面。其表面原子分布相对不规则，进一步加剧了计算难度。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/8539f260-74a2-41e4-8d47-f4fa8be50b2e.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt="点击”立即使用“，快速加载提示词和示例文件"&gt;&lt;/p&gt;

&lt;p&gt;事实上，这个案例来自于中山大学某课题组的实际计算模拟案例，该团队研究者多次尝试采用业内常用的的 V 某商业软件进行计算，在经过反复的参数调整之后，SCF 计算依然不收敛。&lt;/p&gt;

&lt;p&gt;然而，基于本智能体的智能参数设置，加上原子算筹软件本身的稳健算法，这一计算可以被快速地完成，且相关的 SCF 计算能直接收敛。在计算过程中，智能体还会主动与研究者交互，分析可行性，规划任务列表，并逐步执行、美观展示、确保每一步模拟清晰可控。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/e2a75eab-9c32-475b-8a54-db86294f86e9.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt="提出需求与可行性分析"&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/b8d95241-253c-494a-8f4a-f83cb4b20757.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt="任务列表规划"&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/c3274221-1978-4ec5-97bf-79db44416fa2.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt="请求确认，可以鼠标点击直接继续"&gt;&lt;/p&gt;

&lt;p&gt;这里提出需求的过程看起来需要专业知识，其实不用——这些参数大多都内置在了智能体的知识中。只是给他更清晰的需求有助于更好地完成任务。在执行任务的过程中，AI 还会主动分析结构特点，将结构特点和建议参数展示给用户，这也让它不仅只是任务执行者的角色，同时还是类似于“师兄”这类帮助你入门的角色。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/b7f4c663-fb7b-4d33-8228-608fcf7528dc.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/23105548-d66c-45e9-bc5a-3ef5003ce121.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;对于上述的氧化钴表面计算任务，在提出需求之后，基本上只要一直继续，就可以完成整个计算任务。研究者可以随时根据自己的需求询问 AI 相关内容。如果出现报错，AI 也会把报错信息或者联系方式展示给研究者，以供研究者和智能体共同进步。&lt;/p&gt;

&lt;p&gt;这里直接展示计算完毕之后，AI 给出的任务总结：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/51680840-c016-4961-be3c-3c3824061d49.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;用户当然可以进一步提取计算结果信息。比如，AI 智能体会把一些关键的文件拿到前台。我们点击上面"abacus.log"文件的'眼睛'图标查看，即可查看计算日志。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/31dcac8c-d4b4-4924-9335-08cfd257e0ab.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt="可以看到计算只用了140个电子步"&gt;&lt;/p&gt;

&lt;p&gt;也可以切换到文件模式，进一步查看各个任务的计算文件及其细节，当然了，这些计算结果文件既可以下载，也可以转存到云盘，供下一个任务使用。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/40bcfb3b-83f6-4711-9bb7-449c80547455.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;随着团队的持续开发迭代，这些界面显示可能会发生一定的变化，我们会争取让界面呈现越来越好，也更欢迎大家对平台页面和智能体的可完成功能进行持续的探索！&lt;/p&gt;
&lt;h2 id="航向"&gt;航向&lt;/h2&gt;
&lt;p&gt;科研的基础设施，远没有完全完善，更不一定到了拉条电线就能连成电网的程度。&lt;/p&gt;

&lt;p&gt;就科学计算而言，无论是计算硬件、计算软件、模拟算法；还是用户体验，社区讨论，教程体系，都还没到可称之为完善的程度。&lt;/p&gt;

&lt;p&gt;Agentic Research 的飞轮，远没到完全体，还需要自我迭代，这需要各个方面的研究者共同协力。&lt;/p&gt;

&lt;p&gt;聚焦科学计算垂类，精细化智能体协议，沉淀已有知识，积累计算案例，以智能化牵手开发团队和场景应用，以智能体联动开发团队和用户社区，让开发者快速定位痛点迭代，让用户及时体验新方法新工具，与开源社区共同成长，共同前行。&lt;/p&gt;

&lt;p&gt;这或许，才是当前科学智能体，最能看到的现在。&lt;/p&gt;

&lt;p&gt;至于未来，犹未可知。&lt;/p&gt;

&lt;p&gt;但这场星海漫游之旅，最重要的是实事求是，求真务实。&lt;/p&gt;

&lt;p&gt;其次，是未来在前方，创新和落地永远在路上。&lt;/p&gt;

&lt;p&gt;谢谢大家！&lt;/p&gt;</description>
      <author>QuantumMisaka</author>
      <pubDate>Sat, 03 Jan 2026 05:39:34 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/39</link>
      <guid>https://forum.sidereus-ai.com/topics/39</guid>
    </item>
    <item>
      <title>机器学习势训练集基本信息可视化 Kit: Training-Set-Parser</title>
      <description>&lt;h2 id="✨ 新工具教程：使用流式解析器分析和可视化大型原子数据集！"&gt;✨ 新工具教程：使用流式解析器分析和可视化大型原子数据集！&lt;/h2&gt;
&lt;p&gt;大家好！&lt;/p&gt;

&lt;p&gt;我们很高兴地宣布，我们的平台新增并优化了一款强大的工具——&lt;strong&gt;数据集分析与解析器&lt;/strong&gt;&lt;code&gt;Training-Set-Parser)&lt;/code&gt;。如果您经常处理来自 DFT 计算（如 VASP, ABACUS 等）的大型 &lt;code&gt;extxyz&lt;/code&gt; 轨迹文件，并希望快速了解、清洗和可视化您的数据，那么这款工具就是为您量身定做的！&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;解决了什么痛点？&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;需要根据&lt;strong&gt;原子受力&lt;/strong&gt;快速筛选掉不合理的结构？ ✅&lt;/li&gt;
&lt;li&gt;想直观了解数据集中&lt;strong&gt;元素分布、化学体系构成、能量/力范围&lt;/strong&gt;等关键信息？ ✅&lt;/li&gt;
&lt;li&gt;厌倦了手动编写脚本来解析和绘图？ ✅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这款新工具采用了&lt;strong&gt;流式处理 (Streaming)&lt;/strong&gt; 架构，可以直接读取大型 &lt;code&gt;.extxyz&lt;/code&gt; 文件，逐帧进行分析和过滤&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;主要功能：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;读取多帧 &lt;code&gt;.extxyz&lt;/code&gt; 文件。&lt;/li&gt;
&lt;li&gt;根据用户定义的&lt;strong&gt;最大原子作用力阈值&lt;/strong&gt;过滤结构。&lt;/li&gt;
&lt;li&gt;将符合条件的结构（kept）和被移除的结构（removed）分别保存到新的 &lt;code&gt;.xyz&lt;/code&gt; 文件中。&lt;/li&gt;
&lt;li&gt;生成一份详细的 Markdown (&lt;code&gt;report.md&lt;/code&gt;) 分析报告，包含：

&lt;ul&gt;
&lt;li&gt;过滤统计总结&lt;/li&gt;
&lt;li&gt;元素分布周期表热力图 &amp;amp; 统计表&lt;/li&gt;
&lt;li&gt;元素体系组合分析（哪些元素组合一起出现，如 C-H, Si-O-N 等）的条形图 &amp;amp; 统计表&lt;/li&gt;
&lt;li&gt;元素共现热力图（哪些元素对倾向于一起出现）&lt;/li&gt;
&lt;li&gt;原子参考能量 (E0) 分析（如果数据允许）&lt;/li&gt;
&lt;li&gt;能量、力、结构尺寸、体积的分布图和统计数据&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h3 id="🚀 如何使用？"&gt;🚀 如何使用？&lt;/h3&gt;
&lt;p&gt;使用起来非常简单：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;找到工具&lt;/strong&gt;：在平台的工具列表中，搜索 "Training-Set-Parser" 或类似关键词，找到 &lt;code&gt;Training-Set-Parser&lt;/code&gt;。
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/4d0aedfe-9410-48bc-bdfd-ce925f113d14.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;配置参数&lt;/strong&gt;：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;extxyz_file_path&lt;/code&gt; (输入文件路径)&lt;/strong&gt;：指定您要分析的多帧 &lt;code&gt;.extxyz&lt;/code&gt; 文件的路径。请确保文件包含原子坐标，最好也包含通过 &lt;code&gt;atoms.calc.results&lt;/code&gt; 存储的能量 (energy) 和力 (forces) 信息。理论上所有和 ASE 兼容的文件格式均可读取其中的多帧结构文件，但是如果没有 Cell 或者 DFT label 的话将跳过这些缺失的信息分析。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;max_force_threshold&lt;/code&gt; (最大力阈值)&lt;/strong&gt;：设置一个数值（单位：eV/Å）。任何原子上的力的&lt;strong&gt;大小 (magnitude)&lt;/strong&gt; 如果超过这个值，该结构将被视为异常点并被移除。

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;建议值&lt;/em&gt;：根据您的需求选择。例如，如果您只关心接近平衡态的结构，可以使用较小的值（如 1-5 eV/Å）。如果您需要包含一些弛豫过程中的高力结构，可以使用较大的值（如 20-50 eV/Å，甚至更高，但最好不要超过100 eV/A）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/963620c3-6afc-42dc-989b-4e9c391c225c.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;运行任务&lt;/strong&gt;：点击“运行”或“提交”按钮。&lt;/li&gt;
&lt;/ol&gt;

&lt;hr&gt;
&lt;h3 id="📊 理解输出结果"&gt;📊 理解输出结果&lt;/h3&gt;
&lt;p&gt;任务完成后，您将在工作目录中找到以下文件：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;&lt;code&gt;kept_structures.xyz&lt;/code&gt;&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;包含所有通过了力阈值过滤的原子结构。&lt;/li&gt;
&lt;li&gt;这是您进行后续分析或机器学习模型训练的“干净”数据集。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;removed_structures.xyz&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;包含所有因为力超过阈值而被移除的原子结构。&lt;/li&gt;
&lt;li&gt;检查此文件有助于了解哪些类型的结构被过滤掉了。
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/b4bfb56e-81bb-46b2-8568-19fc461c74bc.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;report.md&lt;/code&gt; (核心分析报告)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;这是一份 Markdown 格式的报告，您可以在平台内预览或下载后用 Markdown 查看器打开。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;第 0 节：过滤总结&lt;/strong&gt;: 显示读取了多少帧，保留了多少，移除了多少，以及过滤的标准。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;第 1 节：元素分布&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;周期表热力图&lt;/strong&gt;: 直观展示数据集中各元素的原子总数（对数色标）。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;元素计数表&lt;/strong&gt;: 精确列出每种元素的原子总数。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/4e2a39d9-6b21-4559-8b31-76786d8cb230.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;第 2 节：元素体系与共现分析&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;2.1 元素体系组合&lt;/strong&gt;: 显示数据集中存在哪些独特的元素组合（例如 "C", "Si-O", "Fe-C-O"），以及包含这些组合的结构数量。有助于了解数据集的化学复杂性（单元、二元、三元体系等）。包含一个&lt;strong&gt;条形图&lt;/strong&gt;（显示最常见的体系）和一个&lt;strong&gt;完整表格&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/0b7626ab-d0b3-4fd6-9c74-5c092f00c49f.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;2.2 元素共现热力图&lt;/strong&gt;: 显示&lt;strong&gt;元素对&lt;/strong&gt;（例如 C 和 H）在同一个结构中共同出现的频率。颜色越亮表示共现次数越多（使用对数色标）。有助于发现化学上常见的元素搭配。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/bbf8bff7-1489-45d0-a2e2-06560694f607.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;第 3 节：原子参考能量 (E0) 分析&lt;/strong&gt;: (如果计算成功) 显示通过线性拟合计算出的、数据集中每个元素的平均能量贡献 (E0)。这些值用于计算后续的相对能量。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/d60f8071-abef-4596-ba4b-dfa7cda8bfb5.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;第 4 节：能量分布&lt;/strong&gt;: 显示&lt;strong&gt;保留结构&lt;/strong&gt;的单位原子能量分布（可能是绝对能量或基于 E0 计算的相对能量）。包含&lt;strong&gt;直方图/密度图&lt;/strong&gt;和统计摘要（均值、标准差、最小值、最大值等）。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/64af38fb-9be1-4eb1-a760-f6fa05e3f4e0.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;第 5 节：力分布&lt;/strong&gt;: 显示&lt;strong&gt;保留结构&lt;/strong&gt;中&lt;strong&gt;所有原子&lt;/strong&gt;的力的&lt;strong&gt;大小&lt;/strong&gt;的分布。注意：这是过滤 &lt;em&gt;之后&lt;/em&gt; 的力分布。包含&lt;strong&gt;直方图/密度图&lt;/strong&gt;和统计摘要。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/5c11186f-c362-462f-bea1-3723a9230259.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;第 6 节：结构尺寸与体积&lt;/strong&gt;:
        * &lt;strong&gt;6.1 原子数分布&lt;/strong&gt;: 显示每个结构包含多少个原子。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/accc8e39-1474-4e5f-bdef-f3eb7b8df4c0.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;6.2 晶胞体积分布&lt;/strong&gt;: （仅针对周期性结构）显示晶胞体积的分布。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Jerry/a5d7f7fd-b19b-4bd2-befb-d29357e23ca3.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;###💡 使用场景示例&lt;/p&gt;

&lt;p&gt;假设您从某个数据库下载了一个大型 &lt;code&gt;.extxyz&lt;/code&gt; 轨迹文件，用于训练机器学习原子间势 (MLIP)。&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; 您可以使用此工具，设置一个合适的 &lt;code&gt;max_force_threshold&lt;/code&gt;（例如 30 eV/Å），快速移除弛豫过程中可能出现的极端高力结构，这些结构可能对 MLIP 训练不利。&lt;/li&gt;
&lt;li&gt; 运行后，您可以查看 &lt;code&gt;report.md&lt;/code&gt;：

&lt;ul&gt;
&lt;li&gt;检查&lt;strong&gt;元素分布&lt;/strong&gt;，确认数据集是否包含了您关心的所有元素，以及它们的比例是否合理。&lt;/li&gt;
&lt;li&gt;查看&lt;strong&gt;元素体系组合&lt;/strong&gt;，了解您的数据集主要是二元合金还是复杂的多元化合物。&lt;/li&gt;
&lt;li&gt;查看&lt;strong&gt;能量和力分布&lt;/strong&gt;，了解清理后数据集的能量范围和主要的力学状态，这对于设置 MLIP 的训练参数很有帮助。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; 使用生成的 &lt;code&gt;kept_structures.xyz&lt;/code&gt; 文件作为您 MLIP 训练或进一步筛选（如主动学习）的输入。&lt;/li&gt;
&lt;/ol&gt;

&lt;hr&gt;

&lt;p&gt;###📌 注意事项&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;大型文件处理&lt;/strong&gt;：由于是流式处理，工具可以处理非常大的文件。但在开始处理前，工具会尝试&lt;strong&gt;计数总帧数&lt;/strong&gt;以显示准确的进度条，这对于超大文件可能需要一些时间。如果计数失败，处理仍会进行，只是进度条可能不显示总数。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;解读图表&lt;/strong&gt;：请注意图表的坐标轴（例如对数刻度 vs 线性刻度）和统计摘要，以准确理解数据的特征。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;阈值选择&lt;/strong&gt;：&lt;code&gt;max_force_threshold&lt;/code&gt; 的选择对结果影响很大，请根据您的具体研究目标（例如，是关注平衡态性质还是包含动力学过程）来设定。&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;我们希望这款增强的工具能极大地简化您处理和理解大型原子数据集的工作流程！欢迎试用并向我们提供宝贵的反馈！&lt;/p&gt;</description>
      <author>Jerry</author>
      <pubDate>Sun, 26 Oct 2025 08:54:41 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/38</link>
      <guid>https://forum.sidereus-ai.com/topics/38</guid>
    </item>
    <item>
      <title>ABACUS 结构优化任务失败</title>
      <description>&lt;p&gt;运行 ABACUS 结构优化任务的时候一直显示失败，并且也不提示原因是为什么啊&lt;/p&gt;</description>
      <author>Lucas</author>
      <pubDate>Fri, 10 Oct 2025 02:54:42 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/37</link>
      <guid>https://forum.sidereus-ai.com/topics/37</guid>
    </item>
    <item>
      <title>AutoDock-Vina 分子对接 - 使用 blind docking 快速查找作用区域/蛋白口袋</title>
      <description>&lt;h2 id="使用 AutoDock Vina 盲对接(blind-docking) 智能体"&gt;使用 AutoDock Vina 盲对接 (blind-docking) 智能体&lt;/h2&gt;
&lt;p&gt;上传蛋白和配体的 pdb 文件&lt;/p&gt;

&lt;p&gt;可以将&lt;strong&gt;模式数&lt;/strong&gt;设置得大一点，比如 30.
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/2afe8779-3205-4f35-ba50-eecd0463b6a1.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="查看结果"&gt;查看结果&lt;/h2&gt;
&lt;p&gt;对接完毕之后，我们直接点击&lt;strong&gt;文件&lt;/strong&gt;
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/259b5874-d5ab-4e74-95fa-eb975c8813b1.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;把小眼睛👀全部打开（或者只打开前 10 个或前 20 个模式，越靠前得模式结合力越强）
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/583579bb-42f2-431a-8682-e53979f210e6.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;此时会发现有一些聚集区域，这就是&lt;strong&gt;当前配体与蛋白的强作用区域&lt;/strong&gt; &lt;/p&gt;</description>
      <author>luorui</author>
      <pubDate>Thu, 09 Oct 2025 11:11:32 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/36</link>
      <guid>https://forum.sidereus-ai.com/topics/36</guid>
    </item>
    <item>
      <title>AutoDock-Vina 分子对接 KIT 使用经验</title>
      <description>&lt;p&gt;目前平台上的 Autodock-Vina 分子对接的 kit 分为 4 个版本，方便朋友们根据不同的应用场景使用
&lt;em&gt;总的来说，vina 支持设置对接的“精细度”以及对接的“探测区域”，根据不同的设置，可以实现不同的功能。&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;————————————————————————————————————————————————————————&lt;/p&gt;
&lt;h2 id="1. 准备阶段，文件处理！！（非常重要！）"&gt;1. 准备阶段，文件处理！！（非常重要！）&lt;/h2&gt;
&lt;p&gt;目前最稳定的格式是&lt;em&gt;pdb&lt;/em&gt;文件，配体小分子还可以用&lt;em&gt;mol2&lt;/em&gt;文件。&lt;/p&gt;

&lt;p&gt;（程序会将其转换为 Autodock-Vina 可用的 pdbqt，如果用自己准备的 pdbqt，有时会出现错误但没有报错信息的情况）&lt;/p&gt;

&lt;p&gt;&lt;em&gt;对于蛋白&lt;/em&gt;：在蛋白数据库下载的 pdb 可以直接用，alphafold3 等结构预测模型给出的 cif 文件，需要本平台的 openbable 转换为 pdb&lt;/p&gt;

&lt;p&gt;&lt;em&gt;对于配体小分子&lt;/em&gt;：最好是 mol2 或者 pdb 文件。sdf，SMILES 等格式需要本平台的 openbable 转换为 pdb&lt;/p&gt;
&lt;h2 id="openbable转换实例"&gt;openbable 转换实例&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/e5e87978-c4a4-4bd6-b977-22f65625bb9c.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;AI 有时候会偷懒，我们需要监督一下&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;可以点击“文件”，然后点击小眼睛查看分子/蛋白结构，确认转换前后的结构没有问题&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/cc4f8838-9fb8-423e-8c00-06290ef3ab5c.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;———————————————————————————————————————————————————————&lt;/p&gt;

&lt;p&gt;————————————————————————————————————————————————————————&lt;/p&gt;
&lt;h2 id="1. 盲对接 blind-docking"&gt;1. 盲对接 blind-docking&lt;/h2&gt;
&lt;p&gt;“盲对接”，即我们&lt;strong&gt;不清楚蛋白的“口袋”在何处，或者说蛋白与配体的“作用区域”在何处&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;此时，我们只需要输入蛋白的 pdb 文件，以及配体的 pdb/mol2 文件。
程序将使用配体在蛋白的整个表面进行探测。
（由于探测面积较大，默认设置了较为粗糙精度，以保证速度。）
————————————————————————————————————————————————————————&lt;/p&gt;
&lt;h2 id="2. 重对接 redocking"&gt;2. 重对接 redocking&lt;/h2&gt;
&lt;p&gt;适用于&lt;strong&gt;已经知道蛋白的“口袋”在何处&lt;/strong&gt;，（由实验确定，或者由盲对接的初步结果确定。）&lt;/p&gt;

&lt;p&gt;此时，需要输入蛋白的 pdb 文件，以及配体的 pdb/mol2 文件。
另外，还需要对蛋白的“口袋”进行定义，近支持长方体盒子。需要定义盒子中心坐标，以及盒子的大小。&lt;/p&gt;

&lt;p&gt;————————————————————————————————————————————————————————&lt;/p&gt;
&lt;h2 id="3. 多配体对接 Multi-ligand docking"&gt;3. 多配体对接 Multi-ligand docking&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;考量多个配体与蛋白的作用情况&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;兼具重对接和盲对接的功能（要实现盲对接，将探测盒子的中心坐标盒子大小均设置为 0 即可）&lt;/p&gt;

&lt;p&gt;需要输入蛋白的 pdb 文件，以及&lt;strong&gt;配体们&lt;/strong&gt;的 pdb/mol2 文件构成的 zip 文件。（将需要对接的分子都放在一个文件夹里压缩即可，文件名尽量仅用数字字母，避免特殊字符和中文）
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/6d666e8c-19b0-4fe2-a661-041e90b3b676.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;————————————————————————————————————————————————————————&lt;/p&gt;
&lt;h2 id="4. 批量对接 batch docking"&gt;4. 批量对接 batch docking&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;需要对多个蛋白，多个配体进行两两对接，用于筛选分子或者蛋白靶点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;与多配体对接类似，需要输入包含&lt;strong&gt;蛋白们&lt;/strong&gt;的 pdb 的 zip 文件，以及&lt;strong&gt;配体们&lt;/strong&gt;的 pdb/mol2 文件构成的 zip 文件&lt;/p&gt;

&lt;p&gt;此模式将会额外输出一个热图
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/e2ee602b-ff98-4886-8d3e-560006ce5760.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;————————————————————————————————————————————————————————&lt;/p&gt;
&lt;h3 id="特别提示："&gt;特别提示：&lt;/h3&gt;
&lt;p&gt;KIT 中内置 MGLtool 进行文件格式转换，包括水，配体，离子的去除。直接用 RCSB 下载的 pdb 是可以的。
但如果文件格式的报错，可以用平台的 openbabel 智能体下载和处理蛋白 PDB 文件**
例如：
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/fc9f3f09-3746-4034-8b1d-4df27fbe81a8.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/1ee54665-57aa-490d-8b4a-51ff179f2c12.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;————————————————————————————————————————————————————————&lt;/p&gt;
&lt;h2 id="结果查看"&gt;结果查看&lt;/h2&gt;
&lt;p&gt;对接运行完之后会有 vina 的运行报告，如下
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/a3d12c0e-5866-4c99-89eb-25b8d17ea8e5.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;正常的情况下我们只需要关注最后
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/94442efa-54b8-42e7-9bff-942c32e06cb3.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;每一个对接模式的评分在此处给出（即 affinity 列）&lt;/p&gt;

&lt;p&gt;同时，我们可以在“文件”可视化对接模式，分析&lt;strong&gt;蛋白 - 配体的的结合作用&lt;/strong&gt;。
1 点击“文”件，然后点击关注的结合模式后方的“👀小眼睛”）
2 随后点击配体，即可显示与配体作用的蛋白质残基&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/0c9543f9-bb05-464e-93c4-db6b564f9a44.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/luorui/1e9bdbd5-6782-4ceb-9d1f-7a502c65959c.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;有更多需求和建议欢迎在这里指出~开发人员会开足马力优化大家的体验&lt;/strong&gt;&lt;/p&gt;</description>
      <author>luorui</author>
      <pubDate>Wed, 08 Oct 2025 08:45:42 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/35</link>
      <guid>https://forum.sidereus-ai.com/topics/35</guid>
    </item>
    <item>
      <title>ABACUS Agent 1.0.4 更新啦！一键启动材料计算旅程！</title>
      <description>&lt;h2 id="1. 从开天辟地说起"&gt;1. 从开天辟地说起&lt;/h2&gt;
&lt;p&gt;七月，GaliLeo 平台的 ABACUS Agent 堂堂上线，当时的 Agent 只具备最基础的骨架，只能做最基础的 SCF 和结构优化计算，但到了七月中旬，它已经能基于这些组件完成一个表面结构优化的计算了，到了八月中旬，则是更能打通表面分子吸附能的全流程计算。这几个月里，开发团队一边想尽办法告诉大家我们做了个什么样的玩意，一边思索着如何优化我们的这个玩意，让各位社区用户和开发人员都有更好的 AI Agent for Science 体验。&lt;/p&gt;

&lt;p&gt;如今，我能骄傲地告诉大家，ABACUS Agent 迎来了最新的一个稳定版本：1.0.4。虽然我们好像没对前三个版本做过介绍，但从这个版本开始，每逢一个比较稳定的版本号，都会通过推送文章的形式告诉大家。&lt;/p&gt;

&lt;p&gt;如果还有不了解什么是 ABACUS（原子算筹），第一性原理计算和我们的 ABACUS Agent 的朋友，欢迎大家去看上一篇 ABACUS Agent 教学贴！&lt;/p&gt;

&lt;p&gt;同时，本 ABACUS Agent 的开发离不开 ABACUS（原子算筹）开发团队大家庭，尤其是 ABACUS 智能体工具&lt;a href="https://github.com/deepmodeling/ABACUS-agent-tools/tree/develop" rel="nofollow" target="_blank" title=""&gt;ABACUS-agent-tools&lt;/a&gt;开发团队的支持和帮助。本智能体在 ABACUS 计算部分的工具直接来自 ABACUS-agent-tools，并做了一些关键的调优。&lt;/p&gt;
&lt;h2 id="2. 版本更新日志"&gt;2. 版本更新日志&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;1.0.1 版本：加入了基于 ASE 的简单结构建模，添加了基础知识库，完善了基础文档&lt;/li&gt;
&lt;li&gt;1.0.2 版本：加入并完善了能带计算和态密度（DOS）计算功能，在后端对 ABACUS-agent-tools 的调用模式进行了规范化，并完善了工具分级&lt;/li&gt;
&lt;li&gt;1.0.3 版本：初步上线了一些案例，并完善了可能需要的针对 ABACUS 计算的弹性资源调度&lt;/li&gt;
&lt;li&gt;1.0.4 版本：对齐后端 ABACUS-agent-tools v.0.2.1 版本，支持声子谱计算，振动频率计算，EOS 计算，弹性常数计算，基于 cube 电荷文件的电子结构可视化（包括 ELF，自旋密度，电荷密度差），以及 Bader 电荷分析。将这些功能迭代至基本稳定，并对每个功能出了一个案例。同时完善了建模工具，上线了基于 Materials Project 数据库的结构搜索和结构下载功能。是 ABACUS Agent 的第一个稳定版本。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3. 一键启动材料计算！"&gt;3. 一键启动材料计算！&lt;/h2&gt;
&lt;p&gt;熟悉平台的小伙伴应该能快速找到我们的 ABACUS Agent。大家可以边点进去，边在心中默念：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;原子算筹，启动！&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/268d880d-5b94-450d-ad41-74f0660f2b51.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt="原子算筹，启动！"&gt;&lt;/p&gt;

&lt;p&gt;点进去的瞬间各位就能发现新世界。迎面而来的依然是 Agent 的自我介绍。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/4c3d720a-652b-49db-8e94-e93604da794c.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;我们的 Agent 变得更会介绍自己了，也渴望着大家在提出需求的时候能描述得更为清晰，明确，流程化。当然，它还不忘提醒你，在启动原子算筹的时候，你需要自豪地告诉大家，咱们做计算用的就是这样一款国产开源的周期性电子结构计算软件。当然了，做好引用也是保证良好开源科研生态的一环。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/6a922f41-c338-4bdf-8f40-d4e8fdd43e50.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;可能此时刚点进来，还没正式启动的小伙伴心里会犯嘀咕，我该怎么开始我的第一个基于 ABACUS Agent 的计算任务呢？别担心，往下拉，你会看到大量的案例。这里每个案例都不仅代表着 ABACUS Agent 能完成的一个基础功能或计算任务，也代表着材料体系计算的学生和从业者在使用理论计算方法时的实际需求。需要注意的是，&lt;strong&gt;目前的前台案例库里足足有 16 个案例哦！&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/1e742dc5-4ad8-4dce-b608-5631ab477d1f.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;感谢前端大佬们的努力，现在，点击“查看示例”，你就能直接在侧边栏看到这个案例曾经的模样。而点击“立即使用”，相关案例的输入则会被立即调入到你的聊天框中。比如，我们点开第一个“铝原胞的能带和态密度计算”：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/4dd08535-4759-486b-99df-4cfda9809bb1.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;相关的提示词输入立马就钻进了你的聊天框，按下回车，一键发送，直接开始你的原子算筹材料计算之旅！&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/9d2fc9cd-67a9-498a-b0ce-12cc97ec6836.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;稍等片刻，输出结果堂堂到达！如果对它一切满意，让他只管继续就好！如果有新的想法和需求，直接跟他说！&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/d98f5749-102d-4909-9c4e-7842506f666b.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="4. 前面的区域，随时可以探索！"&gt;4. 前面的区域，随时可以探索！&lt;/h2&gt;
&lt;p&gt;各位小伙伴们或许注意到了，这十六个案例各具特色。比如我们点开“铁原胞的能带和态密度计算”&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/2b9f4624-17bd-49f0-bb15-2ecfdee51f95.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;可以发现&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;这个案例给你提供了一个输入文件&lt;/li&gt;
&lt;li&gt;这个案例的提示词里有一些针对这个计算任务相当具体的参数设置要求。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;这些要求与 ABACUS 本身的计算设置，乃至第一性原理计算内本身的一些技巧有关，你可以通过阅读&lt;a href="https://abacus.deepmodeling.com/en/stable/" rel="nofollow" target="_blank" title=""&gt;ABACUS 文档&lt;/a&gt;或者&lt;a href="https://mcresearch.github.io/abacus-user-guide/" rel="nofollow" target="_blank" title=""&gt;ABACUS 中文用户手册&lt;/a&gt;了解。那么有的小伙伴就会说了，我要是会自己看技术文档，我还来用你的智能体干啥呢？&lt;/p&gt;

&lt;p&gt;自然的，其实我们的智能体也内置了包含这些文档的知识库。比如，当大家启动上述铁的计算案例，并让 Agent 完成了初步的计算输入准备工作后，能看到它给你总结的任务列表：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/5438de60-07db-4efd-972a-1acd330bee15.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这个时候，假设你不理解提示词里面&lt;code&gt;smearing_method&lt;/code&gt;和&lt;code&gt;smearing_sigma&lt;/code&gt;的含义，你可以在这里打住，先询问它这些参数的含义。智能体收到你的问题之后，就会搜索知识库，根据里面的知识进行回答。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/9a568060-a685-4601-a4b4-7625d6a44ee8.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;当然了，目前它的回答还是比较简略的，比友商某些知识库产品滔滔不绝的提取总结输出能力还是差一些，这也是我们在努力的方向。问题问完，让它继续做任务，它也能自然而然地回到主线任务上来：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/eb28ff52-7b0f-410a-a18e-53506c440452.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;目前，涉及到 ABACUS 本身的计算都会投到 GPU 节点，通过 GPU 异构化的第一性原理计算完成。小伙伴们可以通过最上面分栏按钮的“文件”，找到对应的计算目录（可能因为名字太长不太好找），就可以查看 ABACUS 计算时的标准输出日志 abacus.log 文件了。比如对于该任务，小伙伴们可以从日志文件中看出来计算在 4090 的显卡上进行。当然 CPU 也是在跑的，只是型号没有显示。CPU 型号的显示的优化已经在开发版本中的 ABACUS 里实现了，让我们期待相关特性早日合并到稳定版分支！&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/QuantumMisaka/26b47cd9-d46f-4784-b604-e578c5ed6ed9.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;在等待这个任务计算完成的时候，小伙伴们可以点击左下方的“新建对话”，即可开始其他任务，或是探索其他智能体，或是继续探索 ABACUS 智能体的其他案例。总之，前面的区域，随时可以探索！&lt;/p&gt;
&lt;h2 id="5. 愿此行，终抵群星"&gt;5. 愿此行，终抵群星&lt;/h2&gt;
&lt;p&gt;本帖介绍了星使智算旗下&lt;a href="https://sidereus-ai.com/" rel="nofollow" target="_blank" title=""&gt;GaliLeo&lt;/a&gt;平台部署的 ABACUS Agent 1.0.4 版本，包括该版本的更新情况，支持的计算功能，上线的 16 个案例以及其中两个案例的简单使用。目前，我们正努力支持更多的材料计算模拟功能，尤其是涉及到表面催化中需要的吸附位点确定，反应过渡态计算，反应路径确定等功能痛点。平台的工程师也在努力给大家一个比较好看的结构可视化界面，让大家有更好的体验。&lt;/p&gt;

&lt;p&gt;欢迎大家多多在自己的问题上应用 ABACUS Agent，你们的需求和反馈就是我们最大的动力！谢谢大家！&lt;/p&gt;</description>
      <author>QuantumMisaka</author>
      <pubDate>Wed, 01 Oct 2025 10:47:50 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/34</link>
      <guid>https://forum.sidereus-ai.com/topics/34</guid>
    </item>
    <item>
      <title>蛋白质定向进化工具一直报错</title>
      <description>&lt;p&gt;同样的 input 前两天还能跑通，今天就不行了
&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/KuRay/0648db8d-a708-42f9-b16c-bdbfda641696.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>KuRay</author>
      <pubDate>Mon, 29 Sep 2025 02:36:19 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/33</link>
      <guid>https://forum.sidereus-ai.com/topics/33</guid>
    </item>
    <item>
      <title>酶活预测工具是不是出现问题了</title>
      <description>&lt;p&gt;各种报错&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/17629986263/bb8a4cc1-37b3-4878-a290-a85fcbac7d47.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>17629986263</author>
      <pubDate>Fri, 05 Sep 2025 08:21:45 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/32</link>
      <guid>https://forum.sidereus-ai.com/topics/32</guid>
    </item>
    <item>
      <title>FEP 计算功能经过多次尝试终于成功了</title>
      <description>&lt;p&gt;太感谢昨天那位解答的客服同学了&lt;img title=":rose:" alt="🌹" src="https://twemoji.ruby-china.com/2/svg/1f339.svg" class="twemoji"&gt; 。很耐心的一步步回答我的疑惑。&lt;/p&gt;

&lt;p&gt;总结下使用下来的一些问题：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;mol2 格式的小分子必须用 openbabel 转一遍，不然很容易出错&lt;/li&gt;
&lt;li&gt;我 pdb 建模用的是 amber 的 tleap，导致把原本的链信息丢失了，所以后续很多问题都来自于 pdb 的结构问题，所以链的 ID 不能丢&lt;/li&gt;
&lt;li&gt;就是要注意参比小分子的关键字在复合物 pdb 和单独的 mol2 文件中一定要对应&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/19550138051/41694b93-de1c-4673-b499-0eac47975e56.png?x-oss-process=image%2Fresize%2Cw_1920" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>19550138051</author>
      <pubDate>Fri, 05 Sep 2025 04:25:59 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/31</link>
      <guid>https://forum.sidereus-ai.com/topics/31</guid>
    </item>
  </channel>
</rss>
