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

A reader for molecule data in the IUPAC International Chemical Identifier (InChI) [INCHI] format. More...

+ Inheritance diagram for CDPL.Chem.INCHIMoleculeReader:

Public Member Functions

None __init__ (Base.IStream is)
 Constructs a INCHIMoleculeReader instance that will read the molecule data from the input stream is. More...
 
int getReturnCode ()
 Returns the error code of the last read operation. More...
 
str getMessage ()
 Returns the error message associated with the last read operation. More...
 
str getLogOutput ()
 Returns the log output that was generated for the last read operation. More...
 
- Public Member Functions inherited from CDPL.Chem.MoleculeReaderBase
None __init__ ()
 Initializes the MoleculeReaderBase instance.
 
MoleculeReaderBase read (Molecule mol, bool overwrite=True)
 Reads the data record at the current record index and stores the read data in mol. More...
 
MoleculeReaderBase read (int idx, Molecule mol, bool overwrite=True)
 Reads the data record at index idx and stores the read data in mol. More...
 
MoleculeReaderBase skip ()
 Skips the data record at the current record index. More...
 
bool hasMoreData ()
 Tells if there are any data records left to read. More...
 
int getRecordIndex ()
 Returns the index of the current data record. More...
 
None setRecordIndex (int idx)
 Sets the index of the current data record to idx. More...
 
int getNumRecords ()
 Returns the total number of available data records. More...
 
None close ()
 Performs a reader specific shutdown operation (if required). More...
 
bool __nonzero__ ()
 
bool __bool__ ()
 
- Public Member Functions inherited from CDPL.Base.DataIOBase
int registerIOCallback (VoidDataIOBaseFunctor func)
 Registers an I/O callback target function. More...
 
None unregisterIOCallback (int id)
 Unregisters the I/O callback function specified by id. More...
 
None invokeIOCallbacks (float progress)
 Invokes all registered I/O callback functions with the argument self. More...
 
None clearIOCallbacks ()
 Clears all registered I/O callback functions.
 
- Public Member Functions inherited from CDPL.Base.ControlParameterContainer
None setParameter (LookupKey key, Any value)
 
bool removeParameter (LookupKey key)
 Removes the entry for the control-parameter specified by key. More...
 
Any getParameter (LookupKey key, bool throw_=False, bool local=False)
 Returns the value of the control-parameter specified by key. More...
 
Any getParameterOrDefault (LookupKey key, Any def_value, bool local=False)
 
bool isParameterSet (LookupKey key, bool local=False)
 Tells whether or not a value has been assigned to the control-parameter specified by key. More...
 
None clearParameters ()
 Erases all container entries. More...
 
None addParameters (ControlParameterContainer cntnr)
 Adds the control-parameter value entries in the ControlParameterContainer instance cntnr. More...
 
None copyParameters (ControlParameterContainer cntnr)
 Replaces the current set of properties by a copy of the entries in cntnr. More...
 
int getNumParameters ()
 Returns the number of container entries. More...
 
int registerParameterChangedCallback (VoidLookupKeyAnyFunctor func)
 Registers a callback target function that gets invoked when the value of a control-parameter has changed. More...
 
None unregisterParameterChangedCallback (int id)
 Unregisters the callback specified by id. More...
 
int registerParameterRemovedCallback (VoidLookupKeyFunctor func)
 Registers a callback target function that gets invoked when a control-parameter entry has been removed. More...
 
None unregisterParameterRemovedCallback (int id)
 Unregisters the callback specified by id. More...
 
int registerParentChangedCallback (VoidFunctor func)
 Registers a callback target function that gets invoked when the parent container has been changed or was detached. More...
 
None unregisterParentChangedCallback (int id)
 Unregisters the callback specified by id. More...
 
ControlParameterContainer getParent ()
 Returns a reference to the parent control-parameter container. More...
 
None setParent (ControlParameterContainer cntnr)
 Sets or removes the parent control-parameter container used to resolve requests for missing entries. More...
 
list getParameterKeys ()
 
list getParameterValues ()
 
list getParameters ()
 Returns a reference to itself. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
Any __getitem__ (LookupKey key)
 
None __setitem__ (LookupKey key, Any value)
 
bool __delitem__ (LookupKey self)
 
bool __contains__ (LookupKey self, bool key)
 Returns the result of the membership test operation self in arg1. More...
 
int __len__ ()
 

Properties

 returnCode = property(getReturnCode)
 
 message = property(getMessage)
 
 logOutput = property(getLogOutput)
 
- Properties inherited from CDPL.Chem.MoleculeReaderBase
 numRecords = property(getNumRecords)
 
- Properties inherited from CDPL.Base.ControlParameterContainer
 objectID = property(getObjectID)
 
 parent = property(getParent, setParent)
 
 parameterKeys = property(getParameterKeys)
 
 parameterValues = property(getParameterValues)
 
 parameters = property(getParameters)
 
 numParameters = property(getNumParameters)
 

Detailed Description

A reader for molecule data in the IUPAC International Chemical Identifier (InChI) [INCHI] format.

INCHIMoleculeReader implements the conversion of InChI strings (or strings with auxiliary InChI information) to corresponding Chem.Molecule objects. The input data are read by means of a std::istream object that was provided to the INCHIMoleculeReader constructor.

For the actual decoding of the InChI input, INCHIMoleculeReader uses an appropriate function (GetStructFromINCHI() for InChI strings and Get_inchi_Input_FromAuxInfo() for auxiliary InChI information) of the InChI C-API. The return value of the called function provides information about the status of the performed operation (see Chem.INCHIReturnCode) and can be accessed by the method getReturnCode(). Produced error and log messages are accessible via the methods getMessage() and getLogOutput(), respectively.

Atom and bond attributes of a read input molecule are stored as properties of allocated Chem.Atom and Chem.Bond objects. The affected properties are summarized in the tables below:

Chem.Atom PropertyDescriptionNotes
Chem.AtomProperty.COORDINATES_2DSpecifies the 2D position of the atomOnly set if auxiliary information with 2D-coordinates is available
Chem.AtomProperty.COORDINATES_3DSpecifies the 3D-coordinates of the atomOnly set if auxiliary information with 3D-coordinates is available
Chem.AtomProperty.SYMBOLSpecifies the symbol of the atom's element-
Chem.AtomProperty.ISOTOPESpecifies the isotopic mass of the atom-
Chem.AtomProperty.FORMAL_CHARGESpecifies the formal charge of the atomOnly set if the charge is different from zero
Chem.AtomProperty.RADICAL_TYPESpecifies the radical type (see Chem.RadicalType)Only set if the atom is a radical
Chem.AtomProperty.STEREO_DESCRIPTORSpecifies the atom stereo descriptor (see Chem.AtomConfiguration, Chem.StereoDescriptor)Only set if 0D stereo information is available and the atom is a tetrahedral stereogenic center
Chem.Bond PropertyDescriptionNotes
Chem.BondProperty.ORDERSpecifies the order of the bond-
Chem.BondProperty.STEREO_2D_FLAGSpecifies the 2D stereo bond type (see Chem.BondStereoFlag)Only set if auxiliary information with 2D stereo information is available
Chem.BondProperty.STEREO_DESCRIPTORSpecifies the bond stereo descriptor (see Chem.BondConfiguration, Chem.StereoDescriptor)Only set if 0D stereo information is available and the bond is stereogenic center

INCHIMoleculeReader can be configured with the following control-parameters:

Control-ParameterDefault Value (see Chem.ControlParameterDefault)Description
Chem.ControlParameter.STRICT_ERROR_CHECKINGFalseSpecifies whether non-fatal recoverable errors should be ignored or cause a read operation to fail
Chem.ControlParameter.INCHI_INPUT_OPTIONS""Specifies options for InChI input

Constructor & Destructor Documentation

◆ __init__()

None CDPL.Chem.INCHIMoleculeReader.__init__ ( Base.IStream  is)

Constructs a INCHIMoleculeReader instance that will read the molecule data from the input stream is.

Parameters
isThe input stream to read from.

Member Function Documentation

◆ getReturnCode()

int CDPL.Chem.INCHIMoleculeReader.getReturnCode ( )

Returns the error code of the last read operation.

Possible return values are defined in namespace Chem.INCHIReturnCode.

Returns
The error code of the last read operation.

◆ getMessage()

str CDPL.Chem.INCHIMoleculeReader.getMessage ( )

Returns the error message associated with the last read operation.

Returns
The error message associated with the last read operation.

◆ getLogOutput()

str CDPL.Chem.INCHIMoleculeReader.getLogOutput ( )

Returns the log output that was generated for the last read operation.

Returns
The log output that was generated for the last read operation.