Package org.jmol.modelset
Class ModelLoader
java.lang.Object
org.jmol.modelset.ModelLoader
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private int
private boolean
private Integer
int
int
private int
int
private int
private Chain[]
private Chain
private int
private String
private char
private int
private static final int
private boolean
private boolean
private String
private int[]
int[][]
String[]
private String[]
private int
Group[]
private int
private int
private boolean
private boolean
private boolean
private boolean
private boolean
private boolean
boolean
private BioResolver
private String
private int
private Group[]
private boolean
private Model
private ModelSet
private boolean
private javajs.util.P3
private boolean
private boolean
private Group
private int[]
private boolean
private boolean
int[]
private int
javajs.util.BS
private javajs.util.Lst
<Bond> private Viewer
-
Constructor Summary
ConstructorsConstructorDescriptionModelLoader
(Viewer vwr, String modelSetName, javajs.util.SB loadScript, Object asc, ModelSet modelSet0, javajs.util.BS bsNew) -
Method Summary
Modifier and TypeMethodDescriptionprivate Atom
addAtom
(boolean isPDB, javajs.util.BS atomSymmetry, int atomSite, int atomicAndIsotopeNumber, String atomName, int formalCharge, float partialCharge, javajs.util.Lst<Object> tensors, float occupancy, float bfactor, javajs.util.P3 xyz, boolean isHetero, int atomSerial, int atomSeqID, String group3, javajs.util.V3 vib, char alternateLocationID, float radius, float bondRadius) private void
private void
addJmolDataProperties
(Model m, Map<String, float[]> jmolDataProperties) private void
private Bond
private void
checkNewGroup
(JmolAdapter adapter, int chainID, String group3, int groupSequenceNumber, char groupInsertionCode, boolean addH, boolean isLegacyHAddition) private void
countGroup
(int modelIndex, String code, String group3) static String
createAtomDataSet
(Viewer vwr, ModelSet modelSet, int tokType, Object asc, javajs.util.BS bsSelected) private void
createModelSet
(JmolAdapter adapter, Object asc, javajs.util.BS bs2D) private void
distinguishAndPropagateGroup
(int groupIndex, Chain chain, String group3, int seqcode, int firstAtomIndex, int lastAtomIndex) private void
private void
finalizeModels
(int baseModelCount) Model numbers are considerably more complicated in Jmol 11.private void
private void
private void
freeze()
int
private int
getAtomSiteBase
(javajs.util.BS mbs) private javajs.util.BS
getBranch2dZ
(int atomIndex, int atomIndexNot, javajs.util.BS bs0, javajs.util.BS bsBranch, javajs.util.V3 v, javajs.util.V3 v0, javajs.util.V3 v1, int dir) int
getFirstAtomIndex
(int iGroup) getGroup3
(int iGroup) private Chain
getOrAllocateChain
(Model model, int chainID) private int
getPdbCharge
(String group3, String name) Adjust known N and O atom formal charges.private void
initializeAtomBondModelCounts
(int nAtoms) private void
private void
initializeInfo
(String name, Map<String, Object> info) private void
private void
iterateOverAllNewAtoms
(JmolAdapter adapter, Object asc, boolean haveBonds) private void
private void
iterateOverAllNewModels
(JmolAdapter adapter, Object asc) private void
private void
mergeTrajAndVib
(ModelSet oldSet, ModelSet newSet) private Trajectory
newTrajectory
(ModelSet ms, javajs.util.Lst<javajs.util.P3[]> steps) private void
set2DLengths
(int iatom1, int iatom2) private void
set2dZ
(int iatom1, int iatom2, javajs.util.V3 v) private static void
setAtom2dZ
(Atom atomRef, Atom atom2, javajs.util.V3 v, javajs.util.V3 v0, javajs.util.V3 v1, int dir) set the z based on a cos relationship to the y axis.private void
private static void
setBranch2dZ
(Atom atom, javajs.util.BS bs, javajs.util.BS bsToTest, javajs.util.V3 v, javajs.util.V3 v0, javajs.util.V3 v1, int dir) private void
setDefaultRendering
(int maxAtoms) private void
setModelNameNumberProperties
(int modelIndex, int trajectoryBaseIndex, String modelName, int modelNumber, Properties modelProperties, Map<String, Object> modelAuxiliaryInfo, String jmolData) void
undeleteAtom
(int iAtom) called from org.jmol.modelsetbio.resolver when adding hydrogens.
-
Field Details
-
vwr
-
ms
-
modelSet0
-
merging
private boolean merging -
appendNew
private boolean appendNew -
jmolData
-
group3Lists
-
group3Counts
public int[][] group3Counts -
specialAtomIndexes
public int[] specialAtomIndexes -
someModelsHaveUnitcells
private boolean someModelsHaveUnitcells -
someModelsAreModulated
private boolean someModelsAreModulated -
is2D
private boolean is2D -
isMOL2D
private boolean isMOL2D -
isMutate
private boolean isMutate -
isTrajectory
public boolean isTrajectory -
isPyMOLsession
private boolean isPyMOLsession -
doMinimize
private boolean doMinimize -
doAddPDBHydrogens
private boolean doAddPDBHydrogens -
fileHeader
-
jbr
-
groups
-
groupCount
private int groupCount -
modulationTUV
private javajs.util.P3 modulationTUV -
isSupercell
private boolean isSupercell -
noH
private boolean noH -
htAtomMap
-
defaultGroupCount
private static final int defaultGroupCount- See Also:
-
chainOf
-
group3Of
-
seqcodes
private int[] seqcodes -
firstAtomIndexes
private int[] firstAtomIndexes -
iModel
private int iModel -
model
-
currentChainID
private int currentChainID -
isNewChain
private boolean isNewChain -
currentChain
-
currentGroupSequenceNumber
private int currentGroupSequenceNumber -
currentGroupInsertionCode
private char currentGroupInsertionCode -
currentGroup3
-
nullGroup
-
baseModelIndex
public int baseModelIndex -
baseModelCount
private int baseModelCount -
baseAtomIndex
public int baseAtomIndex -
baseGroupIndex
public int baseGroupIndex -
baseTrajectoryCount
private int baseTrajectoryCount -
adapterModelCount
private int adapterModelCount -
adapterTrajectoryCount
private int adapterTrajectoryCount -
noAutoBond
private boolean noAutoBond -
modulationOn
private boolean modulationOn -
htGroup1
-
appendToModelIndex
-
mergeGroups
-
iChain
private int iChain -
vStereo
-
lastModel
private int lastModel -
structuresDefinedInFile
public javajs.util.BS structuresDefinedInFile -
stereodir
private int stereodir
-
-
Constructor Details
-
ModelLoader
-
-
Method Details
-
initializeInfo
-
newTrajectory
-
getGroup3
-
getFirstAtomIndex
public int getFirstAtomIndex(int iGroup) -
getAtomCount
public int getAtomCount() -
createModelSet
-
mergeTrajAndVib
-
setDefaultRendering
private void setDefaultRendering(int maxAtoms) -
setAtomProperties
private void setAtomProperties() -
initializeAtomBondModelCounts
private void initializeAtomBondModelCounts(int nAtoms) -
mergeGroups
private void mergeGroups() -
iterateOverAllNewModels
-
setModelNameNumberProperties
-
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 invalid input: '<' 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
-
getAtomSiteBase
private int getAtomSiteBase(javajs.util.BS mbs) -
addJmolDataProperties
-
getPdbCharge
Adjust known N and O atom formal charges. Note that this does not take care of ligands.- Parameters:
group3
-name
-- Returns:
- 0, 1, or -1
-
addAtom
private Atom addAtom(boolean isPDB, javajs.util.BS atomSymmetry, int atomSite, int atomicAndIsotopeNumber, String atomName, int formalCharge, float partialCharge, javajs.util.Lst<Object> tensors, float occupancy, float bfactor, javajs.util.P3 xyz, boolean isHetero, int atomSerial, int atomSeqID, String group3, javajs.util.V3 vib, char alternateLocationID, float radius, float bondRadius) -
checkNewGroup
private void checkNewGroup(JmolAdapter adapter, int chainID, String group3, int groupSequenceNumber, char groupInsertionCode, boolean addH, boolean isLegacyHAddition) -
getOrAllocateChain
-
iterateOverAllNewBonds
-
bondAtoms
-
initializeUnitCellAndSymmetry
private void initializeUnitCellAndSymmetry() -
initializeBonding
private void initializeBonding() -
finalizeGroupBuild
private void finalizeGroupBuild() -
distinguishAndPropagateGroup
-
addGroup
-
countGroup
-
freeze
private void freeze() -
findElementsPresent
private void findElementsPresent() -
applyStereochemistry
private void applyStereochemistry() -
set2DLengths
private void set2DLengths(int iatom1, int iatom2) -
set2dZ
private void set2dZ(int iatom1, int iatom2, javajs.util.V3 v) -
getBranch2dZ
private javajs.util.BS getBranch2dZ(int atomIndex, int atomIndexNot, javajs.util.BS bs0, javajs.util.BS bsBranch, javajs.util.V3 v, javajs.util.V3 v0, javajs.util.V3 v1, int dir) - Parameters:
atomIndex
-atomIndexNot
-bs0
-bsBranch
-v
-v0
-v1
-dir
-- Returns:
- atom bitset
-
setBranch2dZ
private static void setBranch2dZ(Atom atom, javajs.util.BS bs, javajs.util.BS bsToTest, javajs.util.V3 v, javajs.util.V3 v0, javajs.util.V3 v1, int dir) -
setAtom2dZ
private static void setAtom2dZ(Atom atomRef, Atom atom2, javajs.util.V3 v, javajs.util.V3 v0, javajs.util.V3 v1, int dir) set the z based on a cos relationship to the y axis. Specifically, theta = acos(v.dot.v0) z = 0.8 * sin(4 theta) so: theta 4 theta y 0 0 x pi/2 2 pi -y pi 4 pi -x pi/2 2 pi y -1/4 -pi/4 x +1/4 pi/4 -y -1/4 3pi/4 -x +1/4 -pi/4- Parameters:
atomRef
-atom2
-v
-v0
-v1
-dir
-
-
finalizeShapes
private void finalizeShapes() -
undeleteAtom
public void undeleteAtom(int iAtom) called from org.jmol.modelsetbio.resolver when adding hydrogens.- Parameters:
iAtom
-
-
createAtomDataSet
-