[chimerax-users] Use symmetry information in Isolde
Sean Connell
sean.connell at gmail.com
Tue Apr 6 01:53:52 PDT 2021
Thanks Tristan, I will try this out and if I have any more questions get back to you.
Sean
> On 6 Apr 2021, at 10:28, Tristan Croll <tic20 at cam.ac.uk> wrote:
>
> This is one of many things that has a preliminary implementation in ISOLDE, but is not yet exposed to the main interface. You can get to it via the Python shell, though (Tools/General/Shell). To reimpose strict symmetry: assuming you have your model initialised in ISOLDE, save your session in case of trouble ("save session.cxs"), prune your model down to one asymmetric unit (e.g. "sel /A,B; del ~sel"), then in the shell:
>
> m = session.isolde.selected_model
> from chimerax.isolde.phenix.map_symmetry import parse_map_symmetry_file
> symmetry_map = parse_map_symmetry_file('symmetry_from_map.ncs_spec')
>
> from chimerax.isolde.atomic.building.ncs import create_all_ncs_copies
> create_all_ncs_copies(m, symmetry_map[0])
>
> One known bug is that any bonds between different chains will be lost - if present, you'll need to re-add them manually.
> That extreme approach should only be necessary if you make really big changes, though (e.g. shifting a segment in register, major movement of bulky sidechains). For smaller changes it may be easier to just use your "working" ASU as a template for torsion restraints on the remaining chains. A bit repetitive doing it via the command line, e.g.:
>
> isolde restrain torsions #1/C template #1/A angleRange 180
>
> ... and repeat for each matching NCS copy, one chain at a time. This will restrain the NCS copies to the current geometry of your template ASU - you'll need to repeat the command later if you make further changes. If you have many chains, you could save yourself some time by setting up a simple loop in the shell, e.g.:
>
> def reimpose_symmetry(session):
> ncs_map = {
> "A": ["C","E","G"],
> "B": ["D","F","H"]
> }
> from chimerax.core.commands import run
> for template, ncs_list in ncs_map.items():
> for ncs_chain in ncs_list:
> run(session, "isolde restrain torsions #1/{} template #1/{} angleRange 180".format(ncs_chain, template))
> reimpose_symmetry(session)
>
> ... and then re-run reimpose_symmetry(session) every time you want to update the restraints. Of course, you'll need to actually run a simulation encompassing the whole model for these restraints to take effect.
>
> Hope this helps! I do hope to flesh out this tool as time permits.
>
> -- Tristan
>
>
> From: ChimeraX-users <chimerax-users-bounces at cgl.ucsf.edu> on behalf of Sean Connell <sean.connell at gmail.com>
> Sent: 06 April 2021 08:44
> To: chimerax-users at cgl.ucsf.edu <chimerax-users at cgl.ucsf.edu>
> Subject: [chimerax-users] Use symmetry information in Isolde
>
> Hello I have a naive question about using Isolde to build a model into a cryoEM map generated with symmetry (ie. D4). Basically I don't understand how to rebuild a chain and have the changes reflected in the symmetry related chains when using a cryoEM map. Is it possible to use, for example, a NCS file (like symmetry_from_map.ncs_spec) generated by phenix in order to get Isolde to build simultaneously the NCS related chains? Or is there another way build symmetry related chains into a symmetrical cryoEM map?
>
> Thanks for any tips you have.
> _______________________________________________
> ChimeraX-users mailing list
> ChimeraX-users at cgl.ucsf.edu <mailto:ChimeraX-users at cgl.ucsf.edu>
> Manage subscription:
> https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimerax-users/attachments/20210406/d84adf12/attachment.html>
More information about the ChimeraX-users
mailing list