计算化学公社

标题: 求解距离,角度,二面角随时间变化以及分布的VMD脚本 [打印本页]

作者
Author:
ene    时间: 2019-10-1 14:39
标题: 求解距离,角度,二面角随时间变化以及分布的VMD脚本
本帖最后由 ene 于 2020-12-2 14:24 编辑

2020-12-02更新:更新了脚本distance_distribution.tcl,将输出文件中的数据个数严格限定为脚本开头的nbins数值。
(, 下载次数 Times of downloads: 946)


    RT,最近写了一些用于得到体系中几何变量的脚本,主要能够得到模拟轨迹中任意结构(可以是单个原子,也可以是某一些原子的集合)间的距离,角度,二面角随着时间的变化,以及这些变量的不同数值在模拟轨迹中的分布情况。这些脚本可以在这里下载:
(, 下载次数 Times of downloads: 1721)

    PS:求解各个数值对应的状态的自由能的脚本FE.tcl可在8楼下载。
   下面我将简要介绍这些脚本的使用。其实本人更希望使用者能够举一反三,针对自己当前研究的问题,写出合适的脚本,希望这几个非常简单的模型能够起到抛砖引玉的作用

    distance.tcl:求体系中两个结构间的距离随时间的变化。outfile变量定义了输出文件的名字,select1和select2分别定义了两个结构。
    distance_distribution.tcl:求体系中两个结构间的距离,并给出各个可能出现的距离在所有可能出现的距离中的比例。 该脚本会自动把输出的距离范围设置为出现过的最小距离到最大距离,其中参数tau定义了将这段距离分为多少区间进行统计。
    angle.tcl:求解由四个结构组成的两条向量之间所夹的角度随时间的变化。select1和select2分别定义了第一条向量的起点与终点,select3和select4分别定义了第二条向量的起点与终点。
    angle_distribution.tcl:求解由四个结构组成的两条向量之间所夹的角度,并给出各个可能出现的角度在所有可能出现的角度中的比例。输出角度的范围是-180°到180°。
    dihedral.tcl:求解由四个结构组成的二面角随时间的变化。select1到select4分别定义了二面角的起点到终点结构。
    dihedral_distribution.tcl:求解由四个结构组成的二面角,并给出各个可能出现的二面角在所有可能出现的二面角中的比例。输出角度的范围是-180°到180°。
    这些脚本使用方法都是一样的,首先在vmd中载入轨迹文件和结构文件(如dcd文件和psf文件),然后在命令行下运行source xxx.tcl即可。

    最后放一张各个脚本输出数据的图片,体系是水盒子中的正丁烷,丁烷初始构象为对位构象。体系在375K下模拟2.5ns,步长1fs。其中的距离是丁烷1,2号碳原子之间的距离,角度是随机选取的水分子中两个氢的夹角,二面角是由丁烷的四个碳原子定义的四二面角。

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


作者
Author:
lijiayisjtu    时间: 2019-10-3 20:29
好物

作者
Author:
wgg1181543722    时间: 2019-10-7 20:47
给力a  
作者
Author:
JasonRao    时间: 2019-10-28 16:05
非常实用[赞赞赞]
作者
Author:
少年爱吃地三鲜    时间: 2019-11-27 21:51
借楼请问老师,我们求某一温度下二面角分布概率已经有了解决办法,请问如何求在该二面角分布概率的基础上,求相应的势能图呢?
作者
Author:
sobereva    时间: 2019-11-28 02:32
少年爱吃地三鲜 发表于 2019-11-27 21:51
借楼请问老师,我们求某一温度下二面角分布概率已经有了解决办法,请问如何求在该二面角分布概率的基础上, ...

势能曲线做个扫描就得到了
如果是自由能面图,把概率和自由能转换一下就有,参考
浅谈PCA与g_covar+g_anaeig+ddtdp+sigmaplot做自由能面图的方法
http://sobereva.com/73

作者
Author:
少年爱吃地三鲜    时间: 2019-11-28 08:00
sobereva 发表于 2019-11-28 02:32
势能曲线做个扫描就得到了
如果是自由能面图,把概率和自由能转换一下就有,参考
浅谈PCA与g_covar+g_a ...

谢谢老师!
作者
Author:
ene    时间: 2019-11-28 13:16
今日更新:求解各个数值对应的状态的自由能的脚本FE.tcl
(, 下载次数 Times of downloads: 327)

参数:
infile:由本帖中的tcl脚本产生的dat文件的名字
outfile:输出文件名
temp:模拟温度,单位为K
unit:输出数据的单位,可选kj或kcal。注意必须为小写

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



作者
Author:
ene    时间: 2019-11-28 13:19
少年爱吃地三鲜 发表于 2019-11-27 21:51
借楼请问老师,我们求某一温度下二面角分布概率已经有了解决办法,请问如何求在该二面角分布概率的基础上, ...

看8楼
作者
Author:
少年爱吃地三鲜    时间: 2019-11-28 18:30
ene 发表于 2019-11-28 13:19
看8楼

谢谢您!
作者
Author:
少年爱吃地三鲜    时间: 2019-12-26 16:37
请问老师,我想求主链上所有的二面角(大概400个)随时间的变化情况,该如果提取呢?正常要是一个二面角我们可以通过VMD手动点出来,要是所有的二面角有什么好的方法呢?就是大批量处理
作者
Author:
ene    时间: 2019-12-26 16:57
少年爱吃地三鲜 发表于 2019-12-26 16:37
请问老师,我想求主链上所有的二面角(大概400个)随时间的变化情况,该如果提取呢?正常要是一个二面角我 ...

想办法写脚本啊……自己看构成你要求的那些二面角的原子序号有没有什么规律,或者其他可以用vmd识别出来的特征,然后写个脚本遍历一遍挨个求解就完事了
作者
Author:
少年爱吃地三鲜    时间: 2019-12-26 20:05
我明白了,老师,谢谢您
作者
Author:
少年爱吃地三鲜    时间: 2019-12-30 10:19
ene 发表于 2019-12-26 16:57
想办法写脚本啊……自己看构成你要求的那些二面角的原子序号有没有什么规律,或者其他可以用vmd识别出来 ...

请问老师,像vecsub vecscale 这种命令介绍在哪里能看?我看官网上tcl command里没有这些内容可以参考,这些命令应该哪里学呢?
作者
Author:
ene    时间: 2019-12-30 10:56
少年爱吃地三鲜 发表于 2019-12-30 10:19
请问老师,像vecsub vecscale 这种命令介绍在哪里能看?我看官网上tcl command里没有这些内容可以参考, ...

VMD手册。
作者
Author:
少年爱吃地三鲜    时间: 2019-12-30 11:02
ene 发表于 2019-12-30 10:56
VMD手册。

找到了 非常感谢!
作者
Author:
tjuptz    时间: 2020-1-1 10:58
看来楼主大侠不是gmx用户,不然可以用gmx distance angle gangle
作者
Author:
ene    时间: 2020-1-1 11:14
tjuptz 发表于 2020-1-1 10:58
看来楼主大侠不是gmx用户,不然可以用gmx distance angle gangle

确实,我是忠实的NAMD用户
作者
Author:
tjuptz    时间: 2020-1-4 15:15
大侠,请教个问题,我看您的脚本里都没有用VMD自带的measure bond angle dihedral命令而是通过定义矢量来运算的。
我自己写一个脚本的时候想用measure bond来计算两个selection里的原子距离,提示measure bond: must specify exactly two atoms in a list,请问您是遇到了相同问题才用矢量运算的吗?
作者
Author:
ene    时间: 2020-1-4 15:46
tjuptz 发表于 2020-1-4 15:15
大侠,请教个问题,我看您的脚本里都没有用VMD自带的measure bond angle dihedral命令而是通过定义矢量来运 ...

是的。你去看VMD的手册,上面描述measure bond的时候是这样说的:Returns the distance of the two specified atoms。这条命令只能针对特定的两个原子,不可以是一个selection,对于angle和dihed也是一样的。所以我才写这套脚本。

作者
Author:
tjuptz    时间: 2020-1-4 15:56
ene 发表于 2020-1-4 15:46
是的。你去看VMD的手册,上面描述measure bond的时候是这样说的:Returns the distance of the two speci ...

其实,我是想遍历两个selection里每对原子的间距,我开始的想法是获得两个selection的原子index的列表L1和L2,再遍历列表,用measure bond $i $j测距,结果出现上述提示。已经改用您的方法了
作者
Author:
ene    时间: 2020-1-4 18:24
本帖最后由 ene 于 2020-1-4 19:34 编辑
tjuptz 发表于 2020-1-4 15:56
其实,我是想遍历两个selection里每对原子的间距,我开始的想法是获得两个selection的原子index的列表L1 ...

这样的结果是因为你没理解measure bond这条命令需要什么类型的参数。手册里面说:The atoms are specified in form of a list of atom indexes。也就是 measure bond后面需要一个含有两个原子序号的列表作为参数。你可以看下面我写的的示例代码:
  1. set a [atomselect top "protein and resid 1"]
  2. set b [atomselect top "protein and resid 2"]
  3. set l1 [$a get index]
  4. set l2 [$b get index]
  5. foreach ind $l1 {
  6.     foreach ind2 $l2 {
  7.         if {$ind != $ind2} {
  8.             set tmp [list $ind $ind2]
  9.             set result [measure bond $tmp]
  10.             puts "$ind $ind2 $result"
  11.         } else {
  12.             puts "$ind $ind2 0"
  13.         }
  14.     }
  15. }
复制代码

作者
Author:
tjuptz    时间: 2020-1-4 21:03
ene 发表于 2020-1-4 18:24
这样的结果是因为你没理解measure bond这条命令需要什么类型的参数。手册里面说:The atoms are specifie ...

不好意思,上次表述错了,我其实是用的列表作为参数给的,代码如下
  1. foreach i $lc {
  2.         set pair {}
  3.         lappend $pair $i
  4.         foreach j $ln {
  5.                 lappend $pair $j
  6.                 set result [measure bond $pair]
  7.                 puts "$result"
  8.         }
  9. }
复制代码

作者
Author:
ene    时间: 2020-1-4 22:11
本帖最后由 ene 于 2020-1-4 22:14 编辑
tjuptz 发表于 2020-1-4 21:03
不好意思,上次表述错了,我其实是用的列表作为参数给的,代码如下

……你犯了两个错误。首先,lappend的第一个参数不带$号。你如果要用你自己不熟悉的命令,建议先检索好怎么使用。
第二个,你不觉得你那循环写的有逻辑问题吗?你自己看你的第二个foreach,每循环一次,pair变量就会增加一个元素进去……
如果非得要用lappend,你得这么写:
  1. foreach i $lc {
  2.     foreach j $ln {
  3.         set pair {}
  4.         lappend pair $i
  5.         lappend pair $j
  6.         set result [measure bond $pair]
  7.         puts "$i $j : $result"
  8.     }
  9. }
复制代码



作者
Author:
tjuptz    时间: 2020-1-4 22:35
ene 发表于 2020-1-4 22:11
……你犯了两个错误。首先,lappend的第一个参数不带$号。你如果要用你自己不熟悉的命令,建议先检索好怎 ...

谢谢老师耐心指点,确实用不熟悉的命令没研究透彻,以及这个逻辑确实有问题。学习了!
作者
Author:
ccleng    时间: 2020-1-4 22:54
sobereva 发表于 2019-11-28 02:32
势能曲线做个扫描就得到了
如果是自由能面图,把概率和自由能转换一下就有,参考
浅谈PCA与g_covar+g_a ...

sob老师,请问,势能曲线扫描,是用什么扫的啊,跟高斯的扫描不是一回事把
作者
Author:
sobereva    时间: 2020-1-5 10:45
ccleng 发表于 2020-1-4 22:54
sob老师,请问,势能曲线扫描,是用什么扫的啊,跟高斯的扫描不是一回事把

如果你是指在gmx里进行扫描,有很多办法。诸如用gentor(http://bbs.keinsci.com/thread-2388-1-1.html)产生旋转二面角不同角度的结构成为多帧xyz轨迹,然后用VMD转成trr格式,再用gmx mdrun加上-rerun算一遍每一帧的能量即可
作者
Author:
ccleng    时间: 2020-1-5 19:39
sobereva 发表于 2020-1-5 10:45
如果你是指在gmx里进行扫描,有很多办法。诸如用gentor(http://bbs.keinsci.com/thread-2388-1-1.html) ...

谢谢sob老师回复,我用amber跑的,amber里面有这样类似的方法吗?如果没有,是不是可以转到gromacs这么做?或者高斯亦可?
作者
Author:
sobereva    时间: 2020-1-7 18:31
ccleng 发表于 2020-1-5 19:39
谢谢sob老师回复,我用amber跑的,amber里面有这样类似的方法吗?如果没有,是不是可以转到gromacs这么做 ...

Gaussian里没法直接使用你之前在amber里用的力场,非要用的话往往需要在补参数上折腾一番,很麻烦,还容易弄错

amber我忘了。弄到gmx里搞原理上是可以的
作者
Author:
ccleng    时间: 2020-1-12 00:06
sobereva 发表于 2020-1-7 18:31
Gaussian里没法直接使用你之前在amber里用的力场,非要用的话往往需要在补参数上折腾一番,很麻烦,还容 ...

明白了,谢谢您!
作者
Author:
snow_wl    时间: 2020-2-1 07:25
请问老师,这个脚本可以读取CP2K计算出来的轨迹文件吗,就是每一步很简单的xyz坐标文件
作者
Author:
ene    时间: 2020-2-1 10:28
snow_wl 发表于 2020-2-1 07:25
请问老师,这个脚本可以读取CP2K计算出来的轨迹文件吗,就是每一步很简单的xyz坐标文件

首先读取坐标是vmd的事,xyz格式是支持的。你能根据你的系统写出正确的选择语句就可以用这套脚本
作者
Author:
Jack_Jun    时间: 2020-3-8 19:22
老师您好,gromacs跑完后的轨迹里想提取出随时间的一个小分子的质心的坐标变化,该怎么算呢?

作者
Author:
ene    时间: 2020-3-8 22:02
Jack_Jun 发表于 2020-3-8 19:22
老师您好,gromacs跑完后的轨迹里想提取出随时间的一个小分子的质心的坐标变化,该怎么算呢?
  1. set outfile [open pos.dat w]
  2. set nf [molinfo top get numframes]
  3. set sel [atomselect top "your selection"]
  4. for { set i 0 } { $i < $nf } { incr i } {
  5.     $sel frame $i
  6.     set result [measure center $sel weight mass]
  7.     puts $outfile "$i $result"
  8. }
  9. close $outfile
复制代码

作者
Author:
Jack_Jun    时间: 2020-3-9 20:23
ene 发表于 2020-3-8 22:02

谢谢老师!这个可以用!很感谢!
作者
Author:
zhangq    时间: 2020-5-7 16:41
请问老师,如何对select1和select2进行定义啊
作者
Author:
ene    时间: 2020-5-7 19:04
本帖最后由 ene 于 2020-5-7 19:11 编辑
zhangq 发表于 2020-5-7 16:41
请问老师,如何对select1和select2进行定义啊

用VMD原子选择语句定义。看VMD手册第12章或者跟着VMD教程走一遍。
作者
Author:
sobereva    时间: 2020-5-9 10:26
zhangq 发表于 2020-5-7 16:41
请问老师,如何对select1和select2进行定义啊

VMD里原子选择语句的语法和例子
http://sobereva.com/504http://bbs.keinsci.com/thread-14267-1-1.html
作者
Author:
兽兽果    时间: 2020-7-14 10:49
非常感谢分享!
作者
Author:
szw236    时间: 2020-7-26 08:12
赞赞赞
作者
Author:
麦克列    时间: 2020-12-2 09:06
楼主您好,为什么我用同一个轨迹文件运行出来,distance.tcl脚本输出50行数据,distance_distrabution.tcl脚本输出400多行数据?
作者
Author:
ene    时间: 2020-12-2 14:14
麦克列 发表于 2020-12-2 09:06
楼主您好,为什么我用同一个轨迹文件运行出来,distance.tcl脚本输出50行数据,distance_distrabution.tcl ...

这俩脚本算的压根不是一个东西,distance.tcl输出的是选定的结构间在轨迹里面每一帧的距离,distance_distrabution.tcl输出的是每个距离区间在轨迹里面出现的次数。不过这里我原本的脚本写的确实有些问题,没法很好的控制输出的数据个数。我已经在一楼更新了这个脚本,你可以通过更改脚本开头的nbins值来指定将距离分为多少个区间,来统计概率。

作者
Author:
麦克列    时间: 2020-12-2 22:06
ene 发表于 2020-12-2 14:14
这俩脚本算的压根不是一个东西,distance.tcl输出的是选定的结构间在轨迹里面每一帧的距离,distance_dis ...

好的,非常感谢!
作者
Author:
少年爱吃地三鲜    时间: 2021-1-25 00:12
老师,我想请问您一下,您的二面角分布概率的程序,我看是求一个二面角随模拟轨迹的变化,在相应的索引编号 +1 ,这样来统计不同角度的, 老师, 我想请教一下,如果我想看整条分子链主链上的二面角分布概率, 这个时候 我是把度数分为 360份,所有主链二面角在所有轨迹中循环遍历一下,如果求解二面角度数为负值,则加360对应索引编号, 可是我最后得到数据是如下:
[ 186.  293.  307.  273.  342.  292.  318.  297.  362.  548.  421.  551.
  420.  633.  577.  645.  852.  731.  721.  892.  941.  818.  871.  949.
1071. 1433. 1571. 1527. 1618. 1908. 2053. 2130. 2271. 2318. 2439. 2596.
2657. 2931. 2878. 2754. 2888. 3134. 3047. 2667. 2695. 2406. 2456. 2768.
2198. 2372. 2467. 2448. 2199. 2230. 2174. 2134. 2143. 2036. 2060. 1904.
1982. 1922. 1938. 1985. 1897. 1952. 1780. 1693. 1904. 1713. 1828. 1567.
1706. 1583. 1680. 1688. 1589. 1481. 1318. 1446. 1790. 1537. 1334. 1373.
1424. 1307. 1324. 1459. 1324. 1230. 1245. 1044. 1255. 1124. 1340. 1234.
1334. 1247. 1376. 1170. 1139. 1327. 1214. 1158. 1348. 1202. 1419. 1204.
1371. 1481. 1436. 1282. 1337. 1376. 1390. 1450. 1676. 1619. 1665. 1595.
1413. 1572. 1743. 1711. 1969. 1726. 1767. 1858. 1705. 1950. 2286. 1987.
1713. 1921. 2054. 2512. 2302. 1999. 2065. 2032. 2085. 2404. 2245. 2146.
2235. 2123. 2009. 1770. 1901. 2152. 1769. 2072. 1976. 1811. 1609. 1819.
1582. 1420. 1723. 1722. 1517. 1551. 1506. 1515. 1470. 1341. 1354. 1323.
1395. 1432. 1333. 1083. 1035. 1165. 1205. 1144. 1200. 1004.  984. 1277.
1135. 1166. 1085. 1116. 1137.  934. 1114. 1130. 1170. 1014.  957.  998.
1060. 1052.  917. 1155. 1146. 1197. 1158. 1110. 1108.  923.  740. 1005.
1021.  987.  930. 1041. 1062. 1010. 1008. 1090.  732.  838.  837.  754.
  946.  796.  731.  633.  630.  589.  637.  540.  487.  499.  745.  518.
  534.  528.  491.  490.  557.  457.  481.  424.  410.  381.  496.  318.
  295.  335.  308.  369.  346.  295.  236.  386.  332.  261.  311.  289.
  326.  409.  364.  372.  289.  318.  385.  244.  296.  223.  344.  240.
  286.  257.  345.  313.  291.  325.  320.  232.  171.  331.  189.  210.
  217.  167.  202.  204.  179.  172.  178.  183.  243.  167.  162.  137.
   73.  120.   98.  137.   96.  130.  107.  128.   70.  108.   88.  106.
   61.   65.  117.   58.  135.  113.   97.  146.  165.   29.  129.  136.
  152.  136.  168.  191.  248.  258.  316.  382.  472.  512.  693.  741.
  551.  946.  757.  912.  654.  675.  659.  627.  519.  496.  582.  399.
  437.  207.  253.  251.  233.  191.  212.  174.  166.  144.  178.  217.
  212.  230.  131.  232.  169.  221.  264.  176.  224.  261.  265.  230.]
完全不是 三个主要峰值的图, 老师,您能告知学生错在哪里了吗?

另外, 您此处为啥是 180
for { set i 1 } { $i < 180 } { incr i } {   
        set density($i) [expr $density($i) / $nf * 100]   #  这里为啥*100
        puts -nonewline $outfile "[expr $i * 2 - 1 - 180 ]" # 这个是算什么呢?
        puts -nonewline $outfile " "
        puts $outfile "[expr $density($i)]"
}
作者
Author:
ene    时间: 2021-1-25 00:45
少年爱吃地三鲜 发表于 2021-1-25 00:12
老师,我想请问您一下,您的二面角分布概率的程序,我看是求一个二面角随模拟轨迹的变化,在相应的索引编号 ...

因为这里把360°分成了180份,每一份2°。你根据你的需要自行调节一下。
作者
Author:
侯易123    时间: 2021-3-13 11:22
老师,您的角度分布脚本后面一部分的思路我不是很明白,就是计算完两个向量的角度之后那部分,能否简单说一下您的思路呢,非常感谢
作者
Author:
ainiduohai12    时间: 2021-4-6 02:34
计算二面角分布的时候,index编号是要根据自己的轨迹文件来吗?怎么设置index呢
作者
Author:
nianbin    时间: 2021-6-25 17:03
这个真是太棒了
作者
Author:
onehug    时间: 2021-9-15 20:55
ene 发表于 2019-11-28 13:16
今日更新:求解各个数值对应的状态的自由能的脚本FE.tcl

您好 我最近看了您关于VMD求解角度的脚本,有一些问题想要请教您,可以加您微信或者QQ么
作者
Author:
lootoo    时间: 2021-12-10 14:53
只要人人都献出一点爱,师姐将
作者
Author:
qieziZZZ    时间: 2021-12-31 09:38
请教老师,用angle_distribution.tcl计算角度分布时,怎样设定矢量的大小范围?比如要统计氯离子周围第一配位层中的水分子与氯离子组成的角HOLi,这里Li-O的距离在2.8埃内,O-H在0.5到1.2埃内,谢谢老师
作者
Author:
qieziZZZ    时间: 2022-2-21 22:35
请教老师,用angle_distribution.tcl可以求解在约束距离的情况下,由(一条向量 )和(两条向量之和)所夹的角度分布吗?像示意图中那样。谢谢您!
作者
Author:
BBiuiu    时间: 2022-3-1 16:48
少年爱吃地三鲜 发表于 2019-11-27 21:51
借楼请问老师,我们求某一温度下二面角分布概率已经有了解决办法,请问如何求在该二面角分布概率的基础上, ...

你好请问你是如何求某一温度下二面角的分布概率,能给我讲解一下吗
作者
Author:
sobereva    时间: 2022-3-12 06:59
BBiuiu 发表于 2022-3-1 16:48
你好请问你是如何求某一温度下二面角的分布概率,能给我讲解一下吗

在相应温度下跑MD,然后对轨迹进行统计就完了
作者
Author:
laoman    时间: 2022-6-11 04:50
太实用了,vmd能支持各种各样的MD轨迹,虽然MDAnalysis或者mdtraj也支持各种轨迹,但得依赖相应的Python环境,要可视化的话,Python包只会更加的臃肿。最后那个二面角随时间变化的图(dihedral.dat),如果能变成点图,应该会比线图清晰一点,这个线图就是太密集了
作者
Author:
护卫天使    时间: 2022-7-24 20:34
您好,我第一次使用脚本统计两个原子的距离。在你的distancd_distribution.tcl脚本修改了原子序号。出现的报错我不知道怎么解决,或许是我使用不当,望老师教导。
作者
Author:
Hear    时间: 2022-10-14 19:15
护卫天使 发表于 2022-7-24 20:34
您好,我第一次使用脚本统计两个原子的距离。在你的distancd_distribution.tcl脚本修改了原子序号。出现的 ...

你好,请问你这个问题解决了吗

作者
Author:
护卫天使    时间: 2022-10-14 20:59
Hear 发表于 2022-10-14 19:15
你好,请问你这个问题解决了吗

文件权限问题。我的VMD自动安装在C盘,导致打开该脚本的权限需要自己设置一下才行。
作者
Author:
842655799    时间: 2022-11-1 21:18
大佬,我有一个问题,我的体系二面角是有规律的,可以很容易的选取。我想使根据二面角的角度来标记颜色,例如图片中的O1-C2-C3-O4二面角,当角度为0~60度的时候标记为绿色,这种标记方式好实现吗?感谢! (, 下载次数 Times of downloads: 45)

作者
Author:
Jus    时间: 2023-1-29 14:58
本帖最后由 Jus 于 2023-1-29 21:57 编辑

老师您好,我对脚本不太熟悉,我想计算两个原子构成的向量与Z轴之间形成的夹角的度数,随着时间的变化。我使用的是您的angle.tcl脚本,我现在的问题是不会修改脚本中的变量,不知道如何改写成我想计算的东西。想请问一下老师,是改写脚本中的"select 1""select2""select3""select4"吗,是将它分别改成形成向量的原子吗,如果是的话,在剩余两个变量"select3""select4"中,我又应该如何描述Z轴。
万分感谢老师!
作者
Author:
shenmh3    时间: 2023-5-17 16:07
ene老师,我想请教下,我有一个含1000帧结构的xyz文件,想从中间提取某几帧(间隔不一样,如提取1,5,17,36.....)出来整合成xyz,需要提取的帧数编号在VMD文件夹下存放,这种操作可以用tcl实现吗?应该怎么做呢?
作者
Author:
shenmh3    时间: 2023-5-17 16:28
shenmh3 发表于 2023-5-17 16:07
ene老师,我想请教下,我有一个含1000帧结构的xyz文件,想从中间提取某几帧(间隔不一样,如提取1,5,17, ...

老师,我已经解决啦!不麻烦您啦
作者
Author:
守月之殇    时间: 2023-6-9 10:24
本帖最后由 守月之殇 于 2023-11-16 22:02 编辑

谢谢老师分享
作者
Author:
吹梦到西洲    时间: 2023-9-6 23:55
请问一下这个纵坐标的单位是百分号吗 然后如果distribution那边的数值是0的话 想对应到FE中应该怎么处理 是需要把每一步的间隔调小一点吗?目前是10ps一帧,我的二面角一帧就从180°到0°了 是不是我把一帧调成1ps就能看到转变的过程的FE了?
作者
Author:
守月之殇    时间: 2023-11-16 21:57
请问老师,键角的脚本介绍中,“select1和select2分别定义了第一条向量的起点与终点,select3和select4分别定义了第二条向量的起点与终点”,这句话没太读懂什么意思,例如:水分子中两个氢的夹角(H-O-H)如何定义两个向量的起点与终点呀
作者
Author:
xiaoj    时间: 2023-12-18 10:56
少年爱吃地三鲜 发表于 2019-12-26 16:37
请问老师,我想求主链上所有的二面角(大概400个)随时间的变化情况,该如果提取呢?正常要是一个二面角我 ...

您好,请问这个问题您解决了吗?我现在也遇到这个问题,多个二面角不知道如何去统计,可有偿。
作者
Author:
Hahaaa    时间: 2024-4-24 19:09
Jus 发表于 2023-1-29 14:58
老师您好,我对脚本不太熟悉,我想计算两个原子构成的向量与Z轴之间形成的夹角的度数,随着时间的变化。我 ...

啊啊您好!我也想计算两个原子与某个固定坐标轴所形成的夹角变化,请问您解决了吗,能否请教一下这个问题?感激不尽,折磨我很久了!(另外,楼主的脚本好像下载不了了,请问怎么办呀
作者
Author:
HZLL    时间: 2024-6-28 10:12
请问这个脚本怎么用可以得到淀粉葡萄糖残糖苷键之间的二面角φ(O5-C1-O1-C4′)和ψ(C1-O1-C4′-C3′),并绘制出拉式图?脚本命令行里需要修改什么内容吗

作者
Author:
davi    时间: 2024-7-21 14:51
本帖最后由 davi 于 2024-7-21 16:55 编辑

我测试了一下正戊烷分子,发现CH2-CH2-CH2-CH2二面角符合楼主的分布,但是对于CH3-CH2-CH2-CH2却集中在0°,感觉是不是不太对啊,按理说稳定构象应该是180°或者是-180°吧。我在想是不是楼主脚本中V1的距离V1 V2写反了,我和下面一样貌似能统计对
作者
Author:
进击的小任    时间: 3 day ago
感谢




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