Class ModelLoader


  • public final class ModelLoader
    extends java.lang.Object
    • Field Detail

      • merging

        private boolean merging
      • appendNew

        private boolean appendNew
      • jmolData

        private java.lang.String jmolData
      • group3Lists

        public java.lang.String[] group3Lists
      • group3Counts

        public int[][] group3Counts
      • specialAtomIndexes

        public int[] specialAtomIndexes
      • someModelsHaveUnitcells

        private boolean someModelsHaveUnitcells
      • someModelsAreModulated

        private boolean someModelsAreModulated
      • is2D

        private boolean is2D
      • isMutate

        private boolean isMutate
      • isTrajectory

        public boolean isTrajectory
      • isPyMOLsession

        private boolean isPyMOLsession
      • doMinimize

        private boolean doMinimize
      • doAddHydrogens

        private boolean doAddHydrogens
      • fileHeader

        private java.lang.String fileHeader
      • groups

        public Group[] groups
      • groupCount

        private int groupCount
      • modulationTUV

        private javajs.util.P3 modulationTUV
      • htAtomMap

        private final java.util.Map<java.lang.Object,​Atom> htAtomMap
      • chainOf

        private Chain[] chainOf
      • group3Of

        private java.lang.String[] group3Of
      • seqcodes

        private int[] seqcodes
      • firstAtomIndexes

        private int[] firstAtomIndexes
      • iModel

        private int iModel
      • model

        private Model model
      • currentChainID

        private int currentChainID
      • isNewChain

        private boolean isNewChain
      • currentChain

        private Chain currentChain
      • currentGroupSequenceNumber

        private int currentGroupSequenceNumber
      • currentGroupInsertionCode

        private char currentGroupInsertionCode
      • currentGroup3

        private java.lang.String currentGroup3
      • nullGroup

        private Group 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

        private java.util.Map<java.lang.String,​java.lang.String> htGroup1
      • mergeGroups

        private Group[] mergeGroups
      • iChain

        private int iChain
      • vStereo

        private javajs.util.Lst<Bond> vStereo
      • structuresDefinedInFile

        public BS structuresDefinedInFile
    • Constructor Detail

      • ModelLoader

        public ModelLoader​(Viewer vwr,
                           java.lang.String modelSetName,
                           javajs.util.SB loadScript,
                           java.lang.Object asc,
                           ModelSet modelSet0,
                           BS bsNew)
    • Method Detail

      • initializeInfo

        private void initializeInfo​(java.lang.String name,
                                    java.util.Map<java.lang.String,​java.lang.Object> info)
      • newTrajectory

        private Trajectory newTrajectory​(ModelSet ms,
                                         javajs.util.Lst<javajs.util.P3[]> steps)
      • getGroup3

        public java.lang.String getGroup3​(int iGroup)
      • getFirstAtomIndex

        public int getFirstAtomIndex​(int iGroup)
      • getAtomCount

        public int getAtomCount()
      • createModelSet

        private void createModelSet​(JmolAdapter adapter,
                                    java.lang.Object asc,
                                    BS bsNew)
      • mergeTrajAndVib

        private void mergeTrajAndVib​(ModelSet oldSet,
                                     ModelSet newSet)
      • 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 asc)
      • setModelNameNumberProperties

        private void 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 asc)
      • addJmolDataProperties

        private void addJmolDataProperties​(Model m,
                                           java.util.Map<java.lang.String,​float[]> jmolDataProperties)
      • getPdbCharge

        private int getPdbCharge​(java.lang.String group3,
                                 java.lang.String name)
        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 void addAtom​(boolean isPDB,
                             BS atomSymmetry,
                             int atomSite,
                             java.lang.Object atomUid,
                             int atomicAndIsotopeNumber,
                             java.lang.String atomName,
                             int formalCharge,
                             float partialCharge,
                             javajs.util.Lst<java.lang.Object> tensors,
                             float occupancy,
                             float bfactor,
                             javajs.util.P3 xyz,
                             boolean isHetero,
                             int atomSerial,
                             int atomSeqID,
                             java.lang.String group3,
                             javajs.util.V3 vib,
                             char alternateLocationID,
                             float radius)
      • checkNewGroup

        private void checkNewGroup​(JmolAdapter adapter,
                                   int chainID,
                                   java.lang.String group3,
                                   int groupSequenceNumber,
                                   char groupInsertionCode,
                                   boolean addH,
                                   boolean isLegacyHAddition)
      • getOrAllocateChain

        private Chain getOrAllocateChain​(Model model,
                                         int chainID)
      • iterateOverAllNewBonds

        private void iterateOverAllNewBonds​(JmolAdapter adapter,
                                            java.lang.Object asc)
      • bondAtoms

        private Bond bondAtoms​(java.lang.Object atomUid1,
                               java.lang.Object atomUid2,
                               short order)
      • 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 lastAtomIndex)
      • 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 BS getBranch2dZ​(int atomIndex,
                                int atomIndexNot,
                                BS bs0,
                                BS bsBranch,
                                javajs.util.V3 v,
                                javajs.util.V3 v0,
                                javajs.util.V3 v1)
        Parameters:
        atomIndex -
        atomIndexNot -
        bs0 -
        bsBranch -
        v -
        v0 -
        v1 -
        Returns:
        atom bitset
      • setBranch2dZ

        private static void setBranch2dZ​(Atom atom,
                                         BS bs,
                                         BS bsToTest,
                                         javajs.util.V3 v,
                                         javajs.util.V3 v0,
                                         javajs.util.V3 v1)
      • setAtom2dZ

        private static void setAtom2dZ​(Atom atomRef,
                                       Atom atom2,
                                       javajs.util.V3 v,
                                       javajs.util.V3 v0,
                                       javajs.util.V3 v1)
      • finalizeShapes

        private void finalizeShapes()
      • undeleteAtom

        public void undeleteAtom​(int iAtom)
        called from org.jmol.modelsetbio.resolver when adding hydrogens.
        Parameters:
        iAtom -
      • createAtomDataSet

        public static java.lang.String createAtomDataSet​(Viewer vwr,
                                                         ModelSet modelSet,
                                                         int tokType,
                                                         java.lang.Object asc,
                                                         BS bsSelected)