Jacob,

        It look to me like you've found a bug in PyMOL with the manual 
approach.  What's happening is that the result of a subsequent ignore command 
isn't updating the surface which was created before it.  The scripted behavior 
is correct, since all geometric objects should reflect the current state of the 
atom flags.

        The trivial fix to this kind of problem is to split all of the 
molecules into different objects and the create the surfaces independently.  In 
this case, use three objects instead of two.  That way you can ignore the "flag 
ignore.." command and only show surfaces on the proteins.

        Also note that if you're planning to move objects with surfaces 
attached, use the "object" parameter in the translate command.  Otherwise, 
PyMOL will have to recalculate the surface for each frame.

   translate [1,0,0],object='A+amp'

or

   cmd.translate([1,0,0],object='A+amp')

Also note that

  reset object='A+amp' 

will restore the object's original position.

Cheers,
Warren
 
--
mailto:war...@sunesis.com
Warren L. DeLano, Ph.D. 
Informatics Manager 
Sunesis Pharmaceuticals, Inc. 
341 Oyster Point Blvd. 
S. San Francisco, CA 94080 
(650)-266-3606 FAX:(650)-266-3501



> -----Original Message-----
> From: Jacob Corn [mailto:jc...@uclink.berkeley.edu]
> Sent: Monday, January 20, 2003 1:36 PM
> To: pymol-users@lists.sourceforge.net
> Subject: [PyMOL] Separate surfaces
> 
> 
> Hi all,
> It's possible that I've run into a bug/undocumented feature, but I'd 
> like to see if anyone has a solution to the following problem.
> I'm working on a movie script that will (in part) make two separate 
> surfaces for each subunit in a dimer (excluding a drug bound between 
> the subunits), then split the monomers apart and zoom into a drug 
> binding site. However, I'm running into some problems when I try to 
> create the separate surfaces.
> 
> In plain english, what the script does is create two objects, one 
> containing one subunit (B), and the other containing the 
> other subunit 
> AND the drug (A) (when I split the monomers apart I want the drug to 
> follow one monomer). I then calculate the surface for subunit B, flag 
> everything that's not subunit A as ignore, then calculate the surface 
> for subunit A.
> If I input each line separately, the script works perfectly and I get 
> two separate surfaces around each subunit and no surface around the 
> drug. But if I run the script from the PyMOL command line or 
> copy/paste 
> the whole script at once into the command line, only subunit 
> A shows a 
> surface. The drug (correctly) does not have a surface, but (from the 
> output in the terminal) it looks like PyMOL isn't even calculating a 
> surface for subunit B.
> 
> Any ideas would be greatly appreciated.
> 
> Below are the relevant lines of the script:
> 
> ## make all of the objects we'll need
> cmd.create("A+amp+drug","a// or l/1/ or d//")
> cmd.create("B+amp","b// or l/2/")
> 
> cmd.select("drug","d//")
> cmd.select("A+amp","d// or l/1/")
> cmd.select("none")
> 
> cmd.delete("lc03")
> cmd.orient()
> 
> ## color it up
> cmd.color("orange","A+amp+drug and A+amp")
> cmd.color("wheat","B+amp")
> 
> ## let's show separate surfaces for each subunit
> cmd.show("surface","B+amp")
> cmd.flag("ignore","not A+amp","set")
> cmd.show("surface")
> 
> Many thanks,
> Jacob
> 
> 
> 
> -------------------------------------------------------
> This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
> are you planning your Web Server Security? Click here to get a FREE
> Thawte SSL guide and find the answers to all your  SSL 
> security issues.
> http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
> _______________________________________________
> PyMOL-users mailing list
> PyMOL-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pymol-users
> 

Reply via email to