class OEBind

This class represents OEBind. OEBind is used to calculate protein-ligand binding properties. The protein may either be passed in as an argument during construction or set with OEBind::SetProtein. The ligand is passed in as an argument to OEBind::Bind as well as an OEBindResults instance.


OEBind(const OEBind &rhs)
OEBind(const OEChem::OEMolBase &protein)

Default and copy constructors. Besides the default and copy constructors, OEBind includes a constructor that takes the protein to be used in binding calculations. Constructing an OEBind object with the protein is identical to using the default constructor and then calling OEBind::SetProtein.


OEBind &operator=(const OEBind &rhs)

Assignment operator.


bool Bind(const OEChem::OEMolBase &ligand, OEBindResults &results)
OESystem::OEIterBase<OEBindResults> *Bind(const OEChem::OEMCMolBase &ligand)

Calculate full binding results, including Coulombic terms. For a single molecule, pass in the molecule and the OEBindResults class will be filled in. The following is a simple example of how Bind is used.

Example of using the OEBind object

OEBind bind;

OEBindResults results;
bind.Bind(ligand, results);



OEZap &GetZap()
const OEZap &GetZap() const

Get a reference to the internal OEZap object contained in an OEBind instance. With the non-const version, you can adjust OEZap parameters that affect the OEBind calculation. For example, to use an OEBind instance with a specific grid spacing:

Example of setting the grid spacing of a OEBind object

OEBind bind;

Note that some properties of the OEZap object are not controllable via this mechanism.


bool SetProtein(const OEChem::OEMolBase &protein)

Set the protein molecule to be used by the OEBind object. Note that the protein should have radii and partial charges pre-calculated before passing to OEBind::SetProtein.


bool SetZap(const OEZap &zap)

Update the internal OEZap object. Note that some properties of the OEZap object are not controllable via this mechanism.


bool SimpleBind(const OEChem::OEMolBase &ligand, OESimpleBindResults &results)
OESystem::OEIterBase<OESimpleBindResults> *
  SimpleBind(const OEChem::OEMCMolBase &ligand)

Calculate simple binding results, without the Coulombic terms. See the discussion in Binding Energies about the differences between OEBind::Bind and OEBind::SimpleBind. See OESimpleBindResults to see all the values available.

Additionally, both the SimpleBind and OEBind::Bind methods calculate area contributions.