# 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

bind = oezap.OEBind()
bind.SetProtein(protein)

results = oezap.OEBindResults()
bind.Bind(ligand, results)

results.Print(oechem.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

bind = oezap.OEBind()
bind.GetZap().SetGridSpacing(0.6)


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.