set_rotation_centre(x, y, z)

set_zoom(30)

which has the advantage of adjusting the perspective and focusing on exactly the residue/molecule of interest. I tried to emulate the first part in PyMOL:

def recenter_and_zoom (self, x, y, z) :

view = list(cmd.get_view())

view[12] = x

view[13] = y

view[14] = z

cmd.set_view(view)

which sets the center of rotation, but the perspective is screwy because the rest of the view matrix is unchanged. I can figure out the equivalent 'zoom' command for the residue of interest if I really need to, but I already have the coordinates computed, so I'd rather try to figure out how to adjust the zoom level through the matrix instead. (Sorry if this is a little incoherent - I still don't understand matrix arithmetic in OpenGL.)

thanks,

Nat