-
Notifications
You must be signed in to change notification settings - Fork 60
-
Are non-crystallographic symmetry operations supported in GEMMI?
For instance is it possible to model a virus with icosahedral and/or helical symmetries using a monomer model and symmetry operations alone?
If not, maybe you know a library that can do it?
An example of Ico symmetrical capsid from PDB: https://www.rcsb.org/structure/3MUW
Thanks in advance for any advice!
Beta Was this translation helpful? Give feedback.
All reactions
They are supported, although they are rarely exercised.
NCS operations are read from PDB and mmCIF files. They should be taken into account when, for example, searching for neighboring atoms. They can be applied to the model to get the full assembly.
You could search this page for "ncs":
https://gemmi.readthedocs.io/en/latest/mol.html
Replies: 2 comments 6 replies
-
They are supported, although they are rarely exercised.
NCS operations are read from PDB and mmCIF files. They should be taken into account when, for example, searching for neighboring atoms. They can be applied to the model to get the full assembly.
You could search this page for "ncs":
https://gemmi.readthedocs.io/en/latest/mol.html
Beta Was this translation helpful? Give feedback.
All reactions
-
Many thanks for the rapid reply!
Can this be used in reverse manner without reading symmetry section from PDB/mmCIF files? For example if I have a monomer.pdb file (without any symmetry) and I want to build an icosahedral assembly out of it -- what exactly should I do? Couldn't find it in the documentation...
Beta Was this translation helpful? Give feedback.
All reactions
-
I'm afraid gemmi won't help here. I don't know how exactly icosahedral NCS is constructed.
Perhaps the cctbx library can do it.
Beta Was this translation helpful? Give feedback.
All reactions
-
Servalcat can do it, which internally uses gemmi. servalcat util symmodel is designed for that purpose.
An example for helical reconstruction can be found:
https://servalcat.readthedocs.io/en/latest/spa_examples/ab42.html
For icosahedral point group, it supports RELION's I1-I4 conventions. Alternatively you can specify axes. You also need to give the coordinate of the centre (origin of symmetry); otherwise the program assumes it is the centre of the unit cell (box).
Beta Was this translation helpful? Give feedback.
All reactions
-
Here's a snippet that uses gemmi to read the relevant symmetry operations from the CIF file (for 3MUW, there are 60), and then builds the system using mdtraj. I'm sure it would be possible to use gemmi for constructing the system (@wojdyr is there a way to get the atomic coordinates as an n_atoms x 3 array?)
https://gist.github.com/JBGreisman/a34ed5d958f28e5d2ec9c626d0095e2b
This only really works on 3MUW, but it can be modified to work more generally with some more careful parsing of the operations
> python build_particle.py 3MUW > pymol -q virus_particle.pdb -d "util.cbc; split_states virus_particle"
Beta Was this translation helpful? Give feedback.
All reactions
-
Gemmi has function transform_to_assembly() that generates biological assembly according to symmetry operations from PDB or mmCIF file. But Dima doesn't have the operations in the file.
Beta Was this translation helpful? Give feedback.
All reactions
-
🚀 1
-
good to know -- I had been using an older version of gemmi which didn't have that as a Structure method
Beta Was this translation helpful? Give feedback.
All reactions
-
Thanks for the advices!
In principle I can mimic the symmetry section and add it to the monomer CIF file and after that I can use transform_to_asembly() function to generate any symmetry. Even though I don't really like the way it's done in PDB, e.g. in 3MUW they simply store 60 transformation matrices for each monomer -- there must be a better way representing Icosahedral symmetry...
Anyways many thanks to you all for the help!
Beta Was this translation helpful? Give feedback.