public abstract class ModelCollection extends BondCollection
Modifier and Type | Class and Description |
---|---|
static class |
ModelCollection.StateScript |
AtomCollection.AtomSorter
Modifier and Type | Field and Description |
---|---|
private javax.vecmath.Point3f |
averageAtomPoint |
private java.util.BitSet |
bboxAtoms |
private java.util.BitSet |
bboxModels |
private BoxInfo |
boxInfo |
protected java.util.BitSet |
bsAll |
protected java.util.BitSet |
bsSymmetry |
protected java.util.BitSet[] |
elementsPresent |
protected java.lang.String[] |
frameTitles |
private static float |
hbondMin |
private java.util.Hashtable<java.lang.String,java.util.BitSet> |
htPeaks |
private boolean |
isBbcageDefault |
protected boolean |
isPDB |
protected boolean |
isXYZ |
protected int |
modelCount |
protected int[] |
modelFileNumbers |
protected java.lang.String[] |
modelNames |
protected int[] |
modelNumbers |
protected java.lang.String[] |
modelNumbersForAtomLabel |
protected Model[] |
models |
protected java.util.Map<java.lang.String,java.lang.Object> |
modelSetAuxiliaryInfo |
java.lang.String |
modelSetName |
protected java.util.Properties |
modelSetProperties |
boolean |
proteinStructureTainted |
protected javax.vecmath.Point3f |
ptTemp |
private int |
selectedMoleculeCount |
private java.util.BitSet |
selectedMolecules |
protected ShapeManager |
shapeManager |
private static boolean |
showRebondTimes |
protected boolean |
someModelsHaveAromaticBonds |
protected boolean |
someModelsHaveFractionalCoordinates |
protected boolean |
someModelsHaveSymmetry |
protected java.util.List<ModelCollection.StateScript> |
stateScripts |
private SymmetryInterface |
symTemp |
private int |
thisStateModel |
protected java.util.List<javax.vecmath.Point3f[]> |
trajectorySteps |
(package private) SymmetryInterface[] |
unitCells |
protected java.util.List<javax.vecmath.Vector3f[]> |
vibrationSteps |
BOND_GROWTH_INCREMENT, bondCount, bonds, bsAromatic, defaultCovalentMad, freeBonds, haveHiddenBonds, MAX_BONDS_LENGTH_TO_CACHE, MAX_NUM_TO_CACHE, moleculeCount, molecules, numCached
atomCount, atomNames, atoms, atomSerials, atomTypes, bfactor100s, bspf, canSkipLoad, ellipsoids, g3d, haveStraightness, hydrophobicities, ionicRadii, maxBondingRadius, occupancies, partialCharges, preserveState, surfaceDistance100s, TAINT_ATOMNAME, TAINT_ATOMNO, TAINT_ATOMTYPE, TAINT_COORD, TAINT_ELEMENT, TAINT_FORMALCHARGE, TAINT_HYDROPHOBICITY, TAINT_MAX, tainted, vibrationVectors, viewer
Constructor and Description |
---|
ModelCollection() |
Modifier and Type | Method and Description |
---|---|
protected Atom |
addAtom(int modelIndex,
Group group,
short atomicAndIsotopeNumber,
java.lang.String atomName,
int atomSerial,
int atomSite,
float x,
float y,
float z) |
Atom |
addAtom(int modelIndex,
Group group,
short atomicAndIsotopeNumber,
java.lang.String atomName,
int atomSerial,
int atomSite,
float x,
float y,
float z,
float radius,
float vectorX,
float vectorY,
float vectorZ,
int formalCharge,
float partialCharge,
int occupancy,
float bfactor,
Quadric[] ellipsoid,
boolean isHetero,
char alternateLocationID,
byte specialAtomID,
java.util.BitSet atomSymmetry) |
private boolean |
addMolFile(java.lang.StringBuffer mol,
java.util.BitSet bsAtoms,
java.util.BitSet bsBonds,
boolean asV3000,
boolean asChemDoodle,
Quaternion q) |
ModelCollection.StateScript |
addStateScript(java.lang.String script1,
java.util.BitSet bsBonds,
java.util.BitSet bsAtoms1,
java.util.BitSet bsAtoms2,
java.lang.String script2,
boolean addFrameNumber,
boolean postDefinitions) |
(package private) void |
adjustAtomArrays(int[] map,
int i0,
int atomCount) |
boolean |
allowSpecAtom() |
void |
appendLoadStates(java.lang.StringBuffer cmds) |
void |
assignAtom(int atomIndex,
java.lang.String type,
boolean autoBond) |
private int |
autoBond_Pre_11_9_24(java.util.BitSet bsA,
java.util.BitSet bsB,
java.util.BitSet bsExclude,
java.util.BitSet bsBonds,
short mad) |
int |
autoBond(java.util.BitSet bsA,
java.util.BitSet bsB,
java.util.BitSet bsExclude,
java.util.BitSet bsBonds,
short mad,
boolean preJmol11_9_24) |
private int[] |
autoBond(java.util.BitSet bsA,
java.util.BitSet bsB,
java.util.BitSet bsBonds,
boolean isBonds,
boolean matchHbond,
boolean legacyAutoBond) |
int |
autoHbond(java.util.BitSet bsA,
java.util.BitSet bsB,
boolean onlyIfHaveCalculated)
a generalized formation of HBONDS, carried out in relation to calculate
HBONDS {atomsFrom} {atomsTo}.
|
int |
calcAtomsMinMax(java.util.BitSet bs,
BoxInfo boxInfo) |
void |
calcBoundBoxDimensions(java.util.BitSet bs,
float scale) |
void |
calcRasmolHydrogenBonds(java.util.BitSet bsA,
java.util.BitSet bsB,
java.util.List<Bond> vHBonds,
boolean nucleicOnly,
int nMax,
boolean dsspIgnoreHydrogens,
java.util.BitSet bsHBonds)
These are not actual hydrogen bonds.
|
float |
calcRotationRadius(java.util.BitSet bs) |
float |
calcRotationRadius(int modelIndex,
javax.vecmath.Point3f center) |
void |
calcSelectedGroupsCount(java.util.BitSet bsSelected) |
void |
calcSelectedMoleculesCount(java.util.BitSet bsSelected) |
void |
calcSelectedMonomersCount(java.util.BitSet bsSelected) |
javax.vecmath.Vector3f |
calculateMolecularDipole(int modelIndex) |
protected void |
calculatePolymers(Group[] groups,
int groupCount,
int baseGroupIndex,
java.util.BitSet modelsExcluded) |
void |
calculateStraightness() |
protected java.lang.String |
calculateStructuresAllExcept(java.util.BitSet alreadyDefined,
boolean asDSSP,
boolean doReport,
boolean dsspIgnoreHydrogen,
boolean setStructure,
boolean includeAlpha)
allows rebuilding of PDB structures; also accessed by ModelManager from
Eval
|
int |
calculateStruts(java.util.BitSet bs1,
java.util.BitSet 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 javax.vecmath.Point3f |
checkMinAttachedAngle(Atom atom1,
float minAngle,
javax.vecmath.Vector3f v1,
javax.vecmath.Vector3f v2,
boolean haveHAtoms) |
protected void |
clearDataFrameReference(int modelIndex) |
void |
connect(float[][] connections) |
void |
deleteAtoms(java.util.BitSet bs) |
void |
deleteBonds(java.util.BitSet bsBonds,
boolean isFullModel) |
protected void |
deleteModel(int modelIndex,
int firstAtomIndex,
int nAtoms,
java.util.BitSet bsAtoms,
java.util.BitSet bsBonds) |
void |
fillAtomData(AtomData atomData,
int mode) |
(package private) void |
freezeModels() |
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
getAllAtomInfo(java.util.BitSet bs) |
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
getAllBondInfo(java.util.BitSet bs) |
java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>> |
getAllChainInfo(java.util.BitSet bs) |
java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>> |
getAllPolymerInfo(java.util.BitSet bs) |
int |
getAltLocCountInModel(int modelIndex) |
int |
getAltLocIndexInModel(int modelIndex,
char alternateLocationID) |
java.lang.String |
getAltLocListInModel(int modelIndex) |
java.util.BitSet |
getAtomBits(int tokType,
java.lang.Object specInfo)
general unqualified lookup of atom set type
|
protected java.util.BitSet |
getAtomBitsMaybeDeleted(int tokType,
java.lang.Object specInfo)
general unqualified lookup of atom set type
|
int |
getAtomCountInModel(int modelIndex) |
Quaternion[] |
getAtomGroupQuaternions(java.util.BitSet bsAtoms,
int nMax,
char qtype) |
void |
getAtomIdentityInfo(int i,
java.util.Map<java.lang.String,java.lang.Object> info) |
private java.util.Map<java.lang.String,java.lang.Object> |
getAtomInfoLong(int i) |
private void |
getAtomRecordMOL(java.lang.StringBuffer mol,
int n,
Atom a,
Quaternion q,
javax.vecmath.Point3f pTemp,
boolean asV3000,
boolean asChemDoodle) |
private static void |
getAtomResidueInfo(java.lang.StringBuffer info,
Atom atom) |
java.util.BitSet |
getAtomsConnected(float min,
float max,
int intType,
java.util.BitSet bs) |
javax.vecmath.Point3f |
getAtomSetCenter(java.util.BitSet bs) |
java.util.BitSet |
getAtomsWithin(float distance,
java.util.BitSet 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.BitSet |
getAtomsWithin(float distance,
javax.vecmath.Point3f coord,
java.util.BitSet bsResult,
int modelIndex) |
java.util.Map<java.lang.String,java.lang.Object> |
getAuxiliaryInfo(java.util.BitSet bsModels) |
javax.vecmath.Point3f |
getAverageAtomPoint() |
java.util.BitSet |
getBaseModelBitSet(int modelIndex)
get the BitSet of model atoms for the model designated as "baseModel" in a
JCamp-MOL file for example, the model used for bonding for an XYZVIB file
or the model used as the base model for a mass spec file.
|
private int |
getBaseModelIndex(int modelIndex) |
private java.util.BitSet |
getBasePairBits(java.lang.String specInfo) |
private java.lang.String |
getBasePairInfo(java.util.BitSet bs) |
Point3fi[] |
getBboxVertices() |
int |
getBioPolymerCount() |
int |
getBioPolymerCountInModel(int modelIndex) |
int |
getBondCountInModel(int modelIndex)
for general use
|
private java.util.Map<java.lang.String,java.lang.Object> |
getBondInfo(int i) |
private void |
getBondRecordMOL(java.lang.StringBuffer mol,
int n,
Bond b,
int[] atomMap,
boolean asV3000,
boolean asChemDoodle) |
javax.vecmath.Point3f |
getBoundBoxCenter(int modelIndex) |
java.lang.String |
getBoundBoxCommand(boolean withOptions) |
javax.vecmath.Vector3f |
getBoundBoxCornerVector() |
java.util.Map<java.lang.String,java.lang.Object> |
getBoundBoxInfo() |
java.util.BitSet |
getBoundBoxModels() |
BoxInfo |
getBoxInfo(java.util.BitSet bs,
float scale) |
SymmetryInterface[] |
getCellInfos() |
javax.vecmath.Point3f[][] |
getCenterAndPoints(java.util.List<java.util.BitSet[]> vAtomSets,
boolean addCenters) |
int |
getChainCount(boolean addWater) |
int |
getChainCountInModel(int modelIndex,
boolean countWater) |
private java.util.List<java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>> |
getChainInfo(int modelIndex,
java.util.BitSet bs) |
java.lang.String |
getChimeInfo(int tok,
java.util.BitSet bs) |
java.util.BitSet |
getConformation(int modelIndex,
int conformationIndex,
boolean doSet) |
private java.util.BitSet |
getCovalentBondsForAtoms(java.util.BitSet bsAtoms) |
EnumVdw |
getDefaultVdwType(int modelIndex) |
java.util.BitSet |
getElementsPresentBitSet(int modelIndex) |
java.lang.String |
getFileHeader(int modelIndex) |
long |
getFrameDelayMs(int i) |
java.lang.String |
getFrameTitle(int modelIndex) |
int |
getGroupAtom(Atom atom,
int offset,
java.lang.String name) |
int |
getGroupCount() |
int |
getGroupCountInModel(int modelIndex) |
Group[] |
getGroups()
In versions earlier than 12.1.51, groups[] was a field of ModelCollection.
|
java.util.BitSet |
getGroupsWithin(int nResidues,
java.util.BitSet bs) |
java.util.Map<java.lang.String,java.lang.String> |
getHeteroList(int modelIndex) |
java.lang.String |
getInlineData(int modelIndex) |
int |
getInsertionCodeIndexInModel(int modelIndex,
char insertionCode) |
int |
getInsertionCountInModel(int modelIndex) |
private java.lang.String |
getInsertionListInModel(int modelIndex) |
java.util.BitSet |
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) |
java.util.Map<java.lang.String,java.lang.Object> |
getLigandInfo(java.util.BitSet bsAtoms) |
protected int |
getMergeTrajectoryCount(boolean isTrajectory) |
java.util.BitSet |
getModelAtomBitSetIncludingDeleted(java.util.BitSet bsModels)
note -- this method returns ALL atoms, including deleted.
|
java.util.BitSet |
getModelAtomBitSetIncludingDeleted(int modelIndex,
boolean asCopy)
Note that this method returns all atoms, included deleted ones.
|
java.lang.String |
getModelAtomProperty(Atom atom,
java.lang.String text) |
java.util.Map<java.lang.String,java.lang.Object> |
getModelAuxiliaryInfo(int modelIndex) |
java.lang.Object |
getModelAuxiliaryInfo(int modelIndex,
java.lang.String key) |
protected boolean |
getModelAuxiliaryInfoBoolean(int modelIndex,
java.lang.String keyName) |
protected int |
getModelAuxiliaryInfoInt(int modelIndex,
java.lang.String keyName) |
java.util.BitSet |
getModelBitSet(java.util.BitSet atomList,
boolean allTrajectories) |
int[] |
getModelCellRange(int modelIndex) |
java.lang.String |
getModelCml(java.util.BitSet bs,
int atomsMax,
boolean addBonds) |
int |
getModelCount() |
javax.vecmath.Vector3f |
getModelDipole(int modelIndex) |
java.lang.String |
getModelExtract(java.util.BitSet bs,
boolean doTransform,
boolean isModelKit,
java.lang.String type) |
java.lang.String |
getModelFileInfo(java.util.BitSet frames) |
java.lang.String |
getModelFileName(int modelIndex) |
int |
getModelFileNumber(int modelIndex) |
java.lang.String |
getModelFileType(int modelIndex) |
int |
getModelIndexFromId(java.lang.String id) |
java.util.Map<java.lang.String,java.lang.Object> |
getModelInfo(java.util.BitSet bsModels) |
java.lang.String |
getModelInfoAsString() |
java.util.BitSet |
getModelKitStateBitset(java.util.BitSet bs,
java.util.BitSet bsDeleted) |
java.lang.String |
getModelName(int modelIndex) |
int |
getModelNumber(int modelIndex) |
java.lang.String |
getModelNumberDotted(int modelIndex) |
java.lang.String |
getModelNumberForAtomLabel(int modelIndex) |
StateManager.Orientation |
getModelOrientation(int modelIndex) |
java.util.Properties |
getModelProperties(int modelIndex) |
java.lang.String |
getModelProperty(int modelIndex,
java.lang.String property) |
Model[] |
getModels() |
java.util.Map<java.lang.String,java.lang.Object> |
getModelSetAuxiliaryInfo() |
java.lang.Object |
getModelSetAuxiliaryInfo(java.lang.String keyName) |
boolean |
getModelSetAuxiliaryInfoBoolean(java.lang.String keyName) |
java.lang.String |
getModelSetName() |
java.util.Properties |
getModelSetProperties() |
java.lang.String |
getModelSetProperty(java.lang.String propertyName) |
int |
getModelSymmetryCount(int modelIndex) |
java.lang.String |
getModelTitle(int modelIndex) |
java.lang.String |
getMoInfo(int modelIndex) |
java.util.BitSet |
getMoleculeBitSet(java.util.BitSet bs) |
java.util.BitSet |
getMoleculeBitSet(int atomIndex) |
int |
getMoleculeCountInModel(int modelIndex) |
int |
getMoleculeIndex(int atomIndex,
boolean inModel) |
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
getMoleculeInfo(java.util.BitSet bsAtoms) |
JmolMolecule[] |
getMolecules() |
float[] |
getNotionalUnitcell()
deprecated due to multimodel issues, but required by an interface -- do NOT
remove.
|
java.lang.String |
getPdbAtomData(java.util.BitSet bs,
OutputStringBuffer sb)
PDB or PQR only
|
java.lang.String |
getPdbData(int modelIndex,
java.lang.String type,
java.util.BitSet bsSelected,
java.lang.Object[] parameters,
OutputStringBuffer sb) |
java.lang.String |
getPDBHeader(int modelIndex) |
java.lang.String |
getPeakAtomRecord(int atomIndex) |
java.util.List<java.lang.Object> |
getPlaneIntersection(int type,
javax.vecmath.Point4f plane,
float scale,
int flags,
int modelIndex) |
javax.vecmath.Point3f[] |
getPolymerLeadMidPoints(int iModel,
int iPolymer) |
void |
getPolymerPointsAndVectors(java.util.BitSet bs,
java.util.List<javax.vecmath.Point3f[]> vList) |
java.lang.String |
getProteinStructureState(java.util.BitSet bsAtoms,
boolean taintedOnly,
boolean needPhiPsi,
int mode) |
AtomIndexIterator |
getSelectedAtomIterator(java.util.BitSet bsSelected,
boolean isGreaterOnly,
boolean modelZeroBased,
boolean hemisphereOnly,
boolean isMultiModel) |
java.util.BitSet |
getSequenceBits(java.lang.String specInfo,
java.util.BitSet bs) |
java.util.Map<java.lang.String,java.lang.Object> |
getSpaceGroupInfo(int modelIndex,
java.lang.String spaceGroup,
int symOp,
javax.vecmath.Point3f pt1,
javax.vecmath.Point3f pt2,
java.lang.String drawID) |
java.util.Map<EnumStructure,float[]> |
getStructureList() |
java.lang.Object |
getSymmetryInfo(java.util.BitSet bsAtoms,
java.lang.String xyz,
int op,
javax.vecmath.Point3f pt,
javax.vecmath.Point3f pt2,
java.lang.String id,
int type) |
java.lang.String |
getSymmetryInfoAsString() |
private java.lang.String |
getSymmetryInfoAsString(int modelIndex) |
java.lang.String |
getSymmetryOperation(int modelIndex,
java.lang.String spaceGroup,
int symOp,
javax.vecmath.Point3f pt1,
javax.vecmath.Point3f pt2,
java.lang.String drawID,
boolean labelOnly) |
private void |
getSymTemp(boolean forceNew) |
int |
getTrajectoryIndex(int modelIndex) |
SymmetryInterface |
getUnitCell(int modelIndex) |
java.lang.String |
getUnitCellInfoText() |
protected void |
growAtomArrays(int newLength) |
boolean |
haveModelKit() |
boolean |
haveUnitCells() |
protected void |
initializeBspf() |
protected void |
initializeBspt(int modelIndex) |
boolean |
isAtomAssignable(int i) |
boolean |
isAtomPDB(int i) |
private boolean |
isInLatticeCell(int i,
javax.vecmath.Point3f cell,
javax.vecmath.Point3f pt,
boolean isAbsolute) |
private boolean |
isJmolDataFrame(Atom atom) |
boolean |
isJmolDataFrame(int modelIndex) |
private static boolean |
isNotCentroid(javax.vecmath.Point3f center,
int n,
SymmetryInterface uc,
int[] minmax,
boolean centroidPacked) |
boolean |
isTrajectory(int modelIndex) |
boolean |
isTrajectory(int[] countPlusIndices) |
protected boolean |
isTrajectorySubFrame(int i) |
protected int[] |
makeConnections(float minDistance,
float maxDistance,
int order,
int connectOperation,
java.util.BitSet bsA,
java.util.BitSet bsB,
java.util.BitSet 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) |
boolean |
modelHasVibrationVectors(int modelIndex) |
void |
recalculateLeadMidpointsAndWingVectors(int modelIndex) |
protected void |
releaseModelSet() |
void |
saveModelOrientation(int modelIndex,
StateManager.Orientation orientation) |
void |
selectDisplayedTrajectories(java.util.BitSet bs) |
void |
setAtomNamesAndNumbers(int iFirst,
int baseAtomIndex,
AtomCollection mergeSet) |
void |
setAtomProperty(java.util.BitSet bs,
int tok,
int iValue,
float fValue,
java.lang.String sValue,
float[] values,
java.lang.String[] list) |
void |
setBoundBox(javax.vecmath.Point3f pt1,
javax.vecmath.Point3f pt2,
boolean byCorner,
float scale) |
void |
setCentroid(int iAtom0,
int iAtom1,
int[] minmax)
deletes molecules based on:
CENTROID -- molecular centroid is not in unit cell
CENTROID PACKED -- all molecule atoms are not in unit cell
|
java.util.BitSet |
setConformation(java.util.BitSet bsAtoms) |
boolean |
setCrystallographicDefaults() |
void |
setDefaultStructure(java.util.BitSet bsModels) |
void |
setFrameDelayMs(long millis,
java.util.BitSet bsModels) |
void |
setFrameTitle(java.util.BitSet bsFrames,
java.lang.Object title) |
void |
setIteratorForAtom(AtomIndexIterator iterator,
int modelIndex,
int atomIndex,
float distance,
RadiusData rd) |
void |
setIteratorForPoint(AtomIndexIterator iterator,
int modelIndex,
javax.vecmath.Point3f pt,
float distance) |
void |
setJmolDataFrame(java.lang.String type,
int modelIndex,
int modelDataIndex) |
void |
setModelAuxiliaryInfo(int modelIndex,
java.lang.Object key,
java.lang.Object value) |
void |
setProteinType(java.util.BitSet bs,
EnumStructure type) |
boolean |
setRotationRadius(int modelIndex,
float angstroms) |
(package private) void |
setStructureIds() |
void |
setStructureList(java.util.Map<EnumStructure,float[]> structureList) |
void |
setUnitCell(int modelIndex,
SymmetryInterface unitCell) |
void |
setUnitCellOffset(int modelIndex,
javax.vecmath.Point3f pt,
int ijk) |
addHBond, assignAromaticBonds, assignAromaticBonds, bondAtoms, bondMutually, checkValencesAndBond, deleteAllBonds, deleteConnections, displayBonds, getBondAt, getBondAtom1, getBondAtom2, getBondColix1, getBondColix2, getBondCount, getBondIterator, getBondIterator, getBondModelIndex, getBondOrder, getBondOrder, getBondRadius, getBonds, getBondsForSelectedAtoms, getDefaultMadFromOrder, removeUnnecessaryBonds, resetAromatic, resetMolecules, setBond, setBondOrder
calculateHydrogens, calculateSurface, calculateVolume, clearBfactorRange, deleteModelAtoms, findAtomsInRectangle, findMaxRadii, findNearestAtomIndex, getAtomChain, getAtomColix, getAtomCount, getAtomicCharges, getAtomicPropertyState, getAtomicPropertyState, getAtomIndexFromAtomNumber, getAtomIndices, getAtomInfo, getAtomInfoXYZ, getAtomName, getAtomNumber, getAtomPoint3f, getAtomPointVector, getAtomRadius, getAtomsWithin, getAtomsWithin, getAtomTypes, getAtomVdwRadius, getBfactor100Hi, getBfactor100Lo, getBFactors, getChainBits, getClickableSet, getElementName, getElementNumber, getElementSymbol, getEllipsoid, getHaveStraightness, getHelixData, getHybridizationAndAxes, getHydrophobicity, getImplicitHydrogenCount, getIonicRadii, getMaxVanderwaalsRadius, getPartialCharges, getQuaternion, getRadiusVdwJmol, getSeqcodeBits, getSurfaceDistance100, getSurfaceDistanceMax, getTaintedAtoms, getUserSettableType, getVibrationCoord, getVibrationVector, getVisibleSet, isAtomHidden, isCursorOnTopOf, mergeAtomArrays, modelSetHasVibrationVectors, setAtomCoord, setAtomCoord, setAtomCoordRelative, setAtomCoordRelative, setAtomData, setAtomName, setAtomNumber, setAtomType, setBFactor, setBsHidden, setElement, setEllipsoid, setFormalCharges, setHaveStraightness, setHydrophobicity, setIonicRadius, setOccupancy, setPartialCharge, setPreserveState, setTaintedAtoms, setVibrationVector, taint, taint, unTaintAtoms, validateBspf, validateBspf
protected java.util.BitSet bsSymmetry
public java.lang.String modelSetName
protected Model[] models
protected int modelCount
SymmetryInterface[] unitCells
protected int[] modelNumbers
protected int[] modelFileNumbers
protected java.lang.String[] modelNumbersForAtomLabel
protected java.lang.String[] modelNames
protected java.lang.String[] frameTitles
protected java.util.BitSet[] elementsPresent
protected boolean isXYZ
protected boolean isPDB
protected java.util.Properties modelSetProperties
protected java.util.Map<java.lang.String,java.lang.Object> modelSetAuxiliaryInfo
protected boolean someModelsHaveSymmetry
protected boolean someModelsHaveAromaticBonds
protected boolean someModelsHaveFractionalCoordinates
protected final javax.vecmath.Point3f ptTemp
private final javax.vecmath.Point3f averageAtomPoint
private boolean isBbcageDefault
private java.util.BitSet bboxModels
private java.util.BitSet bboxAtoms
private final BoxInfo boxInfo
protected java.util.List<ModelCollection.StateScript> stateScripts
private int thisStateModel
protected java.util.List<javax.vecmath.Point3f[]> trajectorySteps
protected java.util.List<javax.vecmath.Vector3f[]> vibrationSteps
private java.util.BitSet selectedMolecules
private int selectedMoleculeCount
private static final boolean showRebondTimes
protected java.util.BitSet bsAll
protected ShapeManager shapeManager
private static float hbondMin
public boolean proteinStructureTainted
private SymmetryInterface symTemp
private java.util.Hashtable<java.lang.String,java.util.BitSet> htPeaks
protected void mergeModelArrays(ModelSet mergeModelSet)
mergeModelSet
- protected void releaseModelSet()
releaseModelSet
in class BondCollection
public java.lang.String getModelSetName()
public Model[] getModels()
public int getModelCount()
public SymmetryInterface[] getCellInfos()
public boolean haveUnitCells()
public SymmetryInterface getUnitCell(int modelIndex)
public void setUnitCell(int modelIndex, SymmetryInterface unitCell)
public java.util.List<java.lang.Object> getPlaneIntersection(int type, javax.vecmath.Point4f plane, float scale, int flags, int modelIndex)
type
- plane
- scale
- modelIndex
- flags
- 1 -- edges only 2 -- triangles only 3 -- bothpublic java.lang.String getModelName(int modelIndex)
public java.lang.String getModelTitle(int modelIndex)
public java.lang.String getModelFileName(int modelIndex)
public void setFrameTitle(java.util.BitSet bsFrames, java.lang.Object title)
public java.lang.String getFrameTitle(int modelIndex)
public java.lang.String getModelNumberForAtomLabel(int modelIndex)
protected void calculatePolymers(Group[] groups, int groupCount, int baseGroupIndex, java.util.BitSet modelsExcluded)
public Group[] getGroups()
public float[] getNotionalUnitcell()
public boolean setCrystallographicDefaults()
public javax.vecmath.Point3f getAverageAtomPoint()
public javax.vecmath.Point3f getBoundBoxCenter(int modelIndex)
public javax.vecmath.Vector3f getBoundBoxCornerVector()
public Point3fi[] getBboxVertices()
public java.util.Map<java.lang.String,java.lang.Object> getBoundBoxInfo()
public java.util.BitSet getBoundBoxModels()
public void setBoundBox(javax.vecmath.Point3f pt1, javax.vecmath.Point3f pt2, boolean byCorner, float scale)
public java.lang.String getBoundBoxCommand(boolean withOptions)
public EnumVdw getDefaultVdwType(int modelIndex)
public boolean setRotationRadius(int modelIndex, float angstroms)
public float calcRotationRadius(int modelIndex, javax.vecmath.Point3f center)
public void calcBoundBoxDimensions(java.util.BitSet bs, float scale)
public BoxInfo getBoxInfo(java.util.BitSet bs, float scale)
public int calcAtomsMinMax(java.util.BitSet bs, BoxInfo boxInfo)
private void calcUnitCellMinMax()
public float calcRotationRadius(java.util.BitSet bs)
public javax.vecmath.Point3f[][] getCenterAndPoints(java.util.List<java.util.BitSet[]> vAtomSets, boolean addCenters)
vAtomSets
- addCenters
- public javax.vecmath.Point3f getAtomSetCenter(java.util.BitSet bs)
public void setAtomProperty(java.util.BitSet bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)
setAtomProperty
in class AtomCollection
public ModelCollection.StateScript addStateScript(java.lang.String script1, java.util.BitSet bsBonds, java.util.BitSet bsAtoms1, java.util.BitSet bsAtoms2, java.lang.String script2, boolean addFrameNumber, boolean postDefinitions)
protected java.lang.String calculateStructuresAllExcept(java.util.BitSet alreadyDefined, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure, boolean includeAlpha)
alreadyDefined
- set to skip calculationasDSSP
- doReport
- dsspIgnoreHydrogen
- setStructure
- includeAlpha
- public void setDefaultStructure(java.util.BitSet bsModels)
public void setProteinType(java.util.BitSet bs, EnumStructure type)
void freezeModels()
public java.util.Map<EnumStructure,float[]> getStructureList()
public void setStructureList(java.util.Map<EnumStructure,float[]> structureList)
public java.util.BitSet setConformation(java.util.BitSet bsAtoms)
public java.util.BitSet getConformation(int modelIndex, int conformationIndex, boolean doSet)
public java.util.Map<java.lang.String,java.lang.String> getHeteroList(int modelIndex)
public java.util.Properties getModelSetProperties()
public java.util.Map<java.lang.String,java.lang.Object> getModelSetAuxiliaryInfo()
public java.lang.String getModelSetProperty(java.lang.String propertyName)
public java.lang.Object getModelSetAuxiliaryInfo(java.lang.String keyName)
public boolean getModelSetAuxiliaryInfoBoolean(java.lang.String keyName)
protected int getMergeTrajectoryCount(boolean isTrajectory)
public int getTrajectoryIndex(int modelIndex)
public boolean isTrajectory(int modelIndex)
public boolean isTrajectory(int[] countPlusIndices)
public java.util.BitSet getModelBitSet(java.util.BitSet atomList, boolean allTrajectories)
public java.util.BitSet getIterativeModels(boolean allowJmolData)
allowJmolData
- protected boolean isTrajectorySubFrame(int i)
public void selectDisplayedTrajectories(java.util.BitSet bs)
public void fillAtomData(AtomData atomData, int mode)
fillAtomData
in class AtomCollection
public java.lang.String getModelNumberDotted(int modelIndex)
public int getModelNumber(int modelIndex)
public int getModelFileNumber(int modelIndex)
public java.util.Properties getModelProperties(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 setModelAuxiliaryInfo(int modelIndex, java.lang.Object key, java.lang.Object value)
public java.lang.Object getModelAuxiliaryInfo(int modelIndex, java.lang.String key)
protected boolean getModelAuxiliaryInfoBoolean(int modelIndex, java.lang.String keyName)
protected int getModelAuxiliaryInfoInt(int modelIndex, java.lang.String keyName)
public java.lang.String getModelAtomProperty(Atom atom, java.lang.String text)
public int getInsertionCountInModel(int modelIndex)
public java.lang.String getModelFileType(int modelIndex)
public static int modelFileNumberFromFloat(float fDotM)
public int getAltLocCountInModel(int modelIndex)
public int getChainCount(boolean addWater)
public int getBioPolymerCount()
public int getBioPolymerCountInModel(int modelIndex)
public void getPolymerPointsAndVectors(java.util.BitSet bs, java.util.List<javax.vecmath.Point3f[]> vList)
public void recalculateLeadMidpointsAndWingVectors(int modelIndex)
public javax.vecmath.Point3f[] getPolymerLeadMidPoints(int iModel, int iPolymer)
public int getChainCountInModel(int modelIndex, boolean countWater)
public int getGroupCount()
public int getGroupCountInModel(int modelIndex)
public void calcSelectedGroupsCount(java.util.BitSet bsSelected)
public void calcSelectedMonomersCount(java.util.BitSet bsSelected)
public void calcRasmolHydrogenBonds(java.util.BitSet bsA, java.util.BitSet bsB, java.util.List<Bond> vHBonds, boolean nucleicOnly, int nMax, boolean dsspIgnoreHydrogens, java.util.BitSet bsHBonds)
bsA
- bsB
- vHBonds
- vector of bonds to fill; if null, creates the HBondsnucleicOnly
- nMax
- dsspIgnoreHydrogens
- bsHBonds
- public void calculateStraightness()
public Quaternion[] getAtomGroupQuaternions(java.util.BitSet bsAtoms, int nMax, char qtype)
public java.lang.String getPdbAtomData(java.util.BitSet bs, OutputStringBuffer sb)
bs
- selected atomssb
- StringBuffer or BufferedWriterpublic java.lang.String getPdbData(int modelIndex, java.lang.String type, java.util.BitSet bsSelected, java.lang.Object[] parameters, OutputStringBuffer sb)
public boolean isJmolDataFrame(int modelIndex)
private boolean isJmolDataFrame(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, StateManager.Orientation orientation)
public StateManager.Orientation getModelOrientation(int modelIndex)
public java.lang.String getPDBHeader(int modelIndex)
public java.lang.String getFileHeader(int modelIndex)
public java.util.Map<java.lang.String,java.lang.Object> getLigandInfo(java.util.BitSet bsAtoms)
public java.util.Map<java.lang.String,java.lang.Object> getModelInfo(java.util.BitSet bsModels)
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 java.lang.String getSymmetryOperation(int modelIndex, java.lang.String spaceGroup, int symOp, javax.vecmath.Point3f pt1, javax.vecmath.Point3f pt2, java.lang.String drawID, boolean labelOnly)
public int[] getModelCellRange(int modelIndex)
public boolean modelHasVibrationVectors(int modelIndex)
public java.util.BitSet getElementsPresentBitSet(int modelIndex)
private java.lang.String getSymmetryInfoAsString(int modelIndex)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getMoleculeInfo(java.util.BitSet bsAtoms)
public int getMoleculeIndex(int atomIndex, boolean inModel)
public java.util.BitSet getMoleculeBitSet(java.util.BitSet bs)
public java.util.BitSet getMoleculeBitSet(int atomIndex)
public javax.vecmath.Vector3f getModelDipole(int modelIndex)
public javax.vecmath.Vector3f calculateMolecularDipole(int modelIndex)
public int getMoleculeCountInModel(int modelIndex)
public void calcSelectedMoleculesCount(java.util.BitSet bsSelected)
public void setCentroid(int iAtom0, int iAtom1, int[] minmax)
iAtom0
- iAtom1
- minmax
- fractional [xmin, ymin, zmin, xmax, ymax, zmax, 1=packed]private static boolean isNotCentroid(javax.vecmath.Point3f center, int n, SymmetryInterface uc, int[] minmax, boolean centroidPacked)
public JmolMolecule[] getMolecules()
protected void initializeBspf()
protected void initializeBspt(int modelIndex)
public void setIteratorForPoint(AtomIndexIterator iterator, int modelIndex, javax.vecmath.Point3f pt, float distance)
public void setIteratorForAtom(AtomIndexIterator iterator, int modelIndex, int atomIndex, float distance, RadiusData rd)
public AtomIndexIterator getSelectedAtomIterator(java.util.BitSet 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 calculateStruts(java.util.BitSet bs1, java.util.BitSet bs2)
bs1
- bs2
- public int getAtomCountInModel(int modelIndex)
public java.util.BitSet getModelAtomBitSetIncludingDeleted(java.util.BitSet bsModels)
bsModels
- public java.util.BitSet getModelAtomBitSetIncludingDeleted(int modelIndex, boolean asCopy)
modelIndex
- asCopy
- MUST BE TRUE IF THE BITSET IS GOING TO BE MODIFIED!public java.util.BitSet getAtomBits(int tokType, java.lang.Object specInfo)
tokType
- specInfo
- protected java.util.BitSet getAtomBitsMaybeDeleted(int tokType, java.lang.Object specInfo)
AtomCollection
getAtomBitsMaybeDeleted
in class BondCollection
private boolean isInLatticeCell(int i, javax.vecmath.Point3f cell, javax.vecmath.Point3f pt, boolean isAbsolute)
public java.util.BitSet getAtomsWithin(float distance, java.util.BitSet bs, boolean withinAllModels, RadiusData rd)
distance
- bs
- withinAllModels
- rd
- public java.util.BitSet getGroupsWithin(int nResidues, java.util.BitSet bs)
public java.util.BitSet getAtomsWithin(float distance, javax.vecmath.Point3f coord, java.util.BitSet bsResult, int modelIndex)
private java.lang.String getBasePairInfo(java.util.BitSet bs)
private static void getAtomResidueInfo(java.lang.StringBuffer info, Atom atom)
private java.util.BitSet getBasePairBits(java.lang.String specInfo)
public java.util.BitSet getSequenceBits(java.lang.String specInfo, java.util.BitSet bs)
public void deleteBonds(java.util.BitSet bsBonds, boolean isFullModel)
deleteBonds
in class BondCollection
protected int[] makeConnections(float minDistance, float maxDistance, int order, int connectOperation, java.util.BitSet bsA, java.util.BitSet bsB, java.util.BitSet bsBonds, boolean isBonds, boolean addGroup, float energy)
public int autoBond(java.util.BitSet bsA, java.util.BitSet bsB, java.util.BitSet bsExclude, java.util.BitSet bsBonds, short mad, boolean preJmol11_9_24)
private int autoBond_Pre_11_9_24(java.util.BitSet bsA, java.util.BitSet bsB, java.util.BitSet bsExclude, java.util.BitSet bsBonds, short mad)
private int[] autoBond(java.util.BitSet bsA, java.util.BitSet bsB, java.util.BitSet bsBonds, boolean isBonds, boolean matchHbond, boolean legacyAutoBond)
public int autoHbond(java.util.BitSet bsA, java.util.BitSet bsB, boolean onlyIfHaveCalculated)
bsA
- "from" set (must contain H if that is desired)bsB
- "to" setonlyIfHaveCalculated
- private static javax.vecmath.Point3f checkMinAttachedAngle(Atom atom1, float minAngle, javax.vecmath.Vector3f v1, javax.vecmath.Vector3f v2, boolean haveHAtoms)
void setStructureIds()
public java.lang.String getProteinStructureState(java.util.BitSet bsAtoms, boolean taintedOnly, boolean needPhiPsi, int mode)
public java.lang.String getModelInfoAsString()
public java.lang.String getSymmetryInfoAsString()
public java.util.BitSet getAtomsConnected(float min, float max, int intType, java.util.BitSet bs)
public java.lang.String getModelExtract(java.util.BitSet bs, boolean doTransform, boolean isModelKit, java.lang.String type)
private boolean addMolFile(java.lang.StringBuffer mol, java.util.BitSet bsAtoms, java.util.BitSet bsBonds, boolean asV3000, boolean asChemDoodle, Quaternion q)
private java.util.BitSet getCovalentBondsForAtoms(java.util.BitSet bsAtoms)
private void getAtomRecordMOL(java.lang.StringBuffer mol, int n, Atom a, Quaternion q, javax.vecmath.Point3f pTemp, boolean asV3000, boolean asChemDoodle)
private void getBondRecordMOL(java.lang.StringBuffer mol, int n, Bond b, int[] atomMap, boolean asV3000, boolean asChemDoodle)
public java.lang.String getChimeInfo(int tok, java.util.BitSet bs)
getChimeInfo
in class AtomCollection
public java.lang.String getModelFileInfo(java.util.BitSet frames)
public java.util.Map<java.lang.String,java.lang.Object> getAuxiliaryInfo(java.util.BitSet bsModels)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getAllAtomInfo(java.util.BitSet bs)
public void getAtomIdentityInfo(int i, java.util.Map<java.lang.String,java.lang.Object> info)
private java.util.Map<java.lang.String,java.lang.Object> getAtomInfoLong(int i)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getAllBondInfo(java.util.BitSet bs)
private java.util.Map<java.lang.String,java.lang.Object> getBondInfo(int i)
public java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>> getAllChainInfo(java.util.BitSet bs)
private java.util.List<java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>> getChainInfo(int modelIndex, java.util.BitSet bs)
public java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.String,java.lang.Object>>> getAllPolymerInfo(java.util.BitSet bs)
public java.lang.String getUnitCellInfoText()
public java.util.Map<java.lang.String,java.lang.Object> getSpaceGroupInfo(int modelIndex, java.lang.String spaceGroup, int symOp, javax.vecmath.Point3f pt1, javax.vecmath.Point3f pt2, java.lang.String drawID)
public java.lang.Object getSymmetryInfo(java.util.BitSet bsAtoms, java.lang.String xyz, int op, javax.vecmath.Point3f pt, javax.vecmath.Point3f pt2, java.lang.String id, int type)
private void getSymTemp(boolean forceNew)
protected void deleteModel(int modelIndex, int firstAtomIndex, int nAtoms, java.util.BitSet bsAtoms, java.util.BitSet bsBonds)
public java.lang.String getMoInfo(int modelIndex)
public void assignAtom(int atomIndex, java.lang.String type, boolean autoBond)
public void deleteAtoms(java.util.BitSet bs)
public void appendLoadStates(java.lang.StringBuffer cmds)
public java.lang.String getModelCml(java.util.BitSet bs, int atomsMax, boolean addBonds)
void adjustAtomArrays(int[] map, int i0, int atomCount)
protected void growAtomArrays(int newLength)
protected Atom addAtom(int modelIndex, Group group, short atomicAndIsotopeNumber, java.lang.String atomName, int atomSerial, int atomSite, float x, float y, float z)
public Atom addAtom(int modelIndex, Group group, short atomicAndIsotopeNumber, java.lang.String atomName, int atomSerial, int atomSite, float x, float y, float z, float radius, float vectorX, float vectorY, float vectorZ, int formalCharge, float partialCharge, int occupancy, float bfactor, Quadric[] ellipsoid, boolean isHetero, char alternateLocationID, byte specialAtomID, java.util.BitSet atomSymmetry)
public java.lang.String getInlineData(int modelIndex)
public boolean isAtomPDB(int i)
public boolean isAtomAssignable(int i)
public int getGroupAtom(Atom atom, int offset, java.lang.String name)
public boolean haveModelKit()
public java.util.BitSet getModelKitStateBitset(java.util.BitSet bs, java.util.BitSet bsDeleted)
public void setAtomNamesAndNumbers(int iFirst, int baseAtomIndex, AtomCollection mergeSet)
public void setUnitCellOffset(int modelIndex, javax.vecmath.Point3f pt, int ijk)
public void connect(float[][] connections)
public boolean allowSpecAtom()
public void setFrameDelayMs(long millis, java.util.BitSet bsModels)
public long getFrameDelayMs(int i)
public int getModelIndexFromId(java.lang.String id)
id
- public java.lang.String getPeakAtomRecord(int atomIndex)
public java.util.BitSet getBaseModelBitSet(int modelIndex)
modelIndex
- private int getBaseModelIndex(int modelIndex)