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

Perceives bond orders of a molecular graph from its 3D structure and atom connectivity. More...

+ Inheritance diagram for CDPL.Chem.BondOrderCalculator:

Public Member Functions

None __init__ ()
 Constructs the BondOrderCalculator instance.
 
None __init__ (MolecularGraph molgraph, Util.STArray orders, bool undef_only=True)
 Constructs the BondOrderCalculator instance and perceives the order of the bonds in the molecular graph molgraph. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
None undefinedOnly (bool undef_only)
 Allows to specify whether already defined bond orders should be left unchanged. More...
 
bool undefinedOnly ()
 Tells whether or not only undefined bond orders have to be perceived. More...
 
None calculate (MolecularGraph molgraph, Util.STArray orders)
 Perceives the order of the bonds in the molecular graph molgraph from its 3D structure and atom connectivity. More...
 

Properties

 objectID = property(getObjectID)
 
 undefOnly = property(undefinedOnly, undefinedOnly)
 

Detailed Description

Perceives bond orders of a molecular graph from its 3D structure and atom connectivity.

The calculator combines per-atom geometry analysis (linear, trigonal-planar, tetrahedral, ...), functional group substructure matching, conjugated π-system detection, and free valence accounting to assign single, double, or triple bonds.

Constructor & Destructor Documentation

◆ __init__()

None CDPL.Chem.BondOrderCalculator.__init__ ( MolecularGraph  molgraph,
Util.STArray  orders,
bool   undef_only = True 
)

Constructs the BondOrderCalculator instance and perceives the order of the bonds in the molecular graph molgraph.

The perceived orders are stored in the same sequence as the bonds appear in the bond list of the molecular graph so that the order of a particular bond is accessible via its index.

Parameters
molgraphThe molecular graph for which to perceive the bond orders.
ordersAn array containing the perceived bond orders.
undef_onlySpecifies whether or not to perceive only undefined (= unset) bond orders.

Member Function Documentation

◆ getObjectID()

int CDPL.Chem.BondOrderCalculator.getObjectID ( )

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

Different Python BondOrderCalculator 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 BondOrderCalculator 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.

◆ undefinedOnly() [1/2]

None CDPL.Chem.BondOrderCalculator.undefinedOnly ( bool  undef_only)

Allows to specify whether already defined bond orders should be left unchanged.

Parameters
undef_onlyIf True only undefined (= unset) bond orders are perceived.
Note
The default setting is to perceive only the order of undefined bonds.

◆ undefinedOnly() [2/2]

bool CDPL.Chem.BondOrderCalculator.undefinedOnly ( )

Tells whether or not only undefined bond orders have to be perceived.

Returns
True if only undefined (= unset) bond orders are perceived, and False otherwise.

◆ calculate()

None CDPL.Chem.BondOrderCalculator.calculate ( MolecularGraph  molgraph,
Util.STArray  orders 
)

Perceives the order of the bonds in the molecular graph molgraph from its 3D structure and atom connectivity.

The perceived orders are stored in the same sequence as the bonds appear in the bond list of the molecular graph so that the order of a particular bond is accessible via its index.

Parameters
molgraphThe molecular graph for which to perceive the bond orders.
ordersAn array containing the perceived bond orders.