Class Atom

    • Field Detail

      • MAD_GLOBAL

        public static short MAD_GLOBAL
      • altloc

        public char altloc
      • atomID

        public byte atomID
      • atomSite

        public int atomSite
      • group

        public Group group
      • userDefinedVanDerWaalRadius

        private float userDefinedVanDerWaalRadius
      • valence

        byte valence
      • atomicAndIsotopeNumber

        private short atomicAndIsotopeNumber
      • atomSymmetry

        public javajs.util.BS atomSymmetry
      • formalChargeAndFlags

        private int formalChargeAndFlags
      • CIP_CHIRALITY_RULE_OFFSET

        private static final int CIP_CHIRALITY_RULE_OFFSET
        See Also:
        Constant Field Values
      • CIP_CHIRALITY_RULE_MASK

        private static final int CIP_CHIRALITY_RULE_MASK
        See Also:
        Constant Field Values
      • madAtom

        public short madAtom
      • colixAtom

        public short colixAtom
      • paletteID

        public byte paletteID
      • bonds

        public Bond[] bonds
        MAY BE NULL
      • nBondsDisplayed

        private int nBondsDisplayed
      • nBackbonesDisplayed

        public int nBackbonesDisplayed
      • clickabilityFlags

        public int clickabilityFlags
      • shapeVisibilityFlags

        public int shapeVisibilityFlags
    • Constructor Detail

      • Atom

        public Atom()
    • Method Detail

      • setAtom

        public Atom setAtom​(int modelIndex,
                            int atomIndex,
                            javajs.util.P3 xyz,
                            float radius,
                            javajs.util.BS atomSymmetry,
                            int atomSite,
                            short atomicAndIsotopeNumber,
                            int formalCharge,
                            boolean isHetero)
        Parameters:
        modelIndex -
        atomIndex -
        xyz -
        radius -
        atomSymmetry -
        atomSite -
        atomicAndIsotopeNumber -
        formalCharge -
        isHetero -
        Returns:
        this
      • setShapeVisibility

        public final void setShapeVisibility​(int flag,
                                             boolean isVisible)
      • isCovalentlyBonded

        public boolean isCovalentlyBonded​(Atom atomOther)
      • isBonded

        public boolean isBonded​(Atom atomOther)
      • getBond

        public Bond getBond​(Atom atomOther)
      • addDisplayedBond

        void addDisplayedBond​(int stickVisibilityFlag,
                              boolean isVisible)
      • deleteBond

        void deleteBond​(Bond bond)
      • deleteBondAt

        private void deleteBondAt​(int i)
      • getBondedAtomIndex

        public int getBondedAtomIndex​(int bondIndex)
        Specified by:
        getBondedAtomIndex in interface Node
      • getADPMinMax

        public float getADPMinMax​(boolean isMax)
      • getTensors

        public java.lang.Object[] getTensors()
      • getRasMolRadius

        public int getRasMolRadius()
      • 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
      • 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
      • setTranslucent

        public void setTranslucent​(boolean isTranslucent,
                                   float translucentLevel)
      • setAtomicAndIsotopeNumber

        public void setAtomicAndIsotopeNumber​(int n)
      • getElementSymbolIso

        public java.lang.String getElementSymbolIso​(boolean withIsotope)
      • getElementSymbol

        public java.lang.String getElementSymbol()
      • isHetero

        public boolean isHetero()
      • hasVibration

        public boolean hasVibration()
      • setFormalCharge

        public void setFormalCharge​(int charge)
        Parameters:
        charge - from -3 to 7
      • setVibrationVector

        void setVibrationVector()
      • getOccupancy100

        public int getOccupancy100()
      • isOccupied

        public boolean isOccupied()
      • getBfactor100

        public int getBfactor100()
      • getHydrophobicity

        public float getHydrophobicity()
      • setRadius

        public boolean setRadius​(float radius)
      • delete

        public void delete​(javajs.util.BS bsBonds)
      • isDeleted

        public boolean isDeleted()
        Specified by:
        isDeleted in interface Node
      • setValence

        public void setValence​(int nBonds)
      • getValence

        public int getValence()
        return the total bond order for this atom
        Specified by:
        getValence in interface Node
        Specified by:
        getValence in interface SimpleNode
        Returns:
        the sum of the bond orders for this atom
      • getCovalentBondCount

        public int getCovalentBondCount()
        Description copied from interface: SimpleNode
        Get the total number of covalent bonds, thus not including hydrogen bonds.
        Specified by:
        getCovalentBondCount in interface Node
        Specified by:
        getCovalentBondCount in interface SimpleNode
        Returns:
        number of bonds
      • 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
      • getTotalValence

        public int getTotalValence()
        Specified by:
        getTotalValence in interface Node
      • getCovalentBondCountPlusMissingH

        public int getCovalentBondCountPlusMissingH()
        Description copied from interface: Node
        includes actual + missing
        Specified by:
        getCovalentBondCountPlusMissingH in interface Node
        Returns:
        actual + missing
      • getTargetValence

        int getTargetValence()
      • getDimensionValue

        public float getDimensionValue​(int dimension)
      • getVanderwaalsRadiusFloat

        public float getVanderwaalsRadiusFloat​(Viewer vwr,
                                               VDW type)
      • getVdwType

        private VDW getVdwType​(VDW type)
        Parameters:
        type -
        Returns:
        if VDW_AUTO, will return VDW_AUTO_JMOL, VDW_AUTO_RASMOL, or VDW_AUTO_BABEL based on the model type
      • getBondingRadius

        public float getBondingRadius()
      • getVolume

        float getVolume​(Viewer vwr,
                        VDW vType)
      • getCurrentBondCount

        int getCurrentBondCount()
      • getRadius

        public float getRadius()
      • getIndex

        public int getIndex()
        Specified by:
        getIndex in interface Node
        Specified by:
        getIndex in interface SimpleNode
        Returns:
        the unique ID number associated with this atom (which in Jmol is its position in the atoms[] array
      • getAtomSite

        public int getAtomSite()
        Specified by:
        getAtomSite in interface Node
      • getGroupBits

        public void getGroupBits​(javajs.util.BS bs)
        Specified by:
        getGroupBits in interface Node
      • getAtomType

        public java.lang.String getAtomType()
        Specified by:
        getAtomType in interface Node
      • getAtomNumber

        public int getAtomNumber()
        Specified by:
        getAtomNumber in interface Node
      • getSeqID

        public int getSeqID()
      • isVisible

        public boolean isVisible​(int flags)
      • getPartialCharge

        public float getPartialCharge()
      • getSymmetryTranslation

        public int getSymmetryTranslation​(int symop,
                                          int[] cellRange,
                                          int nOps)
        Given a symmetry operation number, the set of cells in the model, and the number of operations, this method returns either 0 or the cell number (555, 666) of the translated symmetry operation corresponding to this atom. atomSymmetry is a bitset that is created in adapter.smarter.AtomSetCollection It is arranged as follows: |--overall--|---cell1---|---cell2---|---cell3---|... |012..nOps-1|012..nOps-1|012..nOp-1s|012..nOps-1|... If a bit is set, it means that the atom was created using that operator operating on the base file set and translated for that cell. If any bit is set in any of the cell blocks, then the same bit will also be set in the overall block. This allows for rapid determination of special positions and also of atom membership in any operation set. Note that it is not necessarily true that an atom is IN the designated cell, because one can load {nnn mmm 0}, and then, for example, the {-x,-y,-z} operator sends atoms from 555 to 444. Still, those atoms would be marked as cell 555 here, because no translation was carried out. That is, the numbers 444 in symop=3444 do not refer to a cell, per se. What they refer to is the file-designated operator plus a translation of {-1 -1 -1/1}.
        Parameters:
        symop - = 0, 1, 2, 3, ....
        cellRange - = {444, 445, 446, 454, 455, 456, .... }
        nOps - = 2 for x,y,z;-x,-y,-z, for example
        Returns:
        cell number such as 565
      • getCellTranslation

        public int getCellTranslation​(int cellNNN,
                                      int[] cellRange,
                                      int nOps)
        Looks for a match in the cellRange list for this atom within the specified translation set select symop=0NNN for this
        Parameters:
        cellNNN -
        cellRange -
        nOps -
        Returns:
        matching cell number, if applicable
      • getSymmetryOperatorList

        java.lang.String getSymmetryOperatorList​(boolean isAll)
      • getModelIndex

        public int getModelIndex()
        SMILES only
        Specified by:
        getModelIndex in interface Node
      • getMoleculeNumber

        public int getMoleculeNumber​(boolean inModel)
        Specified by:
        getMoleculeNumber in interface Node
      • getFractionalCoord

        private float getFractionalCoord​(boolean fixJavaFloat,
                                         char ch,
                                         boolean ignoreOffset,
                                         javajs.util.P3 pt)
      • getXYZ

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

        public javajs.util.P3 getFractionalCoordPt​(boolean fixJavaFloat,
                                                   boolean ignoreOffset,
                                                   javajs.util.P3 pt)
      • getFractionalUnitCoord

        private float getFractionalUnitCoord​(boolean fixJavaFloat,
                                             char ch,
                                             javajs.util.P3 pt)
      • getFractionalUnitCoordPt

        javajs.util.P3 getFractionalUnitCoordPt​(boolean fixJavaFloat,
                                                boolean asCartesian,
                                                javajs.util.P3 pt)
        Parameters:
        fixJavaFloat - ALWAYS set true for any new references to this method. False is for legacy only
        asCartesian -
        pt -
        Returns:
        unit cell coord
      • getFractionalUnitDistance

        float getFractionalUnitDistance​(javajs.util.T3 pt,
                                        javajs.util.T3 ptTemp1,
                                        javajs.util.T3 ptTemp2)
      • setFractionalCoord

        void setFractionalCoord​(int tok,
                                float fValue,
                                boolean asAbsolute)
      • setFractionalCoordTo

        void setFractionalCoordTo​(javajs.util.P3 ptNew,
                                  boolean asAbsolute)
      • setFractionalCoordPt

        public void setFractionalCoordPt​(javajs.util.P3 pt,
                                         javajs.util.P3 ptNew,
                                         boolean asAbsolute)
      • isCursorOnTopOf

        boolean isCursorOnTopOf​(int xCursor,
                                int yCursor,
                                int minRadius,
                                Atom competitor)
      • getInfo

        public java.lang.String getInfo()
      • getIdentityXYZ

        public java.lang.String getIdentityXYZ​(boolean allInfo,
                                               javajs.util.P3 pt)
      • getIdentity

        java.lang.String getIdentity​(boolean allInfo)
      • 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
      • getBioSmilesType

        public char getBioSmilesType()
        Specified by:
        getBioSmilesType in interface Node
      • isPurine

        public boolean isPurine()
        Specified by:
        isPurine in interface Node
      • isPyrimidine

        public boolean isPyrimidine()
        Specified by:
        isPyrimidine in interface Node
      • getResno

        public int getResno()
        Specified by:
        getResno in interface Node
      • isClickable

        public boolean isClickable()
      • setClickable

        public void setClickable​(int flag)
      • checkVisible

        public boolean checkVisible()
      • isLeadAtom

        public boolean isLeadAtom()
        Specified by:
        isLeadAtom 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
      • getSurfaceDistance100

        public int getSurfaceDistance100()
      • getVibrationVector

        public Vibration getVibrationVector()
      • getModelNumberForLabel

        public java.lang.String getModelNumberForLabel()
      • getModelNumber

        public int getModelNumber()
      • getBioStructureTypeName

        public java.lang.String getBioStructureTypeName()
        Specified by:
        getBioStructureTypeName in interface Node
      • equals

        public boolean equals​(java.lang.Object obj)
        Description copied from class: javajs.util.T3
        Returns true if all of the data members of Tuple3f t1 are equal to the corresponding data members in this
        Overrides:
        equals in class javajs.util.T3
        Parameters:
        obj - the vector with which the comparison is made.
      • hashCode

        public int hashCode()
        Description copied from class: javajs.util.T3
        Returns a hash number based on the data values in this object. Two different Tuple3f objects with identical data values (ie, returns true for equals(Tuple3f) ) will return the same hash number. Two vectors with different data members may return the same hash value, although this is not likely.
        Overrides:
        hashCode in class javajs.util.T3
      • findAromaticNeighbor

        public Atom findAromaticNeighbor​(int notAtomIndex)
      • atomPropertyInt

        public int atomPropertyInt​(int tokWhat)
        called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()
        Parameters:
        tokWhat -
        Returns:
        int value or Integer.MIN_VALUE
      • getSymOp

        int getSymOp()
      • atomPropertyFloat

        public float atomPropertyFloat​(Viewer vwr,
                                       int tokWhat,
                                       javajs.util.P3 ptTemp)
        called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()
        Parameters:
        vwr -
        tokWhat -
        ptTemp -
        Returns:
        float value or value*100 (asInt=true) or throw an error if not found
      • getVib

        public float getVib​(char ch)
      • getNominalMass

        public int getNominalMass()
      • 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
      • atomPropertyString

        public java.lang.String atomPropertyString​(Viewer vwr,
                                                   int tokWhat)
      • getCIPChirality

        public java.lang.String getCIPChirality​(boolean doCalculate)
        Determine R/S chirality at this position; non-H atoms only; cached in formalChargeAndFlags
        Specified by:
        getCIPChirality in interface Node
        Parameters:
        doCalculate -
        Returns:
        one of "", "R", "S", "E", "Z", "r", "s", "?"
      • getCIPChiralityRule

        public java.lang.String getCIPChiralityRule()
      • setCIPChirality

        public void setCIPChirality​(int c)
        Specified by:
        setCIPChirality in interface Node
        Specified by:
        setCIPChirality in interface SimpleNode
        Parameters:
        c - [0:unknown; 3:none; 1: R; 2: S; 5: Z; 6: E; 9: M, 10: P, +r,s
      • getInsertionCode

        public char getInsertionCode()
        Specified by:
        getInsertionCode in interface Node
      • atomPropertyTuple

        public javajs.util.T3 atomPropertyTuple​(Viewer vwr,
                                                int tok,
                                                javajs.util.P3 ptTemp)
      • getOffsetResidueAtom

        public int getOffsetResidueAtom​(java.lang.String name,
                                        int offset)
        Specified by:
        getOffsetResidueAtom 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> vReturn,
                                          boolean crosslinkCovalent,
                                          boolean crosslinkHBond)
        Used by SMILES to get vector of cross-links
        Specified by:
        getCrossLinkVector 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
      • findAtomsLike

        public javajs.util.BS findAtomsLike​(java.lang.String atomExpression)
        Specified by:
        findAtomsLike in interface Node
      • getUnitID

        public java.lang.String getUnitID​(int flags)
      • getFloatProperty

        public float getFloatProperty​(java.lang.String property)
        Specified by:
        getFloatProperty in interface Node
        Parameters:
        property - "property_xxxx"
        Returns:
        value or Float.NaN
      • modelIsRawPDB

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