Module: Atomic Molecular Density ()

Description:

This module computes the spatial distribution density of atoms on a regular grid. Inputs can be either molecules, trajectories of trajectory bundle objects. Atoms can be filtered according to mmff94 atom types. Using the module makes most sense for TrajectoryBundles containing a set of molecules from which you want to derive some spatial distribution property like pharmacophores. TrajectoryBundles can be created from single molecules with the Molecule Trajectory Bundle module.

Preparing data

The following example demonstrates how to compute pharmacophore densities for hiv protease. We compute the densities from two known ligands but the example can be easily extended to a large number:
# fetch molecules from pdb
newMolFromPDB 1pro
newMolFromPDB 1hvr
# use 1pro as reference and align others to it
1hvr alignToProtein 1pro
1hvr applyTransform
# restrict to the ligands
1pro sel r/type=A88
1pro restrictToSelection 
1hvr sel r/type=XK2
1hvr restrictToSelection
# compute bonds orders and add hydrogens
1pro computeBonds
1pro addHydrogns
1hvr computeBonds
1hvr addHydrogns
mergeMolecules

The last command will create a Molecule Trajectory Bundle module. In this object you select TrajectoryBundle and press apply. The molecules are now combined in one bundle which can be used as input for the Atomic Molecular Density module. Parameterizing the MMFF atom types and filtering for certain atom types (like hydrogen acceptors) allows the creation of pharmacophore densities for this type.

Options

First you will need to determine on which grid the density is generated. The 'Bounding Box: Compute' button will generate the smallest possible bounding box surrounding all atoms of the input object. You can show and manually modify the bounding box. By default, the module will generate a density for all atoms. A filter based on mmff94 atom types can be applied by selecting 'Atom Types: MMFF' and using the atom type selector. The input data must, however, first have mmff94 atom types assigned. You can do this with the 'Parameterization: MMFF' button. If the input is a trajectory or a bundle of trajectories which have an observable describing the energy of each time step, you can weigh each time step according to this energy. To do so, select an appropriate 'Energy weighting option' and enter the name of the observable.

Connections:

Data [required]
Input data which can either be a single molecule, a trajectory or a trajectory-bundle.

Ports:

Voxel size

Determines the size of a voxel. Adjust the voxel size according to the bounding box size, so that the grid dimensions do not become too large.

Lattice Box

Allows you to show the bounding box for manual adjustment.

Bounding Box

Allows you to compute the smallest bounding box enclosing all atoms in the data object.

Radius

Options

During the computation, each grid point within the radius of an atom is added to the density. The larger the atom radius the smoother the density will be but also the more blurred. The 'fixed' option will use the radius which is given in the float slider below for every atom. 'VDW' means that the standard vdW radius is used for each atomic number. 'MMFF VDW' means that the vdW radius will be derived from half of the euqilibrium vdW distance between to atoms of this type. In the latter cases, the float slider acts as a factor which scales the radius.

Atom Radius

Determines the fixed radius or the scale factor depending on the radius option.

Atom Selection

Types

By default, all atoms will be counted in the computation. By selecting 'MMFF' you can select a subset of atoms by filtering for specific MMFF atom types with the atom type selector.

Selector

Shows the atom type selector which allows you to select one or several atom types or classes of atoms types. If the MMFF option is chosen in the atom type options, only atoms matching these types will be considered in the computation.

Parameterization

This allows you to asssign MMFF parameters to the input data so that MMFF atom type filtering is possible.

Field Normalization

Allows you to normalize the generated density so that the sum of all grid points is 1.

BBox Restrict

Allows you to restrict the input data to the current bounding box. The computation will be faster after applying this restriction but this changes the input data object.

Energy Weighting

Energy Weighting

Enable or disable energy weighting

Method

If the input data trajectories contain an observable, this can be used to assign a weight to each timestep. Weight means that the observable value will be used as the weight directly, i.e., the density contribution of this timestep will be multiplied with the value. 'Sum' will divide the contribution by the sum of all observable values. 'Boltzmann-Sum' will multiply the contribution with the boltzmann factor of the value. This makes sense if the observable describes the energy. 'Linear-minmax' scales the contribution linearly so that the timesteps with the minimum observable value are multiplied with one while the timestep with the hightest value is multiplied with 0.

Observable

Name of the observable that is used for energy weighting.