8.2.6 Atom Level Minimizer

NOTE: This algorithm and this chapter were first introduced in the diploma thesis of Tim Dingersen at Bielefeld University in 2010. Please consider this as work-in-progress.

This chapter introduces the usage of the Atom Level Minimizer algorithm, the first one that operates on an atomic level. The goal is to change the conformation of the molecules in existing membranes in order to minimize the total free energy.

Its mechanism is based on the well-known "Simulated Annealing" approach, and uses a force field to evaluate the energetic state.

By default, this force field is defined by the Lennard-Jones-Potential, combined with a harmonic potential between bonded atoms.  A special feature of this algorithm is that the entire force field is modular; it can easily be replaced by a self-made java class. See how to create and include own force fields into the Atom Level Minimizer

As mentioned above, using this algorithm assumes that you have opened a membrane that is already well-filled with lipids. It should also be pointed out that due to the immense computational efforts only very small snippets of membranes should be used. It, of course depends significantly on your machine as to how long a complete calculation will need, so it is probably best to try some differently sized membranes beforehand.

Running the algorithm

As soon as you have started the algorithm, the following toolbar will appear:

Instead of starting directly, you will first have access to 3 different dialogs, opened with the referring buttons in the algorithm's toolbar. To actually start the algorithm, use the 'Start' button. It will turn into a 'Pause/Resume' button afterwards, enabling you to pause the algorithm at any time, even allowing to change the settings in between.

As well as in any other membrane algorithms, use the 'Stop' button if you want to break or prematurely finish the calculation.

Before you start, you should have a look at these 3 dialogs this algorithm offers:


This dialog contains all settings and parameters (excluding force field parameters, which are defined in the second dialog), organized into the following functional classes:

Simulated Annealing

This section contains the basic fields for the simulated annealing method, which together determine the total count of remaining simulation cycles. The more cycles in total that you allow, or the slower you are cooling down the system the more accurate results you will get. You'll have to find a suitable compromise between runtime and the quality of the results.

➢ Current Temperature

Holds the current temperature of the system, which determines the current chance of accepting worse states. This is the only setting that is automatically manipulated during runtime and will always be reset after a complete restart. If the temperature reaches zero, the algorithm will terminate

➢ Cooling Rate

Determines the rate of cooling. The number you entered will be deducted from the current temperature at the end of each plateau-step

➢ Interval Length

Estimates the number of simulation cycles for each plateau, before the temperature is cooled down one rate

Random Atom Movement

All settings regarding the movement of atoms or entire molecules

➢ Constraint Hardness

Defines the rigidity for the default harmonic potential between bonded atoms. User-defined force fields also have access to this value and you may want to use it in a similar way.

➢ Max. Moving Factor

This angstrom value determines the maximum range that an atom can be moved in one cycle.

➢ Move Molecules and Atoms

Moves both, atoms and eventually complete molecules. This setting is recommended, because it provides optimal mobility of the members

➢ Move only complete Molecules

Only molecules will be moved, without performing any conformational changes. 

➢ Move Atoms only

Only atoms will be moved. The molecules will not be directly moved in any way.

➢ Simulated Pressure (from Sides)

The value represents the factor for a simulated pressure from the borders towards the center of the membrane. 

➢ Simulated Pressure (from Top/Bottom)

A factor for simulated pressure from the extracellular and intracellular side.

➢ Enable Solid Borders

This option prevents any atoms from leaving the defined membrane bounds.

Active Members

Here you can make inclusions or exclusions of particular atoms in the membrane model. Excluded atoms will still exist in a passive way and will also be regarded while calculating the total free energy; they simply won't be moved themselves


➢ Atoms of All Layers

Activate this option if you have a multilayered membrane and want to take all layers into account. Otherwise only atoms/molecules of the currently active layer will be moved

➢ Atoms of Proteins

Activate this option if you want to move atoms inside proteins

➢ Unbonded Single Atoms

Activate, if unbonded atoms (if any should exist) should also be moved. Otherwise, they'll remain in a fixed position

Energy Function

This section provides some settings regarding the calculation of free energy

➢ Value to Pursuit

Here you can choose the force field that should be used. If no custom force fields have been included so far, you'll only be able to use the default force field. This is the only option that cannot be altered once the algorithm has started

➢ Fixed Cutoff Distance

Defines a fixed and universal cutoff, that only becomes relevant if 'Auto Cutoff' is disabled

➢ Auto Cutoff

If enabled, the force field is advised to calculate and apply atom pair-specific cutoffs

➢ Periodic Borders (aka Simulation Box)

Enable this option in order to simulate periodic borders. This is a well-known feature in all modern simulation tools to suppress any surface effects.

Lipid Filling

Can be used to automatically add new lipids during the runtime. Useful if you want to achieve a tight packing of the membrane, or to fill any occurring gaps.

➢ Number of Attempts

This is the number of attempts to place a new lipid at the beginning of each cycle. Set to '0' if you want to disable this feature.


Here you may influence the random generator

➢ Random Seed

Type in any String to define a seed for the random of this algorithm. By using the same seed multiple times, the random generator will always produce the same sequence of results. This means that a simulation can absolutely be reproduced, as long as the settings and the initial state have been changed.

The default settings have proven to work best on an average membrane. You can restore them at any time by pressing the 'Restore Defaults' button!

Defining Force Field Parameters

The second dialog can be used to define the force field parameters. If you use a custom force field, a custom dialog should appear. If you use the default force field instead, you will see two Lennard-Jones parameter matrices, containing the values epsilon and sigma for each possible atom-pairing. Most sigma values should already be defined due to the fact that the force field uses the Van-der-Waals radii to calculate them. If you use coarse-grain particles in your membrane, you'll have to type in the values yourself. It is very rare to find epsilon values; they are only predefined for possible pairings between C,N,O,P and H. So here it is up to you to enter the correct values.

The best way to do that is to estimate by studying the behaviors of the specified atoms. 

To enter a value, type it into a cell and press ENTER afterwards. Use the field 'Master Value' at the bottom to define a value representant for all empty cells in the table, if any. Pressing 'Calculate Current Energy' displays the energy of the current membrane according to recent parameters.


The third dialog displays information about the current state. You can compare the current free energy with the initial value and you can see a graph that shows the energetic history of the last 75 cycles.

On the right side you can see the already elapsed time, the estimated time to finish, and the runtime of the last completed cycle

The following example shows a small DPPC membrane that has been refined with the Atom Level Minimizer using the default force field and default settings. You can see the individual conformations of the lipids.