我有一个229残基蛋白质,我需要从残基1-12(单独)的质量中心测量到每个其他原子,残留13起,我也需要这个帧。到目前为止,我有这个环内循环(更多详细信息)
set pro [atomselect top "resid 1 and not water and not ion"]
set atom [atomselect top "index 207"]
set nf [molinfo top get numframes]
set outfile [open test207.dat w]
for {set i 0} {$i < $nf} {incr i} {
puts "frame $i of $nf"
$pro frame $i
$atom frame $i
set com1 [measure center $pro weight mass]
set com2 [measure center $atom weight mass]
set distance [veclength [vecsub $com1 $com2]]
puts $outfile "$i $distance"
}
这是工作到它的测量残留13至残基1的COM所有帧的第一个原子之间的距离的范围内,但我不确定要怎么放第二个循环将循环使用每个原子,而不是每次运行脚本数千次(每次更改原子数)导致数千个文件。
有没有办法循环每个原子和每个帧在同一个脚本?
你能澄清你的问题吗?你想让所有'puts'进入一个文件吗?你会如何选择原子?你显然正在使用一些我和其他用户不熟悉的Tcl库 - 它是哪一个? – cfi 2013-03-08 14:03:08
我认为某些示例输出(如果可能,使用虚拟值?)会很好理解,以便更容易理解您尝试获得的内容。 – Jerry 2013-03-08 15:49:59