计算化学公社

标题: travis + vmd 绘制空间分布函数(Spatial Distribution Function, SDF)流程攻略 [打印本页]

作者
Author:
ggdh    时间: 2023-3-19 01:20
标题: travis + vmd 绘制空间分布函数(Spatial Distribution Function, SDF)流程攻略
本帖最后由 ggdh 于 2023-3-19 02:58 编辑

1. 前言
空间分布函数(SDF)是以cube等值面的方式在某个分子周围直观的展示其他原子(比如溶剂,金属的配体)分布的方法。根据对论坛的搜索,目前有几套方案:
1. 使用gmx spatial
2. 使用vmd的volmap插件
3. 使用gOpenMol软件
4. http://sobereva.com/14
5. http://sobereva.com/38
6. 使用travis (本贴介绍)
其中travis的好处是可以对体系中多个分子进行sdf分析,这涉及到把每个分子分别移动到原点并对齐到特定角度后计算sdf,然后把这些sdf平均后产生最终格点文件。
他的另外一个特点是不需要top文件,直接从轨迹的原子坐标中判断连接关系。对于没有拓扑文件的轨迹比如cp2k就比较友好,对应的缺点就是有时候连接关系判断错误,需要手动修改。

2. 流程
1. 下载安装,去官网下载源代码
http://www.travis-analyzer.de
解压后直接make,他没有什么依赖,编译起来很简单,得到travis文件,该文件可以拷贝某个PATH目录下运行。
这里不提供window版的介绍,主要是SDF分析起来比较耗时,推荐在服务器上进行。

2. 计算产生轨迹,并转化为PDB或者xyz轨迹文件, 其他支持的格式有lmp,XDATCAR,gro,dcd,mdcrd

3.载入轨迹
  1. travis -p abc.pdb
复制代码

4. 此时进入交互模式,有点像Multiwfn,根据屏幕上的选项提示进行

5. 开始客套寒暄几轮之后,它会判断体系中一共有多少分子,以及每个分子的连接关系。然后他会问你是否创建图片
  1. Create images of the structural formulas (y/n)? [no]
复制代码
这时候要选yes,然后观看他产生的图片,判断这些分子是否连接正确。
如果不正确,在下一个问题问你是否接受他判断的分子的地方选n
  1. Accept these molecules (y) or change something (n)? [yes]
复制代码
然后根据提示和上面的图片中的原子编号,断开或者连接特定的键。或者把某个原子的半径调大/小。直到分子的种类和数量达标为止。

6. 他问你算什么,这里输入sdf
  1. Which functions to compute (comma separated)? sdf
复制代码

7. 根据提示选择中心分子
  1. Which of the molecules should be the reference molecule (C2F6NO4S2=1, C3FH3O3=2, H2O=3, Li=4) 3?
复制代码

8. 输入三个原子的名称确定中心分子的取向,如果不知道原子名称是什么,请打开第5步产生的图片
  1. Please enter three comma-separated reference atoms (e.g. "C1,H2,O1"): O1,H1,H2
复制代码

9. 选择要用来产生RDF的围绕中心分子的其他原子或者分子
  1. Which molecule should be observed (C2F6NO4S2=1, C3FH3O3=2, H2O=3, Li=4)? 4
复制代码

10. 选择半径,一般不用选太大,距离远了分布就很步集中,做出来的图就一片噪音,个人认为一般5-6Angstrom就行
  1. Please enter maximal observation radius of this SDF (in pm): [900.0] 600
复制代码

11. 设格点分辨率,设的越大,平滑的上限越高,但是计算量和硬盘占用也会陡增,根据实际体系大小设自行摸索
  1. Please enter binning resolution of this SDF per dimension: [100] 200
复制代码

12. 可以对该分布做限定,比如特定角度或者距离内才纳入统计
  1. Add a condition to this observation (y/n)? [no]
复制代码

13. 重复9-12步,对多种可能围绕主体分子的原子做统计

14. 选择结束后,他会问你要采用多大的平衡程度。这里不同的平滑程度直接决定了最后的出图质量。所以这个参数很重要
  1. Up to which degree should the SDFs be smoothened (0=not at all)? [2] 9
复制代码
这里图的质量跟三个因素有关,1. 统计的帧数,2. 这里的平滑级别,3. 原子之间作用力的强弱,作用弱的情况,原子到处跑,很难表现出有特征的分布。
我这里推荐9,因为他在产生9级平滑之前,会产生1-8级平滑,所以可以自由选择。这一步会比较耗时,需要耐心等待

15. 当前目录下会产生s1-s9不同平滑程度的cube文件,以及一个ref开头的xyz文件,比如我这里的ref_h2o_o1_h1_h2.xyz。把这个xyz文件和同一平滑度的一组cube拖入vmd中作图。

16. vmd作图,论坛上已经有很多使用vmd渲染cube的教程了。这里就不单独介绍方法了。
17. 如果你恰好装了vcube,可以把下面的脚本改一下用:
  1. vmol ref*.xyz
  2. vcube *s9.cube
  3. vapply delrep2
  4. mol modstyle 1 1 Isosurface 9.000000 0 0 0 1 1
  5. mol modcolor 1 2 ColorID 35
  6. mol modstyle 1 2 Isosurface 9.000000 0 0 0 1 1
  7. mol modcolor 1 3 ColorID 39
  8. mol modstyle 1 3 Isosurface 9.000000 0 0 0 1 1
  9. mol modcolor 1 4 ColorID 3
  10. mol modstyle 1 4 Isosurface 9.000000 0 0 0 1 1<
  11. mol modcolor 1 5 ColorID 40
  12. mol modstyle 1 5 Isosurface 9.000000 0 0 0 1 1
复制代码




附图
下图是1000帧的轨迹不同平滑级别后的出图效果,供参考,注意这里平衡级别越低,iso就需要设高,以保证噪音点减小。
但是后面可以看到平滑太低的情况下,以及距离中心原子远的地方,就算是调iso,也很难做到平滑好看图形。

(, 下载次数 Times of downloads: 25)






作者
Author:
nianbin    时间: 2023-4-17 10:47

作者
Author:
nianbin    时间: 2023-4-20 11:26
请问vcube如何使用呀
作者
Author:
angervlf    时间: 2023-7-6 03:30
下图是1000帧的轨迹不同平滑级别后的出图效果,供参考,注意这里平衡级别越低,iso就需要设高,以保证噪音点减小。
请问这里的平衡级别指的是什么意思啊?
作者
Author:
ggdh    时间: 2023-7-10 21:53
angervlf 发表于 2023-7-6 03:30
下图是1000帧的轨迹不同平滑级别后的出图效果,供参考,注意这里平衡级别越低,iso就需要设高,以保证噪音 ...

说错了 是平滑级别

作者
Author:
fluid    时间: 2024-10-18 15:41
你好呀,方便讲一下window的使用方法吗,分析rdf
作者
Author:
1367    时间: 2024-11-14 15:34
您好,想问一下第8步. 输入三个原子的名称确定中心分子的取向,如果不知道原子名称是什么,请打开第5步产生的图片。这个选取的三个原子有什么原则嘛?比如需要是主链上面连续的三个原子?还是说开头末尾和中间各取一个?因为我发现取的原子不同对于SDF呈现的效果也是不一样的,所以希望您可以解答一下,多谢!
作者
Author:
jlyjlysjd    时间: 2024-12-3 14:37
请问为什么我画出来是方的呢,我不知道是哪里的问题

蓝色区域代表了水分子的密度,我的问题就是,这个等值面的分布为什么是呈现方形的?而不是围绕在分子边上呈现球状的呢?看上去很奇怪,并不和谐。
谢谢老师

作者
Author:
ggdh    时间: 2024-12-3 21:36
jlyjlysjd 发表于 2024-12-3 14:37
请问为什么我画出来是方的呢,我不知道是哪里的问题

蓝色区域代表了水分子的密度,我的问题就是,这个等 ...

你是选的范围太大了?超过了盒子的边长?
作者
Author:
spinel    时间: 2024-12-12 10:53
请问在第8步中,输入三个原子名称,如果我的目标分子是一个离子,比如Fe3+,只有一个原子,无法选择三个原子,请教一下这一步应该如何处理呢?
作者
Author:
用户128668    时间: 2025-1-3 01:19
老师您好,我想请教一下在VMD中lsovalue是什么物理意义呢?作图时我该怎么选择这个lsovalue值?希望能够解答一下,谢谢谢谢
作者
Author:
守月之殇    时间: 2025-2-9 02:19
老师您好,请问我如果想用TRAVIS画金属离子和水的SDF,应该怎么画?因为中心分子是金属离子,没办法输入三个原子的名称确定中心分子的取向,所以想请教一下




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