OEMultistatepKaModel¶
Attention
This is a preliminary API and may be improved based on user feedback. It is currently available in C++ and Python.
class OEMultistatepKaModel
This class provides functionality to assess atomic pKa of given molecule and enumerate ionization states at neutral pH. The options required for this class can be set using OEMultistatepKaModelOptions class.
The OEMultistatepKaModel class defines the following public methods:
Constructors¶
Constructors
OEMultistatepKaModel()
OEMultistatepKaModel(OEChem::OEMolBase &mol)
OEMultistatepKaModel(OEChem::OEMolBase &mol, OEMultistatepKaModelOptions &opts)
Copy constructor
OEMultistatepKaModel(const OEMultistatepKaModel &rhs)
Copy assignment constructor
operator=¶
OEMultistatepKaModel& operator=(const OEMultistatepKaModel &rhs)
Init¶
void Init(OEChem::OEMolBase &mol)
void Init(OEChem::OEMolBase &mol, OEMultistatepKaModelOptions &opts)
If user has initialized the OEMultistatepKaModel instance with default constructor (without molecule and options object), later user can add molecule and OEMultistatepKaModelOptions instance by Init method.
CalculateNumOfMicrostates¶
int CalculateNumOfMicrostates()
This method calculates the number of microstates possible for given molecule. It uses the information (generic pKa data) assessed and set by method SetAllAtomspKaData. It returns -1 if either MultistatepKaModel failed to assess all atomic pKa on the molecule (probably due to unknown atoms present) or it halted assessing pKa data because projected number of microstates exceeded the provided limit of microstates to be generated.
GetModelMolecule¶
const OEChem::OEMolBase& GetModelMolecule()
This method returns the copy of OEMultistatepKaModel class’ internal molecule object on which all atomic pKa data are assessed and set as generic data.
GetAtompKaRange¶
unsigned int GetAtompKaRange(const OEChem::OEAtomBase* atom)
This method allows user to assess and get pKa range (
OEpKaRange::Acidic
,
OEpKaRange::Neutral
,
OEpKaRange::Basic
or
OEpKaRange::Unidentified
)
for an indvidual atom.
GetAtomAdjTypeAtNeutralpH¶
unsigned int GetAtomAdjTypeAtNeutralpH(const OEChem::OEAtomBase* atom)
This method allows user to assess and get adjustment type to be done at
neutral pH (
OEAdjTypeAtNeutralpH::NoChange
,
OEAdjTypeAtNeutralpH::Protonation
,
OEAdjTypeAtNeutralpH::Deprotonation
,
OEAdjTypeAtNeutralpH::NoChangeAndProtonation
,
OEAdjTypeAtNeutralpH::NoChangeAndDeprotonation
) for an indvidual atom.
GenerateMicrostates¶
bool GenerateMicrostates()
This method generates all possible microstates (upto the limit specified by options class).
And these generated microstaes can be accessed by method
GetMicrostates
.
GetMicrostates¶
OESystem::OEIterBase<OEChem::OEMolBase>* GetMicrostates()
Microstates generated by method GenerateMicrostates
can be accessed by this method. It returns an iterator over the generated microstates molecule objects.
HasAdjTypeAtNeutralpH¶
HasAdjTypeAtNeutralpH()
This is a predicate functor, which allows user to filter atoms with
desired OEAdjTypeAtNeutralpH
generic data attached.
HaspKaRange¶
HaspKaRange()
This is a predicate functor, which allows user to filter atoms with
desired OEpKaRange
generic data attached.
SetAllAtomspKaData¶
bool SetAllAtomspKaData()
This method assess atomic pKa for all heavy/hetero atoms and set generic pKa data for these atoms. If OEMultistatepKaModelOptions class object is specified with parameter processcarbons = true, it assesses all heavy atoms, if OEMultistatepKaModelOptions class object is specified with parameter processcarbons = false, then only hetero atoms are assessed.