From: Tyler Smith (
Date: Fri Jan 03 2014 - 18:43:13 CST

Hi Josh,
  I didn't realize the selection overlap could affect the coloring; I'll
try making them disjoint Monday and see if that helps. Also your idea of
putting the dummy variables in the pdb files to reduce the number of files
necessary is very interesting, I'll definitely keep it mind. Thanks for
the help, I really appreciate it!


On Fri, Jan 3, 2014 at 5:13 PM, Josh Vermaas <> wrote:

> Hi Tyler,
> The reason the colors are different is somewhat complicated. Based on your
> atomselections (mass >=0, mass < 0.2), particles with masses in the range
> of (0, 0.2) have two spheres drawn for them. In snapshot, only the top
> representation is drawn (the red sphere), but with better renderers, both
> are drawn, combining the yellow and red spheres together to make a
> different color (orange?). If your atomselections were truly disjoint, I
> think the two renders would give you consistent output.
> I also have an idea to reduce the number of molecules you need to load.
> PDB files have two extra columns (beta and occupancy) that you could use
> instead of the mass field of a psf. Now VMD can only store one set of
> betas/occupancies at a time, however you can copy these over to a user
> field with very little problem, and then do the coloration based on the
> user field (trajectory->user in the graphical representation window)
> instead of mass. The loop to copy over the pdbs sequentially would go
> something like this:
> mol new structure001.psf
> set sel [atomselect top "all"]
> for { set i 1 } { $i < 102 } { incr i } {
> set pdbfile [format "structure%03d.pdb" $i]
> #Add a new file. This will load the new beta values.
> mol addfile $pdbfile
> #Save the new beta values to the user field.
> $sel set user [$sel get beta]
> }
> #The rest of your commands can go outside the loop now (until you render).
> mol modselect 0 top user >= 0.2
> mol modcolor 0 top ColorID 4
> #Update the selection when you change frame!
> mol selupdate 0 top on
> #More stuff goes here...
> #Rendering loop
> for { set frame 0 } { $frame < [molinfo top get numframes] } { incr frame
> } {
> animate goto $frame
> render snapshot [format "structure3_%03d.bmp" [expr {$frame + 1}]]
> render tachyonInternal [format "structuretachyon3_%03d.bmp" [expr
> {$frame + 1}]]
> }
> Good luck!
> -Josh Vermaas
> On 01/03/2014 02:19 PM, Tyler Smith wrote:
> Hi All,
> I'm attempting to create a movie in vmd that shows how the local
> crystallization of a system of polymers evolves with time during quenching.
> A metric for local crystallization called the CCE norm was used to assign
> every monomer in the system a crystalline structure ( HCP, FCC, fivefold,
> unordered). Psf files were used to convey information about the
> crystalline structure using dummy variables; for example, all monomers with
> mass < .2 correspond to monomers with FCC ordering and are colored red.
> Every psf file gives local crystalline structure for one timestep in the
> quench, so in order to create a movie of evolving crystalline structure a
> new pair of psf and pdb files needs to be loaded in for every frame. As
> far as i know vmd can't internally create movies with multiple psf files,
> so I decided to render a series of bitmap images using vmd and then string
> them together using another program.
> A c++ program was used to create a long .tcl script that loads in
> the pdb and modified psf, colors the monomers accordingly, renders an image
> and then repeats for the next pair of files. This process worked well
> using the snapshot renderer, but I would prefer to generate higher quality
> images using Tachyon Internal. When the Tachyon Internal renderer is
> employed images are rendered but they are not colored correctly.
> Does anyone have any ideas as to why snapshot works and
> TachyonInternal doesn't? I'll attach the c++ scripts used to generate the
> .tcl scripts
> Also if there is an easier way to create movies with multiple psf
> files and custom coloring please let me know.
> Thanks,
> Tyler