Package org.jmol.modelset
Class AtomCollection
java.lang.Object
org.jmol.modelset.AtomCollection
- Direct Known Subclasses:
BondCollection
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) int[]
int
private static final float
Atom[]
private int
(package private) String[]
(package private) int[]
(package private) int[]
(package private) int[]
Object[][]
(package private) String[]
private int
private int
(package private) short[]
If any model in the collection is a BioModel, then it is also indicated here as a "bioModelset", meaning(package private) float[]
javajs.util.BS
private javajs.util.BS
javajs.util.BS
javajs.util.BS
protected Bspf
Binary Space Partitioning Forestprivate javajs.util.BS
javajs.util.BS
static final int
static final int
static final int
static final int
static final int
static final int
boolean
(package private) float[]
protected GData
private boolean
private boolean
private boolean
protected boolean
boolean
(package private) float[]
private LabelToken
protected float
private float
private int
float[]
(package private) float[]
protected SymmetryInterface
protected boolean
private static final float
protected int[]
private int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
javajs.util.BS[]
static String[]
private static final javajs.util.V3
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static int
addH
(javajs.util.P3[] hAtoms, int hPt, javajs.util.P3 pt, Atom atom, javajs.util.Lst<Atom> vConnect, SymmetryInterface sym, javajs.util.P3 ptTemp) void
private void
calcBfactorRange
(javajs.util.BS bs) private void
javajs.util.P3[][]
calculateHydrogens
(javajs.util.BS bs, int[] nTotal, javajs.util.Lst<Atom> vConnect, int flags) get a list of potential H atom positions based on elemental valence and formal chargejavajs.util.P3[]
calculateSurface
(javajs.util.BS bsSelected, float envelopeRadius) float
calculateVolume
(javajs.util.BS bs, VDW vType) int
chainToUpper
(int chainID) void
void
private void
deleteAtomTensors
(javajs.util.BS bsAtoms) protected void
deleteModelAtoms
(int firstAtomIndex, int nAtoms, javajs.util.BS bsAtoms) protected void
protected void
protected void
findNearest2
(int x, int y, Atom[] closest, javajs.util.BS bsNot, int min) private javajs.util.BS
findNotAttached
(int nAttached, int[][] angles, int[] ptrs, int nPtrs) int
fixFormalCharges
(javajs.util.BS bs) private void
javajs.util.Lst
<javajs.util.P3> generateCrystalClass
(int atomIndex, javajs.util.P3 pt) javajs.util.Lst
<Object> getAllAtomTensors
(String type) getAtom
(int iatom) javajs.util.BS
getAtomBitsMDa
(int tokType, Object specInfo, javajs.util.BS bs) general unqualified lookup of atom set typefloat[]
void
getAtomIdentityInfo
(int i, Map<String, Object> info, javajs.util.P3 ptTemp) int[]
getAtomIndices
(javajs.util.BS bs) getAtomInfo
(int i, String format, javajs.util.P3 ptTemp) javajs.util.Lst
<javajs.util.P3> getAtomPointVector
(javajs.util.BS bs) javajs.util.BS
getAtomsFromAtomNumberInFrame
(int atomNumber) void
getAtomsInFrame
(javajs.util.BS bsAtoms) javajs.util.BS
getAtomsNearPlane
(float distance, javajs.util.P4 plane) getAtomTensor
(int i, String type) Object[]
getAtomTensorList
(int i) String[]
private Atom[]
getAttached
(Atom atom, int nMax, boolean doSort, boolean isQuick) int
int
short[]
float[]
javajs.util.BS
getChainBits
(int chainID) javajs.util.BS
getClickableSet
(boolean forceNew) getElementName
(int i) int
getFirstAtomIndexFromAtomNumber
(int atomNumber, javajs.util.BS bsVisibleFrames) getHybridizationAndAxes
(int atomIndex, int atomicNumber, javajs.util.V3 z, javajs.util.V3 x, String lcaoTypeRaw, boolean hybridizationCompatible, boolean doAlignZ, boolean isQuick, javajs.util.T3 ref) private String
getHybridizationAndAxesD
(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, String lcaoType) dsp3 (trigonal bipyramidal, see-saw, T-shaped) or d2sp3 (square planar, square pyramidal, octahedral)float[]
private javajs.util.BS
getIdentifierOrNull
(String identifier) overhauled by RMH Nov 1, 2006.float
int
getMissingHydrogenCount
(Atom atom, boolean allowNegative) getModulation
(int iAtom) float
getOccupancyFloat
(int i) float[]
javajs.util.Quat
getQuaternion
(int i, char qtype) protected float
getRadiusVdwJmol
(Atom atom) javajs.util.BS
getSeqcodeBits
(int seqcode, boolean returnEmpty) private javajs.util.BS
getSpecName
(String name) javajs.util.BS
getSpecNameOrNull
(String name, boolean checkStar) (package private) int
getSurfaceDistance100
(int atomIndex) int
javajs.util.BS
getTaintedAtoms
(int type) private static Object[]
getTensorList
(javajs.util.Lst<Object> list) static int
getUserSettableType
(String dataType) float
getVibCoord
(int atomIndex, char c) also handles modulation infogetVibration
(int atomIndex, boolean forceNew) javajs.util.BS
getVisibleSet
(boolean forceNew) private float
getWorkingRadius
(Atom atom, AtomData atomData) private boolean
isAdjacentSp2
(Atom atom) private boolean
boolean
isAtomHidden
(int iAtom) private boolean
isAtomNameMatch
(Atom atom, String strPattern, boolean checkStar, boolean allowInitialStar) (package private) boolean
isCursorOnTopOf
(Atom contender, int x, int y, int radius, Atom champion) used by Frame and AminoMonomer and NucleicMonomer -- does NOT check for clickabilitystatic boolean
boolean
isModulated
(int i) private void
loadCoordinates
(String data, boolean isVibrationVectors, boolean doTaint) protected void
mergeAtomArrays
(AtomCollection mergeModelSet) boolean
protected void
private void
void
scaleVectorsToMax
(float max) Scales vibrations and associated vectors such that the maximum length is the given valueprotected void
setAPa
(javajs.util.BS bs, int tok, int iValue, float fValue, String sValue, float[] values, String[] list) void
setAtomCoord
(int atomIndex, float x, float y, float z) protected void
setAtomCoord2
(javajs.util.BS bs, int tokType, Object xyzValues) void
setAtomCoordRelative
(int atomIndex, float x, float y, float z) void
setAtomData
(int type, String name, String dataString, boolean isDefault) void
setAtomName
(int atomIndex, String name, boolean doTaint) void
setAtomNumber
(int atomIndex, int atomno, boolean doTaint) private void
setAtomResno
(int atomIndex, int resno) protected void
setAtomsCoordRelative
(javajs.util.BS bs, float x, float y, float z) private void
setAtomSeqID
(int atomIndex, int seqID) void
setAtomTensors
(int atomIndex, javajs.util.Lst<Object> list) private void
setAtomType
(int atomIndex, String type) private void
setAtomVibrationVector
(int atomIndex, javajs.util.T3 vib) private void
setBf
(int i) protected void
setBFactor
(int atomIndex, float bfactor, boolean doTaint) protected void
setBondingRadius
(int atomIndex, float radius) void
setBsHidden
(javajs.util.BS bs) (package private) void
setCapacity
(int nAtoms) private void
setChainID
(int atomIndex, String id) void
setElement
(Atom atom, int atomicNumber, boolean doTaint) void
setFormalCharges
(javajs.util.BS bs, int formalCharge) private void
setHydrophobicity
(int atomIndex, float value) protected void
setOccupancy
(int atomIndex, float occupancy, boolean doTaint) protected void
setPartialCharge
(int atomIndex, float partialCharge, boolean doTaint) void
setPreserveState
(boolean TF) void
void
setTaintedAtoms
(javajs.util.BS bs, int type) protected void
setupAC()
protected void
setVibrationVector
(int atomIndex, javajs.util.T3 vib) private void
setVibrationVector2
(int atomIndex, int tok, float fValue) void
taintAtom
(int atomIndex, int type) void
taintAtoms
(javajs.util.BS bsAtoms, int type) private void
taintModelCoord
(int atomIndex) private void
untaint
(int atomIndex, int type) void
unTaintAtoms
(javajs.util.BS bs, int type) void
validateBspf
(boolean isValid) (package private) void
validateBspfForModel
(int modelIndex, boolean isValid)
-
Field Details
-
almost180
private static final float almost180- See Also:
-
sqrt3_2
private static final float sqrt3_2 -
vRef
private static final javajs.util.V3 vRef -
vwr
-
g3d
-
bioModelset
If any model in the collection is a BioModel, then it is also indicated here as a "bioModelset", meaning -
at
-
ac
public int ac -
trajectory
-
pointGroup
-
labeler
-
maxBondingRadius
protected float maxBondingRadius -
maxVanderwaalsRadius
private float maxVanderwaalsRadius -
hasBfactorRange
private boolean hasBfactorRange -
bfactor100Lo
private int bfactor100Lo -
bfactor100Hi
private int bfactor100Hi -
haveBSVisible
private boolean haveBSVisible -
haveBSClickable
private boolean haveBSClickable -
bsSurface
private javajs.util.BS bsSurface -
nSurfaceAtoms
private int nSurfaceAtoms -
surfaceDistanceMax
private int surfaceDistanceMax -
haveChirality
protected boolean haveChirality -
bspf
Binary Space Partitioning Forest -
preserveState
protected boolean preserveState -
canSkipLoad
public boolean canSkipLoad -
haveStraightness
public boolean haveStraightness -
bsHidden
private javajs.util.BS bsHidden -
bsVisible
public javajs.util.BS bsVisible -
bsClickable
public javajs.util.BS bsClickable -
bsModulated
public javajs.util.BS bsModulated -
atomTensorList
-
atomTensors
-
surfaceDistance100s
protected int[] surfaceDistance100s -
tainted
public javajs.util.BS[] tainted -
userSettableValues
-
TAINT_ATOMNAME
public static final int TAINT_ATOMNAME- See Also:
-
TAINT_ATOMTYPE
public static final int TAINT_ATOMTYPE- See Also:
-
TAINT_COORD
public static final int TAINT_COORD- See Also:
-
TAINT_ELEMENT
public static final int TAINT_ELEMENT- See Also:
-
TAINT_FORMALCHARGE
public static final int TAINT_FORMALCHARGE- See Also:
-
TAINT_HYDROPHOBICITY
public static final int TAINT_HYDROPHOBICITY- See Also:
-
TAINT_BONDINGRADIUS
public static final int TAINT_BONDINGRADIUS- See Also:
-
TAINT_OCCUPANCY
public static final int TAINT_OCCUPANCY- See Also:
-
TAINT_PARTIALCHARGE
public static final int TAINT_PARTIALCHARGE- See Also:
-
TAINT_TEMPERATURE
public static final int TAINT_TEMPERATURE- See Also:
-
TAINT_VALENCE
public static final int TAINT_VALENCE- See Also:
-
TAINT_VANDERWAALS
public static final int TAINT_VANDERWAALS- See Also:
-
TAINT_VIBRATION
public static final int TAINT_VIBRATION- See Also:
-
TAINT_ATOMNO
public static final int TAINT_ATOMNO- See Also:
-
TAINT_SEQID
public static final int TAINT_SEQID- See Also:
-
TAINT_RESNO
public static final int TAINT_RESNO- See Also:
-
TAINT_CHAIN
public static final int TAINT_CHAIN- See Also:
-
TAINT_SITE
public static final int TAINT_SITE- See Also:
-
TAINT_MAX
public static final int TAINT_MAX- See Also:
-
atomNames
String[] atomNames -
atomTypes
String[] atomTypes -
atomSerials
int[] atomSerials -
atomResnos
int[] atomResnos -
atomSeqIDs
int[] atomSeqIDs -
dssrData
float[] dssrData -
vibrations
-
occupancies
public float[] occupancies -
bfactor100s
short[] bfactor100s -
partialCharges
float[] partialCharges -
bondingRadii
float[] bondingRadii -
hydrophobicities
float[] hydrophobicities -
bsPartialCharges
public javajs.util.BS bsPartialCharges -
CALC_H_DOALL
public static final int CALC_H_DOALL- See Also:
-
CALC_H_JUSTC
public static final int CALC_H_JUSTC- See Also:
-
CALC_H_HAVEH
public static final int CALC_H_HAVEH- See Also:
-
CALC_H_QUICK
public static final int CALC_H_QUICK- See Also:
-
CALC_H_IGNORE_H
public static final int CALC_H_IGNORE_H- See Also:
-
CALC_H_ALLOW_H
public static final int CALC_H_ALLOW_H- See Also:
-
aaRet
int[] aaRet -
atomCapacity
private int atomCapacity
-
-
Constructor Details
-
AtomCollection
public AtomCollection()
-
-
Method Details
-
getAtom
-
setupAC
protected void setupAC() -
releaseModelSetAC
protected void releaseModelSetAC() -
mergeAtomArrays
-
getAtomPointVector
public javajs.util.Lst<javajs.util.P3> getAtomPointVector(javajs.util.BS bs) -
modelSetHasVibrationVectors
public boolean modelSetHasVibrationVectors() -
getAtomTypes
-
getPartialCharges
public float[] getPartialCharges() -
getBondingRadii
public float[] getBondingRadii() -
getBFactors
public short[] getBFactors() -
getHydrophobicity
public float[] getHydrophobicity() -
setBsHidden
public void setBsHidden(javajs.util.BS bs) -
isAtomHidden
public boolean isAtomHidden(int iAtom) -
getLabeler
-
getAtomInfo
-
getElementName
-
getQuaternion
public javajs.util.Quat getQuaternion(int i, char qtype) -
getFirstAtomIndexFromAtomNumber
public int getFirstAtomIndexFromAtomNumber(int atomNumber, javajs.util.BS bsVisibleFrames) -
setFormalCharges
public void setFormalCharges(javajs.util.BS bs, int formalCharge) -
getAtomicCharges
public float[] getAtomicCharges() -
getRadiusVdwJmol
-
getMaxVanderwaalsRadius
public float getMaxVanderwaalsRadius() -
findMaxRadii
protected void findMaxRadii() -
clearBfactorRange
public void clearBfactorRange() -
calcBfactorRange
private void calcBfactorRange(javajs.util.BS bs) -
setBf
private void setBf(int i) -
getBfactor100Lo
public int getBfactor100Lo() -
getBfactor100Hi
public int getBfactor100Hi() -
getSurfaceDistanceMax
public int getSurfaceDistanceMax() -
calculateVolume
-
getSurfaceDistance100
int getSurfaceDistance100(int atomIndex) -
calcSurfaceDistances
private void calcSurfaceDistances() -
calculateSurface
public javajs.util.P3[] calculateSurface(javajs.util.BS bsSelected, float envelopeRadius) -
setAtomCoord2
-
setAtomVibrationVector
private void setAtomVibrationVector(int atomIndex, javajs.util.T3 vib) -
setAtomCoord
public void setAtomCoord(int atomIndex, float x, float y, float z) -
fixTrajectory
-
setAtomCoordRelative
public void setAtomCoordRelative(int atomIndex, float x, float y, float z) -
setAtomsCoordRelative
protected void setAtomsCoordRelative(javajs.util.BS bs, float x, float y, float z) -
setAPa
-
getVibCoord
public float getVibCoord(int atomIndex, char c) also handles modulation info- Parameters:
atomIndex
-c
- generally x, y, z, but for modulation could be 1, 2, 3, or O (oh, not zero)- Returns:
- value or NaN
-
getVibration
-
getModulation
-
setVibrationVector
protected void setVibrationVector(int atomIndex, javajs.util.T3 vib) -
setVibrationVector2
private void setVibrationVector2(int atomIndex, int tok, float fValue) -
setAtomName
-
setAtomType
-
setChainID
-
setAtomNumber
public void setAtomNumber(int atomIndex, int atomno, boolean doTaint) -
setElement
-
setSite
-
resetPartialCharges
private void resetPartialCharges() -
setAtomResno
private void setAtomResno(int atomIndex, int resno) -
setAtomSeqID
private void setAtomSeqID(int atomIndex, int seqID) -
setOccupancy
protected void setOccupancy(int atomIndex, float occupancy, boolean doTaint) -
getOccupancyFloat
public float getOccupancyFloat(int i) -
setPartialCharge
protected void setPartialCharge(int atomIndex, float partialCharge, boolean doTaint) -
setBondingRadius
protected void setBondingRadius(int atomIndex, float radius) -
setBFactor
protected void setBFactor(int atomIndex, float bfactor, boolean doTaint) -
setHydrophobicity
private void setHydrophobicity(int atomIndex, float value) -
setAtomData
-
loadCoordinates
-
validateBspf
public void validateBspf(boolean isValid) -
validateBspfForModel
void validateBspfForModel(int modelIndex, boolean isValid) -
setPreserveState
public void setPreserveState(boolean TF) -
getUserSettableType
-
getTaintedAtoms
public javajs.util.BS getTaintedAtoms(int type) -
taintAtoms
public void taintAtoms(javajs.util.BS bsAtoms, int type) -
taintAtom
public void taintAtom(int atomIndex, int type) -
taintModelCoord
private void taintModelCoord(int atomIndex) -
untaint
private void untaint(int atomIndex, int type) -
setTaintedAtoms
public void setTaintedAtoms(javajs.util.BS bs, int type) -
unTaintAtoms
public void unTaintAtoms(javajs.util.BS bs, int type) -
findNearest2
-
isCursorOnTopOf
used by Frame and AminoMonomer and NucleicMonomer -- does NOT check for clickability- Parameters:
contender
-x
-y
-radius
-champion
-- Returns:
- true if user is pointing to this atom
-
fillADa
-
getWorkingRadius
-
calculateHydrogens
public javajs.util.P3[][] calculateHydrogens(javajs.util.BS bs, int[] nTotal, javajs.util.Lst<Atom> vConnect, int flags) get a list of potential H atom positions based on elemental valence and formal charge- Parameters:
bs
-nTotal
-vConnect
-flags
- [CALC_H_DOALL | CALC_H_JUSTC | CALC_H_HAVEH | CALC_H_QUICK- Returns:
- array of arrays of points added to specific atoms
-
addH
private static int addH(javajs.util.P3[] hAtoms, int hPt, javajs.util.P3 pt, Atom atom, javajs.util.Lst<Atom> vConnect, SymmetryInterface sym, javajs.util.P3 ptTemp) -
isAdjacentSp2
-
getMissingHydrogenCount
-
fixFormalCharges
public int fixFormalCharges(javajs.util.BS bs) -
getHybridizationAndAxes
-
getHybridizationAndAxesD
private String getHybridizationAndAxesD(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, String lcaoType) dsp3 (trigonal bipyramidal, see-saw, T-shaped) or d2sp3 (square planar, square pyramidal, octahedral)- Parameters:
atomIndex
-z
-x
-lcaoType
-- Returns:
- valid hybridization or null
-
getAttached
-
findNotAttached
private javajs.util.BS findNotAttached(int nAttached, int[][] angles, int[] ptrs, int nPtrs) -
getAtomBitsMDa
general unqualified lookup of atom set type- Parameters:
tokType
-specInfo
-bs
- - to be filled- Returns:
- BitSet; or null if we mess up the type
-
getChainBits
public javajs.util.BS getChainBits(int chainID) -
chainToUpper
public int chainToUpper(int chainID) -
isAltLoc
-
getSeqcodeBits
public javajs.util.BS getSeqcodeBits(int seqcode, boolean returnEmpty) -
getIdentifierOrNull
overhauled by RMH Nov 1, 2006.- Parameters:
identifier
-- Returns:
- null or bs
-
getSpecName
-
getSpecNameOrNull
-
isAtomNameMatch
-
getAtomIndices
public int[] getAtomIndices(javajs.util.BS bs) -
getAtomsNearPlane
public javajs.util.BS getAtomsNearPlane(float distance, javajs.util.P4 plane) -
clearVisibleSets
public void clearVisibleSets() -
getAtomsInFrame
public void getAtomsInFrame(javajs.util.BS bsAtoms) -
getVisibleSet
public javajs.util.BS getVisibleSet(boolean forceNew) -
getClickableSet
public javajs.util.BS getClickableSet(boolean forceNew) -
isModulated
public boolean isModulated(int i) -
deleteModelAtoms
protected void deleteModelAtoms(int firstAtomIndex, int nAtoms, javajs.util.BS bsAtoms) -
getAtomIdentityInfo
-
getAtomTensorList
-
deleteAtomTensors
private void deleteAtomTensors(javajs.util.BS bsAtoms) -
setCapacity
void setCapacity(int nAtoms) -
setAtomTensors
-
addTensor
-
getTensorList
-
getAtomTensor
-
getAllAtomTensors
-
scaleVectorsToMax
public void scaleVectorsToMax(float max) Scales vibrations and associated vectors such that the maximum length is the given value- Parameters:
max
-
-
getAtomsFromAtomNumberInFrame
public javajs.util.BS getAtomsFromAtomNumberInFrame(int atomNumber) -
generateCrystalClass
public javajs.util.Lst<javajs.util.P3> generateCrystalClass(int atomIndex, javajs.util.P3 pt) -
isDeleted
-