From: Zach Charlop-P. <zac...@ms...> - 2010-02-25 02:29:35
|
Hello Pymol-ers, I am trying to script pymol to make some movies. I would like to: 1) move the molecules around and save their states somehow (as a state or scene or something to that effect). After that, I would like to be able to 2) move the camera around independently of the molecules to give a nice effect. You can see below that I am able to do the first part of this. However when i use either "scene" command (in use) or the "mview" command (commented out) I run into the same problems: My camera position seems to be locked so i can no longer use the positioning and interpolation functions that Warren and others worked so hard to put together. I have been playing with this for a while and can't figure out a solution. I am hoping someone may have some hints on how to proceed. thanks, zach cp grad student mount sinai school of medicine. # setup PyMOL for movies reinitialize set movie_auto_interpolate, off set matrix_mode, 1 set movie_panel, 1 set scene_buttons, 1 set cache_frames, 1 config_mouse three_button_motions, 1 # download the complex and set it up fetch 1yfg.pdb, trna orient rotate z,60, trna # make an array of the molecules python s = range(1,7) for x in s: cmd.copy("trna%s" %x, "trna") cmd.hide("lines", "trna") cmd.translate("[0,-60,0]", "trna") cmd.origin("trna") s = range(1,7) for x in s: cmd.rotate("z", "%d" %(60*x), "trna%s" %x) cmd.hide("lines" ,"trna%s" %x) cmd.show("cartoon" ,"trna%s" %x) cmd.origin("trna") cmd.zoom() python end # overview of the scene frame 1 mview store orient python for x in range(360): cmd.madd("1 x1"); cmd.frame(1000); cmd.rotate("y", 1.0, object="trna1") cmd.rotate("[-1.4,1,0]", 1.0, object="trna2") cmd.rotate("[-1.4,-1,0]", 1.0, object="trna3") cmd.rotate("y", 1.0, object="trna4") cmd.rotate("[1.4,-1,0]", 1.0, object="trna5") cmd.rotate("[1.4,1,0]", 1.0, object="trna6") #cmd.mview("store", object="trna1") #cmd.mview("store", object="trna2") #cmd.mview("store", object="trna3") #cmd.mview("store", object="trna4") #cmd.mview("store", object="trna5") #cmd.mview("store", object="trna6") #cmd.mview("reinterpolate") cmd.scene("new","store") python end frame 180 set_view (\ 0.769429266, -0.001453266, 0.638730288,\ -0.483805567, 0.651568949, 0.584285855,\ -0.417025983, -0.758588016, 0.500633180,\ 0.000000000, 0.000000000, -635.205078125,\ -42.521865845, 33.457977295, 19.863151550,\ 530.689270020, 739.720764160, -20.000000000 ) mview store mview interpolate mview reinterpolate mplay |