Token导航 LogoToken导航TokenDH.com
待分类权限需确认github未标认证来源可访问许可证需确认审计通过

chemical-file-converter化学文件转换器

Agent Skill

chemical-file-converter 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

220

周安装

9

GitHub Stars

44

下载量

71
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:chemical-file-converter(化学文件转换器)
来源仓库:https://github.com/internscience/chemclaw
仓库路径:skills/chemical-file-converter
安装命令:
npx skills add https://github.com/internscience/chemclaw --skill chemical-file-converter
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/internscience/chemclaw --skill chemical-file-converter

简介

Chemical File Converter 支持多种常见化学文件格式间的相互转换操作。

  • 涵盖 XYZ、Gaussian、SDF、PDB 等十余种主流格式的读写功能。
  • 可用于分子建模、量子化学计算与大分子结构处理等科研用途。
  • 批量转换前建议备份原始文件以防格式解析错误导致数据丢失。
  • chemical-file-converter 属于待分类类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Chemical File Converter

化学文件格式转换技能,支持多种常见化学文件格式之间的互转。

支持的文件格式

格式扩展名说明
XYZ.xyz简单坐标格式,包含原子类型和 3D 坐标
Gaussian Input.gjf, .comGaussian 计算输入文件
MDL Molfile.mol单个分子的 2D/3D 结构
Structure Data.sdf, .sd多个分子的结构数据文件
Protein Data Bank.pdb生物大分子结构
Tripos Mol2.mol2Tripos 分子格式
SMILES.smi, .smiles线性分子表示
CML.cml化学标记语言 (XML)
MOPAC.mop, .zmtMOPAC 输入文件

使用方法

对话框中使用

用户可以直接上传文件并要求转换:

把这个 xyz 文件转成 gjf 格式
将 molecule.mol 转换为 .sdf 格式
帮我生成 Gaussian 输入文件,用 B3LYP/6-31G* 方法
把 pdb 文件转成 xyz 坐标
批量转换这些文件为 .mol2 格式

命令行使用

# 基本转换
python3 scripts/convert_chemical.py input.xyz -o output.gjf

# 指定输出格式
python3 scripts/convert_chemical.py input.mol --format sdf

# 批量转换
python3 scripts/convert_chemical.py *.xyz --output-dir ./converted

# Gaussian 输入文件(指定方法和基组)
python3 scripts/convert_chemical.py input.xyz -o output.gjf \
  --method B3LYP --basis 6-31G* --charge 0 --multiplicity 1

# 使用 Open Babel(如果可用)
python3 scripts/convert_chemical.py input.pdb -o output.xyz --use-openbabel

参数说明

参数简写说明默认值
--input-i输入文件路径必需
--output-o输出文件路径自动生成
--format-f输出格式 (xyz/sdf/mol2/pdb/gjf 等)从输出文件扩展名推断
--output-dir-d输出目录(批量模式)当前目录
--method-mGaussian 计算方法B3LYP
--basis-bGaussian 基组6-31G*
--charge分子电荷0
--multiplicity自旋多重度1
--link0Gaussian Link0 命令(如 %mem=4GB)自动
--use-openbabel强制使用 Open Babel自动检测
--use-rdkit强制使用 RDKit自动检测

工作流程

1. 文件上传和识别

用户上传化学文件后,自动识别文件格式:

# 根据扩展名识别格式
.xyz → xyz
.gjf/.com → gaussian
.mol → mdl
.sdf → sdf
.pdb → pdb
.mol2 → mol2

2. 格式转换

根据目标格式选择合适的转换引擎:

转换类型推荐引擎说明
xyz ↔ mol/sdfRDKit支持 3D 坐标
pdb ↔ xyzOpen Babel生物大分子支持好
任意 → gjf内置脚本可自定义 Gaussian 参数
任意格式互转Open Babel支持 100+ 格式

3. Gaussian 输入文件生成

对于 .gjf 格式,可以自定义计算参数:

%chk=molecule.chk
%mem=4GB
%nproc=4
#p B3LYP/6-31G* opt freq

分子标题

电荷 多重度
原子坐标
...

输出示例

转换成功

$ python3 convert_chemical.py ethanol.xyz -o ethanol.gjf
✓ 已读取:ethanol.xyz (9 原子)
✓ 已生成:ethanol.gjf (Gaussian 输入,B3LYP/6-31G*)

批量转换

$ python3 convert_chemical.py *.mol --output-dir ./sdf_output
✓ 已转换:mol_1.mol → sdf_output/mol_1.sdf
✓ 已转换:mol_2.mol → sdf_output/mol_2.sdf
✓ 已转换:mol_3.mol → sdf_output/mol_3.sdf
完成:3/3 成功

Gaussian 文件定制

$ python3 convert_chemical.py input.xyz -o custom.gjf \
  --method wB97XD --basis def2TZVP --charge -1 --multiplicity 2 \
  --link0 "%mem=8GB,%nproc=8"
✓ 已生成:custom.gjf (wB97XD/def2TZVP, 阴离子,双重态)

依赖

必需依赖

pip install rdkit

可选依赖(推荐安装)

# Open Babel(支持更多格式)
conda install -c conda-forge openbabel
# 或
pip install openbabel-wheel

# ASE(原子模拟环境,支持更多量子化学格式)
pip install ase

检查安装

# 检查 RDKit
python3 -c "from rdkit import Chem; print('RDKit OK')"

# 检查 Open Babel
obabel -L formats | head -20

# 检查 ASE
python3 -c "import ase; print('ASE OK')"

文件格式详解

XYZ 格式

9
乙醇分子
C     0.000000     0.000000     0.000000
C     1.500000     0.000000     0.000000
O     2.000000     1.200000     0.000000
H    -0.300000    -1.000000     0.000000
...

Gaussian (GJF) 格式

%chk=molecule.chk
%mem=4GB
%nproc=4
#p B3LYP/6-31G* opt freq

乙醇优化和频率计算

0 1
C     0.000000     0.000000     0.000000
C     1.500000     0.000000     0.000000
O     2.000000     1.200000     0.000000
...

MDL Molfile 格式

  Mrv2014 01012021

  9  8  0  0  0  0            999 V2000
    0.0000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    1.5000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
...
  1  2  1  0  0  0  0
  2  3  1  0  0  0  0
...
M  END

常见问题

Q: 转换后原子坐标变了?

A: 某些格式转换可能涉及坐标变换(如内坐标↔笛卡尔坐标)。使用 --use-openbabel 通常能保持坐标一致。

Q: Gaussian 文件无法运行?

A: 检查:

  • Link0 命令格式(%mem, %nproc)
  • 方法和基组名称是否正确
  • 电荷和多重度是否合理
  • 原子坐标格式(Gaussian 使用笛卡尔坐标)

Q: 批量转换时部分文件失败?

A: 检查失败文件的格式是否正确。某些文件可能包含不支持的原子类型或格式错误。

Q: 如何转换大分子(蛋白质)?

A: 对于 PDB 文件,建议使用 Open Babel 或 ASE:

obabel protein.pdb -o xyz -O protein.xyz

与其他化学技能配合

与 mol_2d_viewer 配合

# 1. 转换格式
python3 scripts/convert_chemical.py input.xyz -o output.mol

# 2. 生成 2D 结构图
python3 ../mol-2d-viewer/scripts/mol_2d_viewer.py --input output.mol --output structure.png

与 mol_3d_viewer 配合

# 1. 从 Gaussian 文件提取坐标
python3 scripts/convert_chemical.py input.gjf -o output.xyz

# 2. 生成 3D 可视化
python3 ../mol-3d-viewer/scripts/mol_3d_viewer.py --smiles "CCO" --output ethanol_3d

与 iupac_to_smiles 配合

# 1. 从文件提取 SMILES
python3 scripts/convert_chemical.py input.mol -o output.smiles

# 2. 转换名称为 SMILES
python3 ../iupac-to-smiles/scripts/iupac_to_smiles.py --name "ethanol" --output name_result.json

注意事项

  • 自动检测引擎 - 优先使用 RDKit,失败时尝试 Open Babel
  • 保持 3D 坐标 - 转换时保留原始 3D 几何结构
  • Gaussian 定制 - 支持自定义方法、基组、电荷、多重度
  • 批量转换 - 支持通配符和目录批量处理
  • ⚠️ 格式限制 - 某些格式不支持 3D 坐标(如 SMILES)
  • ⚠️ 大分子处理 - PDB 文件建议使用 Open Babel
  • ⚠️ 键信息丢失 - XYZ→MOL 转换可能需要推断化学键

错误处理

错误说明解决方案
Format not supported不支持的格式检查扩展名,使用 --format 明确指定
RDKit errorRDKit 转换失败尝试 --use-openbabel
Open Babel not found未安装 Open Babel安装:conda install openbabel
Invalid Gaussian parametersGaussian 参数错误检查方法和基组名称
File read error文件读取失败检查文件编码和格式

技术实现

转换引擎选择

  1. RDKit - 优先用于小分子有机化合物
  2. Open Babel - 用于大分子、无机化合物、特殊格式
  3. ASE - 用于量子化学格式(VASP, Quantum ESPRESSO 等)
  4. 内置解析器 - 用于 Gaussian 输入文件生成

坐标处理

  • XYZ 格式 - 直接读取/写入笛卡尔坐标
  • MOL/SDF - 使用 RDKit 解析键级和立体化学
  • PDB - 处理残基、链、异原子记录
  • GJF - 解析 Link0 命令和路由部分

性能参考

分子大小转换时间 (RDKit)转换时间 (Open Babel)
小分子 (<20 原子)<0.1s<0.2s
中等分子 (20-50 原子)0.1-0.5s0.2-1s
大分子 (50-200 原子)0.5-2s1-5s
蛋白质 (>200 原子)不支持5-30s

输出文件位置

默认输出到输入文件同目录,或使用 --output-dir 指定:

python3 scripts/convert_chemical.py input.xyz -o ./output/converted.gjf

对于飞书兼容性,建议输出到白名单目录:

  • ~/.openclaw/media/chemical-converter/
  • ~/.openclaw/workspace/

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.71%
按下载量换算26

Claude

27.87%
按下载量换算20

Cursor

19.04%
按下载量换算14

Gemini CLI

8.95%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills