Replies: 1 comment 12 replies
-
HI Anthony, There isn't a tool that does exactly what you want, but the pieces are there to make it easy. Almost everything you need is in the class
all_chains = loos.selectAtoms(system, 'segid ="PRTN"')
chains = all_chains.splitByMolecule() # or, if you're using a gro file, you'll need to do something else to get the individual chains
c0 = chains[0].centroid()
c1 = chains[1].centroid()
dist_sq = c0.distance2(c1, system.periodicBox()) # compute the distance squared, respecting periodicity
if (dist_sq < threshold_sq):
# do something to store that they're in contact This will work fine if you know that the helices are going to stay more or less vertical in the membrane. If you don't want to assume that, then you could use I can see a couple of ways to figure out how many aggregates there are given the identification of pairs. I'll lay them out if you'd like, but I suspect you already have similar or better ideas. There might even be something in scipy (clustering, perhaps?) that does it, but with only 4 chains I suspect that would be overkill. Just as an aside, I'd recommend using xtc instead of trr for your trajectories. If I recall correctly, trr is a much more verbose file format, and your storage will quickly become an issue. Hope this helps (and please ask more questions if it wasn't!), Alan PS I could easily imagine this being generally useful. Let me know if you're interested in adding the tool to LOOS when it's done. |
Beta Was this translation helpful? Give feedback.
-
Dear LOOS developers and users,
I thought I would put up a discussion here to avoid reinventing the wheel (in case it exists).
Objective:
With the help of LOOS I'm looking at writing a python function that will report the oligomeric state of a system.
System:
Using Gromacs, I'm running a martini CG simulation of four transmembrane (TM) helices in a POPC:DPPC bilayer system. The simulation runs for N steps and saves M frames to a .trr gromacs trajectory.
Outcome:
On a single coordinate frame by coordinate frame basis (in the .trr file) I would like to report the oligomeric state of the four TM helices. Thus, by the end of the trajectory, I should have M (number of frames) rows of oligomeric state data. For examples, a single saved coordinate frame will of four helices report one of four oligomeric states:
I plan on automating these processes to run over several hundred short CG MD simulations. I'm happy doing the python grunt work, I would like to know (a) doing this exist in any shape or form already, (b) if not, which particular LOOS classes/functions would you envisage using?
I imagine an interaction distance of e.g., 1.4 nm, between n helices is essential. If within or less than that distance, those n helices are considered to be in one of the four above states.
Many thanks
Anthony Nash
University of Oxford
Beta Was this translation helpful? Give feedback.
All reactions