# OEBind¶

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.

## Constructors¶

OEBind()
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.

## operator=¶

OEBind &operator=(const OEBind &rhs)


Assignment operator.

## Bind¶

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;
bind.SetProtein(protein);

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

results.Print(OEThrow);


## GetZap¶

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;
bind.GetZap().SetGridSpacing(0.6f);


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

## SetProtein¶

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.

## SetZap¶

bool SetZap(const OEZap &zap)


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

## SimpleBind¶

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.