[chimerax-users] Use values printed from Log inside a script (e.g. RMSD)

Anthony James Schaefer tony.schaefer at uga.edu
Tue Oct 12 16:34:57 PDT 2021


Steven,

Uninstalling SEQCROW should allow you to use the regular rmsd command. I will update SEQCROW to change the name of the rmsdAlign command to avoid this type of conflict, though the update will not be compatible with ChimeraX 1.1.1. There were significant changes between ChimeraX 1.1 and 1.2, so I'd have to go back pretty far to get things to work with 1.1-era ChimeraX.

You can uninstall SEQCROW by running "toolshed uninstall SEQCROW"

Tony
________________________________
From: ChimeraX-users <chimerax-users-bounces at cgl.ucsf.edu> on behalf of Steven Truong via ChimeraX-users <chimerax-users at cgl.ucsf.edu>
Sent: Tuesday, October 12, 2021 7:18 PM
To: ChimeraX Users Help <ChimeraX-users at cgl.ucsf.edu>
Subject: Re: [chimerax-users] Use values printed from Log inside a script (e.g. RMSD)

[EXTERNAL SENDER - PROCEED CAUTIOUSLY]

Hi Tony and Elaine,

I am currently using ChimeraX-1.1.1.  I think I may have found the issue then.  Whenever I type “rmsd” in the command line, it defaults to rmsdAlign.  Is there a way to fix this?  I’m not sure if it’s a bug or something I did on my end.

You can see this in the screenshot below (I typed rmsd and get rmsdAlign in the log).

[cid:67EE263D-997E-490B-9A0B-2178D2833EFE]

Thank you for the help,
Steven

On Oct 12, 2021, at 11:48 PM, Elaine Meng <meng at cgl.ucsf.edu<mailto:meng at cgl.ucsf.edu>> wrote:

Hi Steven,
Are you using a super-ancient version of ChimeraX?  I'm not aware if there was ever an rmsdAlign command.  By command I mean what you would type into the actual command line or use in a command file.  Maybe there is some other way to access the functionality via python.

However, if the structures are not already superimposed, you may want to use the "align" command instead of the "rmsd" command ... the former calculates a best-fit RMSD whereas the latter just calculates RMSD in the current positions without trying to superimpose/fit them, so if the structures are in some random positions relative to each other you will get a huge value.

align
<https://rbvi.ucsf.edu/chimerax/docs/user/commands/align.html>

rmsd
<https://rbvi.ucsf.edu/chimerax/docs/user/commands/rmsd.html>

Best,
Elaine
-----
Elaine C. Meng, Ph.D.
UCSF Chimera(X) team
Department of Pharmaceutical Chemistry
University of California, San Francisco

On Oct 12, 2021, at 2:39 PM, Steven Truong via ChimeraX-users <chimerax-users at cgl.ucsf.edu<mailto:chimerax-users at cgl.ucsf.edu>> wrote:

Hi Eric, Tony, et al.,

Thank you for answering my question.  For now, I’ll be doing what Tony suggested re: assigning a value with the RMSD command.  Currently, I’m having issues with using “rmsd” by itself (it seems like rmsdAlign is the only valid command).  I’m assuming this is the same command, just named differently.

Re: your inquiry, the protein does have the same sequences.  However, the chain ID is critical, since I am attempting to “stitch” fragments of proteins at different residues.  For example, if I align a fragment to the wrong chain, it will have a bond hanging on the other side of the protein (not good!).  This stitching can be done manually (e.g. if it’s not the right chain or residue ID, I can simply move the fragment), but I am trying to automate this process via Python scripts.  Additionally, I have been doing the bond-forming on Chimera (with the command “bond”).  I’m not sure if there’s a better way of going about this, but my idea currently is to 1. Identify which chains match up, 2. Align fragments from 1 protein to the other (which may have different chain ID identifiers), 3. Make bonds on Chimera.

Many thanks,
Steven

On Oct 12, 2021, at 9:31 PM, Eric Pettersen <pett at cgl.ucsf.edu<mailto:pett at cgl.ucsf.edu>> wrote:

Hi Steven,

On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users at cgl.ucsf.edu<mailto:chimerax-users at cgl.ucsf.edu>> wrote:

Dear ChimeraX Admins,

I was hoping to use the “rmsd” command in ChimeraX to measure distances between models within a .py script.

Is there a way to use the output of “rmsd” (or generally any other output in Log) within the script? For example, if rmsd > 2 Angstroms, then do X.

Tony answered this.

Ultimately, I am attempting to align chains between models. Because my protein is asymmetric, chain A on Model #1 might actually be chain B on Model #2. I was hoping to use “rmsd” to map one chain to the other. Is it a better idea to do this in another program and re-write chain IDs in the .PDB file? If so, what other program would be better at making RMSD calculations between .PDB chains?

Do these chains have the same sequence?  Also, I'm a little uncertain what "map one chain to the other" means exactly.  At any rate, the matchmaker command can be used to superimpose one chain onto another and report the backbone (CA or C4'/P) RMSD for the match.  By default matchmaker iterates its match, pruning off poorly matching regions and re-matching to get a good fitting "core" match, and will report RMSD values for both the core region and across the entire sequence.  You can turn off the iteration if desired with matchmaker's "cutoffDistance none" option.

--Eric

Eric Pettersen
UCSF Computer Graphics Lab


Thank you,
Steven Truong
Cambridge University


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimerax-users/attachments/20211012/3dc4a95e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-1.png
Type: image/png
Size: 113746 bytes
Desc: PastedGraphic-1.png
URL: <http://plato.cgl.ucsf.edu/pipermail/chimerax-users/attachments/20211012/3dc4a95e/attachment-0001.png>


More information about the ChimeraX-users mailing list