[gmx-developers] Python interface for Gromacs

Teemu Murtola teemu.murtola at cbr.su.se
Thu Sep 9 09:25:27 CEST 2010

David van der Spoel wrote:
> People in the Lindahl group are working on parallellizing analysis tools
> because they are quickly becoming the bottleneck. We run simulations of
> large systems on hundreds of processors, and due to checkpointing this can
> be done largely unattended. Analysis can take a lot of effort, both hardware
> (CPU, Disk) and organisational. I think the prime advantage of a scripting
> languagae like Python could be organisational.

Being one who has put some effort into this, I can make a quick comment.

A major change in the analysis tools has been planned for quite some
time, but has been waiting for the 4.5 release and C -> C++
transition.  There are three major reasons for this change:

1. Convert tools to use the dynamic selection routines now used for
g_select in the 4.5 release.

2. Support for easy parallelization of tools, in particular those that
analyze frames independently.

3. Modularizing the analysis tools for easier interfacing.

I have a significant amount of code semi-ready to allow all of these
to happen, but it will probably take a month or two to finish that,
once post-4.5 development really starts.  I think that it would be
most productive to write the Python interface for this new framework,
which would potentially then allow all analysis tools to be used from
Python once they have been converted.  Converting all the analysis
tools to the new framework would of course take a longer time, but
that can be done incrementally, one tool at the time when required.

In addition to interfacing existing analysis tools, it would probably
be useful to have a Python interface to the high-level routines
underlying the framework for handling selections and trajectories (the
latter not yet being written).  With these in place, Python would
already make it possible to quickly do non-trivial analysis that
existing tools would not directly support.


Teemu Murtola
<teemu.murtola at cbr.su.se>

More information about the gromacs.org_gmx-developers mailing list