org.jmol.modelset
Class Atom
java.lang.Object
javax.vecmath.Tuple3f
javax.vecmath.Point3f
org.jmol.util.Point3fi
org.jmol.modelset.Atom
- All Implemented Interfaces:
- java.io.Serializable
public final class Atom
- extends Point3fi
- See Also:
- Serialized Form
Fields inherited from class javax.vecmath.Tuple3f |
x, y, z |
Constructor Summary |
Atom(javax.vecmath.Point3f pt)
|
Atom(Viewer viewer,
int modelIndex,
int atomIndex,
java.util.BitSet atomSymmetry,
int atomSite,
short atomicAndIsotopeNumber,
int size,
int formalCharge,
float x,
float y,
float z,
boolean isHetero,
char chainID,
char alternateLocationID,
float radius)
|
Method Summary |
void |
addDisplayedBackbone(int backboneVisibilityFlag,
boolean isVisible)
|
(package private) void |
addDisplayedBond(int stickVisibilityFlag,
boolean isVisible)
|
(package private) void |
clearBonds()
|
short |
convertEncodedMad(Viewer viewer,
int size)
|
(package private) void |
deleteBond(Bond bond)
|
private void |
deleteBond(int i)
|
boolean |
equals(java.lang.Object obj)
|
Atom |
findAromaticNeighbor(java.util.BitSet notAtoms)
|
Atom |
findAromaticNeighbor(int notAtomIndex)
|
java.lang.String |
formatLabel(java.lang.String strFormat)
|
java.lang.String |
formatLabel(java.lang.String strFormat,
char chAtom,
int[] indices)
|
float |
getADPMinMax(boolean isMax)
|
char |
getAlternateLocationID()
|
short |
getAtomicAndIsotopeNumber()
|
int |
getAtomIndex()
|
(package private) java.lang.String |
getAtomName()
|
int |
getAtomNumber()
|
int |
getAtomSite()
|
java.util.BitSet |
getAtomSymmetry()
|
int |
getBfactor100()
|
Bond |
getBond(Atom atomOther)
|
(package private) int |
getBondedAtomIndex(int bondIndex)
|
(package private) short |
getBondingMar()
|
float |
getBondingRadiusFloat()
|
Bond[] |
getBonds()
|
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 |
(package private) Chain |
getChain()
|
char |
getChainID()
|
int |
getClickabilityFlags()
|
(package private) java.lang.String |
getClientAtomStringProperty(java.lang.String propertyName)
|
short |
getColix()
|
int |
getCovalentBondCount()
|
(package private) int |
getCovalentHydrogenCount()
|
(package private) int |
getCurrentBondCount()
|
float |
getDimensionValue(int dimension)
|
short |
getElementNumber()
|
java.lang.String |
getElementSymbol()
|
java.lang.Object[] |
getEllipsoid()
|
int |
getFormalCharge()
|
javax.vecmath.Point3f |
getFractionalCoord()
|
float |
getFractionalCoord(char ch)
|
Group |
getGroup()
|
(package private) java.lang.String |
getGroup1()
|
(package private) java.lang.String |
getGroup3()
|
short |
getGroupID()
|
float |
getGroupPhi()
|
float |
getGroupPsi()
|
private java.lang.String |
getIdentity(boolean allInfo)
|
private java.lang.String |
getIdentityXYZ()
|
java.lang.String |
getInfo()
|
(package private) java.lang.String |
getInfoXYZ(boolean useChimeFormat)
|
char |
getInsertionCode()
|
short |
getIsotopeNumber()
|
short |
getMadAtom()
|
int |
getModelFileIndex()
|
int |
getModelFileNumber()
|
int |
getModelIndex()
|
int |
getModelNumber()
|
(package private) java.lang.String |
getModelNumberForLabel()
|
int |
getMoleculeNumber()
|
int |
getNBackbonesDisplayed()
|
int |
getOccupancy()
|
byte |
getPaletteID()
|
float |
getPartialCharge()
|
(package private) int |
getPolymerIndex()
|
int |
getPolymerLength()
|
int |
getProteinStructureID()
|
byte |
getProteinStructureType()
|
Quaternion |
getQuaternion(char qtype)
|
float |
getRadius()
|
int |
getRasMolRadius()
|
int |
getResno()
|
int |
getScreenRadius()
|
int |
getSelectedGroupCountWithinChain()
|
int |
getSelectedGroupIndexWithinChain()
|
int |
getSelectedMonomerCountWithinPolymer()
|
int |
getSelectedMonomerIndexWithinPolymer()
|
(package private) int |
getSeqcode()
|
(package private) java.lang.String |
getSeqcodeString()
|
(package private) int |
getSeqNumber()
|
int |
getShapeVisibilityFlags()
|
byte |
getSpecialAtomID()
|
float |
getStraightness()
|
int |
getSurfaceDistance100()
|
private java.lang.String |
getSymmetryOperatorList()
|
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. |
int |
getValence()
|
private int |
getVanderwaalsMad(Viewer viewer)
|
float |
getVanderwaalsRadiusFloat()
|
javax.vecmath.Vector3f |
getVibrationVector()
|
int |
hashCode()
|
(package private) boolean |
isAlternateLocationMatch(java.lang.String strPattern)
|
boolean |
isBonded(Atom atomOther)
|
(package private) boolean |
isCarbohydrate()
|
boolean |
isClickable()
|
(package private) boolean |
isCursorOnTopOf(int xCursor,
int yCursor,
int minRadius,
Atom competitor)
|
(package private) boolean |
isDna()
|
(package private) boolean |
isGroup3(java.lang.String group3)
|
boolean |
isHetero()
|
boolean |
isModelVisible()
|
(package private) boolean |
isNucleic()
|
(package private) boolean |
isProtein()
|
(package private) boolean |
isPurine()
|
(package private) boolean |
isPyrimidine()
|
(package private) boolean |
isRna()
|
boolean |
isShapeVisible(int shapeVisibilityFlag)
|
boolean |
isSimple()
|
boolean |
isTranslucent()
|
boolean |
isVisible()
determine if an atom or its PDB group is visible |
void |
setClickable(int flag)
|
void |
setColixAtom(short colixAtom)
|
(package private) void |
setFormalCharge(int charge)
|
(package private) void |
setFractionalCoord(int tok,
float fValue)
|
(package private) void |
setFractionalCoord(javax.vecmath.Point3f ptNew)
|
(package private) void |
setGroup(Group group)
|
void |
setMadAtom(Viewer viewer,
int size)
|
void |
setPaletteID(byte paletteID)
|
boolean |
setRadius(float radius)
|
void |
setShapeVisibility(int shapeVisibilityFlag,
boolean isVisible)
|
void |
setShapeVisibilityFlags(int flag)
|
void |
setTranslucent(boolean isTranslucent,
float translucentLevel)
|
void |
setValence(int nBonds)
|
(package private) void |
setVibrationVector()
|
void |
transform(Viewer viewer)
|
Methods inherited from class javax.vecmath.Point3f |
distance, distanceL1, distanceLinf, distanceSquared, project |
Methods inherited from class javax.vecmath.Tuple3f |
absolute, absolute, add, add, clamp, clamp, clampMax, clampMax, clampMin, clampMin, epsilonEquals, equals, get, get, interpolate, interpolate, negate, negate, scale, scale, scaleAdd, scaleAdd, set, set, set, set, sub, sub, toString |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
VIBRATION_VECTOR_FLAG
private static final byte VIBRATION_VECTOR_FLAG
- See Also:
- Constant Field Values
IS_HETERO_FLAG
private static final byte IS_HETERO_FLAG
- See Also:
- Constant Field Values
FLAG_MASK
private static final byte FLAG_MASK
- See Also:
- Constant Field Values
group
Group group
atomIndex
int atomIndex
atomSymmetry
java.util.BitSet atomSymmetry
atomSite
int atomSite
userDefinedVanDerWaalRadius
private float userDefinedVanDerWaalRadius
modelIndex
short modelIndex
atomicAndIsotopeNumber
private short atomicAndIsotopeNumber
formalChargeAndFlags
private byte formalChargeAndFlags
valence
private byte valence
alternateLocationID
char alternateLocationID
madAtom
short madAtom
colixAtom
short colixAtom
paletteID
byte paletteID
bonds
Bond[] bonds
nBondsDisplayed
int nBondsDisplayed
nBackbonesDisplayed
int nBackbonesDisplayed
clickabilityFlags
int clickabilityFlags
shapeVisibilityFlags
int shapeVisibilityFlags
isSimple
boolean isSimple
Atom
public Atom(javax.vecmath.Point3f pt)
Atom
Atom(Viewer viewer,
int modelIndex,
int atomIndex,
java.util.BitSet atomSymmetry,
int atomSite,
short atomicAndIsotopeNumber,
int size,
int formalCharge,
float x,
float y,
float z,
boolean isHetero,
char chainID,
char alternateLocationID,
float radius)
getScreenRadius
public int getScreenRadius()
getMadAtom
public short getMadAtom()
getNBackbonesDisplayed
public int getNBackbonesDisplayed()
isSimple
public boolean isSimple()
setShapeVisibilityFlags
public final void setShapeVisibilityFlags(int flag)
setShapeVisibility
public final void setShapeVisibility(int shapeVisibilityFlag,
boolean isVisible)
isBonded
public boolean isBonded(Atom atomOther)
getBond
public Bond getBond(Atom atomOther)
addDisplayedBond
void addDisplayedBond(int stickVisibilityFlag,
boolean isVisible)
addDisplayedBackbone
public void addDisplayedBackbone(int backboneVisibilityFlag,
boolean isVisible)
deleteBond
void deleteBond(Bond bond)
deleteBond
private void deleteBond(int i)
clearBonds
void clearBonds()
getBondedAtomIndex
int getBondedAtomIndex(int bondIndex)
setMadAtom
public void setMadAtom(Viewer viewer,
int size)
convertEncodedMad
public short convertEncodedMad(Viewer viewer,
int size)
getADPMinMax
public float getADPMinMax(boolean isMax)
getRasMolRadius
public int getRasMolRadius()
getCovalentBondCount
public int getCovalentBondCount()
getCovalentHydrogenCount
int getCovalentHydrogenCount()
getBonds
public Bond[] getBonds()
setColixAtom
public void setColixAtom(short colixAtom)
setPaletteID
public void setPaletteID(byte paletteID)
setTranslucent
public void setTranslucent(boolean isTranslucent,
float translucentLevel)
isTranslucent
public boolean isTranslucent()
getElementNumber
public short getElementNumber()
getIsotopeNumber
public short getIsotopeNumber()
getAtomicAndIsotopeNumber
public short getAtomicAndIsotopeNumber()
getElementSymbol
public java.lang.String getElementSymbol()
getAlternateLocationID
public char getAlternateLocationID()
isAlternateLocationMatch
boolean isAlternateLocationMatch(java.lang.String strPattern)
isHetero
public boolean isHetero()
setFormalCharge
void setFormalCharge(int charge)
setVibrationVector
void setVibrationVector()
getFormalCharge
public int getFormalCharge()
getOccupancy
public int getOccupancy()
getBfactor100
public int getBfactor100()
setRadius
public boolean setRadius(float radius)
setValence
public void setValence(int nBonds)
getValence
public int getValence()
getDimensionValue
public float getDimensionValue(int dimension)
getVanderwaalsMad
private int getVanderwaalsMad(Viewer viewer)
getVanderwaalsRadiusFloat
public float getVanderwaalsRadiusFloat()
getBondingMar
short getBondingMar()
getBondingRadiusFloat
public float getBondingRadiusFloat()
getCurrentBondCount
int getCurrentBondCount()
getColix
public short getColix()
getPaletteID
public byte getPaletteID()
getRadius
public float getRadius()
getAtomIndex
public int getAtomIndex()
getAtomSite
public int getAtomSite()
getAtomSymmetry
public java.util.BitSet getAtomSymmetry()
setGroup
void setGroup(Group group)
getGroup
public Group getGroup()
transform
public void transform(Viewer viewer)
getAtomName
java.lang.String getAtomName()
getAtomNumber
public int getAtomNumber()
isModelVisible
public boolean isModelVisible()
getShapeVisibilityFlags
public int getShapeVisibilityFlags()
isShapeVisible
public boolean isShapeVisible(int shapeVisibilityFlag)
getPartialCharge
public float getPartialCharge()
getStraightness
public float getStraightness()
getEllipsoid
public java.lang.Object[] getEllipsoid()
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
private java.lang.String getSymmetryOperatorList()
getModelIndex
public int getModelIndex()
getMoleculeNumber
public int getMoleculeNumber()
getClientAtomStringProperty
java.lang.String getClientAtomStringProperty(java.lang.String propertyName)
getSpecialAtomID
public byte getSpecialAtomID()
getFractionalCoord
public float getFractionalCoord(char ch)
getFractionalCoord
public javax.vecmath.Point3f getFractionalCoord()
setFractionalCoord
void setFractionalCoord(int tok,
float fValue)
setFractionalCoord
void setFractionalCoord(javax.vecmath.Point3f ptNew)
isCursorOnTopOf
boolean isCursorOnTopOf(int xCursor,
int yCursor,
int minRadius,
Atom competitor)
getInfo
public java.lang.String getInfo()
getInfoXYZ
java.lang.String getInfoXYZ(boolean useChimeFormat)
getIdentityXYZ
private java.lang.String getIdentityXYZ()
getIdentity
private java.lang.String getIdentity(boolean allInfo)
getGroup3
java.lang.String getGroup3()
getGroup1
java.lang.String getGroup1()
isGroup3
boolean isGroup3(java.lang.String group3)
isProtein
boolean isProtein()
isCarbohydrate
boolean isCarbohydrate()
isNucleic
boolean isNucleic()
isDna
boolean isDna()
isRna
boolean isRna()
isPurine
boolean isPurine()
isPyrimidine
boolean isPyrimidine()
getSeqcode
int getSeqcode()
getResno
public int getResno()
isClickable
public boolean isClickable()
getClickabilityFlags
public int getClickabilityFlags()
setClickable
public void setClickable(int flag)
isVisible
public boolean isVisible()
- determine if an atom or its PDB group is visible
- Returns:
- true if the atom is in the "select visible" set
getGroupPhi
public float getGroupPhi()
getGroupPsi
public float getGroupPsi()
getChainID
public char getChainID()
getSurfaceDistance100
public int getSurfaceDistance100()
getVibrationVector
public javax.vecmath.Vector3f getVibrationVector()
getPolymerLength
public int getPolymerLength()
getQuaternion
public Quaternion getQuaternion(char qtype)
getPolymerIndex
int getPolymerIndex()
getSelectedGroupCountWithinChain
public int getSelectedGroupCountWithinChain()
getSelectedGroupIndexWithinChain
public int getSelectedGroupIndexWithinChain()
getSelectedMonomerCountWithinPolymer
public int getSelectedMonomerCountWithinPolymer()
getSelectedMonomerIndexWithinPolymer
public int getSelectedMonomerIndexWithinPolymer()
getChain
Chain getChain()
getModelNumberForLabel
java.lang.String getModelNumberForLabel()
getModelNumber
public int getModelNumber()
getModelFileIndex
public int getModelFileIndex()
getModelFileNumber
public int getModelFileNumber()
getProteinStructureType
public byte getProteinStructureType()
getProteinStructureID
public int getProteinStructureID()
getGroupID
public short getGroupID()
getSeqcodeString
java.lang.String getSeqcodeString()
getSeqNumber
int getSeqNumber()
getInsertionCode
public char getInsertionCode()
formatLabel
public java.lang.String formatLabel(java.lang.String strFormat)
formatLabel
public java.lang.String formatLabel(java.lang.String strFormat,
char chAtom,
int[] indices)
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in class Point3fi
hashCode
public int hashCode()
- Overrides:
hashCode
in class Point3fi
findAromaticNeighbor
public Atom findAromaticNeighbor(java.util.BitSet notAtoms)
findAromaticNeighbor
public Atom findAromaticNeighbor(int notAtomIndex)