Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Public Member Functions | Friends | List of all members
CDPL::Chem::ProtonationStateStandardizer Class Reference

Adjusts the protonation state of a molecule (atom formal charges and bonded hydrogen counts) according to one of several pre-defined objectives. More...

#include <ProtonationStateStandardizer.hpp>

Public Types

enum  Flavor {
  MIN_CHARGED_ATOM_COUNT ,
  PHYSIOLOGICAL_CONDITION_STATE ,
  MAX_CHARGE_COMPENSATION
}
 Selects the objective driving the protonation-state adjustment. More...
 
typedef std::shared_ptr< ProtonationStateStandardizerSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated ProtonationStateStandardizer instances. More...
 

Public Member Functions

 ProtonationStateStandardizer ()
 Constructs the ProtonationStateStandardizer instance. More...
 
 ProtonationStateStandardizer (const ProtonationStateStandardizer &standardizer)
 Constructs a copy of the ProtonationStateStandardizer instance standardizer. More...
 
bool standardize (Molecule &mol, Flavor flavor)
 Adjusts the protonation state of mol in place according to the selected flavor. More...
 
bool standardize (const Molecule &mol, Molecule &std_mol, Flavor flavor)
 Writes a standardized copy of mol to std_mol without modifying mol. More...
 
ProtonationStateStandardizeroperator= (const ProtonationStateStandardizer &standardizer)
 Replaces the state of this standardizer by a copy of the state of standardizer. More...
 

Friends

class ChEMBLStandardizer
 

Detailed Description

Adjusts the protonation state of a molecule (atom formal charges and bonded hydrogen counts) according to one of several pre-defined objectives.

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated ProtonationStateStandardizer instances.

Member Enumeration Documentation

◆ Flavor

Selects the objective driving the protonation-state adjustment.

Enumerator
MIN_CHARGED_ATOM_COUNT 

Minimize the total number of formally charged atoms (neutralize where possible).

PHYSIOLOGICAL_CONDITION_STATE 

Set the protonation state expected under physiological conditions (pH ~7.4).

MAX_CHARGE_COMPENSATION 

Maximize the cancellation of opposite formal charges (neutralize zwitterion-like pairs).

Constructor & Destructor Documentation

◆ ProtonationStateStandardizer() [1/2]

CDPL::Chem::ProtonationStateStandardizer::ProtonationStateStandardizer ( )

Constructs the ProtonationStateStandardizer instance.

◆ ProtonationStateStandardizer() [2/2]

CDPL::Chem::ProtonationStateStandardizer::ProtonationStateStandardizer ( const ProtonationStateStandardizer standardizer)

Constructs a copy of the ProtonationStateStandardizer instance standardizer.

Parameters
standardizerThe ProtonationStateStandardizer to copy.

Member Function Documentation

◆ standardize() [1/2]

bool CDPL::Chem::ProtonationStateStandardizer::standardize ( Molecule mol,
Flavor  flavor 
)

Adjusts the protonation state of mol in place according to the selected flavor.

Parameters
molThe molecule to standardize (modified in place).
flavorThe protonation-state objective.
Returns
true if the molecule was modified, and false otherwise.

◆ standardize() [2/2]

bool CDPL::Chem::ProtonationStateStandardizer::standardize ( const Molecule mol,
Molecule std_mol,
Flavor  flavor 
)

Writes a standardized copy of mol to std_mol without modifying mol.

Parameters
molThe input molecule.
std_molThe output molecule receiving the standardized copy.
flavorThe protonation-state objective.
Returns
true if the output differs from the input, and false otherwise.

◆ operator=()

ProtonationStateStandardizer& CDPL::Chem::ProtonationStateStandardizer::operator= ( const ProtonationStateStandardizer standardizer)

Replaces the state of this standardizer by a copy of the state of standardizer.

Parameters
standardizerThe source ProtonationStateStandardizer.
Returns
A reference to itself.

Friends And Related Function Documentation

◆ ChEMBLStandardizer

friend class ChEMBLStandardizer
friend

The documentation for this class was generated from the following file: