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

Implementation of the ChEMBL structure preprocessing pipeline. More...

#include <ChEMBLStandardizer.hpp>

Public Types

enum  ChangeFlags {
  NONE = 0x0 ,
  EXCLUDED = 0x1 ,
  EXPLICIT_HYDROGENS_REMOVED = 0x2 ,
  UNKNOWN_STEREO_STANDARDIZED = 0x4 ,
  BONDS_KEKULIZED = 0x8 ,
  STRUCTURE_NORMALIZED = 0x10 ,
  CHARGES_REMOVED = 0x20 ,
  TARTRATE_STEREO_CLEARED = 0x40 ,
  STRUCTURE_2D_CORRECTED = 0x80 ,
  ISOTOPE_INFO_CLEARED = 0x100 ,
  SALT_COMPONENTS_REMOVED = 0x200 ,
  SOLVENT_COMPONENTS_REMOVED = 0x400 ,
  DUPLICATE_COMPONENTS_REMOVED = 0x800
}
 Bitwise-OR-combined flags reporting which standardization steps modified the input molecule. More...
 
typedef std::shared_ptr< ChEMBLStandardizerSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated ChEMBLStandardizer instances. More...
 

Public Member Functions

 ChEMBLStandardizer ()
 Constructs the ChEMBLStandardizer instance. More...
 
 ChEMBLStandardizer (const ChEMBLStandardizer &standardizer)
 Constructs a copy of the ChEMBLStandardizer instance standardizer. More...
 
ChangeFlags standardize (Molecule &mol, bool proc_excld=false)
 Standardizes mol in place. More...
 
ChangeFlags standardize (const MolecularGraph &molgraph, Molecule &std_mol, bool proc_excluded=false)
 Writes a standardized copy of molgraph to std_mol. More...
 
ChangeFlags getParent (Molecule &mol, bool neutralize=true, bool check_exclusion=true)
 Extracts the parent compound of mol in place (removing salt/solvent components). More...
 
ChangeFlags getParent (const MolecularGraph &molgraph, Molecule &parent_mol, bool neutralize=true, bool check_exclusion=true)
 Extracts the parent compound of molgraph into parent_mol. More...
 
ChEMBLStandardizeroperator= (const ChEMBLStandardizer &standardizer)
 Replaces the state of this standardizer by a copy of the state of standardizer. More...
 

Detailed Description

Implementation of the ChEMBL structure preprocessing pipeline.

See also
[CSCP]

Member Typedef Documentation

◆ SharedPointer

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

Member Enumeration Documentation

◆ ChangeFlags

Bitwise-OR-combined flags reporting which standardization steps modified the input molecule.

Enumerator
NONE 

No changes were applied.

EXCLUDED 

The molecule matched a ChEMBL exclusion criterion and was not processed further.

EXPLICIT_HYDROGENS_REMOVED 

Removable explicit hydrogen atoms were removed.

UNKNOWN_STEREO_STANDARDIZED 

Atoms/bonds with unknown stereo descriptors were standardized.

BONDS_KEKULIZED 

Aromatic bonds were kekulized to alternating single/double bonds.

STRUCTURE_NORMALIZED 

Functional-group structure normalizations were applied.

CHARGES_REMOVED 

Atom formal charges were removed where possible.

TARTRATE_STEREO_CLEARED 

Defined stereo at tartrate-like substructures was cleared.

STRUCTURE_2D_CORRECTED 

2D bond-angle artefacts were corrected.

ISOTOPE_INFO_CLEARED 

Atom isotope information was cleared.

SALT_COMPONENTS_REMOVED 

Salt components were removed (parent extraction only).

SOLVENT_COMPONENTS_REMOVED 

Common solvent components were removed (parent extraction only).

DUPLICATE_COMPONENTS_REMOVED 

Duplicate disconnected components were collapsed (parent extraction only).

Constructor & Destructor Documentation

◆ ChEMBLStandardizer() [1/2]

CDPL::Chem::ChEMBLStandardizer::ChEMBLStandardizer ( )

Constructs the ChEMBLStandardizer instance.

◆ ChEMBLStandardizer() [2/2]

CDPL::Chem::ChEMBLStandardizer::ChEMBLStandardizer ( const ChEMBLStandardizer standardizer)

Constructs a copy of the ChEMBLStandardizer instance standardizer.

Parameters
standardizerThe ChEMBLStandardizer to copy.

Member Function Documentation

◆ standardize() [1/2]

ChangeFlags CDPL::Chem::ChEMBLStandardizer::standardize ( Molecule mol,
bool  proc_excld = false 
)

Standardizes mol in place.

Parameters
molThe molecule to standardize (modified in place).
proc_excldIf true, ChEMBL exclusion criteria are ignored and the molecule is processed regardless.
Returns
A bitwise-OR combination of ChangeFlags reporting which standardization steps modified the molecule.

◆ standardize() [2/2]

ChangeFlags CDPL::Chem::ChEMBLStandardizer::standardize ( const MolecularGraph molgraph,
Molecule std_mol,
bool  proc_excluded = false 
)

Writes a standardized copy of molgraph to std_mol.

Parameters
molgraphThe input molecular graph.
std_molThe output molecule receiving the standardized copy.
proc_excludedIf true, ChEMBL exclusion criteria are ignored and the molecule is processed regardless.
Returns
A bitwise-OR combination of ChangeFlags reporting which standardization steps modified the molecule.

◆ getParent() [1/2]

ChangeFlags CDPL::Chem::ChEMBLStandardizer::getParent ( Molecule mol,
bool  neutralize = true,
bool  check_exclusion = true 
)

Extracts the parent compound of mol in place (removing salt/solvent components).

Parameters
molThe molecule from which to extract the parent (modified in place).
neutralizeIf true, charges of the extracted parent are subsequently neutralized.
check_exclusionIf true, ChEMBL exclusion criteria are checked before processing.
Returns
A bitwise-OR combination of ChangeFlags reporting which steps modified the molecule.

◆ getParent() [2/2]

ChangeFlags CDPL::Chem::ChEMBLStandardizer::getParent ( const MolecularGraph molgraph,
Molecule parent_mol,
bool  neutralize = true,
bool  check_exclusion = true 
)

Extracts the parent compound of molgraph into parent_mol.

Parameters
molgraphThe input molecular graph.
parent_molThe output molecule receiving the parent compound.
neutralizeIf true, charges of the extracted parent are subsequently neutralized.
check_exclusionIf true, ChEMBL exclusion criteria are checked before processing.
Returns
A bitwise-OR combination of ChangeFlags reporting which steps modified the molecule.

◆ operator=()

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

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

Parameters
standardizerThe source ChEMBLStandardizer.
Returns
A reference to itself.

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