Chemical Data Processing Library Python API - Version 1.2.0
|
A writer for reaction data in the native I/O format of the JME Molecular Editor [JME] java applet. More...
Public Member Functions | |
None | __init__ (Base.OStream os) |
Constructs a JMEReactionWriter instance that will write the reaction data to the output stream os. More... | |
Public Member Functions inherited from CDPL.Chem.ReactionWriterBase | |
None | __init__ () |
Initializes the ReactionWriterBase instance. | |
ReactionWriterBase | write (Reaction rxn) |
Writes the Reaction object rxn. More... | |
None | close () |
Writes format dependent data (if required) to mark the end of output. More... | |
bool | __bool__ () |
bool | __nonzero__ () |
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__ () |
Additional Inherited Members | |
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) | |
A writer for reaction data in the native I/O format of the JME Molecular Editor [JME] java applet.
JMEReactionWriter
implements the output of Chem.Reaction objects in the native I/O format used by the JME Molecular Editor applet. The output data are written by means of a std::ostream
object that was provided to the JMEReactionWriter
constructor.
Atom and bond attributes that get written for a component of the output reaction are defined by the following Chem.Atom, Chem.Bond and Chem.BondContainer properties:
Chem.Atom Property | Description | Notes |
---|---|---|
Chem.AtomProperty.MATCH_CONSTRAINTS | Specifies atom matching constraints | Only written if the constraints have been explicitly assigned and can be expressed by corresponding JME constraints |
Chem.AtomProperty.COORDINATES_2D | Specifies the 2D position of the atom | - |
Chem.AtomProperty.TYPE | Specifies the type of the atom (see Chem.AtomType) | Only written if the atom is a query atom and the type is supported by the JME format. |
Chem.AtomProperty.SYMBOL | Specifies the atom symbol (e.g. element symbol) | Only written if the atom is not a query atom |
Chem.AtomProperty.FORMAL_CHARGE | Specifies the fromal charge of the atom | Only written if the atom is not a query atom and the specified charge is different from zero |
Chem.AtomProperty.H_COUNT | Specifies the hydrogen count of the atom | Only written if the atom is a query atom and a corresponding matching constraint has been specified |
Chem.AtomProperty.RING_FLAG | Tells whether the atom is a member of a ring | Only written if the atom is a query atom and a corresponding matching constraint has been specified |
Chem.AtomProperty.AROMATICITY_FLAG | Tells whether the atom is a member of an aromatic ring | Only written if the atom is a query atom and a corresponding matching constraint has been specified |
Chem.AtomProperty.REACTION_ATOM_MAPPING_ID | Specifies the reactant to product atom mapping class | Only written if the specified mapping number is greater than zero |
Chem.Bond Property | Description | Notes |
---|---|---|
Chem.BondProperty.ORDER | Specifies the order of the bond | - |
Chem.BondProperty.STEREO_FLAG | Specifies the 2D stereo bond type (see Chem.BondStereoFlag) | Either stereo bonds are not supported by the JME format and are written as plain single bonds |
Chem.BondContainer Property | Description | Notes |
---|---|---|
Chem.BondContainerProperty.HEAVY_BOND_COUNT | Specifies the heavy bond count of the atoms | Only written if the atom is a query atom and a corresponding matching constraint has been specified |
Beside the editing of conventional chemical structures, the JME applet allows to some extent the specification of atom matching constraints for the definition of substructure search queries. If an atom of a component of the output reaction specifies any constraints by a Chem.MatchConstraintList data structure that has been assigned to the property Chem.AtomProperty.MATCH_CONSTRAINTS, an attempt is made to convert the contained Chem.MatchConstraint objects to equivalent JME query expression primitives.
Different types of constraints specified by Chem.MatchConstraint instances and the corresponding JME expression primitives are listed in the table below (<n> denotes a positive integer value and the symbol of a chemical element; * the value is either provided by the Chem.MatchConstraint instance (see Chem.MatchConstraint.getValue()) or, if no value has been set, by the property specified in parentheses):
Chem.MatchConstraint object | Written Expression Primitive | Description | ||
---|---|---|---|---|
Constraint ID | Operator | Value* | ||
Chem.AtomMatchConstraint.CONSTRAINT_LIST | Chem.MatchConstraint.EQUAL | A reference to a Chem.MatchConstraintList object | c | Aromatic carbon |
The sub-constraint list must have the logical type Chem.MatchConstraintList.AND_LIST and has to contain the elements: | ||||
Chem.AtomMatchConstraint.TYPE | Chem.MatchConstraint.EQUAL | Chem.AtomType.C (Chem.AtomProperty.TYPE) | ||
Chem.AtomMatchConstraint.AROMATICITY | Chem.MatchConstraint.EQUAL | True (Chem.AtomProperty.AROMATICITY_FLAG) | ||
Chem.MatchConstraint.NOT_EQUAL | False (Chem.AtomProperty.AROMATICITY_FLAG) | |||
Chem.AtomMatchConstraint.CONSTRAINT_LIST | Chem.MatchConstraint.EQUAL | A reference to a Chem.MatchConstraintList object | n | Aromatic nitrogen |
The sub-constraint list must have the logical type Chem.MatchConstraintList.AND_LIST and has to contain the elements: | ||||
Chem.AtomMatchConstraint.TYPE | Chem.MatchConstraint.EQUAL | Chem.AtomType.N (Chem.AtomProperty.TYPE) | ||
Chem.AtomMatchConstraint.AROMATICITY | Chem.MatchConstraint.EQUAL | True (Chem.AtomProperty.AROMATICITY_FLAG) | ||
Chem.MatchConstraint.NOT_EQUAL | False (Chem.AtomProperty.AROMATICITY_FLAG) | |||
Chem.AtomMatchConstraint.CONSTRAINT_LIST | Chem.MatchConstraint.EQUAL | A reference to a Chem.MatchConstraintList object | o | Aromatic oxygen |
The sub-constraint list must have the logical type Chem.MatchConstraintList.AND_LIST and has to contain the elements: | ||||
Chem.AtomMatchConstraint.TYPE | Chem.MatchConstraint.EQUAL | Chem.AtomType.O (Chem.AtomProperty.TYPE) | ||
Chem.AtomMatchConstraint.AROMATICITY | Chem.MatchConstraint.EQUAL | True (Chem.AtomProperty.AROMATICITY_FLAG) | ||
Chem.MatchConstraint.NOT_EQUAL | False (Chem.AtomProperty.AROMATICITY_FLAG) | |||
Chem.AtomMatchConstraint.CONSTRAINT_LIST | Chem.MatchConstraint.EQUAL | A reference to a Chem.MatchConstraintList object | s | Aromatic sulfur |
The sub-constraint list must have the logical type Chem.MatchConstraintList.AND_LIST and has to contain the elements: | ||||
Chem.AtomMatchConstraint.TYPE | Chem.MatchConstraint.EQUAL | Chem.AtomType.S (Chem.AtomProperty.TYPE) | ||
Chem.AtomMatchConstraint.AROMATICITY | Chem.MatchConstraint.EQUAL | True (Chem.AtomProperty.AROMATICITY_FLAG) | ||
Chem.MatchConstraint.NOT_EQUAL | False (Chem.AtomProperty.AROMATICITY_FLAG) | |||
Chem.AtomMatchConstraint.CONSTRAINT_LIST | Chem.MatchConstraint.EQUAL | A reference to a Chem.MatchConstraintList object | p | Aromatic phosphorus |
The sub-constraint list must have the logical type Chem.MatchConstraintList.AND_LIST and has to contain the elements: | ||||
Chem.AtomMatchConstraint.TYPE | Chem.MatchConstraint.EQUAL | Chem.AtomType.P (Chem.AtomProperty.TYPE) | ||
Chem.AtomMatchConstraint.AROMATICITY | Chem.MatchConstraint.EQUAL | True (Chem.AtomProperty.AROMATICITY_FLAG) | ||
Chem.MatchConstraint.NOT_EQUAL | False (Chem.AtomProperty.AROMATICITY_FLAG) | |||
Chem.AtomMatchConstraint.CONSTRAINT_LIST | Chem.MatchConstraint.EQUAL | A reference to a Chem.MatchConstraintList object | a | Any aromatic atom |
The sub-constraint list must have the logical type Chem.MatchConstraintList.AND_LIST and has to contain the elements: | ||||
Chem.AtomMatchConstraint.TYPE | Chem.MatchConstraint.EQUAL | Chem.AtomType.ANY (Chem.AtomProperty.TYPE) | ||
Chem.AtomMatchConstraint.AROMATICITY | Chem.MatchConstraint.EQUAL | True (Chem.AtomProperty.AROMATICITY_FLAG) | ||
Chem.MatchConstraint.NOT_EQUAL | False (Chem.AtomProperty.AROMATICITY_FLAG) | |||
Chem.AtomMatchConstraint.CONSTRAINT_LIST | Chem.MatchConstraint.EQUAL | A reference to a Chem.MatchConstraintList object | A | Any non-aromatic atom |
The sub-constraint list must have the logical type Chem.MatchConstraintList.AND_LIST and has to contain the elements: | ||||
Chem.AtomMatchConstraint.TYPE | Chem.MatchConstraint.EQUAL | Chem.AtomType.ANY (Chem.AtomProperty.TYPE) | ||
Chem.AtomMatchConstraint.AROMATICITY | Chem.MatchConstraint.EQUAL | False (Chem.AtomProperty.AROMATICITY_FLAG) | ||
Chem.MatchConstraint.NOT_EQUAL | True (Chem.AtomProperty.AROMATICITY_FLAG) | |||
Chem.AtomMatchConstraint.CONSTRAINT_LIST | Chem.MatchConstraint.EQUAL | A reference to a Chem.MatchConstraintList object | ||
(Chem.AtomProperty.TYPE) | ||||
False (Chem.AtomProperty.AROMATICITY_FLAG) | ||||
True (Chem.AtomProperty.AROMATICITY_FLAG) | ||||
(Chem.AtomProperty.TYPE) | ||||
(Chem.AtomProperty.TYPE) | ||||
(Chem.AtomProperty.TYPE) | ||||
True (Chem.AtomProperty.RING_FLAG) | ||||
False (Chem.AtomProperty.RING_FLAG) | ||||
False (Chem.AtomProperty.RING_FLAG) | ||||
True (Chem.AtomProperty.RING_FLAG) | ||||
(Chem.getAtomCount(const Chem.Atom&, const Chem.MolecularGraph&, unsigned int)) | ||||
(Chem.getHeavyBondCount(const Chem.Atom&, const Chem.MolecularGraph&)) |
JMEReactionWriter
can be configured with the following control-parameters:
Control-Parameter | Default Value (see Chem.ControlParameterDefault) | Description |
---|---|---|
Chem.ControlParameter.STRICT_ERROR_CHECKING | False | Specifies whether non-fatal recoverable errors should be ignored or cause a write operation to fail |
Chem.ControlParameter.COORDINATES_DIMENSION | 2 | Specifies the dimension of atom coordinates |
Chem.ControlParameter.RECORD_SEPARATOR | "\n" | Specifies the data record separator |
Chem.ControlParameter.BOND_MEMBER_SWAP_STEREO_FIX | True | Specifies whether reverse stereo bonds shall be converted to regular stereo bonds by swapping bond start and end atoms |
Chem.ControlParameter.JME_SEPARATE_COMPONENTS | True | Specifies whether the components of a molecule shall be written separately or combined as a single JME component |
None CDPL.Chem.JMEReactionWriter.__init__ | ( | Base.OStream | os | ) |
Constructs a JMEReactionWriter
instance that will write the reaction data to the output stream os.
os | The output stream to write to. |