rdf_analysis

rdf_analysis calculates conventional radial distribution function (RDF) and proximal distribution function (PDF)  of the target solvent atoms. In both functions, the available volumes V(r) (see below), and the coordination number of the solvent atoms in the available volume N(r) are calculated. The number density of the solvent ρ(r) is obtained as ρ(r) = N(r)/V(r). The profile is calculated until buffer (Å), and output until range (Å) with the bin size (Δr) = binsize (Å).

The option rmode=proximal calculate PDF. PDF gives number density of selected solvent atoms as a function of the distance from the closest atom of the solute. Resolution (=size of a cell) is determined by num_cell_x,y,z. When the trajectory is generated by NPT condition, the resolution fluctuates in conjunction with the fluctuation of box size. Therefore, rdf_analysis should not apply on the trajectory in which the box size is not converged enough. In order to obtain the normalized profile, atomic number density in each bin should be divided by bulk density. The option bulk_region means that the last  bulk_region (%)  of the un-normalized number density profile is averaged and the averaged density is adopted as bulk density. In stead of this automatic normalization, the option bulk_value can specify the bulk density manually. The option recenter may improve the load balance between MPI process, but please make sure that the coordinate of the target solute molecule is not separated by the periodic boundary condition.

(EX1) Proximal distribution function (PDF) of water oxygen around a BPTI
This input calculates the PDF of water oxygen atoms around a protein BPTI (group1) in water box with PBC. In this example, resolution (= size of a cell) is around 0.5 Å3. The profile is calculated, and output until 10 Å from the closest (selected) BPTI atoms. The histogram is taken with the bin size (binsize) = 0.5 Å. The bulk density is determined using the last 15% (specified by the option bulk_region) of the un-normalized density profile.


[INPUT]
psffile = ionize.psf
reffile = ionize.pdb
pdbfile = ionize.pdb [OUTPUT] txtfile = bpti_proximal.out [TRAJECTORY] trjfile1 = run.dcd md_step1 = 500000 mdout_period1 = 500 ana_period1 = 5000 repeat1 = 1 trj_format = DCD trj_type = COOR+BOX [BOUNDARY] type = PBC box_size_x = 68.25815 box_size_y = 80.24045 box_size_z = 66.58892 domain_x = 2 domain_y = 2 domain_z = 2 num_cells_x = 136 num_cells_y = 160 num_cells_z = 132 [ENSEMBLE] ensemble = NPT [SELECTION] group1 = ai:1-892 group2 = rnam:TIP3 and an:OH2 [SPANA_OPTION] buffer = 10 wrap = yes box_size = TRAJECTORY [RDF_OPTION] rmode = proximal solute = 1 solvent = 2 binsize = 0.25 range = 10 bulk_region = 15.0 recenter = 1


(EX2) proximal distribution function of water oxygen around multiple villins under the crowding condition

This example calculates the PDF for multiple villins under the crowding condition. All villin atoms specified by group1 in the [SELECTION] are uniformly recognized as the component of a solute. When boundary type is PBC, rdf_analysis takes account the image atoms around the unit box.

[INPUT]
psffile = villin_crowding.psf 
reffile = villin_crowding.pdb
pdbfile = villin_crowding.pdb [OUTPUT] txtfile = villin_proximal.out [TRAJECTORY] trjfile1 = prod.dcd md_step1 = 10000 mdout_period1 = 500 ana_period1 = 500 repeat1 = 1 trj_format = DCD trj_type = COOR+BOX [BOUNDARY] type = PBC box_size_x = 142 box_size_y = 142 box_size_z = 142 domain_x = 2 domain_y = 2 domain_z = 2 num_cells_x = 142 num_cells_y = 142 num_cells_z = 142 [ENSEMBLE] ensemble = NVT [SELECTION] group1 = ai:1-13112 group2 = rnam:TIP3 and an:OH2 [SPANA_OPTION] buffer = 10 wrap = yes box_size = TRAJECTORY [RDF_OPTION] rmode = proximal solute = 1 solvent = 2 binsize = 0.5 range = 8

(EX3) Radial distribution function between oxygen atoms in TIP4P water box

The option rmode=radial calculate RDF. The number densities of the solvent atoms around each solute atom are calculated, and the ensemble average over those values is output. In this example, all oxygen atoms in the system are selected, and all pair for those oxygen atoms are analyzed. If the number of the solvent molecule is too large, it is better to thin out the solute atoms (e.g., by limiting the atom index like, group1 = ai:1-10000 and an:OH2)


[INPUT]
psffile = solvate.psf 
reffile = solvate.pdb
pdbfile = solvate.pdb [OUTPUT] txtfile = tip4p_radial.out [TRAJECTORY] trjfile1 = genesis_tip4p_nvt.dcd md_step1 = 500000 mdout_period1 = 500 ana_period1 = 500 repeat1 = 1 trj_format = DCD trj_type = COOR+BOX trj_natom = 0 [BOUNDARY] type = PBC box_size_x = 57 box_size_y = 57 box_size_z = 57 domain_x = 2 domain_y = 2 domain_z = 2 num_cells_x = 20 num_cells_y = 20 num_cells_z = 20 [ENSEMBLE] ensemble = NVT [SELECTION] group1 = an:OH2 group2 = an:OH2 [SPANA_OPTION] buffer = 10 wrap = yes box_size = TRAJECTORY [RDF_OPTION] rmode = radial solute = 1 solvent = 2 binsize = 0.5 range = 10 bulk_region = 15