Hi John,
I tried the procedure Tom suggests -- it is somewhat but not completely successful selecting only the waters I would consider internal. It requires some tuning of the resolution value used with the "molmap" command, and that value may be different depending on the sizes and shapes of internal cavities in your structure. Here is what I tried:
open 2gbp
molmap protein|ligand 8 model 3
measure mapValues #3 solvent report all
volume all hide
disp solvent
repr bs solvent
start Render by Attribute
(in that tool, use Select tab, show the atom attribute just created with "measure mapValues", move sliders to select the waters with the highest values)
As Tom and Eric mentioned, you could also do the selecting with a command, once you know what the cutoff should be.
I also tried resolution 5 instead of 8, but 8 was definitely more successful at separating inside/outside waters, at least for this particular structure. Even so, I didn't find a cutoff that completely separates the inside/outside waters. A cutoff of about 0.2 gets the interior ones for the most part but also a couple on the outside. A still larger resolution value (>8) might give further improvement, but I haven't looked into it.
Best,
Elaine
On Mar 8, 2011, at 4:14 PM, Tom Goddard wrote:
> Hi John,
>> I just added a Chimera command to get density map values at atom positions.
>> measure mapValues #0 #1:HOH name pdensity
>> Here the map is #0 and it assigns an atom attribute named "pdensity. Eric Pettersen points out that you can select atoms based on attribute values using an atom specifier like
>> select #1@/pdensity>.05
>> The measure mapValues command will be in tonight's Chimera daily builds.
>> Tom
>>>> Hi John,
>>>> Here's an idea about how to define internal water molecules and identify them in Chimera. Make a density map of the molecule at some resolution, say 5 Angstroms, using the Chimera "molmap" command, then define internal waters to be the ones that are located at a point above a certain density threshold. You can use the Chimera "Values at Atom Positions" dialog (menu Tools / Volume Data) to get the interpolated density map value at each atom position. It assigns the density value to each atom. Then you can use the Render by Attribute dialog (menu Tools / Structure Analysis) to select just those atoms with values above the threshold density. Then you can intersect that list of atoms with waters since it will also include protein atoms.
>>>> All this is easy to do but since you want to do it for many frames of a molecular dynamics simulation you need a script that can be run for each MD frame. Unfortunately the values at atom positions and the render by attribute selection capability don't have Chimera command equivalents. But those capabilities (like all Chimera capabilities) can be used with a Python script. I could provide you a script if this sounds useful. Also I'll add to our feature request list the need for Chimera commands that would allow you to do it without resorting to Python.
>>>> Tom
>>>>>> > Hello,
>>>>>>>>>> >
>>>>>>>>>>>> > Is it possible, in Chimera, to select only the internal
>> water
>>>>>>>>>>>> > molecules of a protein structure? I need to find out how
>> many
>>>>>> water
>>>>>>>>>>>> > molecules enter the protein structure from the outside
>> during
>>>>>> a
>>>>>>>>>>>> > molecular dynamics simulation.
>>>>>>>>>>>> >
>>>>>>>>>>>> > Thanks!
>>>>>>>>>>>> >
>>>>>>>>>>>> > John
>>>>>> _______________________________________________
>> Chimera-users mailing list
>>>>Chimera-users at cgl.ucsf.edu>>http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users>>> _______________________________________________
> Chimera-users mailing list
>Chimera-users at cgl.ucsf.edu>http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users