Class 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 Detail

      • patternIndex

        int patternIndex
      • pattern

        java.lang.String pattern
      • primitiveType

        int primitiveType
      • isAND

        boolean isAND
      • 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
      • bondCount

        int bondCount
      • iNested

        int iNested
      • isAromatic

        boolean isAromatic
      • atomicMass

        private int atomicMass
      • charge

        private int charge
      • matchingIndex

        private int matchingIndex
      • 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)
      • 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
      • 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
      • 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.
      • 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
      • 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
      • 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
      • 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,
                                             boolean is2D)
        called from SmilesGenerator
        Parameters:
        atomicNumber -
        isotopeNumber -
        valence - set -1 to force brackets
        charge -
        osclass - OpenSMILES value
        nH -
        isAromatic -
        stereo -
        is2D -
        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
      • getXYZ

        public javajs.util.P3 getXYZ()
        Specified by:
        getXYZ in interface Node
        Specified by:
        getXYZ in interface SimpleNode
        Returns:
        the position of this atom
      • getPatternIndex

        public int getPatternIndex()
      • modelIsRawPDB

        public boolean modelIsRawPDB()
        Specified by:
        modelIsRawPDB in interface Node