You are on page 1of 5

# VMD for WIN32, version 1.9.

2 (December 29, 2014)


# Written by Ky Wildermuth (May 2016)
# FEATURES:
#
# NOTES AND DIRECTIONS:
# Modify representaiton atom selections specific to your lipids (default is DOPC
and DOPS) so that all membrane atoms below 2nd carbon are nonpolar region
# Can modify or remove coordinate data collection section. Use to track key bind
ing residues
# Can optionally make a video for quantitative viewing of peptide binding from s
ide view (see loop labeled "side")
# script is designed for use of scavenger partition on DT1: will not write image
files if they already exist!
##########################
# DEFINE USER PARAMETERS #
##########################
# How many frames to skip per image
set int 2
#
# Select the x and y dimensions of the images (maintain square ratio)
set xsize 600
set ysize 600
#
# Select main working directory
cd "/lustre/kwilder/alps3/150ns/defect_analysis/0deg_1/"
#
# Select filenames to write numerical data
set file1 [open "pbc_scale_dimensions.dat" w]
set file2 [open "top_phos_coord.dat" w]
set file3 [open "bot_phos_coord.dat" w]
set file4 [open "trp_coord.dat" w]
set file5 [open "prot_coord.dat" w]
#
# Select subdirectories to output images to
set top_lipid "/lustre/kwilder/alps3/150ns/defect_analysis/0deg_1/top_lipid"
set bot_lipid "/lustre/kwilder/alps3/150ns/defect_analysis/0deg_1/bot_lipid"
set top_prot "/lustre/kwilder/alps3/150ns/defect_analysis/0deg_1/top_prot"
set bot_prot "/lustre/kwilder/alps3/150ns/defect_analysis/0deg_1/bot_prot"
set side "/lustre/kwilder/alps3/150ns/defect_analysis/0deg_1/side"
#
# Select atoms in polar region of lipids
set polar_carbon "C12 C13 C11 C1 C2 C21 C22 C3 C31 C14 C15 C32"
set polar_hydrogen "HN1 HN2 HN3 H12A H11A H11B HA HB HS H2R H2S HX HY H12A H12B
H13A H13B H13C H14A H14B H14C H15A H15B H15C"
set polar_other "N O13A O13B P O13 O14 O12 O11 O21 O22 O31 O32"
#
# Select pathway to DCD and PSF files and load the molecule and all frames
mol new {/lustre/kwilder/alps3/150ns/defect_analysis/0deg_1/alps3_0deg_1_152ns.d
cd} type {dcd} first 0 last -1 step 1 waitfor -1
mol addfile {/lustre/kwilder/alps3/150ns/defect_analysis/0deg_1/step5_assembly.p
sf} type {psf} first 0 last -1 step 1 waitfor -1 0
##########################
#
package require pbctools
#
# Find number of frames
set frames [molinfo top get numframes]

#
# CREATE REPRESENTATIONS
#
# POLAR REP is all atoms in the lipid down to the second carbon in the tail (blu
e)
mol modselect 0 0 (resname DOPC or resname DOPS) and name $polar_carbon $polar_h
ydrogen $polar_other
mol modcolor 0 0 ColorID 0
mol modstyle 0 0 QuickSurf 1.000000 0.500000 1.000000 1.000000
mol showperiodic 0 0 xyXY
mol numperiodic 0 0 1
mol modmaterial 0 0 Goodsell
#
# NONPOLAR REP is all atoms in the lipid below the second carbon in the tail (ye
llow)
mol addrep 0
mol modselect 1 0 (resname DOPC or resname DOPS) and not name $polar_carbon $pol
ar_hydrogen $polar_other
mol modcolor 1 0 ColorID 4
mol modstyle 1 0 QuickSurf 1.000000 0.500000 1.000000 1.000000
mol showperiodic 0 1 xyXY
mol numperiodic 0 1 1
mol modmaterial 1 0 Goodsell
#
# HMMM REP is nonpolar molecules between lipid membranes (yellow) that aren't li
pids - should remove this section if not HMMM simulation
mol addrep 0
mol modselect 2 0 resname DCLE and z < 20 and z > -20
mol modcolor 2 0 ColorID 4
mol showperiodic 0 2 xyXY
mol numperiodic 0 2 1
mol selupdate 2 0 1
mol modstyle 2 0 QuickSurf 1.000000 0.500000 1.000000 1.000000
mol modmaterial 2 0 Goodsell
#
# PROTEIN REP (red) with no PBC so that only in the main cell
mol addrep 0
mol modcolor 3 0 ColorID 1
mol modselect 3 0 protein
mol modstyle 3 0 QuickSurf 1.000000 0.500000 1.000000 1.000000
mol modmaterial 3 0 Goodsell
#
# Delete original rep (lines)
mol delrep 4 0
# SETUP GENERAL IMAGE DISPLAY
# select lights
light 0 on
light 1 on
light 2 off
light 3 off
# turn on orthographic view
display projection Orthographic
# turn off axes in corner
axes location Off
# minimize near clip
display nearclip set 0.010000
# reset view angle and resize according to user-selected dimensions
display resetview
display resize $xsize $ysize

# COLLECT COORDINATE DATA OF PROTEIN AND PHOSPHATES OF BILAYER


# select all phosphates on top leaflet of bilayer
set phos_sel_top [atomselect top "name P and z > 0"]
# select all phosphates on bottom leaflet of bilayer
set phos_sel_bot [atomselect top "name P and z < 0"]
# select the trp amino acid - CHANGE THIS TO A KEY BINDING AA OF THE PEPTIDE
set trp_sel [atomselect top "resname TRP and name CA"]
# select all protein residues for additional data collection
set prot_sel [atomselect top "protein"]
# loop over all frames and make selections defiend above
for {set i 0 } {$i < $frames } {incr i } {
$trp_sel frame $i
$phos_sel_top frame $i
$phos_sel_bot frame $i
$prot_sel frame $i
# collect coordinate informatin for selections defined above
set trp_coord [$trp_sel get {x y z}]
set phos_com_top [measure center $phos_sel_top]
set phos_com_bot [measure center $phos_sel_bot]
set prot_com [measure center $prot_sel]
# put collected coordinates in respective data files
puts $file2 "$i $phos_com_top"
puts $file3 "$i $phos_com_bot"
puts $file4 "$i $trp_coord"
puts $file5 "$i $prot_com"
}
# close the coordinate file
close $file2
close $file3
close $file4
close $file5
# PREPARE AND RENDER IMAGES
#
# TOP LIPID
# draw a green pbc box around centerr of mass of protein
pbc box -center com -centersel protein -shiftcenter {0 0 60} -color green
# measure dimensions of pbc box of first frame (to be used for scaling in analys
is)
set cell [pbc get -first 0 -last 0]
# record pbc dimensions to data file and close the file
puts $file1 "$cell"
close $file1
# turn on membrane reps, turn of protein reps
mol showrep 0 0 on
mol showrep 0 1 on
mol showrep 0 2 on
mol showrep 0 3 off
# move to the first frame
set frame 0
# move to top_lipid directory
cd $top_lipid
# loop through the frames
for {set i 0} {$i < $frames} {incr i $int} {
# go to the given frame
animate goto $i
# take the picture
set filename snap.[format "%04d" $i]
set flag [file exists $filename]

if {$flag == 0} {
render Tachyon $filename "/homes/jbklauda/vmd/vmd-1.9/lib/tachyon/tachyo
n_LINUXAMD64" $filename -lowshade -format BMP -o $filename.bmp
}
}
#
# TOP PROTEIN
# turn on protein rep
mol showrep 0 3 on
cd $top_prot
# loop through the frames
for {set i 0} {$i < $frames} {incr i $int} {
# go to the given frame
animate goto $i
# take the picture
set filename snap.[format "%04d" $i]
set flag [file exists $filename]
if {$flag == 0} {
render Tachyon $filename "/homes/jbklauda/vmd/vmd-1.9/lib/tachyon/tachyo
n_LINUXAMD64" $filename -lowshade -format BMP -o $filename.bmp
}
}
#
# BOTTOM PROTEIN
rotate x by 180
pbc box -center com -centersel protein -shiftcenter {0 0 -60} -color green
cd $bot_prot
# loop through the frames
for {set i 0} {$i < $frames} {incr i $int} {
# go to the given frame
animate goto $i
# take the picture
set filename snap.[format "%04d" $i]
set flag [file exists $filename]
if {$flag == 0} {
render Tachyon $filename "/homes/jbklauda/vmd/vmd-1.9/lib/tachyon/tachyo
n_LINUXAMD64" $filename -lowshade -format BMP -o $filename.bmp
}
}
#
# BOTTOM LIPID
mol showrep 0 3 off
cd $bot_lipid
# loop through the frames
for {set i 0} {$i < $frames} {incr i $int} {
# go to the given frame
animate goto $i
# take the picture
set filename snap.[format "%04d" $i]
set flag [file exists $filename]
if {$flag == 0} {
render Tachyon $filename "/homes/jbklauda/vmd/vmd-1.9/lib/tachyon/tachyo
n_LINUXAMD64" $filename -lowshade -format BMP -o $filename.bmp
}
}
# SIDE VIEW FOR ADDITIONAL QUALITATIVE ANAYSIS (optional)
mol showperiodic top 1 n
mol showperiodic 0 0 xX
mol numperiodic 0 0 1

mol showperiodic 0 1 xX
mol numperiodic 0 1 1
mol showperiodic 0 2 xX
mol numperiodic 0 2 1
mol modmaterial 0 0 Transparent
mol modmaterial 1 0 Transparent
mol modmaterial 2 0 Transparent
mol modmaterial 3 0 Opaque
display resetview
rotate x by 90
scale by 1.5
pbc box -off
mol showrep 0 3 on
cd $side
# loop through the frames
for {set i 0} {$i < $frames} {incr i $int} {
# go to the given frame
animate goto $i
# take the picture
set filename snap.[format "%04d" $i]
set flag [file exists $filename]
if {$flag == 0} {
render Tachyon $filename "/homes/jbklauda/vmd/vmd-1.9/lib/tachyon/tachyo
n_LINUXAMD64" $filename -lowshade -format BMP -o $filename.bmp
}
}