From: DeLano, W. <wa...@su...> - 2003-01-20 21:55:40
|
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=3D'A+amp' or cmd.translate([1,0,0],object=3D'A+amp') Also note that reset object=3D'A+amp'=20 will restore the object's original position. Cheers, Warren =20 -- mailto:wa...@su... Warren L. DeLano, Ph.D.=20 Informatics Manager=20 Sunesis Pharmaceuticals, Inc.=20 341 Oyster Point Blvd.=20 S. San Francisco, CA 94080=20 (650)-266-3606 FAX:(650)-266-3501 > -----Original Message----- > From: Jacob Corn [mailto:jc...@uc...] > Sent: Monday, January 20, 2003 1:36 PM > To: pym...@li... > Subject: [PyMOL] Separate surfaces >=20 >=20 > Hi all, > It's possible that I've run into a bug/undocumented feature, but I'd=20 > 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=20 > surfaces for each subunit in a dimer (excluding a drug bound between=20 > the subunits), then split the monomers apart and zoom into a drug=20 > binding site. However, I'm running into some problems when I try to=20 > create the separate surfaces. >=20 > In plain english, what the script does is create two objects, one=20 > containing one subunit (B), and the other containing the=20 > other subunit=20 > AND the drug (A) (when I split the monomers apart I want the drug to=20 > follow one monomer). I then calculate the surface for subunit B, flag=20 > everything that's not subunit A as ignore, then calculate the surface=20 > for subunit A. > If I input each line separately, the script works perfectly and I get=20 > two separate surfaces around each subunit and no surface around the=20 > drug. But if I run the script from the PyMOL command line or=20 > copy/paste=20 > the whole script at once into the command line, only subunit=20 > A shows a=20 > surface. The drug (correctly) does not have a surface, but (from the=20 > output in the terminal) it looks like PyMOL isn't even calculating a=20 > surface for subunit B. >=20 > Any ideas would be greatly appreciated. >=20 > Below are the relevant lines of the script: >=20 > ## 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/") >=20 > cmd.select("drug","d//") > cmd.select("A+amp","d// or l/1/") > cmd.select("none") >=20 > cmd.delete("lc03") > cmd.orient() >=20 > ## color it up > cmd.color("orange","A+amp+drug and A+amp") > cmd.color("wheat","B+amp") >=20 > ## let's show separate surfaces for each subunit > cmd.show("surface","B+amp") > cmd.flag("ignore","not A+amp","set") > cmd.show("surface") >=20 > Many thanks, > Jacob >=20 >=20 >=20 > ------------------------------------------------------- > 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=20 > security issues. > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en > _______________________________________________ > PyMOL-users mailing list > PyM...@li... > https://lists.sourceforge.net/lists/listinfo/pymol-users >=20 |