<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Grid Workflow Approach using the CELLmicrocosmos 2.2 MembraneEditor and UNICORE to commit and monitor GROMACS Jobs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sebastian Rubert</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Gamroth</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jens Krüger</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Björn Sommer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Bio-/Medical Informatics Department, Bielefeld University</institution>
          ,
          <addr-line>Universitätsstraße. 25, D-33615 Bielefeld</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Organic Chemistry, University of Paderborn</institution>
          ,
          <addr-line>D-33098 Paderborn</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Motivation: Molecular dynamic simulations of membrane systems are an important method for the prediction and analysis of physicochemical properties. The CELLmicrocosmos 2.2 MembraneEditor (CmME) provides a comfortable workflow to generate lipid membranes with different conformations. While CmME is intended to generate molecular structures on desktop and mobile computers in a very short time, the atomic simulation of exported membranes needs external high performance computer resources. In this work, a first approach of a direct connection between CmME and a cluster running GROMACS using the Gridmiddleware UNICORE-6 is discussed.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        The generation and simulation of membranes is a very important
topic of chemical and physical biology. Model membranes are
used to analyze physiochemical properties at a level still beyond
the reach of present experimental and microscopic techniques.
The CELLmicrocosmos 2.2 MembraneEditor (CmME)
        <xref ref-type="bibr" rid="ref9">(Sommer
et al. 2011)</xref>
        provides a modular interactive shape-based software
approach to model membranes based on the Protein Databank
format (PDB)
        <xref ref-type="bibr" rid="ref1">(Berman et al. 2000)</xref>
        . Different PDB lipid types can
be imported into CmME and used to generate membranes featuring
different percentages of lipid distributions. The computation of an
average-size membrane system (~500x500 Å2) on an actual
desktop or mobile computer takes a few seconds up to several
minutes, because the lipid placement algorithm does not change
the atomic structure of single (rigid) molecules.
      </p>
      <p>
        To simulate the atomic structure of the exported PDB membranes,
molecular dynamics programs like GROMACS
        <xref ref-type="bibr" rid="ref4">(Hess et al. 2008)</xref>
        are deployed. This computationally very space- and
timeconsuming task needs adequate computer resources. Many
research groups have the opportunity to use internal or external
cluster facilities for molecular simulations. But often this
possibility does not exist for multiple reasons.
      </p>
      <p>
        This fact is one reason why the public and scientific attention for
Grid computing is raising rapidly. The advantages of Grid
computing lies in the possibility to use a Grid-middleware, which
enables the user to use the power of large computer resources
without the need to know and configure the underlying hardware
and software. Especially companies like Google and Amazon
raised attention for this field by giving external users the
possibility to temporarily access idle computer resources. And like
many other scientific associations, this technology came to the
attention of the membrane and protein modeling community as
well
        <xref ref-type="bibr" rid="ref2">(Birkenheuer et al. 2010)</xref>
        .
      </p>
      <p>
        In this work we present a first approach to connect CmME to
GROMACS-running cluster resources using the Grid-middleware
UNICORE
        <xref ref-type="bibr" rid="ref8">(Schuller and Schumacher 2009)</xref>
        , providing a fast and
easy approach to model and simulate membranes at the molecular
and atomic level. Computational resources were provided by the
Paderborn Center of Parallel Computing (PC²), which is involved
in the MoSGrid initiative
        <xref ref-type="bibr" rid="ref10">(Wewior et al. 2010)</xref>
        . MoSGrid is part of
the D-Grid initiative, which is promoted by the ministry of
education and science.
2
2.1
      </p>
    </sec>
    <sec id="sec-2">
      <title>METHODS</title>
      <sec id="sec-2-1">
        <title>Technical Details</title>
        <p>For the development of the GROMACS plug-in, CmME 2.2 and
GROMACS 4.5 are used. Java 1.6 and Java3D 1.5 are the current
programming APIs included in the CmME. The computation takes
place at the local grid resource BisGrid at the PC2 in Paderborn.
To gain access, a BisGrid account and a D-Grid certificate are
needed. This grid resource can be accessed using UNICORE at
version 6.0 and presently has a local installation of GROMACS
version 4.5. It consists of 64 cores, 512 gigabyte main memory and
10 terabyte harddisk.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>UNICORE</title>
        <p>
          The UNICORE middleware is a comfortable option to gain direct
access to grid resources
          <xref ref-type="bibr" rid="ref3">(Gesing et al. 2010)</xref>
          . To connect to a
server resource a key-store is used to provide the security needed.
A job can be started by providing a job file containing information
about the application, imports, exports and some server settings
like the number of cores to be used for this calculation. This
procedure can be accomplished through a rich client, a command
line client or the high level API directly from a Java program. To
connect to the grid server a property file containing information
about a keystore and the computation resource is needed. Every
single command has to be included in a job file, which needs to be
uploaded. The application output stdout, stderr and created files
can be download after completion of the job.
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>CELLmicrocosmos MembraneEditor</title>
        <p>CmME currently implements four algorithms for the arrangement
of lipids. After defining the percental lipid distribution, an
algorithm can be started to create the initial membrane according
to the given percentages. In addition, CmME has an algorithm
plug-in interface, which was originally integrated to create external
user-specific algorithms. The Gromacs plug-in discussed later in
this work, is based on this plug-in interface. The advantage of this
approach is that the plug-in can be excluded from the Standard
Edition of CmME, because the regular user does not need
GROMACS support. Another feature of CmME is that the
exported PDB format is adjustable to the requirements of different
programs. This feature is used for exporting the membrane to
GROMACS.
2.4</p>
      </sec>
      <sec id="sec-2-4">
        <title>GROMACS</title>
        <p>
          GROMACS is an open source molecular dynamics software,
which is very popular in the membrane and protein modeling
community
          <xref ref-type="bibr" rid="ref6">(Krüger and Fels 2010)</xref>
          . A standard GROMACS
workflow consists of eight steps. At first the editconf
application is called to create a box around the virtual membrane.
After that, genbox is used to fill this box with water (needed for
the molecular movement of the atoms). Lastly grompp creates the
input file for the energy minimization step, which is computed in
mdrun. These two steps are repeated three times for the
minimization, equilibration and finally for the molecular
simulation of the membrane.
3
3.1
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>RESULTS</title>
      <sec id="sec-3-1">
        <title>Plug-in Workflow</title>
        <p>To control the GROMACS workflow (see Fig. 1) discussed above
with CmME, a plug-in has been developed. Before adjusting the
parameters of the application the membrane has to be created.
Afterwards the GROMACS plug-in is used to set up the
parameters of the needed commands and put them into the job list
(see Fig. 2). Each job from the job list can be launched as often as
required; the sequence and the configuration can be changed again
prior to that.</p>
        <p>The CmME GROMACS plug-in uses the high level API from
UNICORE to send the computed membrane to the grid server.
Calculation of membranes using GROMACS can be completed in
a short time using the strength of a grid system compared to a local
machine. UNICORE connections can be established when the job
list is generated by providing a properties file. The needed files for
the simulation can be uploaded via the graphical user interface of
the GROMACS plug-in. Furthermore, the configuration of each
GROMACS application can be saved in an XML file and loaded
again if a similar simulation needs to be done. At the time, a job is
configured and finally started; a job file is created and committed
via UNICORE to the server. While the GROMACS application
runs on the grid resource it is possible to check the status of the job
using the CmME GROMACS plug-in. When the job is finished,
the standard output and the standard error channel from the
invoked GROMACS tools are presented. If desired, the produced
file is downloaded to the local machine. This procedure is repeated
for every single job until the molecularly simulated membrane has
been generated with the final MD run and loaded back into the
CmME.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Plug-in Design</title>
        <p>The Plugin is developed around a GUI Toolbar, which is
inherited from the MembraneAlgorithm-Interface. The GUI
Toolbar offers the ability to open different windows to configure
the chosen algorithm (in this case the GROMACS plug-in).
Furthermore, the assembling of the settings window is adjusted by
the GromacsData Class, where all GROMACS application
values are stored. By changing values in the settings window the
data is modified through a controller class
(GromacsController, see Fig. 1). In addition, the job list is
saved in the data class and can be transferred to the calculation
window at the time the corresponding button is clicked. The
calculation window is assigned to start and stop the configured
jobs. Changes in the job list are monitored and executed by an
additional controller class, the JLDController. On submitting
a job, a ProcessRunner is created and a GROMACS process is
started. To show the output of the started process the
StreamGobbler listens to the given input stream.</p>
        <p>To gain access to a network resource like the BisGrid cluster, an
additional UNICOREConnector class is implemented (see
Figure 2). This thread is started in the settings window and can be
invoked by the calculation window. To simplify the usage of
UNICORE connections, the GUI classes merely need to use this
connector class to run jobs on the grid server. All necessary
UNICORE operations are implemented.
3.3</p>
        <p>The GUI
The GUI consists of two main parts. In the settings window, the
user can set up parameters of the different applications, which are
shown in different tabs (see Fig. 3), connect to a UNICORE
resource, load and save application configuration to/from XML file
and create a job list. The connection state is indicated by a text
line, which is lighted in green if a connection is established
successfully. To give the user additional feedback about the file
operation, every upload is illustrated by a progress bar and a dialog
window to show an error or the success of the process. Each
Application can be configured by checkboxes, spinnerfields or by
just providing a file-choose dialog. A resulting command is
generated automatically in a text field for each application.
Furthermore each application-tab could be saved to and loaded
from XML files. The job list (see Fig. 2) is sent to the calculation
window which has the ability to reconfigure some jobs, start and
stop them. To give the user some feedback, the standard output and
error channels are displayed.</p>
        <p>This kind of invoking a GROMACS job is very comfortable and
easy to use. No local GROMACS installation is needed and a
created workflow can be loaded into the GUI via XML.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Potential Problems</title>
        <p>A Problem in the GROMACS workflow is the potential
requirement for changes in the configuration files by the user
during the job execution. Topology files, which are required by the
genbox command, can be created based on information given by
CmME. But the balancing of charge in the membrane needs to be
done manually or in the calculation window.
3.5</p>
      </sec>
      <sec id="sec-3-4">
        <title>Performance</title>
        <p>The Performance of the whole calculation depends on the used grid
resource and the size of the given membrane. Using a local
GROMACS installation on a single machine can take weeks to
complete, even the simulation for only one lipid may take half an
hour on a local machine. Because of this, a grid resource like
BisGrid is indispensable to get a result within a reasonable time.
The calculation itself, and the connection as well as some file
uploading is done in different threads to keep the main GUI
running.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>CONCLUSION</title>
      <p>Here we present a fast and comfortable way to generate and
simulate membranes at the molecular and atomic level by
combining CmME and GROMACS using UNICORE. To make the
configuration even more simple an additional GUI mode is
planned. The creation of the job list should be done by one click
and the user will be guided directly to the calculation window to
start the GROMACS workflow. This approach is a first part of the
ongoing CmME MD Edition initiative, which develops a CmME
plug-in
specially adjusted to the needs of molecular dynamic simulations
using GROMACS. In addition, a direct and a SSH connection to
GROMACS is in preparation.</p>
      <p>
        The great advantage of the GROMACS plug-in is the link to
CmME. In contradiction to other projects like GUIMacs
        <xref ref-type="bibr" rid="ref5">(Kota
2007)</xref>
        , the membrane, which has to be simulated, can directly be
parsed into the GROMACS tool. In addition, the connection to grid
resources makes the plug-in a powerful appliance for molecular
membrane simulation.
      </p>
      <p>The Webstart version of CmME is available free-of-charge from
http://Cm2.CELLmicrocosmos.org</p>
    </sec>
    <sec id="sec-5">
      <title>ACKNOWLEDGEMENTS</title>
      <p>
        We thank the Paderborn Center for Parallel Computing (PC²) for
providing access to BisGrid. Special thanks go to Georg
Birkenheuer and Johannes Schuster for valuable discussion about
grid middleware. Our thanks go to Kai Löwenthal, whose dip
        <xref ref-type="bibr" rid="ref7">loma
thesis (Löwenthal 2005</xref>
        ) provided a good basis for discussion, and
his thesis supervisor Dr. Dieter Lorenz.
      </p>
      <p>Funding: This work was partially funded within the Graduate
College Bioinformatics (GK635) of the DFG (German Research
Foundation). We are grateful to Prof. Ralf Hofestädt for continuous
support, to the Bio-/Medical Informatics Group of Bielefeld
University, where this work has been realized, and all other people
supporting or participating in this project:
http://team.CELLmicrocosmos.org</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Berman</surname>
            ,
            <given-names>H. M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Westbrook</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Feng</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gilliland</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ; Bhat,
          <string-name>
            <given-names>T.N.</given-names>
            ;
            <surname>Weissig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ;
            <surname>Shindyalov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.N.</given-names>
            ;
            <surname>Bourne</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.E.</surname>
          </string-name>
          (
          <year>2000</year>
          )
          <article-title>The Protein Data Bank</article-title>
          .
          <source>Nucleic Acids Res</source>
          .,
          <volume>28</volume>
          (
          <issue>1</issue>
          ):
          <fpage>235</fpage>
          -
          <lpage>242</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Birkenheuer</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ; Breuers,
          <string-name>
            <given-names>S.</given-names>
            ;
            <surname>Brinkmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ;
            <surname>Blunk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ;
            <surname>Gesing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ;
            <surname>Herres-Pawlis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ;
            <surname>Krüger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ;
            <surname>Packschies</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ;
            <surname>Fels</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          (
          <year>2010</year>
          )
          <article-title>Grid-Workflows in Molecular Science Software Engineering 2010</article-title>
          .
          <source>GI-Edition - Lecture Notes in Informatics (LNI)</source>
          ,
          <year>P160</year>
          :
          <fpage>177</fpage>
          -
          <lpage>184</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Gesing</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Marton</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ; Birkenheuer,
          <string-name>
            <given-names>G.</given-names>
            ;
            <surname>Schuller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ;
            <surname>Grunzke</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          ; Krüger,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ; Breuers,
          <string-name>
            <given-names>S.</given-names>
            ;
            <surname>Blunk</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          ; Fels,
          <string-name>
            <given-names>G.</given-names>
            ;
            <surname>Packschies</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ;
            <surname>Brinkmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ;
            <surname>Kohlbacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ;
            <surname>Kozlovszky</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>(in print 2010) Workflow Interoperability in a Grid Portal for Molecular Simulations</article-title>
          .
          <source>IWSG2010 (International Workshop on Science Gateways)</source>
          , Catania, Italy.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Hess</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kutzner</surname>
          </string-name>
          , C.;
          <string-name>
            <surname>van der Spoel</surname>
          </string-name>
          , D.;
          <string-name>
            <surname>Lindahl</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          (
          <year>2008</year>
          )
          <article-title>GROMACS 4: Algorithms for Highly Efficient, Load-Balanced, and Scalable Molecular Simulation</article-title>
          .
          <source>J. Chem. Theory Comput.</source>
          ,
          <volume>4</volume>
          (
          <issue>3</issue>
          ):
          <fpage>435</fpage>
          -
          <lpage>447</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Kota</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>2007</year>
          )
          <article-title>GUIMACS - a Java based front end for GROMACS</article-title>
          . In Silico Biol.,
          <volume>7</volume>
          (
          <issue>1</issue>
          ):
          <fpage>95</fpage>
          -
          <lpage>99</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Krüger</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Fels,
          <string-name>
            <surname>G.</surname>
          </string-name>
          (
          <year>2010</year>
          )
          <article-title>Ion Permeation Simulations by Gromacs - An Example of High Performance Molecular Dynamics</article-title>
          . In Concurrency and Computation: Practice and Experience; Fox ,
          <string-name>
            <given-names>G. C.</given-names>
            ;
            <surname>Moreau</surname>
          </string-name>
          , L., Eds., ISSN:
          <fpage>1532</fpage>
          -
          <lpage>0634</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Löwenthal</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          (
          <year>2005</year>
          )
          <article-title>Molekulardynamische Berechnungen auf Basis von GROMACS in einem hybriden Netzwerk</article-title>
          .
          <source>Diploma thesis</source>
          , Bielefeld University.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Schuller</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Schumacher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2009</year>
          )
          <article-title>Space-Based Approach to High-Throughput Computations in UNICORE 6 Grids</article-title>
          . Lect. Notes Comput. Sc.,
          <volume>5415</volume>
          ,
          <fpage>75</fpage>
          -
          <lpage>83</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Sommer</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Dingersen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gamroth</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>S. E.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Rubert</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Krüger</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Dietz</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          -J. (forthcoming
          <year>2011</year>
          )
          <article-title>)CELLmicrocosmos 2.2: A modular interactive shape-based software approach to model scalable PDB membranes with definable lipid compositions and semi-automatic protein placement</article-title>
          .
          <source>J. Chem</source>
          . Inf. Model.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Wewior</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Packschies</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Blunk</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Wickeroth</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Warzecha</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Herres-Pawlis</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gesing</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Breuers</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Krüger</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Birkenheuer,
          <string-name>
            <surname>G.</surname>
          </string-name>
          ; Lang,
          <string-name>
            <surname>U.</surname>
          </string-name>
          <article-title>(in print 2010) The MoSGrid Gaussian portlet - Technologies for Implementation of Portlets for Molecular Simulations</article-title>
          .
          <source>IWSG2010 (International Workshop on Science Gateways)</source>
          , Catania, Italy.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>