计算化学公社
标题: XYZRender Web App — 分子图形工作站 [打印本页]
作者Author: 方方方 时间: 2026-3-27 12:56
标题: XYZRender Web App — 分子图形工作站
本帖最后由 方方方 于 2026-3-27 13:00 编辑
最近使用xyzrender绘图,感觉特别美观,于是乎
基于 xyzrender 库的 Web 渲染界面,支持将分子文件渲染为出版质量的 SVG、PNG、PDF 和 GIF。
目录结构
xyzrender_app/
├── app.py # Flask 后端
├── requirements.txt # Python 依赖
├── templates/
│ └── index.html # 前端界面
├── MOLECULES/ # 放置分子文件(自动创建)
└── FIGURE/ # 渲染结果保存目录(自动创建)
安装
先下载好https://github.com/TiegenFang/xyzrender-webapp.git的code(可以帮忙点个star)
1. 安装
- pip install xyzrender
- # latest development version:
- pip install --upgrade git+https://github.com/aligfellow/xyzrender.git
复制代码
如果需要全部功能,可以安装如下:
- pip install xyzrender[crystal] # VASP/QE periodic structures (phonopy)
- pip install xyzrender[smi] # SMILES input (rdkit)
- pip install xyzrender[cif] # CIF input (ase)
- pip install xyzrender[all] # everything above
复制代码
2. 启动应用
python app.py
使用方法
步骤 1 — 准备分子文件
将分子文件放入 MOLECULES/ 文件夹,或直接在网页界面中拖拽上传。
支持的文件格式:
[td]| 格式 | 说明 |
| .xyz | XYZ 坐标文件 |
| .mol / .sdf | MOL/SDF 格式 |
| .mol2 | MOL2 格式 |
| .pdb | 蛋白质数据库格式 |
| .out / .log | ORCA、Gaussian 等 QM 输出文件 |
| .gjf / .gjc | Gaussian 输入文件 |
| .fchk | Gaussian formatted checkpoint |
| .cube | 电子密度 / 分子轨道 cube 文件 |
| .cif | 晶体结构文件(需要 xyzrender[crystal]) |
| .smiles | SMILES 字符串文件(需要 xyzrender[smiles]) |
步骤 2 — 选择渲染选项
- 输出格式:SVG(默认)、PNG、PDF、GIF(旋转动画)
- 绘图风格:
- default — 标准 CPK 风格,带深度雾化
- flat — 扁平化无阴影风格
- paton — PyMOL 风格(球棍模型)
- skeletal — 骨架式(有机化学惯例)
- bubble — 大球风格
- tube — 管状键
- wire — 线框风格
- 渲染选项:
- 显示氢原子(--hy)
- 过渡态键(--ts)
- 非共价相互作用(--nci)
- GIF 动画:旋转轴 x / y / z / xy
- 高级选项(量子化学):
- 电子密度等值面(--dens,需要 cube 文件)
- 分子轨道(--mo,需要 MO cube 文件)
- ESP 映射(需要两个 cube 文件)
- 自定义 JSON 配置覆盖
步骤 3 — 渲染 & 查看
点击 ▶ 渲染分子 后,结果将:
- 自动保存到 FIGURE/ 文件夹
- 在右侧预览区实时显示
- 支持全屏查看和下载
特色
[color=rgba(0, 0, 0, 0.9)]🌗 亮暗模式+字体自由调熬夜画图的同学有福了!暗色界面护眼,字体大小随心调,截图直接丢进论文不用二次修图
[color=rgba(0, 0, 0, 0.9)]🎨 渲染全面升级vdw球体显示、DOF景深效果、晶胞框线、分子重取向...以前要开三个软件的操作,现在一个网页全搞定。风格选择多到选择困难症发作
[color=rgba(0, 0, 0, 0.9)]🖱️ 视角自由旋转终于不用猜哪个角度好看了!鼠标一拖直接找最佳视角,出图速度翻倍,赶deadline神器
[color=rgba(0, 0, 0, 0.9)]📁 TEMP/FIGURE规范导出强迫症狂喜!文件命名整整齐齐,放supporting information里导师都挑不出毛病
相关链接
作者Author: wxyhgk 时间: 2026-3-28 17:56
这个项目我很早就关注了,实际上对于大分子(100 原子以上),效果还是欠缺,拿公司实际开发分子看,对于单双键,离域的判断以及空间的位置的判断还是有些问题。
(, 下载次数 Times of downloads: 2)
作者Author: 方方方 时间: 2026-3-29 18:17
感谢指出,因为这个项目还是基于的xyzrender做的可视化工作~
作者Author: greatzdk 时间: 2026-3-30 11:38
有没有3d可编辑 好用的 web editor?
作者Author: jeham 时间: 2026-4-3 12:08
请教一下怎么断开特定的键?在app内没找到合适的选项
作者Author: 方方方 时间: 2026-4-3 16:25
xyzrender本身好像并不支持这个功能
作者Author: jeham 时间: 2026-4-4 10:38
https://xyzrender.readthedocs.io ... RenderConfig.unbond,这个好像是。感觉xyzrender对成键的判断和gaussview有些区别
作者Author: 方方方 时间: 2026-4-6 13:37
jeham 发表于 2026-4-4 10:38
https://xyzrender.readthedocs.io/en/latest/api/types.html#xyzrender.types.RenderConfig.unbond,这 ...
hhh太感谢指出并提供参考~
作者Author: jeham 时间: 2026-4-6 19:11
非常期待功能的更新!也非常感谢楼主对社区的贡献!!!
作者Author: yzh 时间: 6 day ago
哥们研究MR-TADF绿光,不知道是哪个课题组的
作者Author: yzh 时间: 6 day ago
github加星成功,感谢楼主贡献
作者Author: yzh 时间: 5 day ago
请教一下老师,rockylinux8.10 python3.6.8下:
[root@Master xyzrender-webapp-main]# pip install xyzrender
ERROR: Could not find a version that satisfies the requirement xyzrender (from versions: none)
ERROR: No matching distribution found for xyzrender
提示找不到xyzrender包?请问是什么原因,我将最新的xyzrender-webapp-main已经下载解压好了
谢谢!
作者Author: wal 时间: 5 day ago
本帖最后由 wal 于 2026-4-10 10:37 编辑
yzh 发表于 2026-4-10 10:30
请教一下老师,rockylinux8.10 python3.6.8下:
[root@Master xyzrender-webapp-main]# pip install xyzre ...
看错了 没事了XD
你看看是不是Python版本太低
作者Author: 方方方 时间: 5 day ago
yzh 发表于 2026-4-10 10:30
请教一下老师,rockylinux8.10 python3.6.8下:
[root@Master xyzrender-webapp-main]# pip install xyzre ...
感觉是python版本很低,xyzrender里面推荐我记得是3.10以上
然后如果你是用服务器运行这个,自己电脑还得ssh到映射到的端口了
所以我个人建议直接在自己电脑上面运行
作者Author: yzh 时间: 5 day ago
本帖最后由 yzh 于 2026-4-10 11:10 编辑
好的,非常感谢。我在windows上尝试可以的python3.12.3,linux系统应该python版本较低的原因,rockylinux8.10自带的是3.6.8版本。谢谢
作者Author: yzh 时间: 5 day ago
谢谢,是python版本问题,3.12.3是可以的,3.6.8不行。
| 欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |