ISOLDE query - non crystallographic symmetry?

Hi Tristan, I've been using the latest version of ISOLDE with ChimeraX 1.7.1 and it is working beautifully - very smooth simulation and very helpful for fixing up problem areas! One query - is there any support for non crystallographic symmetry in ISOLDE, or if not is this on the roadmap? Thinking both in terms of NCS restraints, but also in terms of propagating edits from one subunit of an oligomer to all the others - this would be very helpful to have for a lot of folks I think, as so many proteins are oligomeric. Thanks for the wonderful piece of software! Cheers Oli

Hi Oli, (sorry for the slow response - was travelling with a very full schedule). I'm glad you're finding ISOLDE useful! Regarding non-crystallographic symmetry: yes and no. Turns out it's extraordinarily difficult (and possibly intractable) to implement true, "live" NCS restraints in an environment like ISOLDE, which relies on a divide-and-conquer approach to maintain performance compatible with interactivity (i.e. simulating only enough of the model to cover the problem you want to fix). The classic approach towards NCS restraints involves biasing all copies of a given site to their internal average conformation - so if one copy is mobile, then for the restraints to work correctly *all* copies would need to be mobile. Not only does that become a bit of an accounting nightmare when initialising a simulation from a given selection, but for high-order NCS it will rapidly blow out the number of atoms in the interactive simulation. That being said, there are a few tricks you can do which are generally pretty good at giving you the desired effect. The general idea (as you might expect) is to focus most of your interactive work on a single copy of the repeat unit, then propagate your changes to the remainder using mostly non-interactive simulations. Approach 1: use your working copy as a template for torsion and/or distance restraints on the remaining copies. For example, if your working copy is made up of chains A and B, and you want to propagate to chains C and D: isolde restrain torsions #1/C template #1/A angleRange 180 isolde restrain torsions #1/D template #1/B angleRange 180 isolde restrain distances "#1/C","#1/D" template "#1/A","#1/B" useCoord f The resulting restraints will of course only be targeted to the current instantaneous conformation of the template chains, but you can update them whenever you want to by repeating the commands. Probably the easiest way (particularly for bigger models with many NCS chains) is to put all the necessary commands in a .cxc command script so you can repeat them with e.g. "open apply_ncs_restraints.cxc". Approach 2: delete and replace the NCS chains with copies of your working chains. For the same scenario as above: sel #1/A,B save template.pdb #1 sel t open template.pdb match #2/A to #1/C del #1/C,D sel #2 ... then use ISOLDE/Model Building/Merge Models Into Working Model This approach has its pros and cons. Pro: it ensures your symmetry copies are identical to your main copy (at least until you start things moving again). Cons: (a) if you had any restraints applied to your symmetry copies, they will be wiped out; (b) it is not guaranteed that the chain IDs in the replacement symmetry copies will be the same as the ones you just deleted. For what it's worth, there may be a better approach in the works, but it will take a bit of effort to fully implement in ISOLDE and I'm a bit short on development time lately so I can't make any promises on when it will happen. Peter Eastman on the OpenMM team recently added the ability to support symmetry-constrained MD (where the simulation consists of a single set of "true" atoms plus a set of transformation matrices to set the positions of their symmetry equivalents). Best, Tristan On Tue, Mar 19, 2024 at 3:27 PM Oliver Clarke <olibclarke@gmail.com> wrote:
Hi Tristan,
I've been using the latest version of ISOLDE with ChimeraX 1.7.1 and it is working beautifully - very smooth simulation and very helpful for fixing up problem areas! One query - is there any support for non crystallographic symmetry in ISOLDE, or if not is this on the roadmap?
Thinking both in terms of NCS restraints, but also in terms of propagating edits from one subunit of an oligomer to all the others - this would be very helpful to have for a lot of folks I think, as so many proteins are oligomeric.
Thanks for the wonderful piece of software!
Cheers Oli
-- Altos Labs UK Limited | England | Company reg 13484917 Registered address: 3rd Floor 1 Ashley Road, Altrincham, Cheshire, United Kingdom, WA14 2DT

Thanks very much Tristan! Both approaches are fine for lower symmetries, but become somewhat difficult to implement at higher symmetries (e.g. icosahedral or higher Cn) symmetries, and also become more awkward if the asymmetric unit consists of more than one chain. The symmetry constrained MD approach sounds very promising! Coot has a function to "copy NCS chains" - basically to automatically determine NCS matrices, and then propagate edits from one chain to all the NCS related ones - something like this would be wonderful to have in ISOLDE at some point (even without true NCS restraints). Cheers Oli
On Mar 25, 2024, at 9:33 AM, Tristan Croll <tcroll@altoslabs.com> wrote:
Hi Oli, (sorry for the slow response - was travelling with a very full schedule).
I'm glad you're finding ISOLDE useful! Regarding non-crystallographic symmetry: yes and no. Turns out it's extraordinarily difficult (and possibly intractable) to implement true, "live" NCS restraints in an environment like ISOLDE, which relies on a divide-and-conquer approach to maintain performance compatible with interactivity (i.e. simulating only enough of the model to cover the problem you want to fix). The classic approach towards NCS restraints involves biasing all copies of a given site to their internal average conformation - so if one copy is mobile, then for the restraints to work correctly all copies would need to be mobile. Not only does that become a bit of an accounting nightmare when initialising a simulation from a given selection, but for high-order NCS it will rapidly blow out the number of atoms in the interactive simulation.
That being said, there are a few tricks you can do which are generally pretty good at giving you the desired effect. The general idea (as you might expect) is to focus most of your interactive work on a single copy of the repeat unit, then propagate your changes to the remainder using mostly non-interactive simulations.
Approach 1: use your working copy as a template for torsion and/or distance restraints on the remaining copies. For example, if your working copy is made up of chains A and B, and you want to propagate to chains C and D: isolde restrain torsions #1/C template #1/A angleRange 180 isolde restrain torsions #1/D template #1/B angleRange 180 isolde restrain distances "#1/C","#1/D" template "#1/A","#1/B" useCoord f
The resulting restraints will of course only be targeted to the current instantaneous conformation of the template chains, but you can update them whenever you want to by repeating the commands. Probably the easiest way (particularly for bigger models with many NCS chains) is to put all the necessary commands in a .cxc command script so you can repeat them with e.g. "open apply_ncs_restraints.cxc".
Approach 2: delete and replace the NCS chains with copies of your working chains. For the same scenario as above: sel #1/A,B save template.pdb #1 sel t open template.pdb match #2/A to #1/C del #1/C,D sel #2
... then use ISOLDE/Model Building/Merge Models Into Working Model
This approach has its pros and cons. Pro: it ensures your symmetry copies are identical to your main copy (at least until you start things moving again). Cons: (a) if you had any restraints applied to your symmetry copies, they will be wiped out; (b) it is not guaranteed that the chain IDs in the replacement symmetry copies will be the same as the ones you just deleted.
For what it's worth, there may be a better approach in the works, but it will take a bit of effort to fully implement in ISOLDE and I'm a bit short on development time lately so I can't make any promises on when it will happen. Peter Eastman on the OpenMM team recently added the ability to support symmetry-constrained MD (where the simulation consists of a single set of "true" atoms plus a set of transformation matrices to set the positions of their symmetry equivalents).
Best, Tristan
On Tue, Mar 19, 2024 at 3:27 PM Oliver Clarke <olibclarke@gmail.com <mailto:olibclarke@gmail.com>> wrote:
Hi Tristan,
I've been using the latest version of ISOLDE with ChimeraX 1.7.1 and it is working beautifully - very smooth simulation and very helpful for fixing up problem areas! One query - is there any support for non crystallographic symmetry in ISOLDE, or if not is this on the roadmap?
Thinking both in terms of NCS restraints, but also in terms of propagating edits from one subunit of an oligomer to all the others - this would be very helpful to have for a lot of folks I think, as so many proteins are oligomeric.
Thanks for the wonderful piece of software!
Cheers Oli
Altos Labs UK Limited | England | Company reg 13484917 Registered address: 3rd Floor 1 Ashley Road, Altrincham, Cheshire, United Kingdom, WA14 2DT
participants (2)
-
Oliver Clarke
-
Tristan Croll