[gmx-developers] grompp .mdp processing

Sander Pronk pronk at cbr.su.se
Mon Feb 23 11:54:48 CET 2009

On 23 Feb 2009, at 11:41 , Roland Schulz wrote:

> On Mon, Feb 23, 2009 at 4:11 AM, David van der Spoel <spoel at xray.bmc.uu.se 
> > wrote:
> Over the last years we have discussed moving away from the current  
> structure of gromacs, possibly using C++, or at least by using  
> abstract data types in C, which are appearing in the code more and  
> more now (see src/kernel/gmxcpp.h for an example). Abstract data  
> types allow for a more clear separation of code and data, which is  
> crucial for error checking and maintainability.
> I very much agree with this. And I would add that, in my opinion,  
> this could also help new people (like me) to understand the code.

I'm in the same situation, and being able to look at an API would  
help. In addition, it would make MC-type sampling algorithms (BAR,  
path sampling, etc) easier to implement and faster.

> Although Mark has a point that xml files can be complex, this does  
> not need to be a problem if we provide an API (in different  
> languages, but at least C, Perl) for editing the files that provides  
> complete coverage of all the options. Think something like:
> I think XML is great when read/written from a script. Because there  
> a good libraries for all languages. So speical routines might not  
> even be neccassary. If we provide a library to write the mdp file,  
> the scripts are independent of the file format.
> Thus only editing by hand is influced by the format and my concern  
> is that XML makes it more difficult to edit by hand. Very few people  
> use XML editors for XML - most still use text editors. And I don't  
> see what XML would add as a benefit to the user. What does the user  
> gain to have the abstract data types in the code represented in the  
> mdp file structure? I think the current comments written in the  
> mdout file structure the file for humans as well as XML could do. In  
> case we really think we need some markup language - I would vote for  
> something like YAML to make it best human readable/editable.

Perhaps, in the interim, we could have version numbers on the .mdp  
files - something like

mdp_version = 1.0

That's what I've been doing with my own simulation input files, and it  
works well to keep interpretation of different parameters consistent.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20090223/1ae2962a/attachment.html>

More information about the gromacs.org_gmx-developers mailing list