|
|
本帖最后由 TretopL 于 2025-11-17 16:58 编辑
最近要画一批蛋白质体系下包含等值面的图,一个个摆视角很麻烦(用简单的rotate等指令调整到我满意的视角也比较麻烦),故而想要找一个便捷的方法来保存/加载VMD的视角
查阅手册发现,vmd查看分子的的视角通过一些矩阵进行存储(包括center_matrix rotate_matrix scale_matrix global_matrix),并可以很方便地用molinfo xxx get指令得到,并用molinfo xxx set进行加载
但是实际操作中,molinfo xxx get/set的指令比较长,矩阵信息比较长故而复制起来比较麻烦,在多次程序启动时复用也不太方便
所以参考了
http://bbs.keinsci.com/thread-17814-1-1.html
http://bbs.keinsci.com/thread-43696-1-1.html
的实现思路
自己写了个简单的tcl脚本,简化一下流程。
这个脚本添加了sv(save view),lv(load view)两个指令,顾名思义,分别用于保存视角矩阵和加载视角矩阵。前者会把当前窗口中top分子的视角矩阵保存在指定目录下的txt文件中,后者从此文件中读取并对所有分子加载此视角。此外
workflow通常是:摆好分子朝向,sv,打开其他体系,lv
由于把视角写在了文件里,所以关闭vmd也并不会失去这些信息。
使用:
sv: 把当前top分子视角保存到槽位v1
sv 2: 把molid=2的分子视角保存到槽位v1
sv 2 v3: 把molid=2的分子视角保存到槽位v3
sv v2:把当前top分子视角保存到槽位v3
lv:从槽位v1读取视角,应用到所有分子
lv v2: 从槽位v2读取视角,应用到所有分子
lv v2 3: 从槽位v2读取视角,只用于molid=3的分子
安装:只需要在.vmdrc/vmd.rc中source此脚本即可,同时记得修改脚本里vp_file的路径为你机器上的路径(显然,这个路径必须有写入权限,否则将报permission denied错)。
i.e.
加入vmdrc:(当然,你直接把脚本内容复制进vmdrc也可以用,但是会让你的vmdrc很乱)
source {/path/to/slview.tcl}
修改脚本:
set ::vp_file "/path/to/vp.txt"
鄙人使用的VMD版本:LINUX_64 OPENGL, CUDA, OptiX, OSPRay
如果脚本有什么问题,欢迎各位老师同学指正。不胜感激。
|
评分 Rate
-
查看全部评分 View all ratings
|