计算化学公社

标题: 二聚体、三聚体的比例统计求助 [打印本页]

作者
Author:
sun666    时间: 2020-11-5 23:21
标题: 二聚体、三聚体的比例统计求助
老师好,我想统计下二聚体、三聚体的比例(小分子中含有一个N)想定义若两个分子之间N分子距离在6A以内即为多聚体。这个统计命令该如何实现。

作者
Author:
sobereva    时间: 2020-11-6 00:23
自己写VMD脚本

把这个脚本的原理搞明白,举一反三,差不多也能写出能满足自己目的的脚本
在VMD中将距离较近的分子质心连线的脚本
http://sobereva.com/410
作者
Author:
sun666    时间: 2021-2-8 10:56
sobereva 发表于 2020-11-6 00:23
自己写VMD脚本

把这个脚本的原理搞明白,举一反三,差不多也能写出能满足自己目的的脚本

社长,我学习着写了一个脚本,但是发现我写的这个脚本只能统计结构文件中按顺序的原子,对于序号不是相连并且不从文件起始位置开始的原子不能统计,想请社长帮忙看下。脚本如下:
set range [atomselect top {resid 1 to 30 and name P}]
set n [molinfo top get numframes]
for { set i 0 } { $i<$n } { incr i} {
$range frame $i
$range update
set nres [llength [lsort -unique [[atomselect top {resid 1 to 30 and name P}] get serial]]]
for { set ires 1} { $ires<=$nres } { incr ires } {
set sel [atomselect top "serial $ires"]
set X($ires) [$sel get x]
set Y($ires) [$sel get y]
set Z($ires) [$sel get z]
$sel delete
}
set num 0
for { set ires 1 } {$ires <= $nres} { incr ires } {
for { set jres [expr $ires+1] } { $jres<=$nres } { incr jres } {
set dx2 [expr ($X($ires)-$X($jres))**2]
set dy2 [expr ($Y($ires)-$Y($jres))**2]
set dz2 [expr ($Z($ires)-$Z($jres))**2]
set dist [expr sqrt($dx2+$dy2+$dz2)]
if {$dist<4} {
incr num
}
}
}
puts "Frame $i :$num"
}




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