org.jmol.modelset
Class ModelLoader
java.lang.Object
org.jmol.modelset.ModelLoader
public final class ModelLoader
- extends java.lang.Object
Constructor Summary |
ModelLoader(Viewer viewer,
java.lang.String name)
|
ModelLoader(Viewer viewer,
java.lang.StringBuffer loadScript,
java.lang.Object atomSetCollection,
ModelSet mergeModelSet,
java.lang.String modelSetName,
java.util.BitSet bsNew)
|
Method Summary |
private void |
addAtom(boolean isPDB,
java.util.BitSet atomSymmetry,
int atomSite,
java.lang.Object atomUid,
short atomicAndIsotopeNumber,
java.lang.String atomName,
int formalCharge,
float partialCharge,
java.lang.Object[] ellipsoid,
int occupancy,
float bfactor,
float x,
float y,
float z,
boolean isHetero,
int atomSerial,
java.lang.String group3,
float vectorX,
float vectorY,
float vectorZ,
char alternateLocationID,
float radius)
|
private void |
addGroup(Chain chain,
Group group)
|
private void |
applyStereochemistry()
|
private void |
bondAtoms(java.lang.Object atomUid1,
java.lang.Object atomUid2,
short order)
|
private void |
checkNewGroup(JmolAdapter adapter,
char chainID,
java.lang.String group3,
int groupSequenceNumber,
char groupInsertionCode,
boolean addH)
|
private void |
countGroup(int modelIndex,
java.lang.String code,
java.lang.String group3)
|
private void |
createModelSet(JmolAdapter adapter,
java.lang.Object atomSetCollection,
java.util.BitSet bsNew)
|
private void |
defineStructure(int modelIndex,
EnumStructure subType,
java.lang.String structureID,
int serialID,
int strandCount,
char startChainID,
int startSequenceNumber,
char startInsertionCode,
char endChainID,
int endSequenceNumber,
char endInsertionCode)
|
void |
deleteAtoms(java.util.BitSet bsDeletedAtoms)
called from org.jmol.modelsetbio.resolver when adding hydrogens. |
private void |
distinguishAndPropagateGroup(int groupIndex,
Chain chain,
java.lang.String group3,
int seqcode,
int firstAtomIndex,
int maxAtomIndex)
|
private void |
finalizeGroupBuild()
|
private void |
finalizeModels(int baseModelCount)
Model numbers are considerably more complicated in Jmol 11. |
private void |
finalizeShapes()
|
private void |
findElementsPresent()
|
private void |
freeze()
|
int |
getAtomCount()
|
private java.util.BitSet |
getBranch2dZ(int atomIndex,
int atomIndexNot,
java.util.BitSet bs0,
java.util.BitSet bsBranch,
javax.vecmath.Vector3f v,
javax.vecmath.Vector3f v0,
javax.vecmath.Vector3f v1)
|
int |
getFirstAtomIndex(int iGroup)
|
java.lang.String |
getGroup3(int iGroup)
|
ModelSet |
getModelSet()
|
private Chain |
getOrAllocateChain(Model model,
char chainID)
|
private int |
getPdbCharge(java.lang.String group3,
java.lang.String name)
|
private void |
initializeAtomBondModelCounts(int nAtoms)
|
private void |
initializeBonding()
|
private void |
initializeInfo(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> info)
|
private void |
initializeUnitCellAndSymmetry()
|
private void |
iterateOverAllNewAtoms(JmolAdapter adapter,
java.lang.Object atomSetCollection)
|
private void |
iterateOverAllNewBonds(JmolAdapter adapter,
java.lang.Object atomSetCollection)
|
private void |
iterateOverAllNewModels(JmolAdapter adapter,
java.lang.Object atomSetCollection)
|
private void |
iterateOverAllNewStructures(JmolAdapter adapter,
java.lang.Object atomSetCollection)
Pull in all spans of helix, etc. |
private void |
mergeGroups()
|
private void |
set2dZ(int iatom1,
int iatom2)
|
private static void |
setAtom2dZ(Atom atomRef,
Atom atom2,
javax.vecmath.Vector3f v,
javax.vecmath.Vector3f v0,
javax.vecmath.Vector3f v1)
|
private void |
setAtomProperties()
|
private static void |
setBranch2dZ(Atom atom,
java.util.BitSet bs,
java.util.BitSet bsToTest,
javax.vecmath.Vector3f v,
javax.vecmath.Vector3f v0,
javax.vecmath.Vector3f v1)
|
private void |
setDefaultRendering(int maxAtoms)
|
private boolean |
setModelNameNumberProperties(int modelIndex,
int trajectoryBaseIndex,
java.lang.String modelName,
int modelNumber,
java.util.Properties modelProperties,
java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo,
java.lang.String jmolData)
|
void |
undeleteAtom(int iAtom)
called from org.jmol.modelsetbio.resolver when adding hydrogens. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
viewer
private Viewer viewer
modelSet
private ModelSet modelSet
mergeModelSet
private ModelSet mergeModelSet
merging
private boolean merging
jmolData
private java.lang.String jmolData
group3Lists
private java.lang.String[] group3Lists
group3Counts
private int[][] group3Counts
specialAtomIndexes
private final int[] specialAtomIndexes
someModelsHaveUnitcells
private boolean someModelsHaveUnitcells
isTrajectory
private boolean isTrajectory
doMinimize
private boolean doMinimize
doAddHydrogens
private boolean doAddHydrogens
doRemoveAddedHydrogens
private boolean doRemoveAddedHydrogens
fileHeader
private java.lang.String fileHeader
jbr
private JmolBioResolver jbr
isPDB
private boolean isPDB
groups
private Group[] groups
groupCount
private int groupCount
htAtomMap
private final java.util.Map<java.lang.Object,Atom> htAtomMap
defaultGroupCount
private static final int defaultGroupCount
- See Also:
- Constant Field Values
chainOf
private Chain[] chainOf
group3Of
private java.lang.String[] group3Of
seqcodes
private int[] seqcodes
firstAtomIndexes
private int[] firstAtomIndexes
currentModelIndex
private int currentModelIndex
currentModel
private Model currentModel
currentChainID
private char currentChainID
currentChain
private Chain currentChain
currentGroupSequenceNumber
private int currentGroupSequenceNumber
currentGroupInsertionCode
private char currentGroupInsertionCode
currentGroup3
private java.lang.String currentGroup3
nullGroup
private Group nullGroup
baseModelIndex
private int baseModelIndex
baseModelCount
private int baseModelCount
baseAtomIndex
private int baseAtomIndex
baseGroupIndex
private int baseGroupIndex
baseTrajectoryCount
private int baseTrajectoryCount
appendNew
private boolean appendNew
adapterModelCount
private int adapterModelCount
adapterTrajectoryCount
private int adapterTrajectoryCount
noAutoBond
private boolean noAutoBond
is2D
private boolean is2D
mergeGroups
private Group[] mergeGroups
vStereo
private java.util.List<Bond> vStereo
structuresDefinedInFile
private java.util.BitSet structuresDefinedInFile
ModelLoader
public ModelLoader(Viewer viewer,
java.lang.String name)
ModelLoader
public ModelLoader(Viewer viewer,
java.lang.StringBuffer loadScript,
java.lang.Object atomSetCollection,
ModelSet mergeModelSet,
java.lang.String modelSetName,
java.util.BitSet bsNew)
initializeInfo
private void initializeInfo(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> info)
getGroup3
public java.lang.String getGroup3(int iGroup)
getFirstAtomIndex
public int getFirstAtomIndex(int iGroup)
getModelSet
public ModelSet getModelSet()
getAtomCount
public int getAtomCount()
createModelSet
private void createModelSet(JmolAdapter adapter,
java.lang.Object atomSetCollection,
java.util.BitSet bsNew)
setDefaultRendering
private void setDefaultRendering(int maxAtoms)
setAtomProperties
private void setAtomProperties()
initializeAtomBondModelCounts
private void initializeAtomBondModelCounts(int nAtoms)
mergeGroups
private void mergeGroups()
iterateOverAllNewModels
private void iterateOverAllNewModels(JmolAdapter adapter,
java.lang.Object atomSetCollection)
setModelNameNumberProperties
private boolean setModelNameNumberProperties(int modelIndex,
int trajectoryBaseIndex,
java.lang.String modelName,
int modelNumber,
java.util.Properties modelProperties,
java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo,
java.lang.String jmolData)
finalizeModels
private void finalizeModels(int baseModelCount)
- Model numbers are considerably more complicated in Jmol 11.
int modelNumber
The adapter gives us a modelNumber, but that is not necessarily
what the user accesses. If a single files is loaded this is:
a) single file context:
1) the sequential number of the model in the file , or
2) if a PDB file and "MODEL" record is present, that model number
b) multifile context:
always 1000000 * (fileIndex + 1) + (modelIndexInFile + 1)
int fileIndex
The 0-based reference to the file containing this model. Used
when doing "_modelnumber3.2" in a multifile context
int modelFileNumber
An integer coding both the file and the model:
file * 1000000 + modelInFile (1-based)
Used all over the place. Note that if there is only one file,
then modelFileNumber < 1000000.
String modelNumberDotted
A number the user can use "1.3"
String modelNumberForAtomLabel
Either the dotted number or the PDB MODEL number, if there is only one file
- Parameters:
baseModelCount
-
iterateOverAllNewAtoms
private void iterateOverAllNewAtoms(JmolAdapter adapter,
java.lang.Object atomSetCollection)
getPdbCharge
private int getPdbCharge(java.lang.String group3,
java.lang.String name)
addAtom
private void addAtom(boolean isPDB,
java.util.BitSet atomSymmetry,
int atomSite,
java.lang.Object atomUid,
short atomicAndIsotopeNumber,
java.lang.String atomName,
int formalCharge,
float partialCharge,
java.lang.Object[] ellipsoid,
int occupancy,
float bfactor,
float x,
float y,
float z,
boolean isHetero,
int atomSerial,
java.lang.String group3,
float vectorX,
float vectorY,
float vectorZ,
char alternateLocationID,
float radius)
checkNewGroup
private void checkNewGroup(JmolAdapter adapter,
char chainID,
java.lang.String group3,
int groupSequenceNumber,
char groupInsertionCode,
boolean addH)
getOrAllocateChain
private Chain getOrAllocateChain(Model model,
char chainID)
iterateOverAllNewBonds
private void iterateOverAllNewBonds(JmolAdapter adapter,
java.lang.Object atomSetCollection)
bondAtoms
private void bondAtoms(java.lang.Object atomUid1,
java.lang.Object atomUid2,
short order)
iterateOverAllNewStructures
private void iterateOverAllNewStructures(JmolAdapter adapter,
java.lang.Object atomSetCollection)
- Pull in all spans of helix, etc. in the file(s)
We do turn first, because sometimes a group is defined
twice, and this way it gets marked as helix or sheet
if it is both one of those and turn.
- Parameters:
adapter
- atomSetCollection
-
defineStructure
private void defineStructure(int modelIndex,
EnumStructure subType,
java.lang.String structureID,
int serialID,
int strandCount,
char startChainID,
int startSequenceNumber,
char startInsertionCode,
char endChainID,
int endSequenceNumber,
char endInsertionCode)
initializeUnitCellAndSymmetry
private void initializeUnitCellAndSymmetry()
initializeBonding
private void initializeBonding()
finalizeGroupBuild
private void finalizeGroupBuild()
distinguishAndPropagateGroup
private void distinguishAndPropagateGroup(int groupIndex,
Chain chain,
java.lang.String group3,
int seqcode,
int firstAtomIndex,
int maxAtomIndex)
addGroup
private void addGroup(Chain chain,
Group group)
countGroup
private void countGroup(int modelIndex,
java.lang.String code,
java.lang.String group3)
freeze
private void freeze()
findElementsPresent
private void findElementsPresent()
applyStereochemistry
private void applyStereochemistry()
set2dZ
private void set2dZ(int iatom1,
int iatom2)
getBranch2dZ
private java.util.BitSet getBranch2dZ(int atomIndex,
int atomIndexNot,
java.util.BitSet bs0,
java.util.BitSet bsBranch,
javax.vecmath.Vector3f v,
javax.vecmath.Vector3f v0,
javax.vecmath.Vector3f v1)
- Parameters:
atomIndex
- atomIndexNot
- bs0
- bsBranch
- v
- v0
- v1
-
- Returns:
- atom bitset
setBranch2dZ
private static void setBranch2dZ(Atom atom,
java.util.BitSet bs,
java.util.BitSet bsToTest,
javax.vecmath.Vector3f v,
javax.vecmath.Vector3f v0,
javax.vecmath.Vector3f v1)
setAtom2dZ
private static void setAtom2dZ(Atom atomRef,
Atom atom2,
javax.vecmath.Vector3f v,
javax.vecmath.Vector3f v0,
javax.vecmath.Vector3f v1)
finalizeShapes
private void finalizeShapes()
undeleteAtom
public void undeleteAtom(int iAtom)
- called from org.jmol.modelsetbio.resolver when adding hydrogens.
- Parameters:
iAtom
-
deleteAtoms
public void deleteAtoms(java.util.BitSet bsDeletedAtoms)
- called from org.jmol.modelsetbio.resolver when adding hydrogens.
- Parameters:
bsDeletedAtoms
-