-
Notifications
You must be signed in to change notification settings - Fork 2
/
vmdrc
165 lines (149 loc) · 4.44 KB
/
vmdrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
############################################################################
#cr
#cr (C) Copyright 1995-2007 The Board of Trustees of the
#cr University of Illinois
#cr All Rights Reserved
#cr
############################################################################
############################################################################
# RCS INFORMATION:
#
# $RCSfile: .vmdrc,v $
# $Author: johns $ $Locker: $ $State: Exp $
# $Revision: 1.9 $ $Date: 2007/01/12 20:12:44 $
#
############################################################################
# DESCRIPTION:
#
# VMD startup script. The commands here are executed as soon as VMD starts up
############################################################################
# turn on lights 0 and 1
light 0 on
light 1 on
light 2 off
light 3 off
# position the stage and axes
axes location lowerleft
stage location off
# position and turn on menus
menu main on
#menu display on
#menu graphics on
#menu color on
#menu labels on
#menu render on
#menu files on
# start the scene a-rockin'
# rock y by 1
# User's default values for newly loaded molecules/reps, etc
# mol default color {colorID 5}
# mol default style {NewCartoon 0.300000 6.000000 4.100000 0}
# mol default selection {name CA}
# mol default material {Transparent}
display resize 1414 1000
proc rm_reps { { id } } {
set index [mol list $id]
set max [lindex $index {12}]
puts $max
for {set i 0} {$i < $max} {incr i} {
mol delrep 0 $id
}
}
proc highlight_complex { {cut 6.25} } {
rm_reps [molinfo top]
mol selection all
mol representation VDW 0.5 12.0
mol addrep top
mol representation Bonds 0.30 12.0
mol addrep top
mol representation VDW 1.0 12.0
set seltext "none"
foreach i [lsort -unique [[atomselect top all] get name]] { append seltext " or ((not (name $i)) and (within $cut of name $i))"}
mol selection $seltext
mol addrep top
mol selection all
}
proc highlight_aggregate { {cut 6.25} } {
rm_reps [molinfo top]
mol selection all
mol representation VDW 0.5 12.0
mol addrep top
mol representation Bonds 0.30 12.0
mol addrep top
mol representation VDW 1.0 12.0
set seltext "none"
foreach i [[atomselect top all] list] { append seltext " or ((not ((index [expr "1+$i"] or index [expr "max($i-1,0)"] ) or index $i)) and (within $cut of index $i))"}
mol selection $seltext
mol addrep top
mol selection all
}
global xsize
global ysize
array set xsize [list small 2.82 medium 7.07 large 14.14]
array set ysize [list small 2 medium 5 large 10]
global xpx
global ypx
proc prepare_render { {size "small"} {xin 10} {yin 14} } {
global xsize
global ysize
if { $size eq "user" } {
set xcm $xin
set ycm $yin
} else {
set xcm $xsize($size)
set ycm $ysize($size)
}
global xpx
global ypx
set xpx [expr "int(0.5+$xcm * 236)"]
set ypx [expr "int(0.5+$ycm * 236)"]
set simname [file rootname [molinfo top get name]]
set rendername "$simname-$size"
set do "n"
while {$do ne "y"} {
puts "Using size: $xcm cm x $ycm cm ($xpx x $ypx @ 600 DPI)"
puts "Using name: $rendername.render"
puts "Ok? (y/n/c)"
set do [gets stdin]
if { $do eq "c" } {
return
}
if { $do eq "n" } {
puts "x-Size in px?"
set xpx [gets stdin]
puts "y-Size in px?"
set ypx [gets stdin]
puts "Name (without $simname- and .render)"
set name [gets stdin]
set rendername "$simname-$name"
set xcm [expr "($xpx/236.0)"]
set ycm [expr "($ypx/236.0)"]
}
}
puts "Using size: $xcm cm x $ycm cm ($xpx x $ypx @ 600 DPI)"
puts "Using name: $rendername.render"
save_state $rendername.render
set file [open $rendername.render a]
upvar env(VMDDIR) vmddir
set tachname [glob -directory $vmddir -tails *tachyon*]
set tach "$vmddir/$tachname"
puts "creating .render file"
puts $file "display shadows on"
puts $file "display ambientocclusion on"
puts $file "display rendermode GLSL"
#puts $file "light 2 on"
#puts $file "light 3 on"
puts $file "axes location [axes location]"
puts $file "display projection [display get projection]"
puts $file "render Tachyon $rendername.dat"
puts $file "exec \"$tach\" 48 $rendername.dat -res $xpx $ypx -format BMP -o $rendername.bmp"
puts $file "exit"
close $file
}
mol default material AOShiny
axes location off
display projection Orthographic
after idle {
menu tkcon on
menu tkcon move 0 22
}