229残基のタンパク質があり、残基1〜12の質量中心から(個別に)1つおきの原子まで、残基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 までの距離を測定する範囲で機能していますが、すべての原子に対してループする 2 番目のループを配置する方法についてはわかりません。スクリプトを何千回も実行して(毎回アトム番号を変更して)、何千ものファイルが生成されます。
同じスクリプトで各アトムと各フレームをループする方法はありますか?