Q: Can I convert Euler angles from e2initialmodel.py from EMAN convention to Spider (or other) convention ?

A: Similar to supporting the various available file-formats, EMAN2 also supports most of the available Euler angle conventions (see Eman2TransformInPython and EMAN2/Symmetry) but there is currently no tool in the GUI for trivially converting them for projections (though the 3-D display widget has this capability for models), so you need to do a bit more work:

In initial_models, *_aptcl databases contain pairs of projections and class-averages (the images you input to to e2initialmodel.py). These projections and averages contain the Transform object representing each orientation in an attribute called "xform_projection". You can see all of these attributes from the command line with a command like : e2iminfo.py bdb:initial_models#model_01_01_aptcl --header (add --all if you want to see it for all of the images)

Of course, as I said above, this only shows the Euler angles in EMAN convention. If you want to do it one image at a time, you could use e2display to display a single image from the aptcl file (don't display the entire set of images, you won't get the same capability). Once it's displayed, middle-click on the image to bring up the control-panel, then select the 'Python' tab and paste the following text into the python box:


To see them all in spider convention, you will need a little python script to dump the angles (don't worry, you don't need to be a programmer to use this):

for im in db:
        if im==None : break
        print p["phi"],p["psi"],p["theta"]

You will need to type enter a couple of times after the print line before it will execute. Note that you will see the same angles twice, since there is a projection for each class-average.

Finally, it depends a bit on what you plan on using the angles for. These angles should be fine if you want to use Spider's 3-D reconstruction command, for example, to build a 3-D model. However, if your interest is comparing angles from EMAN2 to angles from Spider, things aren't quite so simple, as Euler angles are degenerate. That is, you can have 2 angles which are actually very close to each other, represented by Euler angles which appear to be very different. There are methods in the EMAN2 Python library to make these comparisons, but I wouldn't really suggest using them on the results of e2initialmodel. e2initialmodel is designed to run very quickly and produce something which should converge to the correct final structure after sufficient refinement, but the actual per-class orientations may be very inaccurate (this isn't the goal of the program).

Also, please note that we are still making changes to EMAN2 very quickly, so it is important to update your binary installation (which should only take a minute or two to do) fairly frequently. Certainly if you are encountering an unexpected result, the first thing to do is try updating to a current snapshot version of EMAN2. For example, some significant improvements to e2initialmodel.py were made less than a month ago as I recall...

EMAN2/FAQ/SpiderEuler (last edited 2010-07-09 12:50:03 by SteveLudtke)