Volumetric data

Volumetric data represent ANY 3D property of a system, that can be presented with an isosurface: density (concentration, charge, ... ), property (orbitals, ... ).
VMD presents the VolMap utility to calculate different types of concentration.
Maestro provides tools for preparing different types of molecular surfaces and hydrophobic/hydrophilic surface (Maestro User Manual, p. 225)

Electrostatic potential from charge distribution

Slab geometry

function [xp] = potential_slab (xq,e)
% xq - charge density with the support xq(:,1) - support in [nm], xq(:,2) - charge density in [e/nm3]
% e - dielectric permitivity, usually just 1.
% xp - potential in [V] with the support in [nm].

% the origin is taken to be the middle of the slab. The middle of the slab
% is fould as the middle point between first and last nonzero charge
% density elements.

Example usage:


Slab geometry

Charge distribution

Charge distribution across the Z direction in slab geometry.

Usage example: in this example the script will calculate the charge distributions across the Z axis for systems with name run*.tpr (mean there are files run0.tpr, run0.xtc, run1.tpr, run1.xtc ...). The output data will be stored with different suffixes in the names.

for i in `ls run*.tpr`; do
    echo $i
    fn=`echo $i | sed "s/.tpr//g"`
    charge_slab.sh -run $run -b $b -suf "sys_${run}" -mol System,TEA,BF4,ACN -nslices 725
The script:

Density profile

Calculates the density profile across the Z direction.
Example usage:
 dpz.sh -run run1 -b 0 -e 10000 -suf run1 -mol TEA,BF4 -bin 0.01 -rdftype mol_com -wall Wlef

Cylindrical geometry

Calculate radial density profile (RDP) and its running integral

Example usage:
rdp.sh -run run1 -b 1000 -e 10000 -suf _1-10 -mol NMP,NA,I -bin 0.01 -rdftype mol_com -cnt C66

Calculate evolution over trajectory of radial density profile (RDP) and its running integral

Example usage:
rdp_evol.sh NMP 1 30 10


Interpolate function



Y0 - initial values of the function on grid X0 (column vector/ vectors)
X0 - grid of initial function (column vector/ vectors)
X1 - grid of the interpolated function (column vector/ vectors)
Y1 - values of the interpolated function (column vector/ vectors)
left_val - if X1 has points, which are smaller than min(X0)-dX, the value of interpolated function in these points will be constant left_val
right_val - if X1 has points, which are larger than max(X0)+dX, the value of interpolated function in these points will be constant right_val
dX - by default - X0(2)-X0(1), but you may use any value (see left_val, right_val for details)

Integrate Mean force curve to get PMF


Surface residues


The "buried" keyword is a shortcut that's hardwired
to match various residues, and it doesn't take into account the actual
structure you've got loaded. Another method that likely has more merit,
would be to calculate the solvent accessible surface area, and use that
as your measure of "buried" or "surface" etc. You could run a script setting
the user field for each residue with its SASA, and then use a selection like
"user > 1.0" or something like that as a heuristic to determine which residues
are exposed and which are not. One could even do this for all of the atoms
invidually, but it would take a while to calculate. Try using the
"user > 1.0" with a script like this one and let me know if that helps.

    1. Example script that sets the "User" data field with SASA values
mol delete all
mol addfile 1o6z.pdb
    1. Get list of residues
set allsel [atomselect top all]
set residlist [lsort -unique [$allsel get resid]]
    1. Make an atom selection, set the User field with the SASA value for
    2. the selected atom
foreach r $residlist {
set sel [atomselect top "resid $r"]
set rsasa [measure sasa 1.4 $allsel -restrict $sel]
$sel set user $rsasa
$sel delete
puts "resdidue $r, sasa: $rsasa"
    1. change the "color by" and "trajectory" tab settings to color by SASA
mol modcolor 0 [molinfo top] User
mol colupdate 0 [molinfo top] 1
mol scaleminmax [molinfo top] 0 auto