At first I thought this was a bug, but after Russel sent me the files, it turns 
out that this reveals an important concept for movie-making with PyMOL...

In order to make movies which associate atom identities through a trajectory , 
you must specify unique identifiers for each atom.  Just the atomic elements 
aren't usually good enough since how will PyMOL know which carbon in one from 
is associated with which carbon in the next?  Instead, each atom must have a 
unique combination of (segi,chain,resn,resi,name).  

An easy solution with small molecular systems is to simple load the movie into 
discrete objects, where PyMOL doesn't attempt to associate atoms and bonds 
between states.  This is done with an optional argument "discrete=1" on the 
first state which is loaded...

load subnoh00.pdb,mov,discrete=1
load subnoh01.pdb,mov
load subnoh02.pdb,mov
load subnoh03.pdb,mov

With discrete objects, if you click on a atom in one state, then PyMOL won't 
know which atom corresponds to what in the next state, and so you'll have to 
manually setup representation within each state if you want anything fancy.  

Also note that with discrete objects, atom and bond information is replicated 
for every state.  In contrast, normal objects share one pool of atom, bond, and 
connectivity information across all states (but not every atom needs to appear 
in each state), and normal objects only store unique coordinates for each 
state.  So, if you're using PyMOL to view 250 frames of a 50,000 atom MD 
simulation, discrete objects would be memory inefficient.  However, if bonds 
are made/broken between states, then you'll need to use a discrete object, or 
split the trajectory across multiple objects.

Take home lessons:

- For trajectories with abiguous atom names, use discrete objects
- For trajectories where bonds are made/broken, use discrete objects
- For trajectories with static connectivity and unique names, use discrete 
objects.
- For large MD-simulations, use normal objects
- For view docking results, use discrete objects 

Cheers,
Warren


> I am attempting to make a movie from a series of 50 pdb 
> files.  When I load 
> the files individually they work fine, however when I load 
> the files into a 
> movie using a series of "load file.pdb,mov" commands only the 
> first 2 frames 
> are correct.  In frames 3 and higher the connections between 
> atoms are drawn 
> apparently randomly so that the effect is that of a pile of 
> "pixie sticks" 
> rather than a molecule.
> 
> I get this effect on two different machines running redhat 
> 7.3, one using 
> pymol 0.78, and another using the "easy install" pymol 0.83 
> package for 
> linux.
> 
> I have though about adding CONNECT records to the pdb files 
> to force proper 
> bonding, or perhaps I can use babel to put them into some 
> other format that 
> will work.

Reply via email to