|
本帖最后由 Eming 于 2023-12-15 21:36 编辑
#2023.12.15
看有人回复说这是快10年的帖子了。想想确实也差不多了,在自己博士和博士后期间虽然都是只做生化实验,但对计算的热情从来没有降低过,尽管都是类似的小脚本,小程序。
工作以来一直将精力放在了药物虚拟筛选和分子对接方法的研究上了,watvina程序自2021年12月开放以来,也已有2年的时间了,与当下红红火火的人工智能相比,watvina依然是基于经验的分子对接,到不是说一定要跟人工智能比什么,而是想知道自己的经验的天花板能到什么程度。
vmd画虚线一直是一个用户需求,就像在vmd中显示共价键的键级一样,但这种开发就没有对用户认真负责过,也没有照顾过老用户。又一个十年过去了,未来十年可能还是这个样子,我相信解决这些需求的,最终都是用户。这就跟我开发watvina一样,我一开始只是一个分子对接软件的用户而已,我的目的是想用一个好用的分子对接(并不要求非常非常准确),但一定要灵活好用可控,但是等了一个十年,没有等到。最后自己下手了,于是出现了watvina。
十年之前,我也没想到会走这么条路,等到中年,周围无论是炒房的,还是炒paper的,或者是跟着大趋势炒其他行业如AI的,都已经脱离了底层生活。
十年之后,将年过50,回首半生已过,所剩者是何物,我也想留一点有用的给人间。就像这一个小小的帖子,十年里依然有人陆续在用,或许真的有一点点用。我常常在怀疑,类似FreeBSD是如何撑过几个十年的,而且一直在前进,虽然很慢,虽然用户很少,这到底是因为什么。
脚本内容,下载附件吧。根据回复建议,draw_hbonds.tcl脚本中添加了 molid的参数。
有了这个脚本你可以随便改键的形态了,可以嵌套在其他的脚本里,例如画氢键我们有时候只是希望画重原子之间的氢键,而把H隐藏掉,以便于简便观察,大家可以试试下面的这个例子
加载附件中的脚本,并且看看如何使用。
###################
# draw_hbonds.tcl #
###################
proc draw_hbonds {molid cutoff angle sel1text sel2text color} {
set a [atomselect $molid $sel1text]
set b [atomselect $molid $sel2text]
#set coords [[atomselect $molid all] get {x y z}]
# get hbonds with 1 as donor and 2 as acceptor
foreach { d1 a1 h1 } [measure hbonds $cutoff $angle $a $b] break
# get hbonds wiith 2 as donor and 1 as acceptor
foreach { d2 a2 h2 } [measure hbonds $cutoff $angle $b $a] break
# combine the lists
set dhh [concat $d1 $d2]
set hyd [concat $h1 $h2]
set acc [concat $a1 $a2]
# draw them!
foreach di $hyd ai $acc {
#调用draw_bond函数
draw_bond -mol1 $molid -index1 $di -mol2 $molid -index2 $ai -h_nbars 7 -h_space 1 -h_arrow 0 -h_radius 0.1 -color $color -h_type cylinder
}
}
# draw_hbonds top 3.0 45 {chain A} {chain B} yellow
附件如下:
draw_bond.tcl
(5.71 KB, 下载次数 Times of downloads: 537)
####################
#Usage example:
#draw_bond -mol1 0 -index1 1 -mol2 1 -index2 1 -h_nbars 25 -h_space 1 -h_arrow 0 -h_radius 0.1 -color yellow -mat Opaque -h_type cylinder -h_resol 25
#--->options:
# -mol1 0; the first molecule id (the default value is top)
# -index1 200; the first atom index number in mol1
# -mol2 0; the molecular id of the second atom
# -index2; the second atom index number in mol2
# -h_nbars 25; number of bars
# -h_space 1; space between bars
# -h_arrow 0; draw arrows on the two sides of the bond or not
# -h_radius 0.1; the bond radius
# -color yellow; the bond color
# -mat Opaque; material for rendering
# -h_type cylinder; supporting sphere, cylinder, pymol, cone, line
# -h_reol 25; bond resolution
##################
#使用调用函数如下
#source draw_bond.tcl
#以下是调用draw_bond函数的draw_hbonds函数调用
#source draw_hbonds.tcl
#draw_hbonds top 3.0 45 {chain A} {chain B} yellow
|
-
pymol4.jpeg
(111.37 KB, 下载次数 Times of downloads: 66)
4种风格
评分 Rate
-
查看全部评分 View all ratings
|