Class: ChemStructureNode

Kekule. ChemStructureNode

new ChemStructureNode(id, coord2D, coord3D)

Represent an abstract structure node (atom, atom group, etc.).
Parameters:
Name Type Description
id String Id of this node.
coord2D Hash The 2D coordinates of node, {x, y}, can be null.
coord3D Hash The 3D coordinates of node, {x, y, z}, can be null.
Properties:
Name Type Description
charge Float Charge of atom. As there may be partial charge on atom, so a float value is used.
radical Int Radical state of node, value should from Kekule.RadicalOrder.
parity Int Stereo parity of node if the node is a chiral one, following the MDL convention.
linkedChemNodes Array Neighbor nodes linked to this node through proper connectors.
isAnchor Bool Whether this node is among anchors in parent structure.
Source:

Extends

Methods

appendLinkedConnector(connector)

Link a connector to this node.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:

compareStructure(targetObj, options) → {Int}

Explicit set compare method to chem structure and compare to targetObj.
Parameters:
Name Type Description
targetObj Kekule.ChemObject
options Hash
Inherited From:
Source:
Returns:
Type
Int

equalStructure(targetObj, options) → {Bool}

Check if this object and targetObj has equivalent chem structure.
Parameters:
Name Type Description
targetObj Kekule.ChemObject
options Hash
Inherited From:
Source:
Returns:
Type
Bool

fetchChargeMarker() → {Kekule.ChemMarker.ChemPropertyMarker}

Get charge marker of node. If no such a marker currently and canCreate is true, a new marker will be created.
Source:
Returns:
Type
Kekule.ChemMarker.ChemPropertyMarker

fetchRadicalMarker() → {Kekule.ChemMarker.ChemPropertyMarker}

Get radical marker of node. If no such a marker currently and canCreate is true, a new marker will be created.
Source:
Returns:
Type
Kekule.ChemMarker.ChemPropertyMarker

getAbsBaseCoord(coordMode, allowCoordBorrow) → {Hash}

Get absolute center coord of object.
Parameters:
Name Type Description
coordMode Int
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Type
Hash

getBaseCoord(coordMode, allowCoordBorrow) → {Hash}

Get center coord of object.
Parameters:
Name Type Description
coordMode Int
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Type
Hash

getBelongedRingMinSize() → {Int}

Returns the min size of all belonged rings.
Inherited From:
Source:
Returns:
Min ring node count. If the object is not belonged to any ring, null will be returned.
Type
Int

getBelongedSssrRings() → {Array}

Returns SSSR ring that this object belonged.
Inherited From:
Source:
Returns:
Type
Array

getConnectorTo(obj) → {Kekule.ChemStructureConnector}

Get connector between this object and another object.
Parameters:
Name Type Description
obj Kekule.ChemStructureObject
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureConnector

getContainerBox(coordMode, allowCoordBorrow) → {Hash}

Calculate the box to contain the object. Descendants may override this method.
Parameters:
Name Type Description
coordMode Int Determine to calculate 2D or 3D box. Value from Kekule.CoordMode.
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getContainerBox2D(allowCoordBorrow) → {Hash}

Calculate the 2D box to contain the object.
Parameters:
Name Type Description
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getContainerBox3D(allowCoordBorrow) → {Hash}

Calculate the 3D box to contain the object.
Parameters:
Name Type Description
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getCoordDeterminateObjects() → {Array}

If this object determinate other object's coord, this method should returns them.
Inherited From:
Source:
Returns:
Type
Array

getCurrConnectableObj() → {Kekule.ChemStructureObject}

Returns self or child object that can directly linked to a connector. For atom or other simple chem objetc, this function should just returns self, for structure fragment, this function need to returns an anchor node.
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureObject

getDisplayRichText(hydrogenDisplayLevel, showCharge, displayLabelConfigs)

Get label to display the atom.
Parameters:
Name Type Description
hydrogenDisplayLevel Int Value from Kekule.Render.HydrogenDisplayLevel.
showCharge Bool Whether display charge of node.
displayLabelConfigs Kekule.Render.DisplayLabelConfigs
Source:

getLabel() → {String}

Returns a label that represents current node. Desendants should override this method.
Source:
Returns:
Type
String

getLinkedBonds(bondType) → {Array}

Returns linked instances of Kekule.Bond to this node.
Parameters:
Name Type Description
bondType Int
Source:
Returns:
Type
Array

getLinkedChemNodes(ignoreHydrogenAtoms) → {Array}

Returns neighbor nodes linked to this node through proper connectors.
Parameters:
Name Type Description
ignoreHydrogenAtoms Bool Whether explicit hydrogen atoms are returned. Default is false.
Source:
Returns:
Type
Array

getLinkedConnectorAt(index) → {Kekule.ChemStructureConnector}

Get linked connector object at index.
Parameters:
Name Type Description
index Int
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureConnector

getLinkedConnectorCount() → {Int}

Return count of linkedConnectors.
Inherited From:
Source:
Returns:
Type
Int

getLinkedDoubleBonds() → {Array}

Returns linked double covalent bond to this node.
Source:
Returns:
Type
Array

getLinkedHydrogenAtoms() → {Array}

Returns linked hydrogen atoms.
Inherited From:
Source:
Returns:
Type
Array

getLinkedMultipleBonds() → {Array}

Returns linked multiple covalent bond to this node.
Source:
Returns:
Type
Array

getLinkedNonHydrogenConnectors() → {Array}

Returns connectors that connected to a non hydrogen node.
Inherited From:
Source:
Returns:
Type
Array

getLinkedNonHydrogenObjs() → {Array}

Returns linked objects except hydrogen atoms.
Inherited From:
Source:
Returns:
Type
Array

getLinkedObjsOnConnector() → {Array}

Returns other objects connected to this one through connector.
Inherited From:
Source:
Returns:
Type
Array

getParentFragment() → {Kekule.StructureFragment}

If Kekule.ChemStructureObject#parent is a Kekule.StructureFragment, returns this fragment.
Inherited From:
Source:
Returns:
Type
Kekule.StructureFragment

getPrimaryIsotope() → {Kekule.Isotope}

Returns the most possible isotope of node. To Kekule.Atom, this should be simplely the isotope of atom while variable atom or pseudoatom may has its own implementation. This method returns null if isotope is uncertain to this node. Descendants need to override this method.
Source:
Returns:
Type
Kekule.Isotope

getRootFragment() → {Kekule.StructureFragment}

Returns the root parent of Kekule.StructureFragment, rather than subgroups.
Inherited From:
Source:
Returns:
Type
Kekule.StructureFragment

indexOfLinkedConnector(connector) → {Int}

Returns index of connector connected to node.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:
Returns:
Type
Int

isCoordDependent() → {Bool}

Whether the coord of chem object is calculated from other object (like connector).
Inherited From:
Source:
Returns:
Type
Bool

isHydrogenAtom() → {Bool}

Returns whether this node is a H atom (but not D or T).
Source:
Returns:
Type
Bool

move(delta, coordMode) → {Hash}

Move node by delta.
Parameters:
Name Type Description
delta Hash
coordMode Int
Inherited From:
Source:
Returns:
New coord after moving.
Type
Hash

move2D(delta) → {Hash}

Move node 2D coord by delta.
Parameters:
Name Type Description
delta Hash
Inherited From:
Source:
Returns:
New coord after moving.
Type
Hash

move3D(delta) → {Hash}

Move node 3D coord by delta.
Parameters:
Name Type Description
delta Hash
Inherited From:
Source:
Returns:
New coord after moving.
Type
Hash

removeLinkedConnector(connector)

Remove a connector in linkedContainer.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:

removeLinkedConnectorAt(index)

Remove connector at index of linkedConnectors.
Parameters:
Name Type Description
index Int
Inherited From:
Source:

removeThisFromLinkedConnector()

Remove this node from all linked connectors. Ths method should be called before a object is removed from a structure.
Inherited From:
Source:

Events

structureChange

Invoked when object is changed and the change is related with structure (e.g. modify a bond, change a atomic number...). Event has field: {origin: the change source object (may be a child of event.target}.
Inherited From:
Source:

Kekule. ChemStructureNode

new ChemStructureNode()

Source:

Methods

appendLinkedConnector(connector)

Link a connector to this node.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:

compareStructure(targetObj, options) → {Int}

Explicit set compare method to chem structure and compare to targetObj.
Parameters:
Name Type Description
targetObj Kekule.ChemObject
options Hash
Inherited From:
Source:
Returns:
Type
Int

equalStructure(targetObj, options) → {Bool}

Check if this object and targetObj has equivalent chem structure.
Parameters:
Name Type Description
targetObj Kekule.ChemObject
options Hash
Inherited From:
Source:
Returns:
Type
Bool

fetchChargeMarker() → {Kekule.ChemMarker.ChemPropertyMarker}

Get charge marker of node. If no such a marker currently and canCreate is true, a new marker will be created.
Source:
Returns:
Type
Kekule.ChemMarker.ChemPropertyMarker

fetchRadicalMarker() → {Kekule.ChemMarker.ChemPropertyMarker}

Get radical marker of node. If no such a marker currently and canCreate is true, a new marker will be created.
Source:
Returns:
Type
Kekule.ChemMarker.ChemPropertyMarker

getAbsBaseCoord(coordMode, allowCoordBorrow) → {Hash}

Get absolute center coord of object.
Parameters:
Name Type Description
coordMode Int
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Type
Hash

getBaseCoord(coordMode, allowCoordBorrow) → {Hash}

Get center coord of object.
Parameters:
Name Type Description
coordMode Int
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Type
Hash

getBelongedRingMinSize() → {Int}

Returns the min size of all belonged rings.
Inherited From:
Source:
Returns:
Min ring node count. If the object is not belonged to any ring, null will be returned.
Type
Int

getBelongedSssrRings() → {Array}

Returns SSSR ring that this object belonged.
Inherited From:
Source:
Returns:
Type
Array

getConnectorTo(obj) → {Kekule.ChemStructureConnector}

Get connector between this object and another object.
Parameters:
Name Type Description
obj Kekule.ChemStructureObject
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureConnector

getContainerBox(coordMode, allowCoordBorrow) → {Hash}

Calculate the box to contain the object. Descendants may override this method.
Parameters:
Name Type Description
coordMode Int Determine to calculate 2D or 3D box. Value from Kekule.CoordMode.
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getContainerBox2D(allowCoordBorrow) → {Hash}

Calculate the 2D box to contain the object.
Parameters:
Name Type Description
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getContainerBox3D(allowCoordBorrow) → {Hash}

Calculate the 3D box to contain the object.
Parameters:
Name Type Description
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getCoordDeterminateObjects() → {Array}

If this object determinate other object's coord, this method should returns them.
Inherited From:
Source:
Returns:
Type
Array

getCurrConnectableObj() → {Kekule.ChemStructureObject}

Returns self or child object that can directly linked to a connector. For atom or other simple chem objetc, this function should just returns self, for structure fragment, this function need to returns an anchor node.
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureObject

getDisplayRichText(hydrogenDisplayLevel, showCharge, displayLabelConfigs)

Get label to display the atom.
Parameters:
Name Type Description
hydrogenDisplayLevel Int Value from Kekule.Render.HydrogenDisplayLevel.
showCharge Bool Whether display charge of node.
displayLabelConfigs Kekule.Render.DisplayLabelConfigs
Source:

getLabel() → {String}

Returns a label that represents current node. Desendants should override this method.
Source:
Returns:
Type
String

getLinkedBonds(bondType) → {Array}

Returns linked instances of Kekule.Bond to this node.
Parameters:
Name Type Description
bondType Int
Source:
Returns:
Type
Array

getLinkedChemNodes(ignoreHydrogenAtoms) → {Array}

Returns neighbor nodes linked to this node through proper connectors.
Parameters:
Name Type Description
ignoreHydrogenAtoms Bool Whether explicit hydrogen atoms are returned. Default is false.
Source:
Returns:
Type
Array

getLinkedConnectorAt(index) → {Kekule.ChemStructureConnector}

Get linked connector object at index.
Parameters:
Name Type Description
index Int
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureConnector

getLinkedConnectorCount() → {Int}

Return count of linkedConnectors.
Inherited From:
Source:
Returns:
Type
Int

getLinkedDoubleBonds() → {Array}

Returns linked double covalent bond to this node.
Source:
Returns:
Type
Array

getLinkedHydrogenAtoms() → {Array}

Returns linked hydrogen atoms.
Inherited From:
Source:
Returns:
Type
Array

getLinkedMultipleBonds() → {Array}

Returns linked multiple covalent bond to this node.
Source:
Returns:
Type
Array

getLinkedNonHydrogenConnectors() → {Array}

Returns connectors that connected to a non hydrogen node.
Inherited From:
Source:
Returns:
Type
Array

getLinkedNonHydrogenObjs() → {Array}

Returns linked objects except hydrogen atoms.
Inherited From:
Source:
Returns:
Type
Array

getLinkedObjsOnConnector() → {Array}

Returns other objects connected to this one through connector.
Inherited From:
Source:
Returns:
Type
Array

getParentFragment() → {Kekule.StructureFragment}

If Kekule.ChemStructureObject#parent is a Kekule.StructureFragment, returns this fragment.
Inherited From:
Source:
Returns:
Type
Kekule.StructureFragment

getPrimaryIsotope() → {Kekule.Isotope}

Returns the most possible isotope of node. To Kekule.Atom, this should be simplely the isotope of atom while variable atom or pseudoatom may has its own implementation. This method returns null if isotope is uncertain to this node. Descendants need to override this method.
Source:
Returns:
Type
Kekule.Isotope

getRootFragment() → {Kekule.StructureFragment}

Returns the root parent of Kekule.StructureFragment, rather than subgroups.
Inherited From:
Source:
Returns:
Type
Kekule.StructureFragment

indexOfLinkedConnector(connector) → {Int}

Returns index of connector connected to node.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:
Returns:
Type
Int

isCoordDependent() → {Bool}

Whether the coord of chem object is calculated from other object (like connector).
Inherited From:
Source:
Returns:
Type
Bool

isHydrogenAtom() → {Bool}

Returns whether this node is a H atom (but not D or T).
Source:
Returns:
Type
Bool

move(delta, coordMode) → {Hash}

Move node by delta.
Parameters:
Name Type Description
delta Hash
coordMode Int
Inherited From:
Source:
Returns:
New coord after moving.
Type
Hash

move2D(delta) → {Hash}

Move node 2D coord by delta.
Parameters:
Name Type Description
delta Hash
Inherited From:
Source:
Returns:
New coord after moving.
Type
Hash

move3D(delta) → {Hash}

Move node 3D coord by delta.
Parameters:
Name Type Description
delta Hash
Inherited From:
Source:
Returns:
New coord after moving.
Type
Hash

removeLinkedConnector(connector)

Remove a connector in linkedContainer.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:

removeLinkedConnectorAt(index)

Remove connector at index of linkedConnectors.
Parameters:
Name Type Description
index Int
Inherited From:
Source:

removeThisFromLinkedConnector()

Remove this node from all linked connectors. Ths method should be called before a object is removed from a structure.
Inherited From:
Source:

Events

structureChange

Invoked when object is changed and the change is related with structure (e.g. modify a bond, change a atomic number...). Event has field: {origin: the change source object (may be a child of event.target}.
Inherited From:
Source: