Package org.jmol.modelset
Class ModelLoader
java.lang.Object
org.jmol.modelset.ModelLoader
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate intprivate booleanprivate Integerintintprivate intintprivate intprivate Chain[]private Chainprivate intprivate Stringprivate charprivate intprivate static final intprivate booleanprivate booleanprivate Stringprivate int[]int[][]String[]private String[]private intGroup[]private intprivate intprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanbooleanprivate BioResolverprivate Stringprivate intprivate Group[]private booleanprivate Modelprivate ModelSetprivate booleanprivate javajs.util.P3private booleanprivate booleanprivate Groupprivate int[]private booleanprivate booleanint[]private intjavajs.util.BSprivate 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 AtomaddAtom(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 voidprivate voidaddJmolDataProperties(Model m, Map<String, float[]> jmolDataProperties) private voidprivate Bondprivate voidcheckNewGroup(JmolAdapter adapter, int chainID, String group3, int groupSequenceNumber, char groupInsertionCode, boolean addH, boolean isLegacyHAddition) private voidcountGroup(int modelIndex, String code, String group3) static StringcreateAtomDataSet(Viewer vwr, ModelSet modelSet, int tokType, Object asc, javajs.util.BS bsSelected) private voidcreateModelSet(JmolAdapter adapter, Object asc, javajs.util.BS bs2D) private voiddistinguishAndPropagateGroup(int groupIndex, Chain chain, String group3, int seqcode, int firstAtomIndex, int lastAtomIndex) private voidprivate voidfinalizeModels(int baseModelCount) Model numbers are considerably more complicated in Jmol 11.private voidprivate voidprivate voidfreeze()intprivate intgetAtomSiteBase(javajs.util.BS mbs) private javajs.util.BSgetBranch2dZ(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) intgetFirstAtomIndex(int iGroup) getGroup3(int iGroup) private ChaingetOrAllocateChain(Model model, int chainID) private intgetPdbCharge(String group3, String name) Adjust known N and O atom formal charges.private voidinitializeAtomBondModelCounts(int nAtoms) private voidprivate voidinitializeInfo(String name, Map<String, Object> info) private voidprivate voiditerateOverAllNewAtoms(JmolAdapter adapter, Object asc, boolean haveBonds) private voidprivate voiditerateOverAllNewModels(JmolAdapter adapter, Object asc) private voidprivate voidmergeTrajAndVib(ModelSet oldSet, ModelSet newSet) private TrajectorynewTrajectory(ModelSet ms, javajs.util.Lst<javajs.util.P3[]> steps) private voidset2DLengths(int iatom1, int iatom2) private voidset2dZ(int iatom1, int iatom2, javajs.util.V3 v) private static voidsetAtom2dZ(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 voidprivate static voidsetBranch2dZ(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 voidsetDefaultRendering(int maxAtoms) private voidsetModelNameNumberProperties(int modelIndex, int trajectoryBaseIndex, String modelName, int modelNumber, Properties modelProperties, Map<String, Object> modelAuxiliaryInfo, String jmolData) voidundeleteAtom(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 < 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
-