1
私は以下に示すスクリプトを書いています。私は予想外に言及しています。誰でも助けてくれますか?複数のforループを使用するforループ
スクリプト:私が得る
for {set x 0} {$x <= 80} {incr x [expr {+20}]} {
puts "pdb ./$x.a.pdb;"
puts "pdb ./$x.b.pdb;"
puts "pdb ./$x.ab.pdb;"
for {set i 0} {$i < 15} {incr i} {
puts "A$x = [measure sasa 1.4 [atomselect $i "all"]] >> 1.dat" }
for {set j 1} {$j < 15} {incr j} {
puts "B$x = [measure sasa 1.4 [atomselect $j "all"]] >> 1.dat"}
for {set k 2} {$k < 15} {incr k} {
puts "AB$x = [measure sasa 1.4 [atomselect $k "all"]] >>1.dat"}
}
出力:
invalid command name "atomselect"
while executing
"atomselect $i "all""
("for" body line 6)
invoked from within
"for {set x 0} {$x <= 80} {incr x [expr {+20}]} {
puts "pdb ./$x.a.pdb;"
puts "pdb ./$x.b.pdb;"
puts "pdb ./$x.ab.pdb;"
for {set i 0} {$i < 15} {incr i..."
(file "try.tcl" line 1)
予想される出力:
pdb ./0.a.pdb;
pdb ./0.b.pdb;
pdb ./0.ab.pdb;
A0 = [measure sasa 1.4 [atomselect 0 "all"]] >> 1.dat
B0 = [measure sasa 1.4 [atomselect 1 "all"]] >> 1.dat
AB0 = [measure sasa 1.4 [atomselect 2 "all"]] >> 1.dat
pdb ./20.a.pdb;
pdb ./20.b.pdb;
pdb ./20.ab.pdb;
A20 = [measure sasa 1.4 [atomselect 3 "all"]] >> 1.dat
B20 = [measure sasa 1.4 [atomselect 4 "all"]] >> 1.dat
AB20 = [measure sasa 1.4 [atomselect 5 "all"]] >> 1.dat
pdb ./40.a.pdb;
pdb ./40.b.pdb;
pdb ./40.ab.pdb;
A40 = [measure sasa 1.4 [atomselect 6 "all"]] >> 1.dat
B40 = [measure sasa 1.4 [atomselect 7 "all"]] >> 1.dat
AB40 = [measure sasa 1.4 [atomselect 8 "all"]] >> 1.dat
pdb ./60.a.pdb;
pdb ./60.b.pdb;
pdb ./60.ab.pdb;
A60 = [measure sasa 1.4 [atomselect 9 "all"]] >> 1.dat
B60 = [measure sasa 1.4 [atomselect 10 "all"]] >> 1.dat
AB60 = [measure sasa 1.4 [atomselect 11 "all"]] >> 1.dat