Package org.jmol.modelset
Class Atom
java.lang.Object
javajs.util.T3
javajs.util.P3
org.jmol.util.Point3fi
org.jmol.modelset.Atom
- All Implemented Interfaces:
Serializable
,Cloneable
,JSONEncodable
,Node
,SimpleNode
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionchar
static final int
static final int
static final int
static final int
static final int
static final int
static final int
byte
Bond[]
MAY BE NULLint
short
static final int
static final int
static final int
static final int
static final int
static short
short
int
byte
static final float
static final int
int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfloat
atomPropertyFloat
(Viewer vwr, int tokWhat, P3 ptTemp) called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()int
atomPropertyInt
(int tokWhat) called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()atomPropertyString
(Viewer vwr, int tokWhat) atomPropertyTuple
(Viewer vwr, int tok, P3 ptTemp) short
calculateMad
(Viewer vwr, RadiusData rd) boolean
void
boolean
Returns true if all of the data members of Tuple3f t1 are equal to the corresponding data members in thisfindAromaticNeighbor
(int notAtomIndex) findAtomsLike
(String atomExpression) float
getADPMinMax
(boolean isMax) int
int
int
int
char
int
Get the total number of bonds, including hydrogen bonds.int
getBondedAtomIndex
(int bondIndex) float
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 thisint
getCIPChirality
(boolean doCalculate) Determine R/S chirality at this position; non-H atoms only; cached in formalChargeAndFlagsint
int
Get the total number of covalent bonds, thus not including hydrogen bonds.int
includes actual + missingint
int
boolean
getCrossLinkVector
(Lst<Integer> vReturn, boolean crosslinkCovalent, boolean crosslinkHBond) Used by SMILES to get vector of cross-linksfloat
getDimensionValue
(int dimension) Edge[]
getEdges()
Get the bond array, including hydrogen bonds.int
getElementSymbolIso
(boolean withIsotope) int
[CH2] for examplefloat
getFloatProperty
(String property) int
getFractionalCoordPt
(boolean fixJavaFloat, boolean ignoreOffset, P3 pt) getGroup1
(char c0) getGroup3
(boolean allowNull) void
getGroupBits
(BS bs) float
getIdentityXYZ
(P3 pt, int mode) int
can be > 0 for PDB model with no H atoms or for SMILES string CCCint
getIndex()
getInfo()
char
int
float
getMass()
int
SMILES onlyint
int
getMoleculeNumber
(boolean inModel) int
int
int
getOffsetResidueAtom
(String name, int offset) float
float
int
int
getResno()
int
getSeqID()
int
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.Object[]
int
int
getUnitID
(int flags) int
return the total bond order for this atomfloat
getVanderwaalsRadiusFloat
(Viewer vwr, VDW type) float
getVib
(char ch) getWyckoffPosition
(boolean withMultiplicity) getXYZ()
int
hashCode()
Returns a hash number based on the data values in this object.boolean
boolean
boolean
boolean
isCovalentlyBonded
(Atom atomOther) boolean
isCrossLinked
(Node node) boolean
boolean
isHetero()
boolean
boolean
boolean
isPurine()
boolean
boolean
isVisible
(int flags) boolean
setAtom
(int modelIndex, int atomIndex, P3 xyz, float radius, BS atomSymmetry, int atomSite, short atomicAndIsotopeNumber, int formalCharge, boolean isHetero) void
setAtomicAndIsotopeNumber
(int n) void
setCIPChirality
(int c) void
setClickable
(int flag) void
setFormalCharge
(int charge) void
setFractionalCoordPt
(P3 pt, P3 ptNew, boolean asAbsolute) void
setMadAtom
(Viewer vwr, RadiusData rd) boolean
setRadius
(float radius) final void
setShapeVisibility
(int flag, boolean isVisible) void
setSymop
(int isym, boolean andClear) void
setTranslucent
(boolean isTranslucent, float translucentLevel) void
setValence
(int nBonds) toString()
Returns a string that contains the values of this Tuple3f.Methods inherited from class javajs.util.P3
getUnlikely, new3, newA, newP
Methods inherited from class javajs.util.T3
add, add2, add3, ave, cross, distance, distanceSquared, dot, floatToIntBits, length, lengthSquared, normalize, putP, scale, scaleAdd2, scaleT, set, setA, setP, setT, sub, sub2, toJSON
-
Field Details
-
ATOM_INFRAME
public static final int ATOM_INFRAME- See Also:
-
ATOM_VISSET
public static final int ATOM_VISSET- See Also:
-
ATOM_VISIBLE
public static final int ATOM_VISIBLE- See Also:
-
ATOM_NOTHIDDEN
public static final int ATOM_NOTHIDDEN- See Also:
-
ATOM_NOFLAGS
public static final int ATOM_NOFLAGS- See Also:
-
ATOM_INFRAME_NOTHIDDEN
public static final int ATOM_INFRAME_NOTHIDDEN- See Also:
-
ATOM_SHAPE_VIS_MASK
public static final int ATOM_SHAPE_VIS_MASK- See Also:
-
RADIUS_MAX
public static final int RADIUS_MAX- See Also:
-
RADIUS_GLOBAL
public static final float RADIUS_GLOBAL- See Also:
-
MAD_GLOBAL
public static short MAD_GLOBAL -
altloc
public char altloc -
atomID
public byte atomID -
group
-
atomSymmetry
-
madAtom
public short madAtom -
colixAtom
public short colixAtom -
paletteID
public byte paletteID -
bonds
MAY BE NULL -
nBackbonesDisplayed
public int nBackbonesDisplayed -
clickabilityFlags
public int clickabilityFlags -
shapeVisibilityFlags
public int shapeVisibilityFlags -
ID_U
public static final int ID_U- See Also:
-
ID_ALL
public static final int ID_ALL- See Also:
-
ID_XTAL
public static final int ID_XTAL- See Also:
-
ID_CHIME
public static final int ID_CHIME- See Also:
-
ID_ATOMS
public static final int ID_ATOMS- See Also:
-
-
Constructor Details
-
Atom
public Atom()
-
-
Method Details
-
setAtom
public Atom setAtom(int modelIndex, int atomIndex, P3 xyz, float radius, 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
-
isBonded
-
getBond
-
getBondedAtomIndex
public int getBondedAtomIndex(int bondIndex) - Specified by:
getBondedAtomIndex
in interfaceNode
-
setMadAtom
-
calculateMad
-
getADPMinMax
public float getADPMinMax(boolean isMax) -
getTensors
-
getRasMolRadius
public int getRasMolRadius() -
getEdges
Description copied from interface:SimpleNode
Get the bond array, including hydrogen bonds.- Specified by:
getEdges
in interfaceNode
- Specified by:
getEdges
in interfaceSimpleNode
- 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 interfaceSimpleNode
- Returns:
- number of bonds
-
setTranslucent
public void setTranslucent(boolean isTranslucent, float translucentLevel) -
getElementNumber
public int getElementNumber()- Specified by:
getElementNumber
in interfaceNode
- Specified by:
getElementNumber
in interfaceSimpleNode
- Returns:
- the atomic number for this atom
-
getIsotopeNumber
public int getIsotopeNumber()- Specified by:
getIsotopeNumber
in interfaceNode
- Specified by:
getIsotopeNumber
in interfaceSimpleNode
-
getAtomicAndIsotopeNumber
public int getAtomicAndIsotopeNumber()- Specified by:
getAtomicAndIsotopeNumber
in interfaceNode
-
setAtomicAndIsotopeNumber
public void setAtomicAndIsotopeNumber(int n) -
getElementSymbolIso
-
getElementSymbol
-
isHetero
public boolean isHetero() -
hasVibration
public boolean hasVibration() -
setFormalCharge
public void setFormalCharge(int charge) - Parameters:
charge
- from -3 to 7
-
getFormalCharge
public int getFormalCharge()- Specified by:
getFormalCharge
in interfaceNode
- Specified by:
getFormalCharge
in interfaceSimpleNode
- Returns:
- the formal charge for this atom
-
getOccupancy100
public int getOccupancy100() -
isOccupied
public boolean isOccupied() -
getBfactor100
public int getBfactor100() -
getHydrophobicity
public float getHydrophobicity() -
setRadius
public boolean setRadius(float radius) -
delete
-
isDeleted
public boolean isDeleted() -
setValence
public void setValence(int nBonds) -
getValence
public int getValence()return the total bond order for this atom- Specified by:
getValence
in interfaceNode
- Specified by:
getValence
in interfaceSimpleNode
- 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 interfaceNode
- Specified by:
getCovalentBondCount
in interfaceSimpleNode
- Returns:
- number of bonds
-
getCovalentOrPartialBondCount
public int getCovalentOrPartialBondCount() -
getCovalentHydrogenCount
public int getCovalentHydrogenCount()- Specified by:
getCovalentHydrogenCount
in interfaceNode
-
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 interfaceNode
- Returns:
- number of missing H atoms
-
getTotalHydrogenCount
public int getTotalHydrogenCount()- Specified by:
getTotalHydrogenCount
in interfaceNode
-
getTotalValence
public int getTotalValence()- Specified by:
getTotalValence
in interfaceNode
-
getCovalentBondCountPlusMissingH
public int getCovalentBondCountPlusMissingH()Description copied from interface:Node
includes actual + missing- Specified by:
getCovalentBondCountPlusMissingH
in interfaceNode
- Returns:
- actual + missing
-
getDimensionValue
public float getDimensionValue(int dimension) -
getVanderwaalsRadiusFloat
-
getBondingRadius
public float getBondingRadius() -
getRadius
public float getRadius() -
getIndex
public int getIndex()- Specified by:
getIndex
in interfaceNode
- Specified by:
getIndex
in interfaceSimpleNode
- 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 interfaceNode
-
getGroupBits
- Specified by:
getGroupBits
in interfaceNode
-
getAtomName
- Specified by:
getAtomName
in interfaceNode
- Specified by:
getAtomName
in interfaceSimpleNode
-
getAtomType
- Specified by:
getAtomType
in interfaceNode
-
getAtomNumber
public int getAtomNumber()- Specified by:
getAtomNumber
in interfaceNode
-
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
-
getModelIndex
public int getModelIndex()SMILES only- Specified by:
getModelIndex
in interfaceNode
-
getMoleculeNumber
public int getMoleculeNumber(boolean inModel) - Specified by:
getMoleculeNumber
in interfaceNode
-
getXYZ
- Specified by:
getXYZ
in interfaceNode
- Specified by:
getXYZ
in interfaceSimpleNode
- Returns:
- the position of this atom
-
getFractionalCoordPt
-
setFractionalCoordPt
-
getInfo
-
getIdentityXYZ
-
getGroup3
-
getGroup1
-
getBioSmilesType
public char getBioSmilesType()- Specified by:
getBioSmilesType
in interfaceNode
-
isPurine
public boolean isPurine() -
isPyrimidine
public boolean isPyrimidine()- Specified by:
isPyrimidine
in interfaceNode
-
getResno
public int getResno() -
isClickable
public boolean isClickable() -
setClickable
public void setClickable(int flag) -
checkVisible
public boolean checkVisible() -
isLeadAtom
public boolean isLeadAtom()- Specified by:
isLeadAtom
in interfaceNode
-
getChainID
public int getChainID()- Specified by:
getChainID
in interfaceNode
-
getChainIDStr
- Specified by:
getChainIDStr
in interfaceNode
-
getSurfaceDistance100
public int getSurfaceDistance100() -
getVibrationVector
-
getModulation
-
getModelNumberForLabel
-
getModelNumber
public int getModelNumber() -
getBioStructureTypeName
- Specified by:
getBioStructureTypeName
in interfaceNode
-
equals
Description copied from class:T3
Returns true if all of the data members of Tuple3f t1 are equal to the corresponding data members in this -
hashCode
public int hashCode()Description copied from class: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. -
findAromaticNeighbor
-
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
-
atomPropertyFloat
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 interfaceNode
- Specified by:
getMass
in interfaceSimpleNode
- Returns:
- the mass or, if specified, the mass number
-
atomPropertyString
-
getWyckoffPosition
-
getCIPChirality
Determine R/S chirality at this position; non-H atoms only; cached in formalChargeAndFlags- Specified by:
getCIPChirality
in interfaceNode
- Parameters:
doCalculate
-- Returns:
- one of "", "R", "S", "E", "Z", "r", "s", "?"
-
getCIPChiralityRule
-
setCIPChirality
public void setCIPChirality(int c) - Specified by:
setCIPChirality
in interfaceNode
- Specified by:
setCIPChirality
in interfaceSimpleNode
- Parameters:
c
- [0:unknown; 3:none; 1: R; 2: S; 5: Z; 6: E; 9: M, 10: P, +r,s
-
getCIPChiralityCode
public int getCIPChiralityCode()- Specified by:
getCIPChiralityCode
in interfaceNode
-
getInsertionCode
public char getInsertionCode()- Specified by:
getInsertionCode
in interfaceNode
-
atomPropertyTuple
-
getOffsetResidueAtom
- Specified by:
getOffsetResidueAtom
in interfaceNode
-
isCrossLinked
- Specified by:
isCrossLinked
in interfaceNode
-
getCrossLinkVector
public boolean getCrossLinkVector(Lst<Integer> vReturn, boolean crosslinkCovalent, boolean crosslinkHBond) Used by SMILES to get vector of cross-links- Specified by:
getCrossLinkVector
in interfaceNode
-
toString
Description copied from class:T3
Returns a string that contains the values of this Tuple3f. The form is (x,y,z). -
findAtomsLike
- Specified by:
findAtomsLike
in interfaceNode
-
getUnitID
-
getFloatProperty
- Specified by:
getFloatProperty
in interfaceNode
- Parameters:
property
- "property_xxxx"- Returns:
- value or Float.NaN
-
modelIsRawPDB
public boolean modelIsRawPDB()- Specified by:
modelIsRawPDB
in interfaceNode
-
setSymop
public void setSymop(int isym, boolean andClear) -
getExplicitHydrogenCount
public int getExplicitHydrogenCount()Description copied from interface:Node
[CH2] for example- Specified by:
getExplicitHydrogenCount
in interfaceNode
- Returns:
- number of H atoms in brackets
-