Difference between revisions of "Draw Corase-grained Sites"
From Computational Biophysics and Materials Science Group
m |
|||
Line 48: | Line 48: | ||
close $fp | 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] | ||
+ | |||
+ | |||
+ | } |
Latest revision as of 16:59, 26 May 2014
# ######################################### # ## 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] }