adding an atom at the centroid of a blob

Hi everyone, I have obtained cavities for a given atom selection using surfnet and I want to put an atom at the centroid of the main blob. I know how to do this for a selected set of atom but I am struggling with the surfaces. At this point, I splitted it (accelator Sc) and then I can select the blob I am interested in. But how could I create a particular object for this blob? From there, how could I add an atom (i.e. helium) and the centroid of the blob? Thanks for any help, JD Dr. Jean-Didier Maréchal Lecturer Computational Biotechnological Chemistry @ Transmet Unitat de Química Física Departament de Química Universitat Autònoma de Barcelona Edifici C.n. 08193 Cerdanyola (Barcelona) Tel: +34.935814936 e-mail: JeanDidier.Marechal@uab.es ----- Missatge original ----- De: chimera-dev-request@cgl.ucsf.edu Data: Dimarts, Desembre 15, 2009 9:00 pm Assumpte: Chimera-dev Digest, Vol 71, Issue 4
Send Chimera-dev mailing list submissions to chimera-dev@cgl.ucsf.edu
To subscribe or unsubscribe via the World Wide Web, visit http://www.cgl.ucsf.edu/mailman/listinfo/chimera-dev or, via email, send a message with subject or body 'help' to chimera-dev-request@cgl.ucsf.edu
You can reach the person managing the list at chimera-dev-owner@cgl.ucsf.edu
When replying, please edit your Subject line so it is more specific than "Re: Contents of Chimera-dev digest..."
Today's Topics:
1. Re: [Chimera-users] Programmer's Guide feedback.... (Eric Pettersen) 2. Re: [Chimera-users] Programmer's Guide feedback.... (Tom Goddard) 3. Re: [Chimera-users] Programmer's Guide feedback.... (Eric Pettersen)
-------------------------------------------------------------------- --
Message: 1 Date: Tue, 15 Dec 2009 10:55:42 -0800 From: Eric Pettersen <pett@cgl.ucsf.edu> To: chimera-dev@cgl.ucsf.edu Subject: Re: [chimera-dev] [Chimera-users] Programmer's Guide feedback.... Message-ID: <61EC3E93-8EE5-48E0-AB71-4705D5162EE4@cgl.ucsf.edu> Content-Type: text/plain; charset="us-ascii"; Format="flowed"; DelSp="yes"
On Dec 15, 2009, at 9:36 AM, Tom Goddard wrote:
4. The ToolbarButton.py doesn't work unless the "import re" and
"import chimera" are in the function body. This is because Chimera deletes all globals after loading a file. This has often been a headache for me and Chimera should not delete globals.
This is a behavior of Python. We load scripts into their own temporary module to avoid pollution of the Chimera main namespace (e.g. if the script defined globals named "id" or "sum" or "type" they would override built-in functions of the same name for all future script executions!). When Chimera unloads the temporary module, Python nulls out it's global namespace (to give garbage collection a shot at working).
Now perhaps Chimera shouldn't unload the module. I think this would be a reasonable change. Perhaps it could be discussed at our next internal Chimera developers' meeting to ensure that I'm not forgetting any other ramifications that the change might have.
--Eric
Eric Pettersen UCSF Computer Graphics Lab http://www.cgl.ucsf.edu

On Jan 13, 2010, at 8:01 AM, Jean Didier Pie Marechal wrote:
Hi everyone, I have obtained cavities for a given atom selection using surfnet and I want to put an atom at the centroid of the main blob. I know how to do this for a selected set of atom but I am struggling with the surfaces.
At this point, I splitted it (accelator Sc) and then I can select the blob I am interested in. But how could I create a particular object for this blob? From there, how could I add an atom (i.e. helium) and the centroid of the blob? Thanks for any help, JD
Hi JD, Now that you have your one surface piece selected (and nothing else), you could use the command "focus sel" or menu item "Actions.. Focus" to center the view on it, then add the atom at the center of view with the Build Structure tool (under Tools... Structure Editing). You would go to the "Add Atoms" tab in that tool, choose "atom" and click "Add." It may not be the centroid of the blob as calculated from its vertices, but the center of its bounding box. You may want to try it and see if the result is sufficient. That's the user interface way. Maybe you meant in python -- if so, somebody else will have to answer! Best, Elaine

On Jan 13, 2010, at 8:01 AM, Jean Didier Pie Marechal wrote:
Hi everyone,
I have obtained cavities for a given atom selection using surfnet and I want to put an atom at the centroid of the main blob. I know how to do this for a selected set of atom but I am struggling with the surfaces.
At this point, I splitted it (accelator Sc) and then I can select the blob I am interested in. But how could I create a particular object for this blob? From there, how could I add an atom (i.e. helium) and the centroid of the blob?
So, how accurate do you want to be? You could iterate through the coordinates of the surface vertices to compute a centroid. You would probably want to look at the code of the ESP extension for that since it gets the coordinates of surface vertices so it can compute the electrostatic potential for them. My preferred (lazier) approach is to place the atom at the center of the bounding sphere, which is where the focus/window commands place the center of the view. Cribbed and modifying code from those commands... from Midas import boundingSphere from chimera import selection sph = boundingSphere(selection.copyCurrent()) if sph is None: raise ValueError("Nothing selected") from BuildStructure import placeHelium a = placeHelium("CTR", position=sph.center) --Eric Eric Pettersen UCSF Computer Graphics Lab http://www.cgl.ucsf.edu
participants (3)
-
Elaine Meng
-
Eric Pettersen
-
Jean Didier Pie Marechal