MDAnalysis / mdanalysis

MDAnalysis is a Python library to analyze molecular dynamics simulations.
https://mdanalysis.org
Other
1.28k stars 646 forks source link

Curvature calculation #1274

Closed Shtkddud123 closed 7 years ago

Shtkddud123 commented 7 years ago

Dear all,

I'm new here, and am a finishing PhD student at the university of Warwick. A lot of the calculations I've done has been done in MDanalysis, so I figured that it would only be appropriate that I give back something for all the time that has been saved scripting the profiles I need to calculate.

I wish to make a proposal about a new functionality to calculate the mean and gaussian curvature a bilayer. I already made a discussion about this to the people involved, such as Dr Beckstein and Barnoud - there are number of papers that have already done this, for example:

http://pubs.rsc.org/En/content/articlelanding/2014/cp/c4cp01544d#!divAbstract

There are a number of matlab codes that have already implemented this by using the meshgrid functionality, and basically follows a diffrential geometry term, I think explained in the following link:

http://math.stackexchange.com/questions/135305/calculating-mean-and-gaussian-curvature

Which involves calculating the first and second 'fundamental' form of the surface. The leaflet identifer of MDanalysis already is convenient in that it can identify the bottom and top leaflets, based on headgroup identified by the user. The first step I think would be to implement this to a N x N meshgrid structure at the start of each snapshot of the file (of the xtc/dcd file) and then undergoing the calculation.

The reason I proposed this is because the current methodology I used to calculate the curvature, say, from LAMMPS, involves using the LAMMPS module, conveerting it into a xtc/gro file via vmd, and then using a tool known as g_lomepro (http://www3.mpibpc.mpg.de/groups/de_groot/g_lomepro.html) to calculate the curvature change. I think anyone with interest in membrane protein structure or nanoparticle influence on the bilayer (which is what I work on) might be interested in this. Also, this might also give easy access to the bilayer bending energy (helfrich energy), which from my knowledge is not an easy calculation from the papers I have read.

In any case, I asked for this to be part of GSOC 2017, but even if this does not pass the grade, I would be happy to contribute, if anyone could help me. I've been meaning to do this for some time, but I've unfortunately had been too intimidated. But I'm still motivated to do so.

Any comments and suggestions would be much appreciated

Thanks

Sang

orbeckst commented 7 years ago

I like the idea. The best way forward is to pick a simple test system (probably from your work) and hack together a prototype that shows some basic functionality.

orbeckst commented 7 years ago

@Shtkddud123 I haven't heard anything else from you, I am therefore going to close the issue. If you are ready to work on a curvature calculation then please re-open this issue again (comment on it and ping me).