嘿,我正在开发的一个程序使用 pdb(蛋白质数据库)文件并计算所有原子之间的距离。我有一个代码可以做到这一点,但是我的个人和工作计算机没有足够的计算能力来完全执行程序而不会崩溃我运行它的程序(VMD-视觉分子动力学)。然而,我确实可以使用超级计算机,但它只运行 perl 脚本。该代码是为 VMD 扩展 TK 控制台编写的。有没有办法可以使用 perl 来执行我的 tk 控制台代码?下面是代码:
set seg1 [atomselect top "segname LA0 and name CA"]
set seg2 [atomselect top "segname RA0 and name CA"]
set file [open "Contact_map27.dat" w]
set list1 [$seg1 get index]
set list2 [$seg2 get index]
foreach atom1 $list1 {
foreach atom2 $list2 {
set index1 [atomselect top "index $atom1"]
set index2 [atomselect top "index $atom2"]
set resid1 [[atomselect top "index $atom1"] get resid]
set resid2 [[atomselect top "index $atom2"] get resid]
set resnm1 [[atomselect top "index $atom1"] get resname]
set resnm2 [[atomselect top "index $atom2"] get resname]
puts $file "$resnm1 $resid1 $resnm2 $resid2 [veclength [vecsub [measure center $index1] [measure center $index2]]]"
$index1 delete
$index2 delete
}
}
close $file
这会对加载到 VMD 中的 pdb 文件进行计算。任何帮助或建议将不胜感激。