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
,javajs.api.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
(package private) short
byte
(package private) int
javajs.util.BS
Bond[]
MAY BE NULLprivate static final int
private static final int
private static final int
private static final int
private static final int
private static final int
int
short
private static final int
private int
static final int
static final int
static final int
static final int
private static final int
static short
short
int
private int
byte
static final float
static final int
int
private float
(package private) byte
private static final int
Fields inherited from class javajs.util.T3
x, y, z
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
addDisplayedBond
(int stickVisibilityFlag, boolean isVisible) float
atomPropertyFloat
(Viewer vwr, int tokWhat, javajs.util.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) javajs.util.T3
atomPropertyTuple
(Viewer vwr, int tok, javajs.util.P3 ptTemp) short
calculateMad
(Viewer vwr, RadiusData rd) boolean
void
delete
(javajs.util.BS bsBonds) (package private) void
deleteBond
(Bond bond) private void
deleteBondAt
(int i) boolean
Returns true if all of the data members of Tuple3f t1 are equal to the corresponding data members in thisfindAromaticNeighbor
(int notAtomIndex) javajs.util.BS
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
boolean
getCrossLinkVector
(javajs.util.Lst<Integer> vReturn, boolean crosslinkCovalent, boolean crosslinkHBond) Used by SMILES to get vector of cross-links(package private) int
float
getDimensionValue
(int dimension) Edge[]
getEdges()
Get the bond array, including hydrogen bonds.int
getElementSymbolIso
(boolean withIsotope) int
[CH2] for examplefloat
getFloatProperty
(String property) int
private float
getFractionalCoord
(boolean fixJavaFloat, char ch, boolean ignoreOffset, javajs.util.P3 pt) javajs.util.P3
getFractionalCoordPt
(boolean fixJavaFloat, boolean ignoreOffset, javajs.util.P3 pt) private float
getFractionalUnitCoord
(boolean fixJavaFloat, char ch, javajs.util.P3 pt) (package private) javajs.util.P3
getFractionalUnitCoordPt
(boolean fixJavaFloat, boolean asCartesian, javajs.util.P3 pt) (package private) float
getFractionalUnitDistance
(javajs.util.T3 pt, javajs.util.T3 ptTemp1, javajs.util.T3 ptTemp2) getGroup1
(char c0) getGroup3
(boolean allowNull) void
getGroupBits
(javajs.util.BS bs) float
(package private) String
getIdentity
(int mode) getIdentityXYZ
(javajs.util.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
(package private) String
getSymmetryOperatorList
(boolean isAll) 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.(package private) int
getSymOp()
(package private) int
Object[]
int
int
(package private) SymmetryInterface
getUnitID
(int flags) int
return the total bond order for this atomfloat
getVanderwaalsRadiusFloat
(Viewer vwr, VDW type) private VDW
getVdwType
(VDW type) float
getVib
(char ch) (package private) float
javajs.util.P3
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) (package private) boolean
isCursorOnTopOf
(int xCursor, int yCursor, int minRadius, Atom competitor) boolean
boolean
isHetero()
boolean
boolean
boolean
isPurine()
boolean
boolean
isVisible
(int flags) boolean
setAtom
(int modelIndex, int atomIndex, javajs.util.P3 xyz, float radius, javajs.util.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) (package private) void
setFractionalCoord
(int tok, float fValue, boolean asAbsolute) void
setFractionalCoordPt
(javajs.util.P3 pt, javajs.util.P3 ptNew, boolean asAbsolute) (package private) void
setFractionalCoordTo
(javajs.util.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) (package private) void
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, scale, scaleAdd2, scaleT, set, setA, 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 -
atomSite
int atomSite -
group
-
userDefinedVanDerWaalRadius
private float userDefinedVanDerWaalRadius -
valence
byte valence -
atomicAndIsotopeNumber
short atomicAndIsotopeNumber -
atomSymmetry
public javajs.util.BS atomSymmetry -
formalChargeAndFlags
private int formalChargeAndFlags -
CHARGE_OFFSET
private static final int CHARGE_OFFSET- See Also:
-
FLAG_MASK
private static final int FLAG_MASK- See Also:
-
VIBRATION_VECTOR_FLAG
private static final int VIBRATION_VECTOR_FLAG- See Also:
-
IS_HETERO_FLAG
private static final int IS_HETERO_FLAG- See Also:
-
CIP_CHIRALITY_OFFSET
private static final int CIP_CHIRALITY_OFFSET- See Also:
-
CIP_CHIRALITY_MASK
private static final int CIP_CHIRALITY_MASK- See Also:
-
CIP_CHIRALITY_RULE_OFFSET
private static final int CIP_CHIRALITY_RULE_OFFSET- See Also:
-
CIP_CHIRALITY_RULE_MASK
private static final int CIP_CHIRALITY_RULE_MASK- See Also:
-
CIP_MASK
private static final int CIP_MASK- See Also:
-
madAtom
public short madAtom -
colixAtom
public short colixAtom -
paletteID
public byte paletteID -
bonds
MAY BE NULL -
nBondsDisplayed
private int nBondsDisplayed -
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:
-
-
Constructor Details
-
Atom
public Atom()
-
-
Method Details
-
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
-
isBonded
-
getBond
-
addDisplayedBond
void addDisplayedBond(int stickVisibilityFlag, boolean isVisible) -
deleteBond
-
deleteBondAt
private void deleteBondAt(int i) -
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 aotm
-
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
-
setVibrationVector
void setVibrationVector() -
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
public void delete(javajs.util.BS bsBonds) -
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
-
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
-
getTargetValence
int getTargetValence() -
getDimensionValue
public float getDimensionValue(int dimension) -
getVanderwaalsRadiusFloat
-
getVdwType
- 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
-
getCurrentBondCount
int getCurrentBondCount() -
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
public void getGroupBits(javajs.util.BS bs) - 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
-
getSymmetryOperatorList
-
getModelIndex
public int getModelIndex()SMILES only- Specified by:
getModelIndex
in interfaceNode
-
getMoleculeNumber
public int getMoleculeNumber(boolean inModel) - Specified by:
getMoleculeNumber
in interfaceNode
-
getFractionalCoord
private float getFractionalCoord(boolean fixJavaFloat, char ch, boolean ignoreOffset, javajs.util.P3 pt) -
getXYZ
public javajs.util.P3 getXYZ()- Specified by:
getXYZ
in interfaceNode
- Specified by:
getXYZ
in interfaceSimpleNode
- Returns:
- the position of this atom
-
getFractionalCoordPt
public javajs.util.P3 getFractionalCoordPt(boolean fixJavaFloat, boolean ignoreOffset, javajs.util.P3 pt) -
getUnitCell
SymmetryInterface getUnitCell() -
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 onlyasCartesian
-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
-
getInfo
-
getIdentityXYZ
-
getIdentity
-
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: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 classjavajs.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 classjavajs.util.T3
-
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
-
getSymOp
int getSymOp() -
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
-
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(javajs.util.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:javajs.util.T3
Returns a string that contains the values of this Tuple3f. The form is (x,y,z).- Overrides:
toString
in classjavajs.util.T3
- Returns:
- the String representation
-
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
-