计算化学公社

标题: 使用CYLview绘制高质量分子结构图和制作化学反应演示动画 [打印本页]

作者
Author:
sobereva    时间: 2018-12-27 02:41
标题: 使用CYLview绘制高质量分子结构图和制作化学反应演示动画
使用CYLview绘制高质量分子结构图和制作化学反应演示动画
Using CYLview to plot high-quality molecular structure maps and create chemical reaction demonstration animations

文/Sobereva@北京科音   2018-Dec-26


CYLview的虽然功能不算多强大,但它在作图的很多特性方面没有其它程序能很好取代,所以笔者特意录制了长为11分钟的使用CYLview绘制分子结构图和制作各种类型动画的演示视频,见:https://www.bilibili.com/video/av39041185

本文内容是对视频内容进行一些补充说明。视频里并没有把CYLview所有特性一一展现,而是着重把新用户容易犯懵,不是显而易见,不容易自己试出来的操作进行了讲解,很容易理解的操作和选项视频里就没有去提,用户自己把玩几分钟就会得差不多了。

CYLview的下载地址是http://www.cylview.org。视频里用的版本是CYLview 1.0b Build 561。

如果机子里没装化学文件格式转换程序Openbabel的话,CYLview只能载入Gaussian输出文件,因此很不方便。所以强烈建议在机子里装上Openbabel,是个免费程序,在此文里有简单介绍:《基于OpenBabel批量产生特定基团以任意方式接到苯上的结构的方法》(http://sobereva.com/440)。

有些人发现目前的CYLview载入不了G16的输出文件,是因为没有按照视频里提及的方式去点击更新程序按钮,更新过之后就没问题了。

视频里使用了Houkmol的style,这是CYLview里内置的一种显示风格的组合,是搞有机体系计算知名的Houk文章里常见的显示风格。

视频里的renderall.bat是个DOS批处理文件,内容如下
for /f %%i in ('dir *.pov /b') do (
povray +W640 +H480 +A %%i
)

将这些内容复制到一个文本文件里,改名成renderall.bat即可使用。此脚本会调用当前目录下的povray.exe对当前目录下的所有povray渲染器文件(.pov)进行渲染,产生出同名图像文件。

视频中用的ffmpeg是业界非常知名的视频编码、解码、转换程序,免费,小巧,功能极强,支持格式众多,各个操作系统都有,可以在https://ffmpeg.org免费下载,Windows版解压即用无需安装。基本使用格式为ffmpeg [选项] [输入选项] -i [输入文件] [输出选项] [输出文件]。

制作mp4动画时用到了以下命令
ffmpeg -r 15 -i FRAME%04d.png -crf 22 video.mp4
其中%04d代表通配0001、0002、0003...。-r后面是每秒的帧数,视频实际长度就是图像数目除以r值,因此r越大动画播放越快,r越小播放越慢。-crf是ffmpeg调用的名为x264的编码器里的参数,数值越小动画越清晰,但是文件越大,一般-crf 22就比较合适。

制作gif动画时用到了以下命令
ffmpeg -i FRAME0001.png -vf palettegen palette.png
ffmpeg -r 15 -i FRAME%04d.png -i palette.png -lavfi paletteuse video.gif

虽然ffmpeg也可以一步就产生gif动画,即把前述命令的mp4后缀改成gif,但是动画里的某些颜色比较诡异,远不如上面这样先根据实际图像文件生成调色板文件,再产生gif动画来得好。gif文件比mp4大得多,而且只能包含256色,但好处是可以直接嵌入到网页和ppt里。

视频里笔者写的用于合并带_txt后缀和不带这个后缀的.pov文件的CYL_mergeTXT.exe工具在这里下载:http://sobereva.com/attach/453/CYL_mergeTXT.rar。带_txt后缀的文件只包含标签内容,而不带这个后缀的包含的是分子结构信息。

视频里用的GauIRC2xyz在这里下载:《将Gaussian的IRC任务输出转换为.xyz轨迹文件的工具》(http://sobereva.com/285)。

笔者还写过其它与制作计算化学相关视频有关的文章,如下所示,里面用的imagemagick工具也都可以改用ffmpeg工具,速度更快而且还有Windows版。
制作动画分析电子结构特征
http://sobereva.com/86
通过键级曲线和ELF/LOL/RDG等值面动画研究化学反应过程
http://sobereva.com/200
作者
Author:
skdmax    时间: 2019-8-15 10:07
社长你好,我在使用视频里的renderall.bat批处理文件的时候总是会打开Pov软件跳出预览窗口,关闭了以后才能处理下一个文件,请问这个问题怎么解决,非常感谢。
作者
Author:
sobereva    时间: 2019-8-16 07:07
skdmax 发表于 2019-8-15 10:07
社长你好,我在使用视频里的renderall.bat批处理文件的时候总是会打开Pov软件跳出预览窗口,关闭了以后才能 ...

已经在回帖里问了就请勿再PM
作者
Author:
skdmax    时间: 2019-8-16 09:59
sobereva 发表于 2019-8-16 07:07
已经在回帖里问了就请勿再PM

好的,谢谢,已经搞定了。
作者
Author:
Jack    时间: 2019-8-22 10:20
今天无意翻到这个帖子,非常感谢社长帖子指导。但也碰到一个问题,分子结构有时候不能完全处于可视化窗口,要通过鼠标旋转等操作才能显示整个结构,但有时候,旋转后的结构不能得到想要的结果,不知如果操作能使分子结构完全处于可视化窗口?谢谢!
作者
Author:
Jack    时间: 2019-8-22 10:25
Jack 发表于 2019-8-22 10:20
今天无意翻到这个帖子,非常感谢社长帖子指导。但也碰到一个问题,分子结构有时候不能完全处于可视化窗口, ...

不好意思!没有完全仔细学习视频就来问问题,视频里面都有解决办法。已经自行解决了,打扰了!
作者
Author:
qzxchem    时间: 2020-2-14 21:21
本帖最后由 qzxchem 于 2020-2-14 21:22 编辑

按照老师提供的网址下载Cylview与OpenBable后,打开高斯输出文件以及.xyz文件时出现这样的提示报错,请老师指教,谢谢 !Found BABEL_DATADIR variable : C:\Users\Qin\AppData\Roaming\OpenBabel-2.4.1\data
babel: cannot read input format!
Open Babel 2.4.1 -- Oct 10 2016 -- 21:27:31
Usage: babel [-i<input-type>] <name> [-o<output-type>] <name>
Try  -H option for more information.

WARNING: babel is deprecated and will be removed in a future release
         of Open Babel. You should use obabel instead. For information
         on the differences please see:
             http://openbabel.org/docs/current/Command-line_tools/babel.html



作者
Author:
chenbo196    时间: 2021-4-1 16:13
不知道是不是我的问题,这软件好容易崩溃
作者
Author:
嘤嘤嘤    时间: 2021-7-1 09:43
qzxchem 发表于 2020-2-14 21:21
按照老师提供的网址下载Cylview与OpenBable后,打开高斯输出文件以及.xyz文件时出现这样的提示报错,请老师 ...

请问如何将openbabel与cyl结合使用啊?
作者
Author:
wencker    时间: 2023-3-9 11:12
老师如何使用CYLview20添加标签显示键长呢?之前没用过1.0版本,一直没找到这个功能怎么设置
作者
Author:
lurensan    时间: 2023-10-6 22:01
本帖最后由 lurensan 于 2023-10-6 23:09 编辑
qzxchem 发表于 2020-2-14 21:21
按照老师提供的网址下载Cylview与OpenBable后,打开高斯输出文件以及.xyz文件时出现这样的提示报错,请老师 ...

路径有中文导致的
作者
Author:
好难懂    时间: 2024-10-6 20:57
qzxchem 发表于 2020-2-14 21:21
按照老师提供的网址下载Cylview与OpenBable后,打开高斯输出文件以及.xyz文件时出现这样的提示报错,请老师 ...

想问下如何解决的啊 我也是这个问题
作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-5-31 14:36
楼上提到了CYLview与OpenBabel的兼容性问题,现在再看确实有个历史遗留的坑。在安装最新的OpenBabel版本,即3.1.1 -- May 16 2020 -- 11:57:55版后,用一般的格式转换与Confab生成构象的操作均能验证OpenBabel本身正常工作。安装CYLview 1.0b并启动时,Found BABEL_DATADIR variable提示的路径也正确。然而直接CYLview打开非原生支持的格式会报错称找不到babel指令。

后来发现问题出在CYLview目录下初始化设置的init.pyc二进制文件:这里面把OpenBabel的可执行文件名写成了babel.exe,输出xyz文件的选项写成-oxyz,都对应于旧版本OpenBabel。新版本OpenBabel的可执行文件名叫obabel.exe,输出xyz文件的选项是-o xyz,试图在新版本用旧版本的语法会报类似这个issue的错。可惜CYLview没有提供更改OpenBabel调用命令的设定,init.pyc作为已编译的文件也不宜按文本编辑。

所以我的建议是,把CYLview当成一个只能加载xyz文件和Gaussian输出文件来查看的可视化工具(不信看CYLview目录下的formats文件夹),在用CYLview之前先自行用OpenBabel转换好其他格式,避免CYLview调用OpenBabel的过程。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3