-
Notifications
You must be signed in to change notification settings - Fork 657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
π-stacking analysis and RingGroup #2188
Comments
I think Then |
I think it would be a very nice thing to have, indeed. Though I would be careful to well separate the ring detection from the For the π-stacking, I'd be careful not to hard code the cut-offs. I think the tool would interest some members of my group, but only if they can use it on coarse-grained simulations. |
@jbarnoud yep, double agreement. Ring detection should just be a convenient way to make rings, but not the only way. I imagine plenty of people who know their topology well will be able to select via atom types. pi stacking can be as flexible as rdf/hbond tools where we have the geometry have customisable criteria (with sensible defaults) Thinking about it, a ring Group would need (positions of) atoms that make the ring, then (positions of) atoms that form the defining plane (ie only 3) |
I think it will also be great if we define a vector giving the position of all these centre of masses, for like a larger and more broader analysis, what it will ensure is that any activity that is very specific in its nature of orientation can be implemented properly onto the system of these centres |
@micaela-matta since the code works only on benzene, maybe for other aromatic structures we can define the position of the functional group attached and then make the decision? Or choose one particular position (ortho, meta or para) and then define the orientation, cause those will then be uniform across all the aromatic structures? |
ODDT seems to have functionality do detect pi stacking, which might be relevant to this issue. |
Hi everyone. I too would benefit from a RingGroup function in MDAnalysis. The protein that I have been studying recently relies strongly on pi-pi stacking and cation-pi bonds so I wrote a couple of MDAnalysis classes inspired by hbond_analysis.py which detect, store, and output bonds in a similar way. This code would definitely benefit from a RingGroup extension since the atom selection is currently hard-coded for the aromatic sidechain of tyrosine and not suitable for any sort of automatic ring detection. Please take a look at the demo that I put together and let me know if there has been any further discussion regarding development of RingGroup. |
Hi @Jacob608 - thanks for reviving the discussion. There haven't been many developments to report.. A student in my group started working on a π-stacking tool but, while their implementation work for general rings, it does not have a |
I work on highly conjugated systems with varying degrees of order and quantifying π-stacking is a core element of my analysis. I have worked with @richardjgowers on an algorithm that uses networkx features to find all rings in a Universe, and then analyzes the contacts between them. Briefly, two rings are π-stacking if:
i) their centers of mass are close enough
ii) the angle between their normal vectors is roughly parallel
iii) any pair of atoms in the rings is 3-4 Å away (to account for staggered interactions)
An important point is that the rings can have any number of atoms (5, 6 or more.. I deal with organic semiconductors that almost always feature fused rings).
While this works for me at the moment, there is definitely room for improvement. I have not seen this feature implemented elsewhere except here, but this is not super efficiently coded and only works for benzene - sigh..
The text was updated successfully, but these errors were encountered: