[Chimera-users] Selecting residues with zones when reference is absent

Elaine Meng meng at cgl.ucsf.edu
Tue Oct 1 13:34:51 PDT 2019

> On Oct 1, 2019, at 11:39 AM, Carlos G. Oliver <cgoliver at protonmail.com> wrote:
> Hi Elaine,
> I just have a follow-up question on this topic.
> Specifically the command:
> select ligand & nucleic acid z<10
> I'm not sure how the & operator is working here but it seems that it considers the two selections independently and then takes the intersection.
> However it would be faster to first select the ligands and then within the ligand atoms find the ones that satisfy the second condition.
> When I tested it on 6s0z knowing beforehand the name of the residue:
> select #0:ery z<10
> The computation is much faster.
> Wondering if there is a way to more efficiently combine the selection conditions similar to this.
> Thanks again!
> Best,
> Carlos G. Oliver

Hi Carlos,
Sending questions to chimera-users (CC’d here) is recommended unless involving private data.  Others may know the answer when I don’t, and messages may fall through the cracks if you them only to my individual address.

I’m not a programmer and don’t know the code structure, so I don’t know if there is any ingenious way of structuring your specification to make it faster.  There might not be a way. 

However, your two commands seem to be doing totally different things.  Is ERY the ligand?  In that case your second command is lacking the “nucleic acid” part. The documentation says that & has highest priority, 

… so your second command
> select ligand & nucleic acid z<10
intersects ligand with all residues within 10 angstroms of nucleic acid. is that what you are trying to do, find all ligands within 10 A of nucleic acids?  Naturally this is going to take much longer than your first command
> select #0:ery z<10

… which just finds all residues within 10 A of ligand ERY.  It’s looking at a zone from one residue instead of a zone from many (hundreds?) of nucleic acid residues.

The comparison should instead be to
select #0:ery & nucleic acid z<10

… which I suspect would be just as slow. There are various ways to split up the selection process but I don’t have any reason to believe that they would be faster.

In general, ChimeraX is much faster than Chimera for working with large structures (say ribosome), at least in rendering, and allows using parentheses in command-line specifications so it’s clearer what you will get. In ChimeraX, the command could be something like

select ligand & (nucleic :<10)

...which takes 1 second on my laptop with structure 6s0z, whereas Chimera with your first example command is just hanging on that same structure and had to be force-quit.  However, maybe ChimeraX doesn’t do all of the other things you are currently trying to do.

ChimeraX is available under similar licensing conditions as Chimera (free for noncommercial use):

I hope this helps,
Elaine C. Meng, Ph.D.                       
UCSF Chimera(X) team
Department of Pharmaceutical Chemistry
University of California, San Francisco

More information about the Chimera-users mailing list