public abstract class AtomCollection
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
protected class |
AtomCollection.AtomSorter |
Modifier and Type | Field and Description |
---|---|
private int[] |
aaRet |
int |
ac |
private static float |
almost180 |
Atom[] |
at |
(package private) java.lang.String[] |
atomNames |
(package private) int[] |
atomSerials |
java.lang.Object[][] |
atomTensorList |
java.util.Map<java.lang.String,javajs.util.List<java.lang.Object>> |
atomTensors |
(package private) java.lang.String[] |
atomTypes |
protected javajs.util.P3 |
averageAtomPoint |
private int |
bfactor100Hi |
private int |
bfactor100Lo |
(package private) short[] |
bfactor100s |
(package private) float[] |
bondingRadii |
BS |
bsClickable |
private BS |
bsEmpty |
private BS |
bsFoundRectangle |
private BS |
bsHidden |
BS |
bsModulated |
protected Bspf |
bspf |
private BS |
bsSurface |
BS |
bsVisible |
boolean |
canSkipLoad |
protected GData |
g3d |
private boolean |
hasBfactorRange |
boolean |
haveBSClickable |
boolean |
haveBSVisible |
protected boolean |
haveStraightness |
(package private) float[] |
hydrophobicities |
(package private) LabelToken |
labeler |
protected float |
maxBondingRadius |
private float |
maxVanderwaalsRadius |
private static java.lang.Float |
MINUSZERO |
private int |
nSurfaceAtoms |
(package private) byte[] |
occupancies |
(package private) float[] |
partialCharges |
protected boolean |
preserveState |
private static float |
sqrt3_2 |
protected int[] |
surfaceDistance100s |
private int |
surfaceDistanceMax |
static byte |
TAINT_ATOMNAME |
static byte |
TAINT_ATOMNO |
static byte |
TAINT_ATOMTYPE |
static byte |
TAINT_BONDINGRADIUS |
static byte |
TAINT_COORD |
static byte |
TAINT_ELEMENT |
static byte |
TAINT_FORMALCHARGE |
static byte |
TAINT_HYDROPHOBICITY |
static byte |
TAINT_MAX |
static byte |
TAINT_OCCUPANCY |
static byte |
TAINT_PARTIALCHARGE |
static byte |
TAINT_TEMPERATURE |
static byte |
TAINT_VALENCE |
static byte |
TAINT_VANDERWAALS |
static byte |
TAINT_VIBRATION |
BS[] |
tainted |
static java.lang.String[] |
userSettableValues |
Vibration[] |
vibrations |
private static javajs.util.V3 |
vRef |
Viewer |
vwr |
Constructor and Description |
---|
AtomCollection() |
Modifier and Type | Method and Description |
---|---|
void |
addTensor(Tensor t,
java.lang.String type) |
private void |
calcBfactorRange(BS bs) |
private void |
calcSurfaceDistances() |
javajs.util.P3[][] |
calculateHydrogens(BS bs,
int[] nTotal,
boolean doAll,
boolean justCarbon,
javajs.util.List<Atom> vConnect)
get a list of potential H atom positions based on
elemental valence and formal charge
|
javajs.util.P3[] |
calculateSurface(BS bsSelected,
float envelopeRadius) |
float |
calculateVolume(BS bs,
VDW vType) |
static int |
chainToUpper(int chainID) |
void |
clearBfactorRange() |
private void |
deleteAtomTensors(BS bsAtoms) |
protected void |
deleteModelAtoms(int firstAtomIndex,
int nAtoms,
BS bsAtoms) |
protected void |
fillADa(AtomData atomData,
int mode) |
BS |
findAtomsInRectangle(Rectangle rect,
BS bsModels) |
protected void |
findMaxRadii() |
protected void |
findNearest2(int x,
int y,
Atom[] closest,
BS bsNot,
int min) |
private BS |
findNotAttached(int nAttached,
int[][] angles,
int[] ptrs,
int nPtrs) |
int |
fixFormalCharges(BS bs) |
private void |
fixTrajectory(Atom a) |
javajs.util.List<java.lang.Object> |
getAllAtomTensors(java.lang.String type) |
protected BS |
getAtomBitsMDa(int tokType,
java.lang.Object specInfo)
general unqualified lookup of atom set type
|
java.lang.String |
getAtomChain(int i) |
short |
getAtomColix(int i) |
int |
getAtomCount() |
float[] |
getAtomicCharges() |
void |
getAtomIdentityInfo(int i,
java.util.Map<java.lang.String,java.lang.Object> info) |
int |
getAtomIndexFromAtomNumber(int atomNumber,
BS bsVisibleFrames) |
int[] |
getAtomIndices(BS bs) |
java.lang.String |
getAtomInfo(int i,
java.lang.String format) |
java.lang.String |
getAtomInfoXYZ(int i,
boolean useChimeFormat) |
java.lang.String |
getAtomName(int i) |
int |
getAtomNumber(int i) |
javajs.util.P3 |
getAtomPoint3f(int i) |
javajs.util.List<javajs.util.P3> |
getAtomPointVector(BS bs) |
float |
getAtomRadius(int i) |
BS |
getAtomsWithin(float distance,
javajs.util.P4 plane) |
BS |
getAtomsWithinBs(float distance,
javajs.util.P3[] points,
BS bsInclude) |
Tensor |
getAtomTensor(int i,
java.lang.String type) |
java.lang.Object[] |
getAtomTensorList(int i) |
java.lang.String[] |
getAtomTypes() |
float |
getAtomVdwRadius(int i,
VDW type) |
private Atom[] |
getAttached(Atom atom,
int nMax,
boolean doSort) |
int |
getBfactor100Hi() |
int |
getBfactor100Lo() |
short[] |
getBFactors() |
float[] |
getBondingRadii() |
protected BS |
getChainBits(int chainID) |
BS |
getClickableSet() |
java.lang.String |
getElementName(int i) |
int |
getElementNumber(int i) |
java.lang.String |
getElementSymbol(int i) |
protected boolean |
getHaveStraightness() |
java.lang.Object |
getHelixData(BS bs,
int tokType) |
java.lang.String |
getHybridizationAndAxes(int atomIndex,
int atomicNumber,
javajs.util.V3 z,
javajs.util.V3 x,
java.lang.String lcaoTypeRaw,
boolean hybridizationCompatible,
boolean doAlignZ) |
private java.lang.String |
getHybridizationAndAxesD(int atomIndex,
javajs.util.V3 z,
javajs.util.V3 x,
java.lang.String lcaoType)
dsp3 (trigonal bipyramidal, see-saw, T-shaped)
or d2sp3 (square planar, square pyramidal, octahedral)
|
float[] |
getHydrophobicity() |
private BS |
getIdentifierOrNull(java.lang.String identifier)
overhauled by RMH Nov 1, 2006.
|
(package private) int |
getImplicitHydrogenCount(Atom atom,
boolean allowNegative) |
LabelToken |
getLabeler() |
float |
getMaxVanderwaalsRadius() |
float[] |
getPartialCharges() |
javajs.util.Quat |
getQuaternion(int i,
char qtype) |
protected float |
getRadiusVdwJmol(Atom atom) |
void |
getRenderable(BS bsAtoms) |
protected BS |
getSeqcodeBits(int seqcode,
boolean returnEmpty) |
private BS |
getSpecName(java.lang.String name) |
private BS |
getSpecNameOrNull(java.lang.String name,
boolean checkStar) |
(package private) int |
getSurfaceDistance100(int atomIndex) |
int |
getSurfaceDistanceMax() |
BS |
getTaintedAtoms(byte type) |
private static java.lang.Object[] |
getTensorList(javajs.util.List<java.lang.Object> list) |
static int |
getUserSettableType(java.lang.String dataType) |
Vibration |
getVibration(int atomIndex,
boolean forceNew) |
float |
getVibrationCoord(int atomIndex,
char c) |
BS |
getVisibleSet() |
private BS |
getWaterAtoms(BS bs) |
private float |
getWorkingRadius(Atom atom,
AtomData atomData) |
private boolean |
isAdjacentSp2(Atom atom) |
boolean |
isAtomHidden(int iAtom) |
private boolean |
isAtomNameMatch(Atom atom,
java.lang.String strPattern,
boolean checkStar) |
(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 clickability
|
boolean |
isModulated(int i) |
private void |
loadCoordinates(java.lang.String data,
boolean isVibrationVectors,
boolean doTaint) |
protected void |
mergeAtomArrays(AtomCollection mergeModelSet) |
boolean |
modelSetHasVibrationVectors() |
protected void |
releaseModelSet() |
protected void |
releaseModelSetAC() |
protected void |
setAPa(BS bs,
int tok,
int iValue,
float fValue,
java.lang.String sValue,
float[] values,
java.lang.String[] list) |
void |
setAtomCoord(int atomIndex,
float x,
float y,
float z) |
protected void |
setAtomCoord2(BS bs,
int tokType,
java.lang.Object xyzValues) |
void |
setAtomCoordRelative(int atomIndex,
float x,
float y,
float z) |
void |
setAtomData(int type,
java.lang.String name,
java.lang.String dataString,
boolean isDefault) |
void |
setAtomName(int atomIndex,
java.lang.String name) |
boolean |
setAtomNumber(int atomIndex,
int atomno) |
protected void |
setAtomsCoordRelative(BS bs,
float x,
float y,
float z) |
void |
setAtomTensors(int atomIndex,
javajs.util.List<java.lang.Object> list) |
protected void |
setAtomType(int atomIndex,
java.lang.String type) |
private void |
setAtomVibrationVector(int atomIndex,
javajs.util.T3 vib) |
private void |
setBf(int i) |
protected boolean |
setBFactor(int atomIndex,
float bfactor) |
protected boolean |
setBondingRadius(int atomIndex,
float radius) |
void |
setBsHidden(BS bs) |
protected void |
setElement(Atom atom,
int atomicNumber) |
void |
setFormalCharges(BS bs,
int formalCharge) |
void |
setHaveStraightness(boolean TF) |
protected boolean |
setHydrophobicity(int atomIndex,
float value) |
protected boolean |
setOccupancy(int atomIndex,
int occupancy) |
protected boolean |
setPartialCharge(int atomIndex,
float partialCharge) |
void |
setPreserveState(boolean TF) |
void |
setTaintedAtoms(BS bs,
byte type) |
protected void |
setVibrationVector(int atomIndex,
javajs.util.T3 vib) |
private void |
setVibrationVector2(int atomIndex,
int tok,
float fValue) |
protected void |
taintAtom(int atomIndex,
byte type) |
void |
taintAtoms(BS bsAtoms,
byte type) |
private void |
untaint(int atomIndex,
byte type) |
void |
unTaintAtoms(BS bs,
byte type) |
(package private) void |
validateBspf(boolean isValid) |
(package private) void |
validateBspfForModel(int modelIndex,
boolean isValid) |
private static final java.lang.Float MINUSZERO
public Viewer vwr
protected GData g3d
public Atom[] at
public int ac
java.lang.String[] atomNames
java.lang.String[] atomTypes
int[] atomSerials
public Vibration[] vibrations
byte[] occupancies
short[] bfactor100s
float[] partialCharges
float[] bondingRadii
float[] hydrophobicities
public java.lang.Object[][] atomTensorList
public java.util.Map<java.lang.String,javajs.util.List<java.lang.Object>> atomTensors
protected int[] surfaceDistance100s
protected boolean haveStraightness
private BS bsHidden
LabelToken labeler
protected float maxBondingRadius
private float maxVanderwaalsRadius
private boolean hasBfactorRange
private int bfactor100Lo
private int bfactor100Hi
private int surfaceDistanceMax
private BS bsSurface
private int nSurfaceAtoms
protected javajs.util.P3 averageAtomPoint
protected Bspf bspf
protected boolean preserveState
public static final byte TAINT_ATOMNAME
public static final byte TAINT_ATOMTYPE
public static final byte TAINT_COORD
public static final byte TAINT_ELEMENT
public static final byte TAINT_FORMALCHARGE
public static final byte TAINT_HYDROPHOBICITY
public static final byte TAINT_BONDINGRADIUS
public static final byte TAINT_OCCUPANCY
public static final byte TAINT_PARTIALCHARGE
public static final byte TAINT_TEMPERATURE
public static final byte TAINT_VALENCE
public static final byte TAINT_VANDERWAALS
public static final byte TAINT_VIBRATION
public static final byte TAINT_ATOMNO
public static final byte TAINT_MAX
public static final java.lang.String[] userSettableValues
public BS[] tainted
public boolean canSkipLoad
private final BS bsEmpty
private final BS bsFoundRectangle
private int[] aaRet
private static final float sqrt3_2
private static final javajs.util.V3 vRef
private static final float almost180
public BS bsVisible
public BS bsClickable
public boolean haveBSVisible
public boolean haveBSClickable
public BS bsModulated
protected void releaseModelSet()
protected void releaseModelSetAC()
protected void mergeAtomArrays(AtomCollection mergeModelSet)
public void setHaveStraightness(boolean TF)
protected boolean getHaveStraightness()
public javajs.util.List<javajs.util.P3> getAtomPointVector(BS bs)
public int getAtomCount()
public boolean modelSetHasVibrationVectors()
public java.lang.String[] getAtomTypes()
public float[] getPartialCharges()
public float[] getBondingRadii()
public short[] getBFactors()
public float[] getHydrophobicity()
public void setBsHidden(BS bs)
public boolean isAtomHidden(int iAtom)
public java.lang.String getAtomInfo(int i, java.lang.String format)
public LabelToken getLabeler()
public java.lang.String getAtomInfoXYZ(int i, boolean useChimeFormat)
public java.lang.String getElementSymbol(int i)
public int getElementNumber(int i)
public java.lang.String getElementName(int i)
public java.lang.String getAtomName(int i)
public int getAtomNumber(int i)
public javajs.util.P3 getAtomPoint3f(int i)
public float getAtomRadius(int i)
public float getAtomVdwRadius(int i, VDW type)
public short getAtomColix(int i)
public java.lang.String getAtomChain(int i)
public javajs.util.Quat getQuaternion(int i, char qtype)
public java.lang.Object getHelixData(BS bs, int tokType)
public int getAtomIndexFromAtomNumber(int atomNumber, BS bsVisibleFrames)
public void setFormalCharges(BS bs, int formalCharge)
public float[] getAtomicCharges()
protected float getRadiusVdwJmol(Atom atom)
public float getMaxVanderwaalsRadius()
protected void findMaxRadii()
public void clearBfactorRange()
private void calcBfactorRange(BS bs)
private void setBf(int i)
public int getBfactor100Lo()
public int getBfactor100Hi()
public int getSurfaceDistanceMax()
int getSurfaceDistance100(int atomIndex)
private void calcSurfaceDistances()
public javajs.util.P3[] calculateSurface(BS bsSelected, float envelopeRadius)
protected void setAtomCoord2(BS bs, int tokType, java.lang.Object xyzValues)
private void setAtomVibrationVector(int atomIndex, javajs.util.T3 vib)
public void setAtomCoord(int atomIndex, float x, float y, float z)
private void fixTrajectory(Atom a)
public void setAtomCoordRelative(int atomIndex, float x, float y, float z)
protected void setAtomsCoordRelative(BS bs, float x, float y, float z)
protected void setAPa(BS bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
protected void setElement(Atom atom, int atomicNumber)
public float getVibrationCoord(int atomIndex, char c)
public Vibration getVibration(int atomIndex, boolean forceNew)
protected void setVibrationVector(int atomIndex, javajs.util.T3 vib)
private void setVibrationVector2(int atomIndex, int tok, float fValue)
public void setAtomName(int atomIndex, java.lang.String name)
protected void setAtomType(int atomIndex, java.lang.String type)
public boolean setAtomNumber(int atomIndex, int atomno)
protected boolean setOccupancy(int atomIndex, int occupancy)
protected boolean setPartialCharge(int atomIndex, float partialCharge)
protected boolean setBondingRadius(int atomIndex, float radius)
protected boolean setBFactor(int atomIndex, float bfactor)
protected boolean setHydrophobicity(int atomIndex, float value)
public void setAtomData(int type, java.lang.String name, java.lang.String dataString, boolean isDefault)
private void loadCoordinates(java.lang.String data, boolean isVibrationVectors, boolean doTaint)
void validateBspf(boolean isValid)
void validateBspfForModel(int modelIndex, boolean isValid)
public void setPreserveState(boolean TF)
public static int getUserSettableType(java.lang.String dataType)
public BS getTaintedAtoms(byte type)
public void taintAtoms(BS bsAtoms, byte type)
protected void taintAtom(int atomIndex, byte type)
private void untaint(int atomIndex, byte type)
public void setTaintedAtoms(BS bs, byte type)
public void unTaintAtoms(BS bs, byte type)
boolean isCursorOnTopOf(Atom contender, int x, int y, int radius, Atom champion)
contender
- x
- y
- radius
- champion
- protected void fillADa(AtomData atomData, int mode)
public javajs.util.P3[][] calculateHydrogens(BS bs, int[] nTotal, boolean doAll, boolean justCarbon, javajs.util.List<Atom> vConnect)
bs
- nTotal
- doAll
- -- whether we add to C that already have H or not.justCarbon
- vConnect
- private boolean isAdjacentSp2(Atom atom)
int getImplicitHydrogenCount(Atom atom, boolean allowNegative)
public int fixFormalCharges(BS bs)
public java.lang.String getHybridizationAndAxes(int atomIndex, int atomicNumber, javajs.util.V3 z, javajs.util.V3 x, java.lang.String lcaoTypeRaw, boolean hybridizationCompatible, boolean doAlignZ)
private java.lang.String getHybridizationAndAxesD(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, java.lang.String lcaoType)
atomIndex
- z
- x
- lcaoType
- private BS findNotAttached(int nAttached, int[][] angles, int[] ptrs, int nPtrs)
protected BS getAtomBitsMDa(int tokType, java.lang.Object specInfo)
tokType
- specInfo
- private BS getIdentifierOrNull(java.lang.String identifier)
identifier
- private BS getSpecName(java.lang.String name)
private BS getSpecNameOrNull(java.lang.String name, boolean checkStar)
private boolean isAtomNameMatch(Atom atom, java.lang.String strPattern, boolean checkStar)
protected BS getSeqcodeBits(int seqcode, boolean returnEmpty)
protected BS getChainBits(int chainID)
public static int chainToUpper(int chainID)
public int[] getAtomIndices(BS bs)
public BS getAtomsWithin(float distance, javajs.util.P4 plane)
public void getRenderable(BS bsAtoms)
public BS getVisibleSet()
public BS getClickableSet()
public boolean isModulated(int i)
protected void deleteModelAtoms(int firstAtomIndex, int nAtoms, BS bsAtoms)
public void getAtomIdentityInfo(int i, java.util.Map<java.lang.String,java.lang.Object> info)
public java.lang.Object[] getAtomTensorList(int i)
private void deleteAtomTensors(BS bsAtoms)
public void setAtomTensors(int atomIndex, javajs.util.List<java.lang.Object> list)
private static java.lang.Object[] getTensorList(javajs.util.List<java.lang.Object> list)
public Tensor getAtomTensor(int i, java.lang.String type)
public void addTensor(Tensor t, java.lang.String type)
public javajs.util.List<java.lang.Object> getAllAtomTensors(java.lang.String type)