Hi,
I would like to make a figure that shows a set of coordinate axes aligned in a particular way with respect to a molecule. I have found the axes.py script (copied at the bottom of this message) on the PyMol Wiki, but have run into the following problems:

1. I can't get the script to load and run properly in MacPymol. I get a long string of error messages beginning with:

PyMOL>@axes.py
PyMOL>from pymol.cgo import *
PyMOL>from pymol import cmd
PyMOL>from pymol.vfont import plain
PyMOL>obj = [
Traceback (most recent call last):
File "/Applications/Molecular Graphics/MacPyMOL.app/pymol/modules/pymol/parser.py", line 208, in parse
    exec(layer.com2+"\n",self.pymol_names,self.pymol_names)
  File "<string>", line 1
     obj = [
            ^
 SyntaxError: unexpected EOF while parsing

I can get the script to run with an old version (0.98) of the Mac-X11 hybrid. I can live with this, if necessary.

2. Once I have the axes and the molecule loaded, I would like to place a particular atom at the origin and then rotate the molecule into a particular orientation. I thought that I could do the first part by using the translate command, by moving the molecule by amounts that correspond to the negative of the initial coordinates of the atom of interest. That is, if the initial coordinates (from the pdb file) are, 1,-2,2, it seems that if I do
translate [-1,2,-2]
I should move the molecule so that the atom is at the origin. But, this doesn't happen; The molecule moves, but not along the expected axes. There is clearly something about the coordinate system and the translate command that I don't understand.

Any suggestions for how to go about this would be greatly appreciated!

David


----------------

The script:

# axes.py
from pymol.cgo import *
from pymol import cmd
from pymol.vfont import plain

# create the axes object, draw axes with cylinders coloured red, green,
#blue for X, Y and Z

obj = [
   CYLINDER, 0., 0., 0., 10., 0., 0., 0.2, 1.0, 1.0, 1.0, 1.0, 0.0, 0.,
   CYLINDER, 0., 0., 0., 0., 10., 0., 0.2, 1.0, 1.0, 1.0, 0., 1.0, 0.,
   CYLINDER, 0., 0., 0., 0., 0., 10., 0.2, 1.0, 1.0, 1.0, 0., 0.0, 1.0,
   ]

# add labels to axes object (requires pymol version 0.8 or greater, I
# believe

cyl_text(obj,plain,[-5.,-5.,-1],'Origin',0.20,axes=[[3,0,0],[0,3,0],[0,0,3]])
cyl_text(obj,plain,[10.,0.,0.],'X',0.20,axes=[[3,0,0],[0,3,0],[0,0,3]])
cyl_text(obj,plain,[0.,10.,0.],'Y',0.20,axes=[[3,0,0],[0,3,0],[0,0,3]])
cyl_text(obj,plain,[0.,0.,10.],'Z',0.20,axes=[[3,0,0],[0,3,0],[0,0,3]])

# then we load it into PyMOL
cmd.load_cgo(obj,'axes')

--
Department of Biology
University of Utah
257 South 1400 East
Salt Lake City, UT  84112-0840

Telephone: (801) 581-3885
Fax:  (801) 581-2174

E-mail: goldenb...@biology.utah.edu
Lab web page: http://www.biology.utah.edu/goldenberg

Reply via email to