public abstract class AtomCollection extends Object
Modifier and Type | Class and Description |
---|---|
protected class |
AtomCollection.AtomSorter |
Modifier and Type | Field and Description |
---|---|
private int[] |
aaRet |
private static float |
almost180 |
int |
atomCount |
(package private) String[] |
atomNames |
Atom[] |
atoms |
(package private) int[] |
atomSerials |
Object[][] |
atomTensorList |
Map<String,javajs.util.List<Object>> |
atomTensors |
(package private) String[] |
atomTypes |
private int |
bfactor100Hi |
private int |
bfactor100Lo |
(package private) short[] |
bfactor100s |
private BS |
bsEmpty |
private BS |
bsFoundRectangle |
private BS |
bsHidden |
BS |
bsModulated |
protected Bspf |
bspf |
private BS |
bsSurface |
boolean |
canSkipLoad |
protected GData |
g3d |
private boolean |
hasBfactorRange |
protected boolean |
haveStraightness |
(package private) float[] |
hydrophobicities |
(package private) float[] |
ionicRadii |
(package private) LabelToken |
labeler |
protected float |
maxBondingRadius |
private float |
maxVanderwaalsRadius |
private static 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_COORD |
static byte |
TAINT_ELEMENT |
static byte |
TAINT_FORMALCHARGE |
static byte |
TAINT_HYDROPHOBICITY |
static byte |
TAINT_IONICRADIUS |
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 String[] |
userSettableValues |
Vibration[] |
vibrations |
Viewer |
viewer |
private static javajs.util.V3 |
vRef |
Constructor and Description |
---|
AtomCollection() |
Modifier and Type | Method and Description |
---|---|
void |
addTensor(Tensor t,
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,
EnumVdw 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<Object> |
getAllAtomTensors(String type) |
protected BS |
getAtomBitsMDa(int tokType,
Object specInfo)
general unqualified lookup of atom set type
|
String |
getAtomChain(int i) |
short |
getAtomColix(int i) |
int |
getAtomCount() |
float[] |
getAtomicCharges() |
void |
getAtomIdentityInfo(int i,
Map<String,Object> info) |
int |
getAtomIndexFromAtomNumber(int atomNumber,
BS bsVisibleFrames) |
int[] |
getAtomIndices(BS bs) |
String |
getAtomInfo(int i,
String format) |
String |
getAtomInfoXYZ(int i,
boolean useChimeFormat) |
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,
String type) |
Object[] |
getAtomTensorList(int i) |
String[] |
getAtomTypes() |
float |
getAtomVdwRadius(int i,
EnumVdw type) |
private Atom[] |
getAttached(Atom atom,
int nMax,
boolean doSort) |
int |
getBfactor100Hi() |
int |
getBfactor100Lo() |
short[] |
getBFactors() |
protected BS |
getChainBits(int chainID) |
BS |
getClickableSet() |
String |
getElementName(int i) |
int |
getElementNumber(int i) |
String |
getElementSymbol(int i) |
protected boolean |
getHaveStraightness() |
Object |
getHelixData(BS bs,
int tokType) |
String |
getHybridizationAndAxes(int atomIndex,
int atomicNumber,
javajs.util.V3 z,
javajs.util.V3 x,
String lcaoTypeRaw,
boolean hybridizationCompatible,
boolean doAlignZ) |
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[] |
getHydrophobicity() |
private BS |
getIdentifierOrNull(String identifier)
overhauled by RMH Nov 1, 2006.
|
(package private) int |
getImplicitHydrogenCount(Atom atom,
boolean allowNegative) |
float[] |
getIonicRadii() |
LabelToken |
getLabeler() |
float |
getMaxVanderwaalsRadius() |
float[] |
getPartialCharges() |
Quaternion |
getQuaternion(int i,
char qtype) |
protected float |
getRadiusVdwJmol(Atom atom) |
protected BS |
getSeqcodeBits(int seqcode,
boolean returnEmpty) |
private BS |
getSpecName(String name) |
private BS |
getSpecNameOrNull(String name,
boolean checkStar) |
(package private) int |
getSurfaceDistance100(int atomIndex) |
int |
getSurfaceDistanceMax() |
BS |
getTaintedAtoms(byte type) |
private static Object[] |
getTensorList(javajs.util.List<Object> list) |
static int |
getUserSettableType(String dataType) |
Vibration |
getVibration(int atomIndex,
boolean forceNew) |
float |
getVibrationCoord(int atomIndex,
char c) |
BS |
getVisibleSet() |
private float |
getWorkingRadius(Atom atom,
AtomData atomData) |
private boolean |
isAdjacentSp2(Atom atom) |
boolean |
isAtomHidden(int iAtom) |
private boolean |
isAtomNameMatch(Atom atom,
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(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,
String sValue,
float[] values,
String[] list) |
void |
setAtomCoord(int atomIndex,
float x,
float y,
float z) |
protected void |
setAtomCoord2(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 |
setAtomNumber(int atomIndex,
int atomno) |
protected void |
setAtomsCoordRelative(BS bs,
float x,
float y,
float z) |
void |
setAtomTensors(int atomIndex,
javajs.util.List<Object> list) |
protected void |
setAtomType(int atomIndex,
String type) |
private void |
setAtomVibrationVector(int atomIndex,
javajs.util.T3 vib) |
private void |
setBf(int i) |
protected boolean |
setBFactor(int atomIndex,
float bfactor) |
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 |
setIonicRadius(int atomIndex,
float radius) |
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 Float MINUSZERO
public Viewer viewer
protected GData g3d
public Atom[] atoms
public int atomCount
String[] atomNames
String[] atomTypes
int[] atomSerials
public Vibration[] vibrations
byte[] occupancies
short[] bfactor100s
float[] partialCharges
float[] ionicRadii
float[] hydrophobicities
public Object[][] atomTensorList
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 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_IONICRADIUS
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 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 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 String[] getAtomTypes()
public float[] getPartialCharges()
public float[] getIonicRadii()
public short[] getBFactors()
public float[] getHydrophobicity()
public void setBsHidden(BS bs)
public boolean isAtomHidden(int iAtom)
public LabelToken getLabeler()
public String getAtomInfoXYZ(int i, boolean useChimeFormat)
public String getElementSymbol(int i)
public int getElementNumber(int i)
public String getElementName(int i)
public 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, EnumVdw type)
public short getAtomColix(int i)
public String getAtomChain(int i)
public Quaternion getQuaternion(int i, char qtype)
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)
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, String sValue, float[] values, 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, String name)
protected void setAtomType(int atomIndex, 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 setIonicRadius(int atomIndex, float radius)
protected boolean setBFactor(int atomIndex, float bfactor)
protected boolean setHydrophobicity(int atomIndex, float value)
private void loadCoordinates(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(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 String getHybridizationAndAxes(int atomIndex, int atomicNumber, javajs.util.V3 z, javajs.util.V3 x, String lcaoTypeRaw, boolean hybridizationCompatible, boolean doAlignZ)
private String getHybridizationAndAxesD(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, String lcaoType)
atomIndex
- z
- x
- lcaoType
- private BS findNotAttached(int nAttached, int[][] angles, int[] ptrs, int nPtrs)
protected BS getAtomBitsMDa(int tokType, Object specInfo)
tokType
- specInfo
- private BS getIdentifierOrNull(String identifier)
identifier
- 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 BS getVisibleSet()
public BS getClickableSet()
public boolean isModulated(int i)
protected void deleteModelAtoms(int firstAtomIndex, int nAtoms, BS bsAtoms)
public Object[] getAtomTensorList(int i)
private void deleteAtomTensors(BS bsAtoms)
public void setAtomTensors(int atomIndex, javajs.util.List<Object> list)