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 TypeFieldDescriptioncharstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final int(package private) shortbyte(package private) intjavajs.util.BSBond[]MAY BE NULLprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intintshortprivate static final intprivate intstatic final intstatic final intstatic final intstatic final intprivate static final intstatic shortshortintprivate intbytestatic final floatstatic final intintprivate float(package private) byteprivate static final intFields inherited from class javajs.util.T3
x, y, z -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidaddDisplayedBond(int stickVisibilityFlag, boolean isVisible) floatatomPropertyFloat(Viewer vwr, int tokWhat, javajs.util.P3 ptTemp) called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()intatomPropertyInt(int tokWhat) called by isosurface and int comparator via atomProperty() and also by getBitsetProperty()atomPropertyString(Viewer vwr, int tokWhat) javajs.util.T3atomPropertyTuple(Viewer vwr, int tok, javajs.util.P3 ptTemp) shortcalculateMad(Viewer vwr, RadiusData rd) booleanvoiddelete(javajs.util.BS bsBonds) (package private) voiddeleteBond(Bond bond) private voiddeleteBondAt(int i) booleanReturns true if all of the data members of Tuple3f t1 are equal to the corresponding data members in thisfindAromaticNeighbor(int notAtomIndex) javajs.util.BSfindAtomsLike(String atomExpression) floatgetADPMinMax(boolean isMax) intintintintcharintGet the total number of bonds, including hydrogen bonds.intgetBondedAtomIndex(int bondIndex) floatintgetCellTranslation(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 thisintgetCIPChirality(boolean doCalculate) Determine R/S chirality at this position; non-H atoms only; cached in formalChargeAndFlagsintintGet the total number of covalent bonds, thus not including hydrogen bonds.intincludes actual + missingintintbooleangetCrossLinkVector(javajs.util.Lst<Integer> vReturn, boolean crosslinkCovalent, boolean crosslinkHBond) Used by SMILES to get vector of cross-links(package private) intfloatgetDimensionValue(int dimension) Edge[]getEdges()Get the bond array, including hydrogen bonds.intgetElementSymbolIso(boolean withIsotope) int[CH2] for examplefloatgetFloatProperty(String property) intprivate floatgetFractionalCoord(boolean fixJavaFloat, char ch, boolean ignoreOffset, javajs.util.P3 pt) javajs.util.P3getFractionalCoordPt(boolean fixJavaFloat, boolean ignoreOffset, javajs.util.P3 pt) private floatgetFractionalUnitCoord(boolean fixJavaFloat, char ch, javajs.util.P3 pt) (package private) javajs.util.P3getFractionalUnitCoordPt(boolean fixJavaFloat, boolean asCartesian, javajs.util.P3 pt) (package private) floatgetFractionalUnitDistance(javajs.util.T3 pt, javajs.util.T3 ptTemp1, javajs.util.T3 ptTemp2) getGroup1(char c0) getGroup3(boolean allowNull) voidgetGroupBits(javajs.util.BS bs) float(package private) StringgetIdentity(int mode) getIdentityXYZ(javajs.util.P3 pt, int mode) intcan be > 0 for PDB model with no H atoms or for SMILES string CCCintgetIndex()getInfo()charintfloatgetMass()intSMILES onlyintintgetMoleculeNumber(boolean inModel) intintintgetOffsetResidueAtom(String name, int offset) floatfloatintintgetResno()intgetSeqID()int(package private) StringgetSymmetryOperatorList(boolean isAll) intgetSymmetryTranslation(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) intgetSymOp()(package private) intObject[]intint(package private) SymmetryInterfacegetUnitID(int flags) intreturn the total bond order for this atomfloatgetVanderwaalsRadiusFloat(Viewer vwr, VDW type) private VDWgetVdwType(VDW type) floatgetVib(char ch) (package private) floatjavajs.util.P3getXYZ()inthashCode()Returns a hash number based on the data values in this object.booleanbooleanbooleanbooleanisCovalentlyBonded(Atom atomOther) booleanisCrossLinked(Node node) (package private) booleanisCursorOnTopOf(int xCursor, int yCursor, int minRadius, Atom competitor) booleanbooleanisHetero()booleanbooleanbooleanisPurine()booleanbooleanisVisible(int flags) booleansetAtom(int modelIndex, int atomIndex, javajs.util.P3 xyz, float radius, javajs.util.BS atomSymmetry, int atomSite, short atomicAndIsotopeNumber, int formalCharge, boolean isHetero) voidsetAtomicAndIsotopeNumber(int n) voidsetCIPChirality(int c) voidsetClickable(int flag) voidsetFormalCharge(int charge) (package private) voidsetFractionalCoord(int tok, float fValue, boolean asAbsolute) voidsetFractionalCoordPt(javajs.util.P3 pt, javajs.util.P3 ptNew, boolean asAbsolute) (package private) voidsetFractionalCoordTo(javajs.util.P3 ptNew, boolean asAbsolute) voidsetMadAtom(Viewer vwr, RadiusData rd) booleansetRadius(float radius) final voidsetShapeVisibility(int flag, boolean isVisible) voidsetSymop(int isym, boolean andClear) voidsetTranslucent(boolean isTranslucent, float translucentLevel) voidsetValence(int nBonds) (package private) voidtoString()Returns a string that contains the values of this Tuple3f.Methods inherited from class javajs.util.P3
getUnlikely, new3, newA, newPMethods 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:
getBondedAtomIndexin interfaceNode
-
setMadAtom
-
calculateMad
-
getADPMinMax
public float getADPMinMax(boolean isMax) -
getTensors
-
getRasMolRadius
public int getRasMolRadius() -
getEdges
Description copied from interface:SimpleNodeGet the bond array, including hydrogen bonds.- Specified by:
getEdgesin interfaceNode- Specified by:
getEdgesin interfaceSimpleNode- Returns:
- number of bonds
-
getBondCount
public int getBondCount()Description copied from interface:SimpleNodeGet the total number of bonds, including hydrogen bonds.- Specified by:
getBondCountin interfaceSimpleNode- Returns:
- number of bonds
-
setTranslucent
public void setTranslucent(boolean isTranslucent, float translucentLevel) -
getElementNumber
public int getElementNumber()- Specified by:
getElementNumberin interfaceNode- Specified by:
getElementNumberin interfaceSimpleNode- Returns:
- the atomic number for this aotm
-
getIsotopeNumber
public int getIsotopeNumber()- Specified by:
getIsotopeNumberin interfaceNode- Specified by:
getIsotopeNumberin interfaceSimpleNode
-
getAtomicAndIsotopeNumber
public int getAtomicAndIsotopeNumber()- Specified by:
getAtomicAndIsotopeNumberin 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:
getFormalChargein interfaceNode- Specified by:
getFormalChargein 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:
getValencein interfaceNode- Specified by:
getValencein interfaceSimpleNode- Returns:
- the sum of the bond orders for this atom
-
getCovalentBondCount
public int getCovalentBondCount()Description copied from interface:SimpleNodeGet the total number of covalent bonds, thus not including hydrogen bonds.- Specified by:
getCovalentBondCountin interfaceNode- Specified by:
getCovalentBondCountin interfaceSimpleNode- Returns:
- number of bonds
-
getCovalentOrPartialBondCount
public int getCovalentOrPartialBondCount() -
getCovalentHydrogenCount
public int getCovalentHydrogenCount()- Specified by:
getCovalentHydrogenCountin interfaceNode
-
getImplicitHydrogenCount
public int getImplicitHydrogenCount()Description copied from interface:Nodecan be > 0 for PDB model with no H atoms or for SMILES string CCC- Specified by:
getImplicitHydrogenCountin interfaceNode- Returns:
- number of missing H atoms
-
getTotalHydrogenCount
public int getTotalHydrogenCount()- Specified by:
getTotalHydrogenCountin interfaceNode
-
getTotalValence
public int getTotalValence()- Specified by:
getTotalValencein interfaceNode
-
getCovalentBondCountPlusMissingH
public int getCovalentBondCountPlusMissingH()Description copied from interface:Nodeincludes actual + missing- Specified by:
getCovalentBondCountPlusMissingHin 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:
getIndexin interfaceNode- Specified by:
getIndexin 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:
getAtomSitein interfaceNode
-
getGroupBits
public void getGroupBits(javajs.util.BS bs) - Specified by:
getGroupBitsin interfaceNode
-
getAtomName
- Specified by:
getAtomNamein interfaceNode- Specified by:
getAtomNamein interfaceSimpleNode
-
getAtomType
- Specified by:
getAtomTypein interfaceNode
-
getAtomNumber
public int getAtomNumber()- Specified by:
getAtomNumberin 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:
getModelIndexin interfaceNode
-
getMoleculeNumber
public int getMoleculeNumber(boolean inModel) - Specified by:
getMoleculeNumberin interfaceNode
-
getFractionalCoord
private float getFractionalCoord(boolean fixJavaFloat, char ch, boolean ignoreOffset, javajs.util.P3 pt) -
getXYZ
public javajs.util.P3 getXYZ()- Specified by:
getXYZin interfaceNode- Specified by:
getXYZin 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:
getBioSmilesTypein interfaceNode
-
isPurine
public boolean isPurine() -
isPyrimidine
public boolean isPyrimidine()- Specified by:
isPyrimidinein 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:
isLeadAtomin interfaceNode
-
getChainID
public int getChainID()- Specified by:
getChainIDin interfaceNode
-
getChainIDStr
- Specified by:
getChainIDStrin interfaceNode
-
getSurfaceDistance100
public int getSurfaceDistance100() -
getVibrationVector
-
getModulation
-
getModelNumberForLabel
-
getModelNumber
public int getModelNumber() -
getBioStructureTypeName
- Specified by:
getBioStructureTypeNamein interfaceNode
-
equals
Description copied from class:javajs.util.T3Returns true if all of the data members of Tuple3f t1 are equal to the corresponding data members in this- Overrides:
equalsin classjavajs.util.T3- Parameters:
obj- the vector with which the comparison is made.
-
hashCode
public int hashCode()Description copied from class:javajs.util.T3Returns 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:
hashCodein 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:
getMassin interfaceNode- Specified by:
getMassin 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:
getCIPChiralityin interfaceNode- Parameters:
doCalculate-- Returns:
- one of "", "R", "S", "E", "Z", "r", "s", "?"
-
getCIPChiralityRule
-
setCIPChirality
public void setCIPChirality(int c) - Specified by:
setCIPChiralityin interfaceNode- Specified by:
setCIPChiralityin 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:
getCIPChiralityCodein interfaceNode
-
getInsertionCode
public char getInsertionCode()- Specified by:
getInsertionCodein interfaceNode
-
atomPropertyTuple
-
getOffsetResidueAtom
- Specified by:
getOffsetResidueAtomin interfaceNode
-
isCrossLinked
- Specified by:
isCrossLinkedin 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:
getCrossLinkVectorin interfaceNode
-
toString
Description copied from class:javajs.util.T3Returns a string that contains the values of this Tuple3f. The form is (x,y,z).- Overrides:
toStringin classjavajs.util.T3- Returns:
- the String representation
-
findAtomsLike
- Specified by:
findAtomsLikein interfaceNode
-
getUnitID
-
getFloatProperty
- Specified by:
getFloatPropertyin interfaceNode- Parameters:
property- "property_xxxx"- Returns:
- value or Float.NaN
-
modelIsRawPDB
public boolean modelIsRawPDB()- Specified by:
modelIsRawPDBin interfaceNode
-
setSymop
public void setSymop(int isym, boolean andClear) -
getExplicitHydrogenCount
public int getExplicitHydrogenCount()Description copied from interface:Node[CH2] for example- Specified by:
getExplicitHydrogenCountin interfaceNode- Returns:
- number of H atoms in brackets
-