public class ModelSet extends BondCollection
AtomCollection.AtomSorter
Modifier and Type | Field and Description |
---|---|
Model[] |
am |
private BS |
bboxAtoms |
BS |
bboxModels |
private BoxInfo |
boxInfo |
protected BS |
bsAll |
protected BS |
bsSymmetry |
protected Atom[] |
closest |
private BoxInfo |
defaultBBox |
private boolean |
echoShapeActive |
protected BS[] |
elementsPresent |
java.lang.String[] |
frameTitles |
boolean |
haveBioModels |
boolean |
haveUnitCells |
private static float |
hbondMin |
java.util.Hashtable<java.lang.String,BS> |
htPeaks |
private boolean |
isBbcageDefault |
protected boolean |
isXYZ |
private javajs.util.M4 |
mat4 |
private javajs.util.M4 |
mat4t |
private javajs.util.M3 |
matInv |
private javajs.util.M3 |
matTemp |
private boolean |
maxBondWarned |
int |
mc
model count
|
int[] |
modelFileNumbers |
java.lang.String[] |
modelNames |
protected int[] |
modelNumbers |
java.lang.String[] |
modelNumbersForAtomLabel |
java.lang.String |
modelSetName |
java.util.Properties |
modelSetProperties |
protected java.lang.String |
modelSetTypeName |
java.util.Map<java.lang.String,java.lang.Object> |
msInfo |
private SymmetryInterface |
pointGroup |
boolean |
proteinStructureTainted |
private javajs.util.P3 |
ptTemp |
private javajs.util.P3 |
ptTemp1 |
private javajs.util.P3 |
ptTemp2 |
private BS |
selectedMolecules |
(package private) boolean |
showRebondTimes |
ShapeManager |
sm |
protected boolean |
someModelsHaveAromaticBonds |
protected boolean |
someModelsHaveFractionalCoordinates |
protected boolean |
someModelsHaveSymmetry |
javajs.util.Lst<StateScript> |
stateScripts |
private int |
thisStateModel |
javajs.util.P3[] |
translations |
SymmetryInterface[] |
unitCells |
protected javajs.util.Lst<javajs.util.V3[]> |
vibrationSteps |
private javajs.util.Quat[] |
vOrientations |
private javajs.util.V3 |
vTemp |
bo, BOND_GROWTH_INCREMENT, bondCount, bsAromatic, defaultCovalentMad, freeBonds, haveHiddenBonds, MAX_BONDS_LENGTH_TO_CACHE, MAX_NUM_TO_CACHE, moleculeCount, molecules, numCached
aaRet, ac, at, atomNames, atomResnos, atomSeqIDs, atomSerials, atomTensorList, atomTensors, atomTypes, averageAtomPoint, bfactor100s, bioModelset, bondingRadii, bsClickable, bsModulated, bsPartialCharges, bspf, bsVisible, canSkipLoad, g3d, haveStraightness, hydrophobicities, maxBondingRadius, occupancies, partialCharges, preserveState, surfaceDistance100s, TAINT_ATOMNAME, TAINT_ATOMNO, TAINT_ATOMTYPE, TAINT_BONDINGRADIUS, TAINT_CHAIN, TAINT_COORD, TAINT_ELEMENT, TAINT_FORMALCHARGE, TAINT_HYDROPHOBICITY, TAINT_MAX, TAINT_OCCUPANCY, TAINT_PARTIALCHARGE, TAINT_RESNO, TAINT_SEQID, TAINT_TEMPERATURE, TAINT_VALENCE, TAINT_VANDERWAALS, TAINT_VIBRATION, tainted, trajectory, userSettableValues, vibrations, vwr
Constructor and Description |
---|
ModelSet(Viewer vwr,
java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
Atom |
addAtom(int modelIndex,
Group group,
int atomicAndIsotopeNumber,
java.lang.String atomName,
java.lang.String atomType,
int atomSerial,
int atomSeqID,
int atomSite,
javajs.util.P3 xyz,
float radius,
javajs.util.V3 vib,
int formalCharge,
float partialCharge,
float occupancy,
float bfactor,
javajs.util.Lst<java.lang.Object> tensors,
boolean isHetero,
byte specialAtomID,
BS atomSymmetry) |
BS |
addHydrogens(javajs.util.Lst<Atom> vConnections,
javajs.util.P3[] pts)
these are hydrogens that are being added due to a load 2D command and are
therefore not to be flagged as NEW
|
StateScript |
addStateScript(java.lang.String script1,
BS bsBonds,
BS bsAtoms1,
BS bsAtoms2,
java.lang.String script2,
boolean addFrameNumber,
boolean postDefinitions) |
void |
adjustAtomArrays(int[] map,
int i0,
int ac) |
void |
assignAtom(int atomIndex,
java.lang.String type,
boolean autoBond) |
private int |
autoBond_Pre_11_9_24(BS bsA,
BS bsB,
BS bsExclude,
BS bsBonds,
short mad) |
int |
autoBondBs4(BS bsA,
BS bsB,
BS bsExclude,
BS bsBonds,
short mad,
boolean preJmol11_9_24) |
private boolean |
autoBondCheck(Atom atomA,
Atom atomB,
int order,
short mad,
BS bsBonds) |
int |
autoHbond(BS bsA,
BS bsB,
boolean onlyIfHaveCalculated)
a generalized formation of HBONDS, carried out in relation to calculate
HBONDS {atomsFrom} {atomsTo}.
|
int |
calcAtomsMinMax(BS bs,
BoxInfo boxInfo) |
void |
calcBoundBoxDimensions(BS bs,
float scale) |
void |
calcRasmolHydrogenBonds(BS bsA,
BS bsB,
javajs.util.Lst<Bond> vHBonds,
boolean nucleicOnly,
int nMax,
boolean dsspIgnoreHydrogens,
BS bsHBonds)
These are not actual hydrogen bonds.
|
float |
calcRotationRadius(int modelIndex,
javajs.util.P3 center,
boolean useBoundBox) |
float |
calcRotationRadiusBs(BS bs) |
void |
calcSelectedGroupsCount() |
void |
calcSelectedMoleculesCount() |
void |
calcSelectedMonomersCount() |
javajs.util.V3 |
calculateMolecularDipole(int modelIndex,
BS bsAtoms) |
java.lang.String |
calculatePointGroup(BS bsAtoms) |
private java.lang.Object |
calculatePointGroupForFirstModel(BS bsAtoms,
boolean doAll,
boolean asInfo,
java.lang.String type,
int index,
float scale,
javajs.util.T3[] pts,
javajs.util.P3 center,
java.lang.String id) |
protected void |
calculatePolymers(Group[] groups,
int groupCount,
int baseGroupIndex,
BS modelsExcluded) |
void |
calculateStraightnessAll() |
java.lang.String |
calculateStructures(BS bsAtoms,
boolean asDSSP,
boolean doReport,
boolean dsspIgnoreHydrogen,
boolean setStructure,
int version) |
java.lang.String |
calculateStructuresAllExcept(BS alreadyDefined,
boolean asDSSP,
boolean doReport,
boolean dsspIgnoreHydrogen,
boolean setStructure,
boolean includeAlpha,
int version)
allows rebuilding of PDB structures; also accessed by ModelManager from
Eval
|
int |
calculateStruts(BS bs1,
BS bs2)
see comments in org.jmol.modelsetbio.AlphaPolymer.java
Struts are calculated for atoms in bs1 connecting to atoms in bs2.
|
private void |
calcUnitCellMinMax() |
private static javajs.util.P3 |
checkMinAttachedAngle(Atom atom1,
float minAngle,
javajs.util.V3 v1,
javajs.util.V3 v2,
boolean haveHAtoms) |
void |
clearCache() |
protected void |
clearDataFrameReference(int modelIndex) |
void |
clearDB(int atomIndex) |
void |
connect(float[][] connections) |
void |
createModels(int n) |
void |
deleteAllBonds() |
void |
deleteAtoms(BS bs) |
void |
deleteBonds(BS bsBonds,
boolean isFullModel) |
private void |
deleteModel(int modelIndex,
int firstAtomIndex,
int nAtoms,
BS bsModelAtoms,
BS bsBonds) |
BS |
deleteModels(BS bsModels) |
void |
fillAtomData(AtomData atomData,
int mode) |
BS |
findAtomsInRectangle(Rectangle rect) |
int |
findNearestAtomIndex(int x,
int y,
BS bsNot,
int min) |
(package private) void |
freezeModels() |
int |
getAltLocCountInModel(int modelIndex) |
int |
getAltLocIndexInModel(int modelIndex,
char alternateLocationID) |
java.lang.String |
getAltLocListInModel(int modelIndex) |
protected BS |
getAtomBitsMaybeDeleted(int tokType,
java.lang.Object specInfo) |
int |
getAtomCountInModel(int modelIndex) |
javajs.util.Quat[] |
getAtomGroupQuaternions(BS bsAtoms,
int nMax,
char qtype) |
BS |
getAtoms(int tokType,
java.lang.Object specInfo)
general lookup for integer type -- from Eval
|
javajs.util.P3 |
getAtomSetCenter(BS bs) |
BS |
getAtomsWithin(float distance,
javajs.util.T3 coord,
BS bsResult,
int modelIndex) |
BS |
getAtomsWithinRadius(float distance,
BS bs,
boolean withinAllModels,
RadiusData rd)
Get atoms within a specific distance of any atom in a specific set of atoms
either within all models or within just the model(s) of those atoms
|
java.util.Map<java.lang.String,java.lang.Object> |
getAuxiliaryInfo(BS bsModels)
Retrieve the main modelset info Hashtable (or a new non-null Hashtable)
with an up-to-date "models" key.
|
javajs.util.P3 |
getAverageAtomPoint() |
Point3fi[] |
getBBoxVertices() |
int |
getBioPolymerCountInModel(int modelIndex) |
BS |
getBitSetTrajectories() |
int |
getBondCountInModel(int modelIndex)
for general use
|
javajs.util.P3 |
getBoundBoxCenter(int modelIndex) |
java.lang.String |
getBoundBoxCommand(boolean withOptions) |
javajs.util.V3 |
getBoundBoxCornerVector() |
java.lang.String |
getBoundBoxOrientation(int type,
BS bsAtoms) |
BoxInfo |
getBoxInfo() |
BoxInfo |
getBoxInfo(BS bs,
float scale) |
BS[] |
getBsBranches(float[] dihedralList) |
float[] |
getCellWeights(BS bsAtoms) |
javajs.util.P3[][] |
getCenterAndPoints(javajs.util.Lst<java.lang.Object[]> vAtomSets,
boolean addCenters) |
int |
getChainCountInModelWater(int modelIndex,
boolean countWater) |
BS |
getConformation(int modelIndex,
int conformationIndex,
boolean doSet,
BS bsSelected) |
private BoxInfo |
getDefaultBoundBox()
The default bounding box is created when the LOAD ....
|
java.lang.String |
getDefaultStructure(BS bsAtoms,
BS bsModified) |
VDW |
getDefaultVdwType(int modelIndex) |
int[][] |
getDihedralMap(int[] alist) |
boolean |
getEchoStateActive() |
BS |
getElementsPresentBitSet(int modelIndex) |
java.lang.Object |
getFileData(int modelIndex) |
java.lang.String |
getFileHeader(int modelIndex) |
long |
getFrameDelayMs(int i) |
javajs.util.P3[] |
getFrameOffsets(BS bsAtoms,
boolean isFull) |
java.lang.String |
getFrameTitle(int modelIndex) |
int |
getGroupCountInModel(int modelIndex) |
(package private) Group[] |
getGroups()
In versions earlier than 12.1.51, groups[] was a field of ModelCollection.
|
BS |
getGroupsWithin(int nResidues,
BS bs) |
java.util.Map<java.lang.String,java.lang.String> |
getHeteroList(int modelIndex) |
java.lang.Object |
getInfo(int modelIndex,
java.lang.String key) |
protected boolean |
getInfoB(int modelIndex,
java.lang.String keyName) |
protected int |
getInfoI(int modelIndex,
java.lang.String keyName) |
java.lang.Object |
getInfoM(java.lang.String keyName) |
java.lang.String |
getInlineData(int modelIndex) |
int |
getInsertionCodeIndexInModel(int modelIndex,
char insertionCode) |
int |
getInsertionCountInModel(int modelIndex) |
private java.lang.String |
getInsertionListInModel(int modelIndex) |
BS |
getIterativeModels(boolean allowJmolData)
only some models can be iterated through.
|
int |
getJmolDataFrameIndex(int modelIndex,
java.lang.String type) |
int |
getJmolDataSourceFrame(int modelIndex) |
java.lang.String |
getJmolFrameType(int modelIndex) |
int |
getLastVibrationVector(int modelIndex,
int tok) |
BS |
getModelAtomBitSetIncludingDeleted(int modelIndex,
boolean asCopy)
Note that this method returns all atoms, included deleted ones.
|
BS |
getModelAtomBitSetIncludingDeletedBs(BS bsModels)
note -- this method returns ALL atoms, including deleted.
|
java.util.Map<java.lang.String,java.lang.Object> |
getModelAuxiliaryInfo(int modelIndex) |
BS |
getModelBS(BS atomList,
boolean allTrajectories) |
int[] |
getModelCellRange(int modelIndex) |
java.lang.String |
getModelDataBaseName(BS bsAtoms) |
javajs.util.V3 |
getModelDipole(int modelIndex) |
java.lang.String |
getModelFileName(int modelIndex) |
java.lang.String |
getModelFileType(int modelIndex) |
int |
getModelIndexFromId(java.lang.String id) |
java.lang.String |
getModelInfoAsString() |
BS |
getModelKitStateBitset(BS bs,
BS bsDeleted) |
java.lang.String |
getModelName(int modelIndex) |
int |
getModelNumber(int modelIndex) |
java.lang.String |
getModelNumberDotted(int modelIndex) |
java.lang.String |
getModelNumberForAtomLabel(int modelIndex) |
int |
getModelNumberIndex(int modelNumber,
boolean useModelNumber,
boolean doSetTrajectory) |
Orientation |
getModelOrientation(int modelIndex) |
java.lang.String |
getModelProperty(int modelIndex,
java.lang.String property) |
java.lang.String |
getModelSetTypeName() |
int |
getModelSymmetryCount(int modelIndex) |
java.lang.String |
getModelTitle(int modelIndex) |
javajs.util.Lst<java.lang.Object> |
getModulationList(BS bs,
char type,
javajs.util.P3 t456) |
BS |
getMoleculeBitSet(BS bs) |
BS |
getMoleculeBitSetForAtom(int atomIndex) |
int |
getMoleculeCountInModel(int modelIndex) |
int |
getMoleculeIndex(int atomIndex,
boolean inModel) |
JmolMolecule[] |
getMolecules() |
boolean |
getMSInfoB(java.lang.String keyName) |
private BS |
getNotInCentroid(BS bs,
int[] minmax) |
java.lang.String |
getPDBHeader(int modelIndex) |
java.lang.String |
getPointGroupAsString(BS bsAtoms,
java.lang.String type,
int index,
float scale,
javajs.util.P3[] pts,
javajs.util.P3 center,
java.lang.String id) |
java.util.Map<java.lang.String,java.lang.Object> |
getPointGroupInfo(BS bsAtoms) |
void |
getPolymerPointsAndVectors(BS bs,
javajs.util.Lst<javajs.util.P3[]> vList,
boolean isTraceAlpha,
float sheetSmoothing) |
java.lang.String |
getProteinStructureState(BS bsAtoms,
int mode) |
private BS |
getSelectCodeRange(int[] info) |
AtomIndexIterator |
getSelectedAtomIterator(BS bsSelected,
boolean isGreaterOnly,
boolean modelZeroBased,
boolean hemisphereOnly,
boolean isMultiModel) |
BS |
getSequenceBits(java.lang.String specInfo,
BS bsAtoms,
BS bsResult) |
java.util.Map<STR,float[]> |
getStructureList() |
javajs.util.M4[] |
getSymMatrices(int modelIndex) |
java.lang.String |
getSymmetryInfoAsString() |
javajs.util.P3 |
getTranslation(int iModel) |
SymmetryInterface |
getUnitCell(int modelIndex) |
SymmetryInterface |
getUnitCellForAtom(int index) |
float[] |
getUnitCellParams()
deprecated due to multimodel issues, but required by an interface -- do NOT
remove.
|
java.lang.Object |
getUnitCellPointsWithin(float distance,
BS bs,
javajs.util.P3 pt,
boolean asMap) |
protected void |
growAtomArrays(int newLength) |
boolean |
haveModelKit() |
private void |
includeAllRelatedFrames(BS bsModels) |
protected void |
initializeBspf() |
protected void |
initializeBspt(int modelIndex) |
void |
invertSelected(javajs.util.P3 pt,
javajs.util.P4 plane,
int iAtom,
BS invAtoms,
BS bs) |
boolean |
isAtomAssignable(int i) |
boolean |
isAtomPDB(int i) |
boolean |
isBondable(float bondingRadiusA,
float bondingRadiusB,
float distance2,
float minBondDistance2,
float bondTolerance) |
private boolean |
isInLatticeCell(int i,
javajs.util.P3 cell,
javajs.util.P3 ptTemp,
boolean isAbsolute) |
private boolean |
isJmolDataFrameForAtom(Atom atom) |
boolean |
isJmolDataFrameForModel(int modelIndex) |
boolean |
isTrajectory(int modelIndex)
could be the base model or one of the subframes
|
boolean |
isTrajectoryMeasurement(int[] countPlusIndices) |
boolean |
isTrajectorySubFrame(int i) |
int[] |
makeConnections(float minDistance,
float maxDistance,
int order,
int connectOperation,
BS bsA,
BS bsB,
BS bsBonds,
boolean isBonds,
boolean addGroup,
float energy) |
int[] |
makeConnections2(float minD,
float maxD,
int order,
int connectOperation,
BS bsA,
BS bsB,
BS bsBonds,
boolean isBonds,
boolean addGroup,
float energy) |
protected void |
mergeModelArrays(ModelSet mergeModelSet)
initial transfer of model data from old to new model set.
|
static int |
modelFileNumberFromFloat(float fDotM) |
void |
morphTrajectories(int m1,
int m2,
float f) |
void |
moveAtoms(javajs.util.M4 m4,
javajs.util.M3 mNew,
javajs.util.M3 rotation,
javajs.util.V3 translation,
BS bs,
javajs.util.P3 center,
boolean isInternal,
boolean translationOnly) |
void |
recalculateLeadMidpointsAndWingVectors(int modelIndex) |
void |
recalculatePolymers(BS bsModelsExcluded) |
void |
recalculatePositionDependentQuantities(BS bs,
javajs.util.M4 mat) |
protected void |
releaseModelSet() |
void |
saveModelOrientation(int modelIndex,
Orientation orientation) |
private static int |
selectSeqcodeRange(Group[] groups,
int n,
int index,
int seqcodeA,
int seqcodeB,
BS bs) |
protected void |
setAPm(BS bs,
int tok,
int iValue,
float fValue,
java.lang.String sValue,
float[] values,
java.lang.String[] list) |
void |
setAtomCoords(BS bs,
int tokType,
java.lang.Object xyzValues) |
void |
setAtomCoordsRelative(javajs.util.T3 offset,
BS bs) |
void |
setAtomNamesAndNumbers(int iFirst,
int baseAtomIndex,
AtomCollection mergeSet) |
void |
setAtomProperty(BS bs,
int tok,
int iValue,
float fValue,
java.lang.String sValue,
float[] values,
java.lang.String[] list) |
void |
setBoundBox(javajs.util.T3 pt1,
javajs.util.T3 pt2,
boolean byCorner,
float scale) |
void |
setCentroid(BS bs,
int[] minmax)
deletes molecules based on: CENTROID -- molecular centroid is not in unit
cell CENTROID PACKED -- all molecule atoms are not in unit cell
|
BS |
setConformation(BS bsAtoms) |
boolean |
setCrystallographicDefaults() |
void |
setDihedrals(float[] dihedralList,
BS[] bsBranches,
float f) |
void |
setEchoStateActive(boolean TF) |
void |
setFrameDelayMs(long millis,
BS bsModels) |
void |
setFrameTitle(BS bsFrames,
java.lang.Object title) |
void |
setInfo(int modelIndex,
java.lang.Object key,
java.lang.Object value) |
void |
setIteratorForAtom(AtomIndexIterator iterator,
int modelIndex,
int atomIndex,
float distance,
RadiusData rd) |
void |
setIteratorForPoint(AtomIndexIterator iterator,
int modelIndex,
javajs.util.T3 pt,
float distance) |
void |
setJmolDataFrame(java.lang.String type,
int modelIndex,
int modelDataIndex) |
void |
setModelCage(int modelIndex,
SymmetryInterface simpleCage) |
void |
setModulation(BS bs,
boolean isOn,
javajs.util.P3 qtOffset,
boolean isQ)
Sets the modulation for all atoms in bs.
|
void |
setPdbConectBonding(int baseAtomIndex,
int baseModelIndex,
BS bsExclude) |
void |
setProteinType(BS bs,
STR type) |
boolean |
setRotationRadius(int modelIndex,
float angstroms) |
void |
setStructureIndexes() |
void |
setStructureList(java.util.Map<STR,float[]> structureList) |
void |
setTrajectory(int modelIndex) |
void |
setTrajectoryBs(BS bsModels) |
void |
setUnitCellOffset(SymmetryInterface unitCell,
javajs.util.T3 pt,
int ijk) |
void |
translateModel(int iModel,
javajs.util.T3 pt)
move atoms by vector pt; used for co-centering with FRAME ALIGN {atoms}
TRUE
|
addHBond, allowAromaticBond, assignAromaticBondsBs, assignBond, bondAtoms, bondMutually, dBb, dBm, deleteAllBonds2, deleteConnections, displayBonds, fixD, getAtomBitsMDb, getAtomsConnected, getBondColix1, getBondColix2, getBondIterator, getBondIteratorForType, getBondsForSelectedAtoms, getDefaultMadFromOrder, getOrAddBond, isInRange, releaseModelSetBC, removeUnnecessaryBonds, resetAromatic, resetMolecules, setBond, setupBC
addTensor, calculateHydrogens, calculateSurface, calculateVolume, chainToUpper, clearBfactorRange, clearVisibleSets, deleteModelAtoms, fillADa, findMaxRadii, findNearest2, fixFormalCharges, generateCrystalClass, getAllAtomTensors, getAtomBitsMDa, getAtomicCharges, getAtomIdentityInfo, getAtomIndices, getAtomInfo, getAtomPointVector, getAtomsFromAtomNumberInFrame, getAtomsInFrame, getAtomsNearPlane, getAtomTensor, getAtomTensorList, getAtomTypes, getBfactor100Hi, getBfactor100Lo, getBFactors, getBondingRadii, getChainBits, getClickableSet, getElementName, getFirstAtomIndexFromAtomNumber, getHybridizationAndAxes, getHydrophobicity, getLabeler, getMaxVanderwaalsRadius, getMissingHydrogenCount, getModulation, getPartialCharges, getQuaternion, getRadiusVdwJmol, getSeqcodeBits, getSpecNameOrNull, getSurfaceDistance100, getSurfaceDistanceMax, getTaintedAtoms, getUserSettableType, getVibCoord, getVibration, getVisibleSet, isAtomHidden, isCursorOnTopOf, isModulated, mergeAtomArrays, modelSetHasVibrationVectors, releaseModelSetAC, scaleVectorsToMax, setAPa, setAtomCoord, setAtomCoord2, setAtomCoordRelative, setAtomData, setAtomName, setAtomNumber, setAtomsCoordRelative, setAtomTensors, setBFactor, setBsHidden, setCapacity, setElement, setFormalCharges, setOccupancy, setPartialCharge, setPreserveState, setTaintedAtoms, setupAC, setVibrationVector, taintAtom, taintAtoms, unTaintAtoms, validateBspf, validateBspfForModel
public boolean haveBioModels
protected BS bsSymmetry
public java.lang.String modelSetName
public Model[] am
public int mc
public SymmetryInterface[] unitCells
public boolean haveUnitCells
protected final Atom[] closest
protected int[] modelNumbers
public int[] modelFileNumbers
public java.lang.String[] modelNumbersForAtomLabel
public java.lang.String[] modelNames
public java.lang.String[] frameTitles
protected BS[] elementsPresent
protected boolean isXYZ
public java.util.Properties modelSetProperties
public java.util.Map<java.lang.String,java.lang.Object> msInfo
protected boolean someModelsHaveSymmetry
protected boolean someModelsHaveAromaticBonds
protected boolean someModelsHaveFractionalCoordinates
private boolean isBbcageDefault
public BS bboxModels
private BS bboxAtoms
private final BoxInfo boxInfo
public javajs.util.Lst<StateScript> stateScripts
private int thisStateModel
protected javajs.util.Lst<javajs.util.V3[]> vibrationSteps
private BS selectedMolecules
boolean showRebondTimes
protected BS bsAll
public ShapeManager sm
private static float hbondMin
public boolean proteinStructureTainted
public java.util.Hashtable<java.lang.String,BS> htPeaks
private javajs.util.Quat[] vOrientations
private final javajs.util.P3 ptTemp
private final javajs.util.P3 ptTemp1
private final javajs.util.P3 ptTemp2
private final javajs.util.M3 matTemp
private final javajs.util.M3 matInv
private final javajs.util.M4 mat4
private final javajs.util.M4 mat4t
private final javajs.util.V3 vTemp
private boolean echoShapeActive
protected java.lang.String modelSetTypeName
public javajs.util.P3[] translations
private SymmetryInterface pointGroup
private BoxInfo defaultBBox
private boolean maxBondWarned
public ModelSet(Viewer vwr, java.lang.String name)
vwr
- name
- public BoxInfo getBoxInfo()
protected void releaseModelSet()
public boolean getEchoStateActive()
public void setEchoStateActive(boolean TF)
public java.lang.String getModelSetTypeName()
public int getModelNumberIndex(int modelNumber, boolean useModelNumber, boolean doSetTrajectory)
modelNumber
- can be a PDB MODEL number or a simple index number, or a fffnnnnnn
f.n numberuseModelNumber
- doSetTrajectory
- public java.lang.String getModelDataBaseName(BS bsAtoms)
public void setTrajectory(int modelIndex)
public BS getBitSetTrajectories()
public void setTrajectoryBs(BS bsModels)
public void morphTrajectories(int m1, int m2, float f)
public javajs.util.P3 getTranslation(int iModel)
public void translateModel(int iModel, javajs.util.T3 pt)
iModel
- pt
- public javajs.util.P3[] getFrameOffsets(BS bsAtoms, boolean isFull)
public BS getAtoms(int tokType, java.lang.Object specInfo)
tokType
- specInfo
- public int findNearestAtomIndex(int x, int y, BS bsNot, int min)
public java.lang.String calculatePointGroup(BS bsAtoms)
public java.util.Map<java.lang.String,java.lang.Object> getPointGroupInfo(BS bsAtoms)
public java.lang.String getPointGroupAsString(BS bsAtoms, java.lang.String type, int index, float scale, javajs.util.P3[] pts, javajs.util.P3 center, java.lang.String id)
private java.lang.Object calculatePointGroupForFirstModel(BS bsAtoms, boolean doAll, boolean asInfo, java.lang.String type, int index, float scale, javajs.util.T3[] pts, javajs.util.P3 center, java.lang.String id)
public int[] makeConnections(float minDistance, float maxDistance, int order, int connectOperation, BS bsA, BS bsB, BS bsBonds, boolean isBonds, boolean addGroup, float energy)
public void setPdbConectBonding(int baseAtomIndex, int baseModelIndex, BS bsExclude)
public void deleteAllBonds()
private void includeAllRelatedFrames(BS bsModels)
private void deleteModel(int modelIndex, int firstAtomIndex, int nAtoms, BS bsModelAtoms, BS bsBonds)
public void setAtomProperty(BS bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
public java.lang.Object getFileData(int modelIndex)
public BS addHydrogens(javajs.util.Lst<Atom> vConnections, javajs.util.P3[] pts)
vConnections
- pts
- protected void mergeModelArrays(ModelSet mergeModelSet)
mergeModelSet
- public SymmetryInterface getUnitCell(int modelIndex)
public void setModelCage(int modelIndex, SymmetryInterface simpleCage)
public java.lang.String getModelName(int modelIndex)
public java.lang.String getModelTitle(int modelIndex)
public java.lang.String getModelFileName(int modelIndex)
public java.lang.String getModelFileType(int modelIndex)
public void setFrameTitle(BS bsFrames, java.lang.Object title)
public java.lang.String getFrameTitle(int modelIndex)
public java.lang.String getModelNumberForAtomLabel(int modelIndex)
Group[] getGroups()
public float[] getUnitCellParams()
public boolean setCrystallographicDefaults()
public javajs.util.P3 getBoundBoxCenter(int modelIndex)
public javajs.util.V3 getBoundBoxCornerVector()
public Point3fi[] getBBoxVertices()
public void setBoundBox(javajs.util.T3 pt1, javajs.util.T3 pt2, boolean byCorner, float scale)
public java.lang.String getBoundBoxCommand(boolean withOptions)
public VDW getDefaultVdwType(int modelIndex)
public boolean setRotationRadius(int modelIndex, float angstroms)
public float calcRotationRadius(int modelIndex, javajs.util.P3 center, boolean useBoundBox)
public void calcBoundBoxDimensions(BS bs, float scale)
private BoxInfo getDefaultBoundBox()
private void calcUnitCellMinMax()
public float calcRotationRadiusBs(BS bs)
public javajs.util.P3[][] getCenterAndPoints(javajs.util.Lst<java.lang.Object[]> vAtomSets, boolean addCenters)
vAtomSets
- addCenters
- public javajs.util.P3 getAtomSetCenter(BS bs)
public javajs.util.P3 getAverageAtomPoint()
protected void setAPm(BS bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
public StateScript addStateScript(java.lang.String script1, BS bsBonds, BS bsAtoms1, BS bsAtoms2, java.lang.String script2, boolean addFrameNumber, boolean postDefinitions)
void freezeModels()
public java.util.Map<STR,float[]> getStructureList()
public java.lang.Object getInfoM(java.lang.String keyName)
public boolean getMSInfoB(java.lang.String keyName)
public boolean isTrajectory(int modelIndex)
modelIndex
- public boolean isTrajectorySubFrame(int i)
public boolean isTrajectoryMeasurement(int[] countPlusIndices)
public BS getIterativeModels(boolean allowJmolData)
allowJmolData
- public void fillAtomData(AtomData atomData, int mode)
public java.lang.String getModelNumberDotted(int modelIndex)
public int getModelNumber(int modelIndex)
public java.lang.String getModelProperty(int modelIndex, java.lang.String property)
public java.util.Map<java.lang.String,java.lang.Object> getModelAuxiliaryInfo(int modelIndex)
public void setInfo(int modelIndex, java.lang.Object key, java.lang.Object value)
public java.lang.Object getInfo(int modelIndex, java.lang.String key)
protected boolean getInfoB(int modelIndex, java.lang.String keyName)
protected int getInfoI(int modelIndex, java.lang.String keyName)
public int getInsertionCountInModel(int modelIndex)
public static int modelFileNumberFromFloat(float fDotM)
public int getChainCountInModelWater(int modelIndex, boolean countWater)
public int getGroupCountInModel(int modelIndex)
public void calcSelectedGroupsCount()
public boolean isJmolDataFrameForModel(int modelIndex)
private boolean isJmolDataFrameForAtom(Atom atom)
public void setJmolDataFrame(java.lang.String type, int modelIndex, int modelDataIndex)
public int getJmolDataFrameIndex(int modelIndex, java.lang.String type)
protected void clearDataFrameReference(int modelIndex)
public java.lang.String getJmolFrameType(int modelIndex)
public int getJmolDataSourceFrame(int modelIndex)
public void saveModelOrientation(int modelIndex, Orientation orientation)
public Orientation getModelOrientation(int modelIndex)
public java.lang.String getPDBHeader(int modelIndex)
public java.lang.String getFileHeader(int modelIndex)
public int getAltLocCountInModel(int modelIndex)
public int getAltLocIndexInModel(int modelIndex, char alternateLocationID)
public int getInsertionCodeIndexInModel(int modelIndex, char insertionCode)
public java.lang.String getAltLocListInModel(int modelIndex)
private java.lang.String getInsertionListInModel(int modelIndex)
public int getModelSymmetryCount(int modelIndex)
public int[] getModelCellRange(int modelIndex)
public int getLastVibrationVector(int modelIndex, int tok)
public javajs.util.Lst<java.lang.Object> getModulationList(BS bs, char type, javajs.util.P3 t456)
public BS getElementsPresentBitSet(int modelIndex)
public int getMoleculeIndex(int atomIndex, boolean inModel)
public BS getMoleculeBitSetForAtom(int atomIndex)
public javajs.util.V3 getModelDipole(int modelIndex)
public javajs.util.V3 calculateMolecularDipole(int modelIndex, BS bsAtoms) throws JmolAsyncException
JmolAsyncException
public int getMoleculeCountInModel(int modelIndex)
public void calcSelectedMoleculesCount()
public void setCentroid(BS bs, int[] minmax)
bs
- minmax
- fractional [xmin, ymin, zmin, xmax, ymax, zmax, 1=packed]public JmolMolecule[] getMolecules()
protected void initializeBspf()
protected void initializeBspt(int modelIndex)
public void setIteratorForPoint(AtomIndexIterator iterator, int modelIndex, javajs.util.T3 pt, float distance)
public void setIteratorForAtom(AtomIndexIterator iterator, int modelIndex, int atomIndex, float distance, RadiusData rd)
public AtomIndexIterator getSelectedAtomIterator(BS bsSelected, boolean isGreaterOnly, boolean modelZeroBased, boolean hemisphereOnly, boolean isMultiModel)
bsSelected
- isGreaterOnly
- modelZeroBased
- hemisphereOnly
- isMultiModel
- public int getBondCountInModel(int modelIndex)
BondCollection
getBondCountInModel
in class BondCollection
modelIndex
- the model of interest or -1 for allpublic int getAtomCountInModel(int modelIndex)
public BS getModelAtomBitSetIncludingDeletedBs(BS bsModels)
bsModels
- public BS getModelAtomBitSetIncludingDeleted(int modelIndex, boolean asCopy)
modelIndex
- asCopy
- MUST BE TRUE IF THE BITSET IS GOING TO BE MODIFIED!protected BS getAtomBitsMaybeDeleted(int tokType, java.lang.Object specInfo)
private BS getSelectCodeRange(int[] info)
private static int selectSeqcodeRange(Group[] groups, int n, int index, int seqcodeA, int seqcodeB, BS bs)
private boolean isInLatticeCell(int i, javajs.util.P3 cell, javajs.util.P3 ptTemp, boolean isAbsolute)
public BS getAtomsWithinRadius(float distance, BS bs, boolean withinAllModels, RadiusData rd)
distance
- bs
- withinAllModels
- rd
- public BS getAtomsWithin(float distance, javajs.util.T3 coord, BS bsResult, int modelIndex)
public void deleteBonds(BS bsBonds, boolean isFullModel)
public int[] makeConnections2(float minD, float maxD, int order, int connectOperation, BS bsA, BS bsB, BS bsBonds, boolean isBonds, boolean addGroup, float energy)
public int autoBondBs4(BS bsA, BS bsB, BS bsExclude, BS bsBonds, short mad, boolean preJmol11_9_24)
public boolean isBondable(float bondingRadiusA, float bondingRadiusB, float distance2, float minBondDistance2, float bondTolerance)
private boolean autoBondCheck(Atom atomA, Atom atomB, int order, short mad, BS bsBonds)
private int autoBond_Pre_11_9_24(BS bsA, BS bsB, BS bsExclude, BS bsBonds, short mad)
public int autoHbond(BS bsA, BS bsB, boolean onlyIfHaveCalculated)
bsA
- "from" set (must contain H if that is desired)bsB
- "to" setonlyIfHaveCalculated
- private static javajs.util.P3 checkMinAttachedAngle(Atom atom1, float minAngle, javajs.util.V3 v1, javajs.util.V3 v2, boolean haveHAtoms)
public void setStructureIndexes()
public java.lang.String getModelInfoAsString()
public java.lang.String getSymmetryInfoAsString()
public void createModels(int n)
public void assignAtom(int atomIndex, java.lang.String type, boolean autoBond)
public void deleteAtoms(BS bs)
public void clearDB(int atomIndex)
public void adjustAtomArrays(int[] map, int i0, int ac)
protected void growAtomArrays(int newLength)
public Atom addAtom(int modelIndex, Group group, int atomicAndIsotopeNumber, java.lang.String atomName, java.lang.String atomType, int atomSerial, int atomSeqID, int atomSite, javajs.util.P3 xyz, float radius, javajs.util.V3 vib, int formalCharge, float partialCharge, float occupancy, float bfactor, javajs.util.Lst<java.lang.Object> tensors, boolean isHetero, byte specialAtomID, BS atomSymmetry)
public java.lang.String getInlineData(int modelIndex)
public boolean isAtomPDB(int i)
public boolean isAtomAssignable(int i)
public boolean haveModelKit()
public void setAtomNamesAndNumbers(int iFirst, int baseAtomIndex, AtomCollection mergeSet)
iFirst
- 0 from ModelLoader.freeze; -1 from Viewer.assignAtombaseAtomIndex
- mergeSet
- public void setUnitCellOffset(SymmetryInterface unitCell, javajs.util.T3 pt, int ijk)
public void connect(float[][] connections)
public void setFrameDelayMs(long millis, BS bsModels)
public long getFrameDelayMs(int i)
public int getModelIndexFromId(java.lang.String id)
public java.util.Map<java.lang.String,java.lang.Object> getAuxiliaryInfo(BS bsModels)
bsModels
- public int[][] getDihedralMap(int[] alist)
public void setModulation(BS bs, boolean isOn, javajs.util.P3 qtOffset, boolean isQ)
bs
- isOn
- qtOffset
- multiples of q or just t.isQ
- true if multiples of q.public java.lang.String getBoundBoxOrientation(int type, BS bsAtoms)
public SymmetryInterface getUnitCellForAtom(int index)
public void clearCache()
public javajs.util.M4[] getSymMatrices(int modelIndex)
public BS[] getBsBranches(float[] dihedralList)
public void recalculatePositionDependentQuantities(BS bs, javajs.util.M4 mat)
public void moveAtoms(javajs.util.M4 m4, javajs.util.M3 mNew, javajs.util.M3 rotation, javajs.util.V3 translation, BS bs, javajs.util.P3 center, boolean isInternal, boolean translationOnly)
public void setDihedrals(float[] dihedralList, BS[] bsBranches, float f)
public void setAtomCoordsRelative(javajs.util.T3 offset, BS bs)
public void setAtomCoords(BS bs, int tokType, java.lang.Object xyzValues)
public void invertSelected(javajs.util.P3 pt, javajs.util.P4 plane, int iAtom, BS invAtoms, BS bs)
public float[] getCellWeights(BS bsAtoms)
public javajs.util.Quat[] getAtomGroupQuaternions(BS bsAtoms, int nMax, char qtype)
public BS getConformation(int modelIndex, int conformationIndex, boolean doSet, BS bsSelected)
public int getBioPolymerCountInModel(int modelIndex)
public void getPolymerPointsAndVectors(BS bs, javajs.util.Lst<javajs.util.P3[]> vList, boolean isTraceAlpha, float sheetSmoothing)
public void recalculateLeadMidpointsAndWingVectors(int modelIndex)
public void calcRasmolHydrogenBonds(BS bsA, BS bsB, javajs.util.Lst<Bond> vHBonds, boolean nucleicOnly, int nMax, boolean dsspIgnoreHydrogens, BS bsHBonds)
bsA
- bsB
- vHBonds
- vector of bonds to fill; if null, creates the HBondsnucleicOnly
- nMax
- dsspIgnoreHydrogens
- bsHBonds
- public void calculateStraightnessAll()
public int calculateStruts(BS bs1, BS bs2)
bs1
- bs2
- public java.lang.String getProteinStructureState(BS bsAtoms, int mode)
public java.lang.String calculateStructures(BS bsAtoms, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure, int version)
public java.lang.String calculateStructuresAllExcept(BS alreadyDefined, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure, boolean includeAlpha, int version)
alreadyDefined
- set to skip calculationasDSSP
- doReport
- dsspIgnoreHydrogen
- setStructure
- includeAlpha
- version
- TODOpublic void recalculatePolymers(BS bsModelsExcluded)
protected void calculatePolymers(Group[] groups, int groupCount, int baseGroupIndex, BS modelsExcluded)
public void calcSelectedMonomersCount()
public void setStructureList(java.util.Map<STR,float[]> structureList)
public java.util.Map<java.lang.String,java.lang.String> getHeteroList(int modelIndex)
public java.lang.Object getUnitCellPointsWithin(float distance, BS bs, javajs.util.P3 pt, boolean asMap)