SmilesAtom
Date: 2019-10-22

org.jmol.smiles

## Class SmilesAtom

- java.lang.Object
- - javajs.util.T3
  - - javajs.util.P3
    - - org.jmol.smiles.SmilesAtom

- All Implemented Interfaces:
    java.io.Serializable, javajs.api.JSONEncodable, Node, SimpleNode

      public class SmilesAtom
      extends javajs.util.P3
      implements Node

  This class represents an atom in a `SmilesMolecule`.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) boolean` | `aromaticAmbiguous`
    `(package private) float` | `atomClass`
    `private int` | `atomicMass`
    `(package private) int` | `atomNumber`
    `(package private) int` | `atomSite`
    `(package private) java.lang.String` | `atomType`
    `(package private) java.lang.String` | `bioAtomName`
    `(package private) char` | `bioType`
    `(package private) int` | `bondCount`
    `(package private) SmilesBond[]` | `bonds`
    `private int` | `charge`
    `private int` | `cipChirality`
    `(package private) int` | `component`
    `(package private) int` | `connectivity`
    `private int` | `covalentHydrogenCount`
    `(package private) int` | `degree`
    `(package private) boolean` | `elementDefined`
    `(package private) int` | `elementNumber`
    `(package private) int` | `explicitHydrogenCount`
    `(package private) boolean` | `hasSubpattern`
    `(package private) boolean` | `hasSymbol`
    `(package private) int` | `implicitHydrogenCount`
    `(package private) int` | `index`
    `(package private) int` | `iNested`
    `(package private) char` | `insCode`
    `(package private) boolean` | `isAND`
    `(package private) boolean` | `isAromatic`
    `(package private) boolean` | `isBioAtom`
    `(package private) boolean` | `isBioAtomWild`
    `(package private) boolean` | `isBioResidue`
    `(package private) boolean` | `isFirst` true if this atom is the first SMILES atom or first after a .
    `(package private) boolean` | `isLeadAtom`
    `private boolean` | `isTopoAtom`
    `(package private) int` | `jmolIndex`
    `(package private) int` | `mapIndex`
    `(package private) int` | `matchingComponent`
    `private int` | `matchingIndex`
    `private Node` | `matchingNode`
    `private int` | `missingHydrogenCount`
    `(package private) int` | `nonhydrogenDegree`
    `(package private) boolean` | `not`
    `(package private) int` | `notBondedIndex`
    `(package private) boolean` | `notCrossLinked`
    `(package private) int` | `nSubAtoms`
    `(package private) SmilesAtom` | `parent`
    `(package private) java.lang.String` | `pattern`
    `(package private) int` | `patternIndex`
    `(package private) int` | `primitiveType`
    `(package private) java.lang.String` | `referance`
    `(package private) java.lang.String` | `residueChar`
    `(package private) java.lang.String` | `residueName`
    `(package private) int` | `residueNumber`
    `(package private) int` | `ringConnectivity`
    `(package private) int` | `ringMembership`
    `(package private) int` | `ringSize`
    `(package private) boolean` | `selected`
    `SmilesStereo` | `stereo`
    `(package private) SmilesAtom[]` | `subAtoms`
    `(package private) java.lang.String` | `symbol`
    `(package private) static java.lang.String` | `UNBRACKETED_SET`
    `(package private) int` | `valence`

    - ### Fields inherited from class javajs.util.T3

      `x, y, z`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SmilesAtom()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | `addBond(SmilesBond bond)` Add a bond to the atom.
    `(package private) SmilesAtom` | `addSubAtom(SmilesAtom sAtom, boolean isAND)`
    `(package private) static boolean` | `allowSmilesUnbracketed(java.lang.String xx)`
    `javajs.util.BS` | `findAtomsLike(java.lang.String substring)`
    `int` | `getAtomicAndIsotopeNumber()`
    `int` | `getAtomicMass()` Returns the atomic mass of the atom.
    `(package private) static java.lang.String` | `getAtomLabel(int atomicNumber, int isotopeNumber, int valence, int charge, float osclass, int nH, boolean isAromatic, java.lang.String stereo)` called from SmilesGenerator
    `java.lang.String` | `getAtomName()`
    `int` | `getAtomNumber()` Returns the Jmol atom number
    `int` | `getAtomSite()`
    `java.lang.String` | `getAtomType()`
    `char` | `getBioSmilesType()`
    `java.lang.String` | `getBioStructureTypeName()`
    `SmilesBond` | `getBond(int number)` Returns the bond at index `number`.
    `int` | `getBondCount()` Get the total number of bonds, including hydrogen bonds.
    `int` | `getBondedAtomIndex(int j)`
    `(package private) SmilesBond` | `getBondNotTo(SmilesAtom atom, boolean allowH)`
    `(package private) SmilesBond` | `getBondTo(SmilesAtom atom)` if atom is null, return bond TO this atom (bond.atom2 == this) otherwise, return bond connecting this atom with that atom
    `int` | `getChainID()`
    `java.lang.String` | `getChainIDStr()`
    `int` | `getCharge()` Returns the charge of the atom.
    `int` | `getChiralClass()`
    `java.lang.String` | `getCIPChirality(boolean doCalculate)`
    `int` | `getCIPChiralityCode()`
    `int` | `getCovalentBondCount()` Returns the number of bonds of this atom.
    `int` | `getCovalentBondCountPlusMissingH()` includes actual + missing
    `int` | `getCovalentHydrogenCount()`
    `boolean` | `getCrossLinkVector(javajs.util.Lst<java.lang.Integer> vLinks, boolean crosslinkCovalent, boolean crosslinkHBond)`
    `(package private) static int` | `getDefaultCount(int elementNumber, boolean isAromatic)`
    `Edge[]` | `getEdges()` Get the bond array, including hydrogen bonds.
    `int` | `getElementNumber()` Returns the atomic number of the element or 0
    `int` | `getExplicitHydrogenCount()`
    `float` | `getFloatProperty(java.lang.String property)`
    `int` | `getFormalCharge()`
    `java.lang.String` | `getGroup1(char c0)`
    `java.lang.String` | `getGroup3(boolean allowNull)`
    `void` | `getGroupBits(javajs.util.BS bs)`
    `int` | `getImplicitHydrogenCount()` can be > 0 for PDB model with no H atoms or for SMILES string CCC
    `int` | `getIndex()` Returns the atom index of the atom.
    `char` | `getInsertionCode()`
    `int` | `getIsotopeNumber()`
    `float` | `getMass()`
    `Node` | `getMatchingAtom()` Returns the matching atom or null.
    `int` | `getMatchingAtomIndex()` Returns the number of a matching atom in a molecule.
    `int` | `getMatchingBondedAtom(int i)`
    `int` | `getModelIndex()`
    `int` | `getMoleculeNumber(boolean inModel)`
    `int` | `getOffsetResidueAtom(java.lang.String name, int offset)`
    `int` | `getPatternIndex()`
    `int` | `getResno()`
    `SmilesStereo` | `getStereo()`
    `int` | `getTotalHydrogenCount()`
    `int` | `getTotalValence()`
    `int` | `getValence()`
    `javajs.util.P3` | `getXYZ()`
    `boolean` | `isCrossLinked(Node node)`
    `boolean` | `isDefined()`
    `boolean` | `isDeleted()`
    `boolean` | `isLeadAtom()`
    `boolean` | `isNucleic()`
    `boolean` | `isPurine()`
    `boolean` | `isPyrimidine()`
    `boolean` | `modelIsRawPDB()`
    `void` | `setAtomicMass(int mass)` Sets the atomic mass of the atom.
    `(package private) void` | `setAtomName(java.lang.String name)`
    `(package private) void` | `setBioAtom(char bioType)`
    `void` | `setBondArray()`
    `void` | `setBonds(SmilesBond[] bonds)`
    `void` | `setCharge(int charge)` Sets the charge of the atom.
    `void` | `setCIPChirality(int c)`
    `void` | `setConnectivity(int connectivity)`
    `void` | `setDegree(int degree)`
    `void` | `setExplicitHydrogenCount(int count)` Sets the number of explicit hydrogen atoms bonded with this atom.
    `boolean` | `setHydrogenCount()` Finalizes the hydrogen count hydrogens in a `SmilesMolecule`.
    `void` | `setImplicitHydrogenCount(int count)` Sets the number of implicit hydrogen atoms bonded with this atom.
    `SmilesAtom` | `setIndex(int index)` Constructs a `SmilesAtom`.
    `void` | `setMatchingAtom(Node jmolAtom, int index)` Sets the number of a matching atom in a molecule.
    `void` | `setNonhydrogenDegree(int degree)`
    `void` | `setRingConnectivity(int rc)`
    `void` | `setRingMembership(int rm)`
    `void` | `setRingSize(int rs)`
    `boolean` | `setSymbol(java.lang.String symbol)` Sets the symbol of the atm.
    `SmilesAtom` | `setTopoAtom(int iComponent, int ptAtom, java.lang.String symbol, int charge, int patternIndex)`
    `void` | `setValence(int valence)`
    `java.lang.String` | `toString()` Returns a string that contains the values of this Tuple3f.

    - ### Methods inherited from class javajs.util.P3

      `getUnlikely, new3, newP`

    - ### Methods inherited from class javajs.util.T3

      `add, add2, add3, ave, cross, distance, distanceSquared, dot, equals, floatToIntBits, hashCode, length, lengthSquared, normalize, scale, scaleAdd2, scaleT, set, setA, setT, sub, sub2, toJSON`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.jmol.util.Node

      `set`

- - ### Field Detail

    - #### UNBRACKETED_SET

          static final java.lang.String UNBRACKETED_SET

      See Also:
        Constant Field Values

    - #### patternIndex

          int patternIndex

    - #### pattern

          java.lang.String pattern

    - #### primitiveType

          int primitiveType

    - #### isAND

          boolean isAND

    - #### subAtoms

          SmilesAtom[] subAtoms

    - #### nSubAtoms

          int nSubAtoms

    - #### index

          int index

    - #### referance

          java.lang.String referance

    - #### residueName

          java.lang.String residueName

    - #### residueChar

          java.lang.String residueChar

    - #### insCode

          char insCode

    - #### isBioAtom

          boolean isBioAtom

    - #### isBioResidue

          boolean isBioResidue

    - #### isBioAtomWild

          boolean isBioAtomWild

    - #### bioType

          char bioType

    - #### isLeadAtom

          boolean isLeadAtom

    - #### notBondedIndex

          int notBondedIndex

    - #### notCrossLinked

          boolean notCrossLinked

    - #### aromaticAmbiguous

          boolean aromaticAmbiguous

    - #### covalentHydrogenCount

          private int covalentHydrogenCount

    - #### not

          boolean not

    - #### selected

          boolean selected

    - #### hasSymbol

          boolean hasSymbol

    - #### elementDefined

          boolean elementDefined

    - #### atomType

          java.lang.String atomType

    - #### bioAtomName

          java.lang.String bioAtomName

    - #### isFirst

          boolean isFirst

      true if this atom is the first SMILES atom or first after a . with no connector

    - #### jmolIndex

          int jmolIndex

    - #### elementNumber

          int elementNumber

    - #### atomNumber

          int atomNumber

    - #### residueNumber

          int residueNumber

    - #### explicitHydrogenCount

          int explicitHydrogenCount

    - #### implicitHydrogenCount

          int implicitHydrogenCount

    - #### parent

          SmilesAtom parent

    - #### bonds

          SmilesBond[] bonds

    - #### bondCount

          int bondCount

    - #### iNested

          int iNested

    - #### isAromatic

          boolean isAromatic

    - #### atomicMass

          private int atomicMass

    - #### charge

          private int charge

    - #### matchingIndex

          private int matchingIndex

    - #### stereo

          public SmilesStereo stereo

    - #### component

          int component

    - #### matchingComponent

          int matchingComponent

    - #### atomSite

          int atomSite

    - #### degree

          int degree

    - #### nonhydrogenDegree

          int nonhydrogenDegree

    - #### valence

          int valence

    - #### connectivity

          int connectivity

    - #### ringMembership

          int ringMembership

    - #### ringSize

          int ringSize

    - #### ringConnectivity

          int ringConnectivity

    - #### matchingNode

          private Node matchingNode

    - #### hasSubpattern

          boolean hasSubpattern

    - #### mapIndex

          int mapIndex

    - #### atomClass

          float atomClass

    - #### symbol

          java.lang.String symbol

    - #### isTopoAtom

          private boolean isTopoAtom

    - #### missingHydrogenCount

          private int missingHydrogenCount

    - #### cipChirality

          private int cipChirality

  - ### Constructor Detail

    - #### SmilesAtom

          SmilesAtom()

  - ### Method Detail

    - #### allowSmilesUnbracketed

          static boolean allowSmilesUnbracketed(java.lang.String xx)

    - #### getAtomType

          public java.lang.String getAtomType()

      Specified by:
        `getAtomType` in interface `Node`

    - #### getChiralClass

          public int getChiralClass()

    - #### isDefined

          public boolean isDefined()

    - #### setBioAtom

          void setBioAtom(char bioType)

    - #### setAtomName

          void setAtomName(java.lang.String name)

    - #### setBonds

          public void setBonds(SmilesBond[] bonds)

    - #### addSubAtom

          SmilesAtom addSubAtom(SmilesAtom sAtom,
                                boolean isAND)

    - #### setIndex

          public SmilesAtom setIndex(int index)

      Constructs a `SmilesAtom`.
      Parameters:
        `index` - Atom number in the molecule.
      Returns:
        this

    - #### setTopoAtom

          public SmilesAtom setTopoAtom(int iComponent,
                                        int ptAtom,
                                        java.lang.String symbol,
                                        int charge,
                                        int patternIndex)

    - #### setHydrogenCount

          public boolean setHydrogenCount()

      Finalizes the hydrogen count hydrogens in a `SmilesMolecule`. "missing" here means the number of atoms not present in the SMILES string for unbracketed atoms or the number of hydrogen atoms "CC" being really CH3CH3 or explicitly mentioned in the bracketed atom, "[CH2]". These hydrogen atoms are not part of the topological model constructed and need to be accounted for.
      Returns:
        false if inappropriate

    - #### getDefaultCount

          static int getDefaultCount(int elementNumber,
                                     boolean isAromatic)

    - #### getIndex

          public int getIndex()

      Returns the atom index of the atom.
      Specified by:
        `getIndex` in interface `Node`
      Specified by:
        `getIndex` in interface `SimpleNode`
      Returns:
        Atom index.

    - #### setSymbol

          public boolean setSymbol(java.lang.String symbol)

      Sets the symbol of the atm.
      Parameters:
        `symbol` - Atom symbol.
      Returns:
        false if invalid symbol

    - #### getElementNumber

          public int getElementNumber()

      Returns the atomic number of the element or 0
      Specified by:
        `getElementNumber` in interface `Node`
      Specified by:
        `getElementNumber` in interface `SimpleNode`
      Returns:
        atomicNumber

    - #### getAtomicMass

          public int getAtomicMass()

      Returns the atomic mass of the atom.
      Returns:
        Atomic mass.

    - #### getAtomNumber

          public int getAtomNumber()

      Returns the Jmol atom number
      Specified by:
        `getAtomNumber` in interface `Node`

    - #### setAtomicMass

          public void setAtomicMass(int mass)

      Sets the atomic mass of the atom.
      Parameters:
        `mass` - Atomic mass.

    - #### getCharge

          public int getCharge()

      Returns the charge of the atom.
      Returns:
        Charge.

    - #### setCharge

          public void setCharge(int charge)

      Sets the charge of the atom.
      Parameters:
        `charge` - Charge.

    - #### getMatchingAtomIndex

          public int getMatchingAtomIndex()

      Returns the number of a matching atom in a molecule. This value is temporary, it is used during the pattern matching algorithm.
      Returns:
        matching atom index

    - #### getMatchingAtom

          public Node getMatchingAtom()

      Returns the matching atom or null.
      Returns:
        matching atom

    - #### setMatchingAtom

          public void setMatchingAtom(Node jmolAtom,
                                      int index)

      Sets the number of a matching atom in a molecule. This value is temporary, it is used during the pattern matching algorithm.
      Parameters:
        `jmolAtom` -
        `index` - Temporary: number of a matching atom in a molecule.

    - #### setExplicitHydrogenCount

          public void setExplicitHydrogenCount(int count)

      Sets the number of explicit hydrogen atoms bonded with this atom.
      Parameters:
        `count` - Number of hydrogen atoms.

    - #### setImplicitHydrogenCount

          public void setImplicitHydrogenCount(int count)

      Sets the number of implicit hydrogen atoms bonded with this atom.
      Parameters:
        `count` - Number of hydrogen atoms.

    - #### setDegree

          public void setDegree(int degree)

    - #### setNonhydrogenDegree

          public void setNonhydrogenDegree(int degree)

    - #### setValence

          public void setValence(int valence)

    - #### setConnectivity

          public void setConnectivity(int connectivity)

    - #### setRingMembership

          public void setRingMembership(int rm)

    - #### setRingSize

          public void setRingSize(int rs)

    - #### setRingConnectivity

          public void setRingConnectivity(int rc)

    - #### getModelIndex

          public int getModelIndex()

      Specified by:
        `getModelIndex` in interface `Node`

    - #### getMoleculeNumber

          public int getMoleculeNumber(boolean inModel)

      Specified by:
        `getMoleculeNumber` in interface `Node`

    - #### getAtomSite

          public int getAtomSite()

      Specified by:
        `getAtomSite` in interface `Node`

    - #### getFormalCharge

          public int getFormalCharge()

      Specified by:
        `getFormalCharge` in interface `Node`
      Specified by:
        `getFormalCharge` in interface `SimpleNode`
      Returns:
        the formal charge for this atom

    - #### getIsotopeNumber

          public int getIsotopeNumber()

      Specified by:
        `getIsotopeNumber` in interface `Node`
      Specified by:
        `getIsotopeNumber` in interface `SimpleNode`

    - #### getAtomicAndIsotopeNumber

          public int getAtomicAndIsotopeNumber()

      Specified by:
        `getAtomicAndIsotopeNumber` in interface `Node`

    - #### getAtomName

          public java.lang.String getAtomName()

      Specified by:
        `getAtomName` in interface `Node`
      Specified by:
        `getAtomName` in interface `SimpleNode`

    - #### getGroup3

          public java.lang.String getGroup3(boolean allowNull)

      Specified by:
        `getGroup3` in interface `Node`

    - #### getGroup1

          public java.lang.String getGroup1(char c0)

      Specified by:
        `getGroup1` in interface `Node`

    - #### addBond

          void addBond(SmilesBond bond)

      Add a bond to the atom.
      Parameters:
        `bond` - Bond to add.

    - #### setBondArray

          public void setBondArray()

    - #### getEdges

          public Edge[] getEdges()

      Description copied from interface: `SimpleNode`
      Get the bond array, including hydrogen bonds.
      Specified by:
        `getEdges` in interface `Node`
      Specified by:
        `getEdges` in interface `SimpleNode`
      Returns:
        number of bonds

    - #### getBond

          public SmilesBond getBond(int number)

      Returns the bond at index `number`.
      Parameters:
        `number` - Bond number.
      Returns:
        Bond.

    - #### getCovalentBondCount

          public int getCovalentBondCount()

      Returns the number of bonds of this atom.
      Specified by:
        `getCovalentBondCount` in interface `Node`
      Specified by:
        `getCovalentBondCount` in interface `SimpleNode`
      Returns:
        Number of bonds.

    - #### getBondCount

          public int getBondCount()

      Description copied from interface: `SimpleNode`
      Get the total number of bonds, including hydrogen bonds.
      Specified by:
        `getBondCount` in interface `SimpleNode`
      Returns:
        number of bonds

    - #### getCovalentBondCountPlusMissingH

          public int getCovalentBondCountPlusMissingH()

      Description copied from interface: `Node`
      includes actual + missing
      Specified by:
        `getCovalentBondCountPlusMissingH` in interface `Node`
      Returns:
        actual + missing

    - #### getTotalHydrogenCount

          public int getTotalHydrogenCount()

      Specified by:
        `getTotalHydrogenCount` in interface `Node`

    - #### getImplicitHydrogenCount

          public int getImplicitHydrogenCount()

      Description copied from interface: `Node`
      can be > 0 for PDB model with no H atoms or for SMILES string CCC
      Specified by:
        `getImplicitHydrogenCount` in interface `Node`
      Returns:
        number of missing H atoms

    - #### getExplicitHydrogenCount

          public int getExplicitHydrogenCount()

    - #### getMatchingBondedAtom

          public int getMatchingBondedAtom(int i)

    - #### getBondedAtomIndex

          public int getBondedAtomIndex(int j)

      Specified by:
        `getBondedAtomIndex` in interface `Node`

    - #### getCovalentHydrogenCount

          public int getCovalentHydrogenCount()

      Specified by:
        `getCovalentHydrogenCount` in interface `Node`

    - #### getValence

          public int getValence()

      Specified by:
        `getValence` in interface `Node`
      Specified by:
        `getValence` in interface `SimpleNode`
      Returns:
        the sum of the bond orders for this atom

    - #### getTotalValence

          public int getTotalValence()

      Specified by:
        `getTotalValence` in interface `Node`

    - #### getBondTo

          SmilesBond getBondTo(SmilesAtom atom)

      if atom is null, return bond TO this atom (bond.atom2 == this) otherwise, return bond connecting this atom with that atom
      Parameters:
        `atom` -
      Returns:
        bond

    - #### getBondNotTo

          SmilesBond getBondNotTo(SmilesAtom atom,
                                  boolean allowH)

    - #### isLeadAtom

          public boolean isLeadAtom()

      Specified by:
        `isLeadAtom` in interface `Node`

    - #### getOffsetResidueAtom

          public int getOffsetResidueAtom(java.lang.String name,
                                          int offset)

      Specified by:
        `getOffsetResidueAtom` in interface `Node`

    - #### getGroupBits

          public void getGroupBits(javajs.util.BS bs)

      Specified by:
        `getGroupBits` in interface `Node`

    - #### isCrossLinked

          public boolean isCrossLinked(Node node)

      Specified by:
        `isCrossLinked` in interface `Node`

    - #### getCrossLinkVector

          public boolean getCrossLinkVector(javajs.util.Lst<java.lang.Integer> vLinks,
                                            boolean crosslinkCovalent,
                                            boolean crosslinkHBond)

      Specified by:
        `getCrossLinkVector` in interface `Node`

    - #### getBioStructureTypeName

          public java.lang.String getBioStructureTypeName()

      Specified by:
        `getBioStructureTypeName` in interface `Node`

    - #### getInsertionCode

          public char getInsertionCode()

      Specified by:
        `getInsertionCode` in interface `Node`

    - #### getResno

          public int getResno()

      Specified by:
        `getResno` in interface `Node`

    - #### getChainID

          public int getChainID()

      Specified by:
        `getChainID` in interface `Node`

    - #### getChainIDStr

          public java.lang.String getChainIDStr()

      Specified by:
        `getChainIDStr` in interface `Node`

    - #### getAtomLabel

          static java.lang.String getAtomLabel(int atomicNumber,
                                               int isotopeNumber,
                                               int valence,
                                               int charge,
                                               float osclass,
                                               int nH,
                                               boolean isAromatic,
                                               java.lang.String stereo)

      called from SmilesGenerator
      Parameters:
        `atomicNumber` -
        `isotopeNumber` -
        `valence` - set -1 to force brackets
        `charge` -
        `osclass` - OpenSMILES value
        `nH` -
        `isAromatic` -
        `stereo` -
      Returns:
        label

    - #### getBioSmilesType

          public char getBioSmilesType()

      Specified by:
        `getBioSmilesType` in interface `Node`

    - #### isNucleic

          public boolean isNucleic()

    - #### isPurine

          public boolean isPurine()

      Specified by:
        `isPurine` in interface `Node`

    - #### isPyrimidine

          public boolean isPyrimidine()

      Specified by:
        `isPyrimidine` in interface `Node`

    - #### isDeleted

          public boolean isDeleted()

      Specified by:
        `isDeleted` in interface `Node`

    - #### findAtomsLike

          public javajs.util.BS findAtomsLike(java.lang.String substring)

      Specified by:
        `findAtomsLike` in interface `Node`

    - #### toString

          public java.lang.String toString()

      Description copied from class: `javajs.util.T3`
      Returns a string that contains the values of this Tuple3f. The form is (x,y,z).
      Overrides:
        `toString` in class `javajs.util.T3`
      Returns:
        the String representation

    - #### getFloatProperty

          public float getFloatProperty(java.lang.String property)

      Specified by:
        `getFloatProperty` in interface `Node`
      Parameters:
        `property` - "property_xxxx"
      Returns:
        value or Float.NaN

    - #### getMass

          public float getMass()

      Specified by:
        `getMass` in interface `Node`
      Specified by:
        `getMass` in interface `SimpleNode`
      Returns:
        the mass or, if specified, the mass number

    - #### getCIPChirality

          public java.lang.String getCIPChirality(boolean doCalculate)

      Specified by:
        `getCIPChirality` in interface `Node`

    - #### setCIPChirality

          public void setCIPChirality(int c)

      Specified by:
        `setCIPChirality` in interface `Node`
      Specified by:
        `setCIPChirality` in interface `SimpleNode`

    - #### getCIPChiralityCode

          public int getCIPChiralityCode()

      Specified by:
        `getCIPChiralityCode` in interface `Node`

    - #### getXYZ

          public javajs.util.P3 getXYZ()

      Specified by:
        `getXYZ` in interface `Node`
      Specified by:
        `getXYZ` in interface `SimpleNode`
      Returns:
        the position of this atom

    - #### getStereo

          public SmilesStereo getStereo()

    - #### getPatternIndex

          public int getPatternIndex()

    - #### modelIsRawPDB

          public boolean modelIsRawPDB()

      Specified by:
        `modelIsRawPDB` in interface `Node`