Chemical Data Processing Library Python API - Version 1.4.0
Public Member Functions | Properties | List of all members
CDPL.Chem.TautomerizationRule Class Reference

Abstract base class for tautomerization rule implementations employed by the Chem.TautomerGenerator class. More...

+ Inheritance diagram for CDPL.Chem.TautomerizationRule:

Public Member Functions

None __init__ ()
 Initializes the TautomerizationRule instance.
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
int getID ()
 Returns the rule identifier. More...
 
bool setup (MolecularGraph parent_molgraph)
 Performs rule-specific setup work for the given molecular graph that shall be tautomerized. More...
 
bool generate (Molecule tautomer)
 Generates the next tautomer of the parent molecular graph and stores it in molecule. More...
 
TautomerizationRule clone ()
 Returns a deep copy of this rule instance. More...
 

Properties

 objectID = property(getObjectID)
 

Detailed Description

Abstract base class for tautomerization rule implementations employed by the Chem.TautomerGenerator class.

Member Function Documentation

◆ getObjectID()

int CDPL.Chem.TautomerizationRule.getObjectID ( )

Returns the numeric identifier (ID) of the wrapped C++ class instance.

Different Python TautomerizationRule instances may reference the same underlying C++ class instance. The commonly used Python expression a is not b thus cannot tell reliably whether the two TautomerizationRule instances a and b reference different C++ objects. The numeric identifier returned by this method allows to correctly implement such an identity test via the simple expression a.getObjectID() != b.getObjectID().

Returns
The numeric ID of the internally referenced C++ class instance.

◆ getID()

int CDPL.Chem.TautomerizationRule.getID ( )

Returns the rule identifier.

Returns
The rule identifier (see namespace Chem.TautomerizationType for IDs of built-in rules).

◆ setup()

bool CDPL.Chem.TautomerizationRule.setup ( MolecularGraph  parent_molgraph)

Performs rule-specific setup work for the given molecular graph that shall be tautomerized.

Parameters
parent_molgraphThe molecular graph to tautomerize.
Returns
True if the rule can be applied to parent_molgraph and has been initialized, and False otherwise.

◆ generate()

bool CDPL.Chem.TautomerizationRule.generate ( Molecule  tautomer)

Generates the next tautomer of the parent molecular graph and stores it in molecule.

Parameters
tautomerThe tautomer output molecule.
Returns
True if a tautomer was generated, False if no more tautomers could be generated.
See also
setup()

◆ clone()

TautomerizationRule CDPL.Chem.TautomerizationRule.clone ( )

Returns a deep copy of this rule instance.

Returns
A shared reference to the cloned rule.