A receptor is a specialized OEBinary file (i.e., .oeb or .oeb.gz file ) that contains the structure of a target protein and additional information about the location and characteristics of its binding pocket. Receptor files are used by every program in the OEDocking suite of programs.

A receptor always contains:

A receptor may contain:

Contents of a Receptor

Protein Structure

The protein structure includes all molecules that a ligand being docked or scored interacts with. This generally only includes the protein, but may also include key cofactors or solvent molecules (e.g. a crystallographic water). All parts of the receptor structure are static during both docking and scoring and any cofactors or solvent molecules in the receptor structure are not displaceable.


A receptor may contain bound ligands and extra molecules. These molecules are part of the receptor object as a whole, but not the protein structure.

Negative Image

The negative image describes the shape of the active site. It is stored as a potential grid surrounding the active site. The negative image has high potentials where ligand atoms make many contacts with atoms of the active site without clashing and in positions some ligand atoms are likely to occupy when other atoms of the ligand make good contacts with the receptor (e.g. bridging positions ligand atoms will likely occupy when a ligand is stretched between two pockets).

During docking two shapes are created by contouring the negative image potential grid. The two shapes control the docking process as follows:

Outer Contour Shape

During docking any pose examined by the exhaustive search that does not fit within this shape will be rejected. A pose is considered to fit if the center of every heavy atom is within this shape. The volume of this shape is typically between 500 and 2000 cubic Ångströms.

Inner Contour Shape

During docking any pose examined by the exhaustive search that does not touch this shape is rejected. A pose is considered to touch if the center of at least one heavy atom falls within this shape. The volume of this shape is typically 50 to 100 cubic Ångströms.

The negative image of the receptor is setup when the receptor is created (see Creating a Receptor section). When a receptor is made the contour levels are automatically set for both the inner contour and outer contour, however the inner contour will be disabled. The receptor inner contour can be enabled using the RECEPTOR_TOOLBOX program, which will slightly improve docking speed at the expense of some sampling.

Bound Ligand

A receptor may optionally contain the structure of a single ligand bound into the active site. Typically the structure is obtained experimentally by X-ray crystallography along with the protein structure, although the ligand structure can be determined by other means (e.g. docking).


A receptor is required to have a bound ligand when using the HYBRID program, but it is ignored by the FRED and SCOREPOSE program.

Extra Molecules

A receptor can contain any number of extra molecules. These molecules have no effect on docking or scoring, but can be retrieved from the receptor object using the RECEPTOR_TOOLBOX program or viewed in VIDA. This provides a mechanism for retaining structural information about water or other solvent molecules that are present in PDB files but typically must be stripped from the protein structure for docking and scoring.


Constraints define key interactions ligands are required to make when docking into the active site. They are optional and user defined.

Constraints do not affect how a given pose scores, however they do affect how the docking algorithm chooses poses to score during the docking process. Any pose that does not match the docking constraints will be rejected and replaced by the next best scoring pose. If no poses of a ligand match the docking constraints the ligand will not be docked. If multiple constraints are specified every constraint must be satisfied or the pose will be rejected.


The docking process used by both FRED and HYBRID has a resolution of approximately 1 Ångström, and thus the constrains have a similar resolution. Therefore it is possible that poses docked with a constraint may have small violations of the constraint distance, up to approximately 1 Ångström.

Receptors support two general classes of constraints; protein constraints and custom constraints. There may be any number of either class of constraint.


Each individual custom or protein constraint has an enabled flag. A disabled constraint is ignored during the docking process.

Protein Constraints

A protein constraint specifies an interaction that must be made with a heavy atom of the protein structure (i.e. protein constraints cannot be placed on hydrogen atoms). There are five types of protein constraints.


A contact constraint is satisfied when any ligand heavy atom is within 4 Ångströms of the protein heavy atom.


A lipophilic constraint is satisfied when any non-polar heavy atom on the protein is within 4 Ångströms of the protein heavy atom.


A donor constraint is satisfied when a donor on the ligand makes a hydrogen bond interaction with the protein heavy atom.


An acceptor constraint is satisfied when an acceptor on the ligand makes a hydrogen bond interaction with the protein heavy atom. Acceptor constraints must be placed on the protein heavy atom the donor hydrogen is interacting with.


A chelator constraint is satisfied when a chelator on the ligand makes a metal-chelator interaction with the protein heavy atom.

Only one protein constraint is allowed per protein heavy atom. If a protein constraint is set on a protein atom that already has a protein constraint the original protein constraint will be discarded and replaced by the new constraint.

Custom Constraints

A custom constraint requires that docked poses have at least one atom within a sphere (or set of spheres). Any heavy atom on the docked pose can satisfy the constraint, unless the constraints has SMARTS patterns with it, in which case on atoms matching one of the smarts patterns can satisfy the constraint.

A custom constraint always has at least one sphere. If it has multiple spheres then a matching atom within any of the spheres will satisfy the constraints.

If the custom constraint has no associated SMARTS patterns then any heavy atom on the ligand will satisfy the constraint if it is in one of the constraints associated spheres. If one SMARTS pattern is specified then only an atom matching the SMARTS pattern will be able to satisfy the constraint. If multiple SMARTS patterns are specified then an atom matching any of the SMARTS patterns will be able to satisfy the constraint.

Score Cache

A receptor may optionally contain a score cache. A score cache is scoring setup information usable by either FRED, HYBRID or SCOREPOSE to speed up the initialization process prior to docking and scoring. Using a score cache will not change the docking or scoring results.

A score cache is most useful when FRED, HYBRID or SCOREPOSE are started and stopped often to dock one or a small number of ligands as the initialization cost must be paid each time the program is started, and using a score cache can substantially reduce this time.

Creating a Receptor

Receptors can be created with the following programs

Program Type Description
make_receptor GUI Interactive GUI for creating a receptor.
pdb2receptor Command Line Creates a receptor from a PDB file with a protein-ligand complex.
apopdb2receptor Command Line Creates a receptor from a PDB file with apo protein.
receptor_setup Command Line Creates a receptor from a molecule file with a protein and a separate file with either the structure of a bound ligand or a box enclosing the active site.


Receptors can also be created using the Docking Toolkit (see the Docking Toolkit documentation).