Hi Steve,
I'll ask the other Chimera developers about making independent mode
rotation use the center of the whole model when it is undisplayed.
Unfortunately that is a change in the C++ that would not be available
for a while.
I'll try making a rotation/translation undo button next week. I think
it can be done all in Python and I could just email you the code.
Tom
> Date: Fri, 9 May 2003 20:48:49 -0500 (CDT)
> From: Steve Ludtke <stevel(a)blake.3dem.bioch.bcm.tmc.edu>
> Reply-To: sludtke(a)bcm.tmc.edu
> To: Thomas Goddard <goddard(a)cgl.ucsf.edu>
>
> Yeah, a rotation/translation undo would be great! The miscentering
> problem isn't an issue for what I'm doing right now (at least not much of
> one, but a more generic way of setting the center would be nice. Perhaps
> using the origin you set for the volume data as a center for rotation. The
> manual translations seem to be independent of this value...
>
> cheers...
>
> --
> ----------------------------------------------------------------------------
> Steven Ludtke, PhD | Baylor College of Medicine
> sludtke(a)bcm.tmc.edu | Co-Director
> stevel(a)alumni.caltech.edu | National Center For Macromolecular Imaging
> V: (713)798-6989 | Dept of Biochemistry and Mol. Biol.
> instant messenger: sludtke42 | * Those who do ARE *
> http://ncmi.bcm.tmc.edu/~stevel | The converse also holds
Date: Fri, 9 May 2003 13:57:27 -0500 (CDT)
From: Steve Ludtke <stevel(a)blake.3dem.bioch.bcm.tmc.edu>
Reply-To: sludtke(a)bcm.tmc.edu
To: Thomas Goddard <goddard(a)cgl.ucsf.edu>
Hi again. I just ran across a bug I thought I'd report. The session file
is rather large, so I won't attach it initially. Let me know if you have
problems reproducing it. Anyway, I have loaded several volume data sets
which represent different versions of the same structure. Then:
1) set 'independent' rotation mode
2) set one model so it is active, but not shown (in the model panel)
3) rotate the models
4) set the model in 2 to be shown again
Even though it was active, the model in 2 was not rotated. I have a
complex scenario of models where I need to do this operation frequently,
so right now all my rotations keep getting messed up unless I make sure
all the models are active AND shown before rotating anything.
Cheers...
PS - This happens with both the current 1700 version and the previous one.
--
----------------------------------------------------------------------------
Steven Ludtke, PhD | Baylor College of Medicine
sludtke(a)bcm.tmc.edu | Co-Director
stevel(a)alumni.caltech.edu | National Center For Macromolecular Imaging
V: (713)798-6989 | Dept of Biochemistry and Mol. Biol.
instant messenger: sludtke42 | * Those who do ARE *
http://ncmi.bcm.tmc.edu/~stevel | The converse also holds
Date: Fri, 9 May 2003 15:04:20 -0500 (CDT)
From: Steve Ludtke <stevel(a)blake.3dem.bioch.bcm.tmc.edu>
Reply-To: sludtke(a)bcm.tmc.edu
To: Thomas Goddard <goddard(a)cgl.ucsf.edu>
Not THAT big a rush. Whenever you have a chance :^)
Anyway, I was trying to avoid having to explain the whole situation, but
here goes. I have a PDB model, a density map based on the PDB model and 3
different EM maps of the same molecule (each a little different). All are
aligned and centered. What I want to do is have the EM map(s) with
overlaid PDB structure on the left side of the screen and the x-ray map
with overlaid structure on the right half of the screen. Then I use
'independent mode' to rotate everything about its own center so I can see
how the EM map and x-ray map compare. As long as everything is active and
displayed, it works beautifully (except the PDB model center seems very
slightly off, so you see a very small amount of the centering artifact you
described). Anyway, on the 'EM' side, I have 3 models overlaid. Generally
I want to turn their display on and off as I rotate each one around and
look at them. However, even though all 3 remain active, when I turn off
the display of a model (ONLY in independent mode), it no longer gets
rotated properly. Hope that helps clarify...
cheers.
--
----------------------------------------------------------------------------
Steven Ludtke, PhD | Baylor College of Medicine
sludtke(a)bcm.tmc.edu | Co-Director
stevel(a)alumni.caltech.edu | National Center For Macromolecular Imaging
V: (713)798-6989 | Dept of Biochemistry and Mol. Biol.
instant messenger: sludtke42 | * Those who do ARE *
http://ncmi.bcm.tmc.edu/~stevel | The converse also holds
From: Tom Goddard
The problem is that indepedent rotation mode only rotates about the
the center of the displayed part of the model. If nothing is displayed
there is no center to rotate about.
Date: Fri, 9 May 2003 20:02:39 -0500 (CDT)
From: Steve Ludtke <stevel(a)blake.3dem.bioch.bcm.tmc.edu>
Reply-To: sludtke(a)bcm.tmc.edu
To: Thomas Goddard <goddard(a)cgl.ucsf.edu>
I understand. I sort of figured it was something like this. Well, I'll
give you my perspective as a 'user' from the EM community. As funny as it
seems, I would actually want the opposite of the behavior you stated. That
is, the molecules would always rotate about their 'true' center even if
part wasn't displayed. The best solution from my perspective would either
A) have a different 'independent' mode where things always rotated about
their true centers or
B) Make it so models that aren't displayed at all use their true center.
This doesn't seem quirky to me. If the model is active, you assume some
sort of rotation will occur. Presumably if part of the molecule is
visible, the whole thing still gets rotated, just about a different
center. So, it's odd for it not to get rotated at all.
>From a user perspective, a problem I keep running into is that I
accidentally do a rotation when not all of the molecules are active. This
produces a relative rotation that is virtually impossible to undo through
the GUI. Translations aren't a problem. They're pretty easy to 'undo'
almost perfectly. But rotations are really tricky. When that happens I end
up having to revert to my last saved session. So, having the model not
rotate at all just because it isn't visible is doubly annoying...
Anyway, just my perspective...
--
----------------------------------------------------------------------------
Steven Ludtke, PhD | Baylor College of Medicine
sludtke(a)bcm.tmc.edu | Co-Director
stevel(a)alumni.caltech.edu | National Center For Macromolecular Imaging
V: (713)798-6989 | Dept of Biochemistry and Mol. Biol.
instant messenger: sludtke42 | * Those who do ARE *
http://ncmi.bcm.tmc.edu/~stevel | The converse also holds
Hi Steve,
I agree it is odd for the undisplayed model not to be rotated at all.
It seems reasonable that when the model is undisplayed it should
use the center of the whole model if you are using independent rotation
mode.
There is the additional problem that the centers of the models
don't coincide. When you display an isosurface, it uses the center
of the bounding box that just contains the surface. It does not
use the actual bounds of the whole density map.
I see that Chimera has support for fixing the center of rotation for
each model. This could be used to get exactly the rotation behaviour
you want. But we need a user interface to let you say which models
you want to group together with a common center. I could write something
like this in Python. This would address both the undisplayed models
not rotating, and the not quite right centers of rotation.
I realize that accidentally unaligning two models in Chimera is
a disaster -- it usually means starting over. I think we need a rotation
and translation undo to address this.
Tom
Hi Ed,
I wrote the SPIDER volume file reader for Chimera. You can get it from
http://www.cgl.ucsf.edu/home/goddard/spidervol.tar.gz
and unpack it
% cd /usr/local/chimera/share
% tar zxf spidervol.tar.gz
It includes a new VolumeData/fileformats.py that adds the SPIDER file reader
to the list of supported file formats, and a VolumeData/spider directory that
contains the Python code to read the data.
I don't think this should be announced on the SPIDER newsgroup until we
make our next Chimera release that includes it.
I'd like to figure out how the spacing between grid points in
physical units is handled by SPIDER. I see a "scale" parameter in the
SPIDER file header, but the documentation says SPIDER does not use
this, and in the file you sent me it was set to zero. Chimera likes
to know the correct scale in physical units (eg angstroms or
nanometers) so when a second model is opened they are drawn to the
same scale. There are entry fields to hand set the scale in the
Volume Viewer dialog, but it is nicer to be able to extract this from
the file header.
Tom
Hi Ed,
I extended the current Chimera DSN6 file reader to handle the BRIX files.
The changed files are in chimera/share/VolumeData, specifically
fileformats.py and the dsn6/*.py files. Here is a tar file you can
extract in chimera/share to update these files.
http://www.cgl.ucsf.edu/home/goddard/voldata.tar.gz
% cd /usr/local/chimera/share
% tar zxf voldata.tar.gz
Let me know if you have trouble with it. I have only tested it on the
file you gave me. I used BRIX format documentation from the web though
and expect it should work with all files. It will be included in the
next Chimera release.
Tom