Skip to content

Repository files navigation

XYZ Monitor

版本:2.1.0
作者:Bane Dysta

一个便捷的分子结构格式转换工具,实现 XYZ 格式与 GaussianView 之间的无缝桥接。


🆕 2.1.0 改进亮点

  • 修复插件菜单命令冲突:插件菜单项不再与“Reload Configuration / Exit / About”共用命令 ID
  • 增强剪贴板 Unicode 支持:优先读写 CF_UNICODETEXT,提升中文与非 ASCII 内容兼容性
  • 修复标准 XYZ 空注释行解析:支持保留标准 XYZ 中的空 comment 行与中间空行
  • 增强热键解析能力:新增对 TabSpace、方向键、Insert/Delete/Home/End/PageUp/PageDownF1-F24 的支持
  • 提升配置鲁棒性:布尔值解析改为不区分大小写,兼容 true/false/yes/no/on/off/1/0
  • 改进插件热键重载:重载配置与设置保存后,会同步重新注册插件热键
  • 修复文件读取边界问题:避免文件大小读取失败或实际读取字节数异常时出现误判

✨ 核心特色

🎯 剪贴板即内存,告别缓存文件管理

传统的格式转换工具往往需要手动管理大量中间文件,而 XYZ Monitor 采用了创新的剪贴板工作流

  • 无需手动保存/打开文件:所有数据通过剪贴板传递,复制即转换
  • 自动清理临时文件:程序智能管理临时文件,无需人工清理
  • 工作流更流畅:热键触发 → 自动转换 → 立即可用,一气呵成
  • 避免磁盘堆积:不会在文件夹中留下大量 .log.gjf 等缓存文件

💡 使用场景:当你在阅读文献或处理数据时,看到一个分子坐标,只需复制 → 按热键,就能在 GaussianView 中立即查看,无需创建、命名、保存文件,用完即走!


📋 功能特性

核心功能

  • XYZ → GaussianView:从剪贴板读取 XYZ 格式,自动转换并在 GaussianView 中打开
  • GaussianView → XYZ:从 GaussianView 复制分子结构,自动转为 XYZ 格式回到剪贴板
  • 多帧轨迹支持:处理包含多个构型的优化轨迹或 MD 轨迹
  • 优化信息智能识别:自动提取能量、力、位移等收敛参数
  • 文件关联:双击 .xyz/.trj 文件直接在 GaussianView 中打开

便捷特性

  • ⌨️ 全局热键控制:自定义热键,随时随地快速转换
  • 🖱️ 系统托盘运行:后台静默运行,不占用任务栏空间
  • 🎛️ 图形化设置界面:简单易用的配置界面,无需手动编辑配置文件
  • 🧹 智能缓存管理:临时文件自动清理,可自定义清理延迟时间
  • 📊 内存限制保护:可配置内存上限,避免处理超大文件时系统卡顿
  • 📝 详细日志记录:操作日志便于排查问题和追踪数据流

🚀 快速开始

安装配置

  1. 解压程序到任意目录
  2. 首次运行会自动生成默认配置文件 config.ini
  3. 配置 GaussianView 路径
    • 右键点击系统托盘图标
    • 选择打开设置界面
    • 在"General"选项卡中设置 GaussianView 可执行文件路径
  4. 配置 Gaussian Clipboard 路径(用于反向转换):
    • 通常位于:C:\G16W\Clipboard.frg
    • 根据你的 Gaussian 安装路径调整

基本使用

方式一:XYZ → GaussianView(剪贴板工作流 ⭐推荐)

传统方式 vs XYZ Monitor:

传统方式

复制坐标 → 新建文本文件 → 粘贴 → 修改文件头 → 保存为.gjf 
→ 打开GView → 选择文件 → 打开 → 用完后手动删除文件

XYZ Monitor

复制坐标 → 按热键(Ctrl+Alt+X) → 完成!

具体步骤

  1. 从任何来源(论文、网页、文本编辑器等)复制 XYZ 格式的分子坐标
  2. 按下热键(默认 Ctrl+Alt+X
  3. GaussianView 自动打开并显示分子结构
  4. 关闭 GaussianView 后,临时文件自动清理(无需手动删除)

支持的 XYZ 格式示例:

标准格式(带原子数和注释行):

12
Ethanol molecule, E=-154.123 MaxF=0.0012
C    0.000000    0.000000    0.000000
C    1.540000    0.000000    0.000000
O    2.080000    1.300000    0.000000
H   -0.400000    1.000000    0.000000
...

简化格式(仅坐标):

C    0.000000    0.000000    0.000000
C    1.540000    0.000000    0.000000
O    2.080000    1.300000    0.000000
...

方式二:GaussianView → XYZ(反向转换)

适用场景:在 GaussianView 中调整好分子结构后,需要导出坐标用于其他程序

  1. 在 GaussianView 中编辑/查看分子结构
  2. 复制分子(Edit → Copy 或 Ctrl+C)
  3. 按下热键(默认 Ctrl+Alt+G
  4. XYZ 格式坐标已在剪贴板中,直接粘贴到任何地方使用

无需经过:保存 → 选择格式 → 命名文件 → 打开文件 → 复制内容

方式三:文件关联(批量处理)

当需要查看磁盘上已有的 XYZ 文件时:

  1. 右键点击 .xyz.trj 文件
  2. 选择"打开方式" → xyz_monitor.exe
  3. 文件自动转换并在 GaussianView 中打开
  4. 关闭后临时文件自动清理

提示:勾选"始终使用此应用打开"后,以后双击 XYZ 文件即可直接打开


⚙️ 配置说明

图形化配置

双击系统托盘图标或右键选择设置,可通过界面配置:

  • Primary Hotkey:XYZ → GaussianView 的热键
  • Reverse Hotkey:GaussianView → XYZ 的热键
  • GView Path:GaussianView 可执行文件的完整路径
  • Gaussian Clipboard Path:Gaussian 的剪贴板文件路径

配置文件(config.ini)

高级用户可以直接编辑 config.ini 文件:

# 热键配置
hotkey=CTRL+ALT+X              # 主热键(XYZ→GView)
hotkey_reverse=CTRL+ALT+G      # 反向热键(GView→XYZ)

# 路径配置
gview_path=C:\G16W\gview.exe   # GaussianView 路径
gaussian_clipboard_path=C:\G16W\Clipboard.frg  # Gaussian 剪贴板文件

# 临时文件自动清理配置
temp_dir=temp                   # 临时文件目录
wait_seconds=5                  # 清理延迟时间(秒),给GView足够的加载时间

# 内存限制配置
max_memory_mb=500               # 最大内存使用(MB),防止处理超大文件卡顿
max_clipboard_chars=0           # 最大字符数(0=根据内存自动计算)

# 日志配置
log_file=logs\xyz_monitor.log   # 日志文件路径
log_level=INFO                  # 日志级别:DEBUG/INFO/WARNING/ERROR
log_to_console=true             # 是否输出到控制台
log_to_file=true                # 是否输出到文件

关键配置说明

  • wait_seconds:临时文件的清理延迟时间

    • 默认 5 秒,确保 GaussianView 有足够时间加载文件
    • 如果 GView 启动较慢,可以适当增加(如改为 10)
    • 程序会在后台自动清理,无需人工干预
  • temp_dir:临时文件存放位置

    • 默认在程序目录下的 temp 文件夹
    • 所有临时文件都会自动清理,不会堆积

配置修改后:在托盘图标右键菜单选择"Reload Configuration"使配置生效。


🎯 高级功能

多帧轨迹支持

程序支持处理包含多个分子构型的轨迹文件(如几何优化过程的所有步骤):

3
Frame 1: E=-100.123 MaxF=0.0045 RMSF=0.0023
C    0.0    0.0    0.0
H    1.0    0.0    0.0
H   -1.0    0.0    0.0
3
Frame 2: E=-100.125 MaxF=0.0012 RMSF=0.0008
C    0.0    0.0    0.1
H    1.0    0.0    0.1
H   -1.0    0.0    0.1

转换后的 LOG 文件将保留所有构型和优化信息。

优化信息识别

程序能自动识别并保留注释行中的优化收敛信息:

  • E= :能量
  • MaxF= :最大受力
  • RMSF= :方均根受力
  • MaxD= :最大位移
  • RMSD= :方均根位移

这些信息将被转换为 Gaussian LOG 格式的标准收敛表格。

内存管理

通过配置 max_memory_mb 参数,可以控制程序处理数据的内存上限:

  • 默认 500MB,适合处理中等规模的轨迹文件
  • 可根据系统配置调整(建议不超过系统总内存的 1/4)
  • 程序会在处理前检查数据大小,超限时给出警告

📌 使用技巧

工作流优化

  1. 开机自启:将程序添加到开机启动项,随时可用无需手动运行
  2. 无缝集成
    • 阅读文献时,看到感兴趣的分子坐标,复制 → 热键,立即可视化
    • 计算结果需要快速查看,复制 → 热键,秒开 GaussianView
    • 无需创建、命名、保存文件,用完即走
  3. 双向转换
    • XYZ → GView:快速查看和分析
    • GView → XYZ:编辑后导出坐标,用于其他程序
  4. 批量查看:需要查看多个 XYZ 文件时,可以:
    • 方式一:依次复制内容 → 热键查看
    • 方式二:设置文件关联后直接双击打开

自动清理机制说明

程序创建的临时文件会自动清理,你无需担心

  • ✅ 临时文件堆积占用磁盘空间
  • ✅ 忘记删除临时文件
  • ✅ 文件夹中出现大量无用的 .log 文件

工作原理

热键触发 → 创建临时文件 → 打开GView → 等待N秒 → 自动删除临时文件

默认等待 5 秒,如果你的电脑较慢,可以在配置中增加 wait_seconds 值。

其他技巧

  1. 热键冲突:如果默认热键与其他程序冲突,在设置界面自定义即可
  2. 日志排查:遇到问题时查看 logs/xyz_monitor.log 了解详细信息
  3. 命令行使用:支持命令行参数直接转换文件:
    xyz_monitor.exe "path\to\file.xyz"
  4. 内存限制:处理超大轨迹文件时,如果提示内存不足,可以增加 max_memory_mb 配置

❓ 常见问题

Q: 为什么要用剪贴板而不是直接保存文件?

A: 这正是 XYZ Monitor 的核心设计理念:

  • 更快:复制 → 热键,比创建文件 → 命名 → 保存 → 打开快得多
  • 更干净:无需管理大量中间文件,避免文件夹混乱
  • 更方便:适合快速查看和临时处理,符合日常工作流
  • 自动清理:程序智能管理临时文件,用完即清,无后顾之忧

Q: 临时文件会占用磁盘空间吗?

A: 不会!

  • 程序会在 GaussianView 加载完成后自动删除临时文件
  • 默认等待 5 秒后清理,可通过 wait_seconds 配置调整
  • 即使程序异常退出,临时文件也只会占用很小的空间
  • 可以随时手动清理 temp 目录

Q: 热键按下后没有反应?

A: 检查以下几点:

  • 剪贴板中是否有有效的 XYZ 格式数据
  • GaussianView 路径是否配置正确
  • 查看日志文件 logs/xyz_monitor.log 了解具体错误
  • 确认热键没有被其他程序占用(可在设置中自定义)

Q: 提示"Clipboard content is too large"?

A:

  • 当前数据超过了内存限制(默认 500MB)
  • 增加 max_memory_mb 参数值(如改为 1000)
  • 或将大文件保存为 .xyz 文件,通过文件关联方式打开

Q: GaussianView → XYZ 转换失败?

A:

  • 确认 gaussian_clipboard_path 配置正确(通常是 C:\G16W\Clipboard.frg
  • 确认在 GaussianView 中先复制了分子结构(Edit → Copy)
  • 检查 Gaussian 是否正常安装并能正常使用剪贴板功能

Q: 临时文件在 GView 关闭前就被删除了怎么办?

A:

  • 增加 wait_seconds 配置值(如改为 10 或 15)
  • 这个时间是为了确保 GView 完全加载文件后再清理
  • 不用担心设置太大,程序会在后台自动清理

Q: 如何卸载程序?

A:

  • 右键托盘图标选择"Exit"退出程序
  • 直接删除程序文件夹即可
  • 程序不会在注册表中留下任何残留
  • temp 目录中的文件可以放心删除

💡 为什么选择 XYZ Monitor?

传统工作流的痛点

使用传统的文件转换工具时,你是否遇到过:

  • 📁 桌面上堆满了 test1.xyztemp_final.logmolecule_copy_2.gjf 等临时文件
  • 🗑️ 定期需要手动清理这些临时文件,却不确定哪些可以删除
  • ⏱️ 每次查看一个分子坐标都要:创建文件 → 命名 → 保存 → 打开 → 删除
  • 😓 忘记删除临时文件,导致项目文件夹混乱不堪

XYZ Monitor 的解决方案

剪贴板作为"内存",零管理负担

传统方式:数据 → 文件 → 软件 → 手动删除文件
XYZ Monitor:数据 → 剪贴板 → 软件 → 自动清理 ✨
  • 无需文件管理:复制粘贴即可完成所有操作
  • 自动清理:后台智能清理临时文件,无需人工干预
  • 即用即走:适合快速查看、临时分析等日常场景
  • 提升效率:减少 80% 的重复文件操作,专注于科研工作本身

"让软件管理文件,让你专注科研" —— 这就是 XYZ Monitor 的设计哲学


更新日志

  • 2025.12.19 v2.0.3

    • 可接受log文件
    • 接受log文件时,识别文件类型,按照Gaussian、ORCA、其他日志分类,指定不同的打开应用
  • 2025.10.17 v2.0.2

    • 支持chg格式
    • 允许指定第几列为element/xyz列

🔗 反馈与支持

遇到问题或有改进建议,欢迎在 GitHub Issues 或论坛中反馈!

About

一个便捷的分子结构格式转换工具,实现 XYZ 格式与 GaussianView 之间的无缝桥接。

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages