OEBind

class OEBind

Calculates 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.