Class ModelSet


public class ModelSet extends BondCollection
  • Field Details

    • haveBioModels

      public boolean haveBioModels
    • bsSymmetry

      protected BS bsSymmetry
    • modelSetName

      public String modelSetName
    • am

      public Model[] am
    • mc

      public int mc
      model count
    • unitCells

      public SymmetryInterface[] unitCells
    • haveUnitCells

      public boolean haveUnitCells
    • closest

      protected final Atom[] closest
    • modelNumbers

      protected int[] modelNumbers
    • modelFileNumbers

      public int[] modelFileNumbers
    • modelNumbersForAtomLabel

      public String[] modelNumbersForAtomLabel
    • modelNames

      public String[] modelNames
    • frameTitles

      public String[] frameTitles
    • elementsPresent

      protected BS[] elementsPresent
    • isXYZ

      protected boolean isXYZ
    • modelSetProperties

      public Properties modelSetProperties
    • msInfo

      public Map<String,Object> msInfo
    • someModelsHaveSymmetry

      protected boolean someModelsHaveSymmetry
    • someModelsHaveAromaticBonds

      protected boolean someModelsHaveAromaticBonds
    • someModelsHaveFractionalCoordinates

      protected boolean someModelsHaveFractionalCoordinates
    • bboxModels

      public BS bboxModels
    • stateScripts

      public Lst<StateScript> stateScripts
    • vibrationSteps

      protected Lst<V3[]> vibrationSteps
    • bsAll

      protected BS bsAll
    • sm

      public ShapeManager sm
    • proteinStructureTainted

      public boolean proteinStructureTainted
    • htPeaks

      public Hashtable<String,BS> htPeaks
    • modelSetTypeName

      protected String modelSetTypeName
    • translations

      public P3[] translations
  • Constructor Details

    • ModelSet

      public ModelSet(Viewer vwr, String name)
      Parameters:
      vwr -
      name -
  • Method Details

    • getBoxInfo

      public BoxInfo getBoxInfo()
    • releaseModelSet

      protected void releaseModelSet()
    • getEchoStateActive

      public boolean getEchoStateActive()
    • setEchoStateActive

      public void setEchoStateActive(boolean TF)
    • getModelSetTypeName

      public String getModelSetTypeName()
    • getModelNumberIndex

      public int getModelNumberIndex(int modelNumber, boolean useModelNumber, boolean doSetTrajectory)
      Parameters:
      modelNumber - can be a PDB MODEL number or a simple index number, or a fffnnnnnn f.n number
      useModelNumber -
      doSetTrajectory -
      Returns:
      index
    • getModelDataBaseName

      public String getModelDataBaseName(BS bsAtoms)
    • setTrajectory

      public void setTrajectory(int modelIndex)
    • getBitSetTrajectories

      public BS getBitSetTrajectories()
    • setTrajectoryBs

      public void setTrajectoryBs(BS bsModels)
    • morphTrajectories

      public void morphTrajectories(int m1, int m2, float f)
    • getTranslation

      public P3 getTranslation(int iModel)
    • translateModel

      public void translateModel(int iModel, T3 pt)
      move atoms by vector pt; used for co-centering with FRAME ALIGN {atoms} TRUE
      Parameters:
      iModel -
      pt -
    • getFrameOffsets

      public P3[] getFrameOffsets(BS bsAtoms, boolean isFull)
    • getAtoms

      public BS getAtoms(int tokType, Object specInfo)
      general lookup for integer type -- from Eval
      Parameters:
      tokType -
      specInfo -
      Returns:
      bitset; null only if we mess up with name
    • findNearestAtomIndex

      public int findNearestAtomIndex(int x, int y, BS bsNot, int min)
    • calculatePointGroup

      public String calculatePointGroup(BS bsAtoms)
    • getPointGroupInfo

      public Map<String,Object> getPointGroupInfo(BS bsAtoms)
    • getPointGroupAsString

      public String getPointGroupAsString(BS bsAtoms, String type, int index, float scale, P3[] pts, P3 center, String id)
    • getDefaultStructure

      public String getDefaultStructure(BS bsAtoms, BS bsModified)
    • deleteModelBonds

      public void deleteModelBonds(int modelIndex)
    • makeConnections

      public int[] makeConnections(float minDistance, float maxDistance, int order, int connectOperation, BS bsA, BS bsB, BS bsBonds, boolean isBonds, boolean addGroup, float energy)
    • setPdbConectBonding

      public void setPdbConectBonding(int baseAtomIndex, int baseModelIndex, BS bsExclude)
    • deleteAllBonds

      public void deleteAllBonds()
    • deleteModels

      public BS deleteModels(BS bsModels)
    • resetMolecules

      public void resetMolecules()
    • setAtomProperty

      public void setAtomProperty(BS bs, int tok, int iValue, float fValue, String sValue, float[] values, String[] list)
    • getFileData

      public Object getFileData(int modelIndex)
    • addHydrogens

      public BS addHydrogens(Lst<Atom> vConnections, P3[] pts)
      these are hydrogens that are being added due to a load 2D command and are therefore not to be flagged as NEW
      Parameters:
      vConnections -
      pts -
      Returns:
      BitSet of new atoms
    • mergeModelArrays

      protected void mergeModelArrays(ModelSet mergeModelSet)
      initial transfer of model data from old to new model set. Note that all new models are added later, AFTER thfe old ones. This is very important, because all of the old atom numbers must map onto the same numbers in the new model set, or the state script will not run properly, among other problems.
      Parameters:
      mergeModelSet -
    • getUnitCell

      public SymmetryInterface getUnitCell(int modelIndex)
    • setModelCagePts

      public SymmetryInterface setModelCagePts(int iModel, T3[] originABC, String name)
    • getModelName

      public String getModelName(int modelIndex)
    • getModelTitle

      public String getModelTitle(int modelIndex)
    • getModelFileName

      public String getModelFileName(int modelIndex)
    • getModelFileType

      public String getModelFileType(int modelIndex)
    • setFrameTitle

      public void setFrameTitle(BS bsFrames, Object title)
    • getFrameTitle

      public String getFrameTitle(int modelIndex)
    • getModelNumberForAtomLabel

      public String getModelNumberForAtomLabel(int modelIndex)
    • getGroups

      public Group[] getGroups()
      In versions earlier than 12.1.51, groups[] was a field of ModelCollection. But this is not necessary, and it was wasting space. This method is only called when polymers are recreated.
      Returns:
      full array of groups in modelSet
    • setCrystallographicDefaults

      public boolean setCrystallographicDefaults()
    • getBoundBoxCenter

      public P3 getBoundBoxCenter(int modelIndex)
    • getBoundBoxCornerVector

      public V3 getBoundBoxCornerVector()
    • getBBoxVertices

      public Point3fi[] getBBoxVertices()
    • setBoundBox

      public void setBoundBox(T3 pt1, T3 pt2, boolean byCorner, float scale)
    • getBoundBoxCommand

      public String getBoundBoxCommand(boolean withOptions)
    • findAtomsInRectangle

      public BS findAtomsInRectangle(Rectangle rect)
    • getDefaultVdwType

      public VDW getDefaultVdwType(int modelIndex)
    • setRotationRadius

      public boolean setRotationRadius(int modelIndex, float angstroms)
    • calcRotationRadius

      public float calcRotationRadius(int modelIndex, P3 center, boolean useBoundBox)
    • calcBoundBoxDimensions

      public void calcBoundBoxDimensions(BS bs, float scale)
    • getBoxInfo

      public BoxInfo getBoxInfo(BS bs, float scale)
    • calcAtomsMinMax

      public int calcAtomsMinMax(BS bs, BoxInfo boxInfo)
    • calcRotationRadiusBs

      public float calcRotationRadiusBs(BS bs)
    • getCenterAndPoints

      public P3[][] getCenterAndPoints(Lst<Object[]> vAtomSets, boolean addCenters)
      Parameters:
      vAtomSets -
      addCenters -
      Returns:
      array of two lists of points, centers first if desired
    • getAtomSetCenter

      public P3 getAtomSetCenter(BS bs)
    • getAverageAtomPoint

      public P3 getAverageAtomPoint()
    • setAPm

      protected void setAPm(BS bs, int tok, int iValue, float fValue, String sValue, float[] values, String[] list)
    • addStateScript

      public StateScript addStateScript(String script1, BS bsBonds, BS bsAtoms1, BS bsAtoms2, String script2, boolean addFrameNumber, boolean postDefinitions)
    • getStructureList

      public Map<STR,float[]> getStructureList()
    • getInfoM

      public Object getInfoM(String keyName)
    • getMSInfoB

      public boolean getMSInfoB(String keyName)
    • isTrajectory

      public boolean isTrajectory(int modelIndex)
      could be the base model or one of the subframes
      Parameters:
      modelIndex -
      Returns:
      is any part of a trajectory
    • isTrajectorySubFrame

      public boolean isTrajectorySubFrame(int i)
    • isTrajectoryMeasurement

      public boolean isTrajectoryMeasurement(int[] countPlusIndices)
    • getModelBS

      public BS getModelBS(BS atomList, boolean allTrajectories)
      Get the set of models associated with a set of atoms. This must allow for appended models.
      Parameters:
      atomList -
      allTrajectories -
      Returns:
      bit set of models
    • getIterativeModels

      public BS getIterativeModels(boolean allowJmolData)
      only some models can be iterated through. models for which trajectoryBaseIndexes[i] != i are trajectories only
      Parameters:
      allowJmolData -
      Returns:
      bitset of models
    • fillAtomData

      public void fillAtomData(AtomData atomData, int mode)
    • getModelNumberDotted

      public String getModelNumberDotted(int modelIndex)
    • getModelNumber

      public int getModelNumber(int modelIndex)
    • getModelProperty

      public String getModelProperty(int modelIndex, String property)
    • getModelAuxiliaryInfo

      public Map<String,Object> getModelAuxiliaryInfo(int modelIndex)
    • setInfo

      public void setInfo(int modelIndex, Object key, Object value)
    • getInfo

      public Object getInfo(int modelIndex, String key)
    • getInfoB

      protected boolean getInfoB(int modelIndex, String keyName)
    • getInfoI

      protected int getInfoI(int modelIndex, String keyName)
    • getInsertionCountInModel

      public int getInsertionCountInModel(int modelIndex)
    • modelFileNumberFromFloat

      public static int modelFileNumberFromFloat(float fDotM)
    • getChainCountInModelWater

      public int getChainCountInModelWater(int modelIndex, boolean countWater)
    • getGroupCountInModel

      public int getGroupCountInModel(int modelIndex)
    • calcSelectedGroupsCount

      public void calcSelectedGroupsCount()
    • isJmolDataFrameForModel

      public boolean isJmolDataFrameForModel(int modelIndex)
    • setJmolDataFrame

      public void setJmolDataFrame(String type, int modelIndex, int modelDataIndex)
    • getJmolDataFrameIndex

      public int getJmolDataFrameIndex(int modelIndex, String type)
    • clearDataFrameReference

      protected void clearDataFrameReference(int modelIndex)
    • getJmolFrameType

      public String getJmolFrameType(int modelIndex)
    • getJmolDataSourceFrame

      public int getJmolDataSourceFrame(int modelIndex)
    • saveModelOrientation

      public void saveModelOrientation(int modelIndex, Orientation orientation)
    • getModelOrientation

      public Orientation getModelOrientation(int modelIndex)
    • getPDBHeader

      public String getPDBHeader(int modelIndex)
    • getFileHeader

      public String getFileHeader(int modelIndex)
    • getAltLocCountInModel

      public int getAltLocCountInModel(int modelIndex)
    • getAltLocIndexInModel

      public int getAltLocIndexInModel(int modelIndex, char alternateLocationID)
    • getInsertionCodeIndexInModel

      public int getInsertionCodeIndexInModel(int modelIndex, char insertionCode)
    • getAltLocListInModel

      public String getAltLocListInModel(int modelIndex)
    • getModelSymmetryCount

      public int getModelSymmetryCount(int modelIndex)
    • getModelCellRange

      public int[] getModelCellRange(int modelIndex)
    • getLastVibrationVector

      public int getLastVibrationVector(int modelIndex, int tok)
    • getModulationList

      public Lst<Object> getModulationList(BS bs, char type, P3 t456)
    • getElementsPresentBitSet

      public BS getElementsPresentBitSet(int modelIndex)
    • getMoleculeIndex

      public int getMoleculeIndex(int atomIndex, boolean inModel)
    • getMoleculeBitSet

      public BS getMoleculeBitSet(BS bs)
      return cumulative sum of all atoms in molecules containing these atoms
      Parameters:
      bs -
      Returns:
      bitset of atoms
    • getMoleculeBitSetForAtom

      public BS getMoleculeBitSetForAtom(int atomIndex)
    • getModelDipole

      public V3 getModelDipole(int modelIndex)
    • calculateMolecularDipole

      public V3 calculateMolecularDipole(int modelIndex, BS bsAtoms) throws JmolAsyncException
      Throws:
      JmolAsyncException
    • getMoleculeCountInModel

      public int getMoleculeCountInModel(int modelIndex)
    • calcSelectedMoleculesCount

      public void calcSelectedMoleculesCount()
    • setCentroid

      public 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
      Parameters:
      bs -
      minmax - fractional [xmin, ymin, zmin, xmax, ymax, zmax, 1=packed]
    • getMolecules

      public JmolMolecule[] getMolecules()
    • initializeBspf

      protected void initializeBspf()
    • initializeBspt

      protected void initializeBspt(int modelIndex)
    • setIteratorForPoint

      public void setIteratorForPoint(AtomIndexIterator iterator, int modelIndex, T3 pt, float distance)
    • setIteratorForAtom

      public void setIteratorForAtom(AtomIndexIterator iterator, int modelIndex, int atomIndex, float distance, RadiusData rd)
      Parameters:
      iterator -
      modelIndex -
      atomIndex -
      distance - if -1, then this will be set later, and here we are just running a CubeIterator, no atom-atom distances, no atom sets, no "hemisphere".
      rd -
    • getSelectedAtomIterator

      public AtomIndexIterator getSelectedAtomIterator(BS bsSelected, boolean isGreaterOnly, boolean modelZeroBased, boolean hemisphereOnly, boolean isMultiModel)
      Parameters:
      bsSelected -
      isGreaterOnly -
      modelZeroBased -
      hemisphereOnly -
      isMultiModel -
      Returns:
      an iterator
    • getBondCountInModel

      public int getBondCountInModel(int modelIndex)
      Description copied from class: BondCollection
      for general use
      Overrides:
      getBondCountInModel in class BondCollection
      Parameters:
      modelIndex - the model of interest or -1 for all
      Returns:
      the actual number of connections
    • getAtomCountInModel

      public int getAtomCountInModel(int modelIndex)
    • getModelAtomBitSetIncludingDeletedBs

      public BS getModelAtomBitSetIncludingDeletedBs(BS bsModels)
      note -- this method returns ALL atoms, including deleted.
      Parameters:
      bsModels -
      Returns:
      bitset of atoms
    • getModelAtomBitSetIncludingDeleted

      public BS getModelAtomBitSetIncludingDeleted(int modelIndex, boolean asCopy)
      Note that this method returns all atoms, included deleted ones. If you don't want deleted atoms, then use vwr.getModelAtomBitSetUndeleted(modelIndex, TRUE)
      Parameters:
      modelIndex -
      asCopy - MUST BE TRUE IF THE BITSET IS GOING TO BE MODIFIED!
      Returns:
      either the actual bitset or a copy
    • getAtomBitsMaybeDeleted

      protected BS getAtomBitsMaybeDeleted(int tokType, Object specInfo)
    • getAtomsWithinRadius

      public BS getAtomsWithinRadius(float distance, BS bs, boolean withinAllModels, RadiusData rd, BS bsSubset)
      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
      Parameters:
      distance -
      bs -
      withinAllModels -
      rd -
      bsSubset - limit selection to this subset of atoms
      Returns:
      the set of atoms
    • getAtomsWithin

      public BS getAtomsWithin(float distance, T3 coord, BS bsResult, int modelIndex)
      Parameters:
      distance - negative to check all unitCell distances
      coord -
      bsResult -
      modelIndex -
      Returns:
      bitset
    • deleteBonds

      public void deleteBonds(BS bsBonds, boolean isFullModel)
    • makeConnections2

      public int[] makeConnections2(float minD, float maxD, int order, int connectOperation, BS bsA, BS bsB, BS bsBonds, boolean isBonds, boolean addGroup, float energy, SB state)
    • autoBondBs4

      public int autoBondBs4(BS bsA, BS bsB, BS bsExclude, BS bsBonds, short mad, boolean preJmol11_9_24, SB state)
    • isBondable

      public boolean isBondable(float bondingRadiusA, float bondingRadiusB, float distance2, float minBondDistance2, float bondTolerance)
    • autoHbond

      public int autoHbond(BS bsA, BS bsB, boolean onlyIfHaveCalculated)
      a generalized formation of HBONDS, carried out in relation to calculate HBONDS {atomsFrom} {atomsTo}. The calculation can create pseudo-H bonds for files that do not contain H atoms.
      Parameters:
      bsA - "from" set (must contain H if that is desired)
      bsB - "to" set
      onlyIfHaveCalculated -
      Returns:
      negative number of pseudo-hbonds or number of actual hbonds formed
    • setStructureIndexes

      public void setStructureIndexes()
    • getModelInfoAsString

      public String getModelInfoAsString()
    • getSymmetryInfoAsString

      public String getSymmetryInfoAsString()
    • createModels

      public void createModels(int n)
    • deleteAtoms

      public void deleteAtoms(BS bs)
    • clearDB

      public void clearDB(int atomIndex)
    • adjustAtomArrays

      public void adjustAtomArrays(int[] map, int i0, int ac)
    • growAtomArrays

      protected void growAtomArrays(int newLength)
    • addAtom

      public Atom addAtom(int modelIndex, Group group, int atomicAndIsotopeNumber, String atomName, String atomType, int atomSerial, int atomSeqID, int atomSite, P3 xyz, float radius, V3 vib, int formalCharge, float partialCharge, float occupancy, float bfactor, Lst<Object> tensors, boolean isHetero, boolean isNegDisorder, byte specialAtomID, BS atomSymmetry, float bondRadius)
    • getInlineData

      public String getInlineData(int modelIndex)
    • isAtomPDB

      public boolean isAtomPDB(int i)
    • setAtomNamesAndNumbers

      public void setAtomNamesAndNumbers(int iFirst, int baseAtomIndex, AtomCollection mergeSet, boolean isModelKit)
      Parameters:
      iFirst - 0 from ModelLoader.freeze; -1 from Viewer.assignAtom
      baseAtomIndex -
      mergeSet -
      isModelKit -
    • connect

      public void connect(float[][] connections)
    • setFrameDelayMs

      public void setFrameDelayMs(long millis, BS bsModels)
    • getFrameDelayMs

      public long getFrameDelayMs(int i)
    • getModelIndexFromId

      public int getModelIndexFromId(String id)
    • getModelSetAuxiliaryInfo

      public Map<String,Object> getModelSetAuxiliaryInfo(BS bsModels)
      Retrieve the main modelset info Hashtable (or a new non-null Hashtable) with an up-to-date "models" key.
      Parameters:
      bsModels -
      Returns:
      Map
    • getDihedralMap

      public int[][] getDihedralMap(int[] alist)
    • setModulation

      public void setModulation(BS bs, boolean isOn, P3 qtOffset, boolean isQ)
      Sets the modulation for all atoms in bs.
      Parameters:
      bs -
      isOn -
      qtOffset - multiples of q or just t.
      isQ - true if multiples of q.
    • getBoundBoxOrientation

      public Object getBoundBoxOrientation(int type, BS bsAtoms, P3[] points)
      Parameters:
      type - volume, best, x, y, z, unitcell
      bsAtoms -
      points - optionally use points, as from $isosurface1, ignoring bsAtoms
      Returns:
      quaternion for best rotation or, for volume, string with volume \t{dx dy dz}
    • getUnitCellForAtom

      public SymmetryInterface getUnitCellForAtom(int index)
    • clearCache

      public void clearCache()
    • getSymMatrices

      public M4[] getSymMatrices(int modelIndex)
    • getSymmetryInvariant

      public int[] getSymmetryInvariant(int iatom)
    • getBsBranches

      public BS[] getBsBranches(float[] dihedralList)
    • recalculatePositionDependentQuantities

      public void recalculatePositionDependentQuantities(BS bsAtoms, M4 mat)
    • moveAtoms

      public void moveAtoms(M4 m4, M3 mNew, M3 rotation, V3 translation, BS bs, P3 center, boolean isInternal, boolean translationOnly)
    • setDihedrals

      public void setDihedrals(float[] dihedralList, BS[] bsBranches, float f)
    • setAtomCoordsRelative

      public void setAtomCoordsRelative(T3 offset, BS bs)
    • setAtomCoords

      public void setAtomCoords(BS bs, int tokType, Object xyzValues)
    • invertSelected

      public void invertSelected(P3 pt, P4 plane, int iAtom, BS bsAtoms)
      Carries out a stereochemical inversion through a point, across a plane, or at a chirality center.
      Parameters:
      pt - point to invert around if not null
      plane - plane to invert across if not null
      iAtom - atom to switch two groups on if >= 0
      bsAtoms - atoms to switch for the atom option
    • getCellWeights

      public float[] getCellWeights(BS bsAtoms)
    • getAtomGroupQuaternions

      public Quat[] getAtomGroupQuaternions(BS bsAtoms, int nMax, char qtype)
    • getConformation

      public BS getConformation(int modelIndex, int conformationIndex, boolean doSet, BS bsSelected)
    • getSequenceBits

      public BS getSequenceBits(String specInfo, BS bsAtoms, BS bsResult)
    • getBioPolymerCountInModel

      public int getBioPolymerCountInModel(int modelIndex)
    • getPolymerPointsAndVectors

      public void getPolymerPointsAndVectors(BS bs, Lst<P3[]> vList, boolean isTraceAlpha, float sheetSmoothing)
    • recalculateLeadMidpointsAndWingVectors

      public void recalculateLeadMidpointsAndWingVectors(int modelIndex)
    • calcRasmolHydrogenBonds

      public void calcRasmolHydrogenBonds(BS bsA, BS bsB, Lst<Bond> vHBonds, boolean nucleicOnly, int nMax, boolean dsspIgnoreHydrogens, BS bsHBonds)
      These are not actual hydrogen bonds. They are N-O bonds in proteins and nucleic acids The method is called by AminoPolymer and NucleicPolymer methods, which are indirectly called by ModelCollection.autoHbond
      Parameters:
      bsA -
      bsB -
      vHBonds - vector of bonds to fill; if null, creates the HBonds
      nucleicOnly -
      nMax -
      dsspIgnoreHydrogens -
      bsHBonds -
    • calculateStraightnessAll

      public void calculateStraightnessAll()
    • calculateStruts

      public 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. The two bitsets may overlap.
      Parameters:
      bs1 -
      bs2 -
      Returns:
      number of struts found
    • getGroupsWithin

      public BS getGroupsWithin(int nResidues, BS bs)
    • getProteinStructureState

      public String getProteinStructureState(BS bsAtoms, int mode)
    • calculateStructures

      public String calculateStructures(BS bsAtoms, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure, int version)
    • calculateStructuresAllExcept

      public 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
      Parameters:
      alreadyDefined - set to skip calculation
      asDSSP -
      doReport -
      dsspIgnoreHydrogen -
      setStructure -
      includeAlpha -
      version - TODO
      Returns:
      report
    • recalculatePolymers

      public void recalculatePolymers(BS bsModelsExcluded)
    • calculatePolymers

      protected void calculatePolymers(Group[] groups, int groupCount, int baseGroupIndex, BS modelsExcluded)
    • calcSelectedMonomersCount

      public void calcSelectedMonomersCount()
    • setProteinType

      public void setProteinType(BS bs, STR type)
    • setStructureList

      public void setStructureList(Map<STR,float[]> structureList)
    • setConformation

      public BS setConformation(BS bsAtoms)
    • getHeteroList

      public Map<String,String> getHeteroList(int modelIndex)
    • getUnitCellPointsWithin

      public Object getUnitCellPointsWithin(float distance, BS bs, P3 pt, boolean asMap)
    • calculateDssrProperty

      public void calculateDssrProperty(String dataType)
    • getAtomicDSSRData

      public float getAtomicDSSRData(int i)
    • getAtomCIPChiralityCode

      public int getAtomCIPChiralityCode(Atom atom)
      Determine the Cahn-Ingold-Prelog R/S chirality of an atom
      Parameters:
      atom -
      Returns:
      [0:none, 1:R, 2:S]
    • calculateChiralityForAtoms

      public String calculateChiralityForAtoms(BS bsAtoms, boolean withReturn)
    • getPointTransf

      public void getPointTransf(int i, Atom a, Quat q, P3 pTemp)
      pick up the appropriate value for this atom
      Parameters:
      i -
      a -
      q -
      pTemp -
    • getSymmetryEquivAtoms

      public BS getSymmetryEquivAtoms(BS bsAtoms, SymmetryInterface sym, BS bsModelAtoms)
      Return a bitset of equivalent atoms
      Parameters:
      bsAtoms -
      sym -
      bsModelAtoms -
      Returns:
      bitset of equivalent atoms
    • getSymmetryEquivAtomsForAtom

      public void getSymmetryEquivAtomsForAtom(int i, BS bsAtoms, BS bsCheck, BS bsEquiv)
      Set a bitset of the equivalent atoms of an atom.
      Parameters:
      i -
      bsAtoms - optional bitset of atoms remaining of original set of atoms
      bsCheck - bitset atoms to check; if bsAtoms is not null, also cleared of found atoms
      bsEquiv - bitset to return
    • setSpaceGroup

      public void setSpaceGroup(int mi, SymmetryInterface sg, BS basis)
      Set up all the model-related fields in association with a new space group. The basis may or may not be known. Passing an empty bitset to ths method will fill it with the basis as determined by trying all the operators.
      Parameters:
      mi -
      sg -
      basis -
    • setModelCage

      public SymmetryInterface setModelCage(int modelIndex, SymmetryInterface simpleCage)
      This is the model-specific cage created by a UNITCELL or MODELKIT UNITCELL command. It will be used provided it is different from the symmetry unit cell associated with a particular space group setting, if it exists.
      Parameters:
      modelIndex -
      simpleCage -
      Returns:
      simpleCage
    • getBasisAtom

      public Atom getBasisAtom(int iatom, boolean doCheck)
    • updateBasisFromSite

      public void updateBasisFromSite(int imodel)
    • getConnectingAtoms

      public BS getConnectingAtoms(BS bsAtoms, BS bsFixed)
    • saveAtomPositions

      public P3[] saveAtomPositions()
    • restoreAtomPositions

      public void restoreAtomPositions(P3[] apos0)
    • clearUnitCell

      public void clearUnitCell(int modelIndex)
    • fixDeletedBonds

      public BS fixDeletedBonds(BS bs)
    • getEquivalentAtoms

      public BS getEquivalentAtoms(int iatom)
    • morphAtoms

      public void morphAtoms(BS bsAtoms, P3[][] points, int ipt, float f, P3 ptemp)