<<< Previous
Binding Energy Calculation

Example of Parallel APBS Execution



In this tutorial we will show how to run APBS calculation on multiple processors.

Memory requirements:

Depending on the studied system size and accuracy requirements some problems will require use of multiple processors. For example, using psize.py script we can see how increasing grid resolution (increasing calculation accuracy) will significantly increase memory requirements.


cd binding
psize.py comp_dist.pqr
psize.py --SPACE=0.3 comp_dist.pqr

Increasing grid size from 0.5A (default value in psize.py) to 0.3A raises memory required for numerical solution of the grid from 185MB to 890MB. If we have only 400MB available we can use 8 processors (2x2x2 processor grid) to solve this problem.

Running APBS in parallel

Download tutorial examples. Setup your account for password-less login.

In this section we will show how to use parallel features of APBS. This tutorial is based on the actin-dimer example included in the APBS distribution.

To calculate actin dimer binding energy with reasonable accuracy (grid spacing ~ 0.5A) using serial APBS version we would need more than 1GB memory (verify this by running psize.py on complex.pqr). Splitting up this problem to 8 processors we need only a reasonable 330MB of RAM per processor.

apbs-PARALLEL.in:

        

read
    mol pqr mol1.pqr
    mol pqr mol2.pqr
    mol pqr complex.pqr
end

# CALCULATE POTENTIAL FOR COMPONENT 1
elec name mol1
    mg-para
    ofrac 0.1
    pdime 2 2 2
    dime  97  97  97
    fglen 112 91 116
    cglen 156 121 162
    cgcent mol 3
    fgcent mol 3
    mol 1
    npbe
    bcfl sdh
    ion 1 0.050 2.0
    ion -1 0.050 2.0
    pdie 2.0
    sdie 78.54
    srfm smol
    chgm spl0
    srad 1.4
    swin 0.3
    temp 298.15
    gamma 0.105
    calcenergy total
    calcforce no
end

# CALCULATE POTENTIAL FOR COMPONENT 2
elec name mol2
    mg-para
    ofrac 0.1
    pdime 2 2 2
    dime  97  97  97
    fglen 112 91 116
    cglen 156 121 162
    cgcent mol 3
    fgcent mol 3
    mol 2
    npbe
    bcfl sdh
    ion 1 0.050 2.0
    ion -1 0.050 2.0
    pdie 2.0
    sdie 78.54
    srfm smol
    chgm spl0
    srad 1.4
    swin 0.3
    temp 298.15
    gamma 0.105
    calcenergy total
    calcforce no
end

# CALCULATE POTENTIAL FOR COMPLEX
elec name complex
    mg-para
    ofrac 0.1
    pdime 2 2 2
    dime  97  97  97
    fglen 112 91 116
    cglen 156 121 162
    cgcent mol 3
    fgcent mol 3
    mol 3
    npbe
    bcfl sdh
    ion 1 0.050 2.0
    ion -1 0.050 2.0
    pdie 2.0
    sdie 78.54
    srfm smol
    chgm spl0
    srad 1.4
    swin 0.3
    temp 298.15
    gamma 0.105
    calcenergy total
    calcforce no
#    write pot dx pot
end

# COMBINE TO GIVE BINDING ENERGY
print energy complex - mol1 - mol2 end

quit

This can be submitted to the SGE queue on the cluster using the following:

        

qsub parallel-binding.sge

In a couple of minutes the calculation should be finished and the results should be in apbs-PARALLEL.out.

As an additional exercise try to increase grid resolution to 0.3A and rerun the calculation. Compare calculated binding energy for the 0.5 and 0.3 grids.

Hints: