Draw Corase-grained Sites
From Computational Biophysics and Materials Science Group
# #########################################
# ## Description: TCL script to draw spheres according to some coordinates. Usually use for drawing CG sites.
# ## Author: Kevin May 2014
# ## Usage: source draw_coor.tcl
# ## Input: 3-column-matrix coordinate file, x y z
# ## Output: nice drawing of CG sites
# ## Units:
# ## Other Notes: modify according to your needs
# #########################################
set n 1
set i 1
set c 0
set x A
set fp [open unsym+last.xyz r]
while {[gets $fp line] >= 0} {
if {$n <=40} {
incr c
# if {$c==2} {incr c}
# if {$c==6} {incr c}
if {$c==8} {incr c}
if {$c>=18 && $c%2==0} {incr c}
draw color $c
# set tmp [vecadd $line {0 0 6}]
set tmp [vecadd $line {0 6 0}]
draw text $tmp P${x}${i} size 2.5 thickness 5
if {$i > 1} {draw cylinder $start $line radius 0.3}
set start $line
incr i
} else {
set c 6
draw color $c
incr i
# draw text $tmp PB${i} size 2.5 thickness 1.5
}
draw sphere $line radius 2
if {$n == 21} {
set i 1
set c 0
set x B
}
incr n
}
close $fp
Multiple screenshots
Of course we could add a for-loop to the above code in order to let the computer do multiple graphics for you.
# #########################################
# ## Description: TCL script to draw spheres according to some coordinates. Usually use for drawing CG sites. Being modified to do multiple graphics.
# ## Author: Kevin May 2014
# ## Usage: source drawm_coor.tcl
# ## Input: 3-column-matrix coordinate file, x y z
# ## Output: nice drawing of CG sites
# ## Units:
# ## Other Notes: modify according to your needs
# #########################################
for {set start 1} {$start <= 37} {incr start} {
draw delete all
set n 1
set i 1
set c 0
set x A
set fp [open unsym+last.xyz r]
set end [expr {$start+3}]
set middle1 [expr {$start+1}]
set middle2 [expr {$start+2}]
while {[gets $fp line] >= 0} {
# puts $line
if {$n >=$start && $n<=$end} {
if {$c==2} {set c 10}
if {$c==6} {set c 0}
if {$c>=18 && $c%2==0} {incr c}
draw color $c
incr c
set tmp [vecadd $line {-5 6 6}]
draw text $tmp P${n} size 2.5 thickness 5
if {$i > 1} {draw cylinder $origin $line radius 0.3}
set origin $line
incr i
} else {
set c 6
draw color $c
# incr i
# draw text $tmp PB${i} size 2.5 thickness 1.5
}
draw sphere $line radius 2
# if {$n == 21} {
# set i 1
# set c 0
# set x B
# }
incr n
}
close $fp
display resetview
set string "P${start}+P${middle1}+P${middle2}+P${end}+dih-top.bmp"
scale to 0.035
render Tachyon tmp.dat [format {"C:\Program Files (x86)\University of Illinois\VMD\\tachyon_WIN32.exe" -mediumshade -trans_max_surfaces 1 tmp.dat -res 2048 1024 -format BMP -o C:/Users/ukevi/Documents/Dropbox/Quick_Work_Directory/BAR-PH/plot_bad/%s} $string]
rotate x to -90
set string "P${start}+P${middle1}+P${middle2}+P${end}+dih-side.bmp"
render Tachyon tmp.dat [format {"C:\Program Files (x86)\University of Illinois\VMD\\tachyon_WIN32.exe" -mediumshade -trans_max_surfaces 1 tmp.dat -res 2048 1024 -format BMP -o C:/Users/ukevi/Documents/Dropbox/Quick_Work_Directory/BAR-PH/plot_bad/%s} $string]
}