Looks to me like you aren’t restricting your ligand selection to carbons only. In the case of LBV the contact is to a carbon so it’s counted in whole, but for glycerol the oxygen contacts aren’t counted in
whole.
--
Kevin M. Jude, PhD
Structural Biology Research Specialist, Garcia Lab
Howard Hughes Medical Institute
Stanford University School of Medicine
Beckman B177, 279 Campus Drive, Stanford CA 94305
From:
Andrew Guo via ChimeraX-users <chimerax-users@cgl.ucsf.edu>
Date: Sunday, August 17, 2025 at 9:17 PM
To: chimerax-users@cgl.ucsf.edu <chimerax-users@cgl.ucsf.edu>
Cc: John P. Orban <jorban@umd.edu>
Subject: [chimerax-users] Question Regarding Contacts Command in ChimeraX
Hello,
My name is Andrew Guo, an undergraduate at the University of Maryland College Park, doing research under Dr. John Orban with help from Dr. Andy LiWang from the University of California Merced, in the field
of protein fold switching. Dr. LiWang recently used ChimeraX to calculate vdW contacts closer than 3.8 A between carbons in the context of a fold switching region in a small list of 26 "metamorphic" proteins (see here).
I am now working on automating the whole process of calculating these contacts. In doing so, I have encountered a strange inconsistency that I do not know how to fix, and was hoping to gain some insight from
the people who have developed ChimeraX. Previously, the overall contacts count was calculated by first calculating interdomain contacts then intradomain contacts and summing the two. It would be much simpler to calculate the contacts in one "whole" command
instead of restricting the command to just interdomain or intradomain contacts. However, I have found that this "whole" command sometimes includes ligand contacts.
For instance, for the pdb code 4O01A and region of interest residues 446-478, I have the following set of commands:
interdomain: contacts /A:446-478@C* restrict /A:1-445,479-506@C* distance 3.8 reveal true name vdW
output 13
intradomain: contacts /A:446-478@C* restrict /A:446-478@C* distance 3.8 reveal true name vdW
output 8
"whole": contacts /A:446-478@C* restrict /A@C* distance 3.8 reveal true name vdW
output 22
Obviously, 13 and 8 do not sum to 22.
Ligand command: contacts /A:446-478@C* restrict ligand distance 3.8 reveal true name vdW
This ligand command had an output of 1 and was the following:
/A LEU 463 CD1 /A LBV 600 CMA (alt loc A)
This contact was also the extra contact found in my "whole" command output, so I could just run the two commands (whole and ligand) and subtract the output of the ligand command from the output of the whole command.
However, for the pdb code 3KMZA and region of interest residues 393-421, I have the following:
interdomain: contacts /A:393-421@C* restrict /A:1-392@C* distance 3.8 reveal true name vdW
output 0
intradomain: contacts /A:393-421@C* restrict /A:393-421@C* distance 3.8 reveal true name vdW
output:
1 distances
atom1 atom2 distance
/A MET 400 CG /A GLU 401 C 3.788
"whole": contacts /A:393-421@C* restrict /A@C* distance 3.8 reveal true name vdW
output:
1 distances
atom1 atom2 distance
/A MET 400 CG /A GLU 401 C 3.788
ligand: contacts /A:393-421@C* restrict ligand distance 3.8 reveal true name vdW
output 6
1-6 = -5 contacts
Using my method, I get -5. Clearly, this is bad.
The ligand command gave these 6 contacts:
6 distances
atom1 atom2 distance
/A THR 397 CG2 /A GOL 3 O3 3.321
/A ARG 394 CD /A GOL 3 O2 3.411
/A ILE 396 CA /A GOL 3 O3 3.436
/A ILE 396 CG2 /A GOL 3 O2 3.667
/A ILE 396 C /A GOL 3 O3 3.703
/A ILE 396 CB /A GOL 3 O3 3.721
However, these contacts were not part of the output of the whole command, unlike in the case of 4O01A. Is there something I am doing wrong with how I am setting up my commands? Please let me know if further information is needed!
Thank you,
Andrew