Thank you Eric!. :)
So, rather than model, I guess I should say "multiple proteins", or, as I
am looking at ligands as well, "multiple molecules". Basically I want to
show a few proteins (wild type + a few mutants) and some small molecules
that I have docked using Vina.
I don't know how to tell Chimera about more than one molecule. Right now I
just specify lots of residues and atoms and bonds in the GetDict()
function, but, so far as I can tell, I haven't specified that those
structures belong to any particular molecule or protein. How do I indicate
that *this* residue and atom belong to molecule #1 and *that* residue and
atom belong to molecule #2?
Also, I built a simple stand-alone trajectory plugin to nail down the basic
plugin mechanics. The plugin simply creates a single water molecule and
pushes it around on demand, so there are no file dependencies. I have
attached the files in case somebody else finds them useful. All you need
to do is stick them in the "<Chimera>\share\trajectory\formats\Waterdemo"
directory. I'll update it with the results of this discussion to show how
to load multiple molecules and such.
thanks again!
-denny-
On Wed, May 29, 2013 at 11:34 AM, Eric Pettersen
On May 29, 2013, at 10:46 AM, Dennis N Bromley
wrote: Hi Eric,
Thank you very much for your help. My data is happily loading away. :)
Hi Denny, happy to hear it!
I have two more questions regarding loading: 1. My trajectory can contain multiple models (i.e. multiple proteins, not just protein + ligand). How do I specify that?
I'm not sure I understand the issue. In Chimera, a "model" can have multiple proteins. A model is just biological data that came from a single data source (*e.g.* a PDB file, an MRC file) and is always moved/rotated as a whole. Help me out here. :-)
2. My data is actually coming from a streaming source where the other end of the stream could add molecules or change the structure. I know how to catch that message, but how would I tell Chimera that the structure had changed and I need to re-do all the models and residue counts and names and such (all the stuff from the GetDict() call)?
Like VMD, Chimera employs the paradigm that trajectories don't change composition over time. Despite that, you can change the composition of your trajectory "by hand" by calling the correct atom/bond/residue creation/deletion calls yourself (*i.e.* the Molecule methods newAtom, newBond, newResidue, deleteAtom, deleteBond, deleteResidue). You would need to set the coordinates of any new atoms via their setCoord method. If you do nothing about it, the coordinates of these new atoms in previous frames will be at the origin.
Let me know what additional help you need.
--Eric
Eric Pettersen
UCSF Computer Graphics Lab