Use values printed from Log inside a script (e.g. RMSD)

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. 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? Thank you, Steven Truong Cambridge University

Steven, I can't answer the second part of your question, but the RMSD can be obtained from the "run" function in python: ``` from chimerax.core.commands import run value = run(session, "rmsd #1 to #2") if value > 2: # do stuff ``` Best, Tony ________________________________ From: ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu> on behalf of Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu> Sent: Tuesday, October 12, 2021 3:39 PM To: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu> Subject: [chimerax-users] Use values printed from Log inside a script (e.g. RMSD) [EXTERNAL SENDER - PROCEED CAUTIOUSLY] 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. 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? Thank you, Steven Truong Cambridge University _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Hi Steven,
On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@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 <https://www.cgl.ucsf.edu/chimerax/docs/user/commands/matchmaker.html> 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
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

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@cgl.ucsf.edu<mailto:pett@cgl.ucsf.edu>> wrote: Hi Steven, On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu<mailto:chimerax-users@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<https://www.cgl.ucsf.edu/chimerax/docs/user/commands/matchmaker.html> 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 _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu<mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://plato.cgl.ucsf.edu/mailman/listinfo/chimerax-users

Steven, rmsdAlign is not the same command - it is from my SEQCROW bundle. rmsdAlign does not return the RMSD value (yet). It also uses the entire model, not subsets of models. I will likely change this at some point. When I use "rmsd" on the command line, it uses the built-in rmsd command. I need to type out "rmsdA" at least to use rmsdAlign. If "rmsd" defaults to rmsdAlign for you, I can rename rmsdAlign in a quick patch. Best, Tony ________________________________ From: ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu> on behalf of Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu> Sent: Tuesday, October 12, 2021 5:39 PM To: Eric Pettersen <pett@cgl.ucsf.edu> Cc: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu> Subject: Re: [chimerax-users] Use values printed from Log inside a script (e.g. RMSD) [EXTERNAL SENDER - PROCEED CAUTIOUSLY] 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@cgl.ucsf.edu<mailto:pett@cgl.ucsf.edu>> wrote: Hi Steven, On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu<mailto:chimerax-users@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<https://www.cgl.ucsf.edu/chimerax/docs/user/commands/matchmaker.html> 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 _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu<mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

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@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@cgl.ucsf.edu> wrote:
Hi Steven,
On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@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

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@cgl.ucsf.edu<mailto:meng@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@cgl.ucsf.edu<mailto:chimerax-users@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@cgl.ucsf.edu<mailto:pett@cgl.ucsf.edu>> wrote: Hi Steven, On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu<mailto:chimerax-users@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

Hi Steven, Get a newer version of ChimeraX. The "rmsd" command was added over a year ago, but it was after the 1.1 release. <https://www.rbvi.ucsf.edu/trac/ChimeraX/wiki/ChangeLog> If you used the User Guide from the Help menu it would be synchronized with the version you actually downloaded, and not have the "rmsd" command. I guess you searched online and found documentation newer than your software. I hope this helps, Elaine ----- Elaine C. Meng, Ph.D. UCSF Chimera(X) team Department of Pharmaceutical Chemistry University of California, San Francisco
On Oct 12, 2021, at 4:18 PM, Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
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).
<PastedGraphic-1.png>
Thank you for the help, Steven
On Oct 12, 2021, at 11:48 PM, Elaine Meng <meng@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@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@cgl.ucsf.edu> wrote:
Hi Steven,
On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@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
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

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@cgl.ucsf.edu> on behalf of Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu> Sent: Tuesday, October 12, 2021 7:18 PM To: ChimeraX Users Help <ChimeraX-users@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@cgl.ucsf.edu<mailto:meng@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@cgl.ucsf.edu<mailto:chimerax-users@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@cgl.ucsf.edu<mailto:pett@cgl.ucsf.edu>> wrote: Hi Steven, On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu<mailto:chimerax-users@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

There is no conflict. If Steven had a newer version of ChimeraX then "rmsd" would execute the rmsd command and not rmsdAlign, whereas "rmsdA" would execute rmsdAlign and not rmsd. --Eric
On Oct 12, 2021, at 4:34 PM, Anthony James Schaefer via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
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@cgl.ucsf.edu <mailto:chimerax-users-bounces@cgl.ucsf.edu>> on behalf of Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> Sent: Tuesday, October 12, 2021 7:18 PM To: ChimeraX Users Help <ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@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).
<PastedGraphic-1.png>
Thank you for the help, Steven
On Oct 12, 2021, at 11:48 PM, Elaine Meng <meng@cgl.ucsf.edu <mailto:meng@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 <https://rbvi.ucsf.edu/chimerax/docs/user/commands/align.html>>
rmsd <https://rbvi.ucsf.edu/chimerax/docs/user/commands/rmsd.html <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@cgl.ucsf.edu <mailto:chimerax-users@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@cgl.ucsf.edu <mailto:pett@cgl.ucsf.edu>> wrote:
Hi Steven,
On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@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
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Eric, I see. I thought rmsd had been in ChimeraX for a long time, but I must have been thinking of Chimera. Thanks, Tony ________________________________ From: Eric Pettersen <pett@cgl.ucsf.edu> Sent: Tuesday, October 12, 2021 7:38 PM To: Anthony James Schaefer <tony.schaefer@uga.edu> Cc: ChimeraX Users Help <ChimeraX-users@cgl.ucsf.edu>; Steven Truong <sdt45@cam.ac.uk> Subject: Re: [chimerax-users] Use values printed from Log inside a script (e.g. RMSD) [EXTERNAL SENDER - PROCEED CAUTIOUSLY] There is no conflict. If Steven had a newer version of ChimeraX then "rmsd" would execute the rmsd command and not rmsdAlign, whereas "rmsdA" would execute rmsdAlign and not rmsd. --Eric On Oct 12, 2021, at 4:34 PM, Anthony James Schaefer via ChimeraX-users <chimerax-users@cgl.ucsf.edu<mailto:chimerax-users@cgl.ucsf.edu>> wrote: 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@cgl.ucsf.edu<mailto:chimerax-users-bounces@cgl.ucsf.edu>> on behalf of Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu<mailto:chimerax-users@cgl.ucsf.edu>> Sent: Tuesday, October 12, 2021 7:18 PM To: ChimeraX Users Help <ChimeraX-users@cgl.ucsf.edu<mailto:ChimeraX-users@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). <PastedGraphic-1.png> Thank you for the help, Steven On Oct 12, 2021, at 11:48 PM, Elaine Meng <meng@cgl.ucsf.edu<mailto:meng@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@cgl.ucsf.edu<mailto:chimerax-users@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@cgl.ucsf.edu<mailto:pett@cgl.ucsf.edu>> wrote: Hi Steven, On Oct 12, 2021, at 12:39 PM, Steven Truong via ChimeraX-users <chimerax-users@cgl.ucsf.edu<mailto:chimerax-users@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 _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu<mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
participants (4)
-
Anthony James Schaefer
-
Elaine Meng
-
Eric Pettersen
-
Steven Truong