Hi Tim,
I don’t know what your proficiency in Python is, but it is pretty easy to do in a Python because ChimeraX provides a function (chimerax.core.commands.run()) for running ChimeraX commands, so as long as you know the commands you want to execute you can make a loop to execute those commands.  Let’s say you want to find the H-bonds in models 1, 4, and 7 and save them to separate files in a subdirectory of your home directory named “hbonds” (which you have already created).  The Python would be:

from chimerax.core.commands import run
for model_num in [“1”, “4”, “7”]:
run(session, “hbonds “ + model_num + “ saveFile ~/hbonds/“ + model_num + “.txt”)

You would save the above into a file with a sufficient of “.py” and just “open” that file in ChimeraX to run it.

--Eric

Eric Pettersen
UCSF Computer Graphics Lab


On Feb 2, 2026, at 9:25 AM, Elaine Meng via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:

Hi Tim,
For repetitive analyses, an approach I've taken as a non-Python programmer is to put the analysis commands in a separate cxc file, with names instead of direct atom specifications, e.g. analysis.cxc could be a text file containing several commands such as:

hbonds blort1 restrict blort2 color black
contacts blort1 restrict blort2 distanceOnly 3.6 reveal true select true; sel up
[...etc.]

...and then interactively you could keep giving different atomspecs those names and repeating the analysis, e.g. commands such as:

name blort1 #1/A,B
name blort2 #1/V
open analysis.cxc
[...maybe save or rename results files or do some other manual intervention..]

name blort1 [different-atom-spec1]
name blort2 [different-atom-spec2]
open analysis.cxc
[...etc.]

That is how I personally tend to use the "name" command: for text substitution, not involving selection.
<https://rbvi.ucsf.edu/chimerax/docs/user/commands/name.html>

This approach is not a complete automation since it does not uniquely generate output file names.  Only the forEachFile option for opening a cxc file would generate unique output filenames but it only does so per single input structure, not when you have multiple different analyses within a single input structure.
<https://rbvi.ucsf.edu/chimerax/docs/user/commands/open.html#forEachFile>

I hope this helps,
Elaine
-----
Elaine C. Meng, Ph.D.                       
UCSF Chimera(X) team
Resource for Biocomputing, Visualization, and Informatics
Department of Pharmaceutical Chemistry
University of California, San Francisco

On Feb 1, 2026, at 5:24 PM, Elaine Meng via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:

Hi Tim,
See answers interleaved below:

On Feb 1, 2026, at 11:07 AM, Timothy Springer via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:

Hi, I want to do select zone  and hbonds commands for about 10 objects. Is there a way to do each with a single command, similar to using mm to align multiple objects to the same target?

are there do loops or foreachobject commands?

No.  I can't think of how to do it with just commands -- you may need Python, but others would have to advise on that.

hbonds #1/V restrict #1/A-B color black
hbonds #2/V restrict #2/A-B color black


select zone #1/V 3.6 #1/A,B residues true; name frozen inter_vcam_a4b1a sel
show sel atoms
select zone #1/A,B 3.6 #1/V residues true; name frozen inter_vcam_a4b1b sel
show sel atoms

for zones, can one get contacts on both sides in a single command?

Yes, if you just use "contacts" instead of "select zone."

Example:  contacts #1/A,B restrict #1/V distanceOnly 3.6 reveal true select true; sel up

... where the latter promotes the selection from the contacting atoms to their whole residues.

See clashes/contacts help: <https://rbvi.ucsf.edu/chimerax/docs/user/commands/clashes.html>

I hope this helps,
Elaine
-----
Elaine C. Meng, Ph.D.                       
UCSF Chimera(X) team
Resource for Biocomputing, Visualization, and Informatics
Department of Pharmaceutical Chemistry
University of California, San Francisco



_______________________________________________
ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu
To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu
Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/