Class AtomSetCollectionReader

    • Field Detail

      • isBinary

        public boolean isBinary
      • debugging

        public boolean debugging
      • requiresBSFilter

        protected boolean requiresBSFilter
      • primitiveToCrystal

        public javajs.util.M3 primitiveToCrystal
      • reader

        protected java.io.BufferedReader reader
      • binaryDoc

        protected javajs.api.GenericBinaryDocument binaryDoc
      • readerName

        protected java.lang.String readerName
      • htParams

        public java.util.Map<java.lang.String,​java.lang.Object> htParams
      • trajectorySteps

        public javajs.util.Lst<javajs.util.P3[]> trajectorySteps
      • domains

        private java.lang.Object domains
      • validation

        public java.lang.Object validation
      • dssr

        public java.lang.Object dssr
      • isConcatenated

        protected boolean isConcatenated
      • addedData

        public java.lang.String addedData
      • addedDataKey

        public java.lang.String addedDataKey
      • fixJavaFloat

        public boolean fixJavaFloat
      • thisBiomolecule

        public java.util.Map<java.lang.String,​java.lang.Object> thisBiomolecule
      • lstNCS

        public javajs.util.Lst<javajs.util.M4> lstNCS
      • line

        public java.lang.String line
      • prevline

        public java.lang.String prevline
      • next

        protected int[] next
      • ptLine

        protected int ptLine
      • latticeType

        protected java.lang.String latticeType
      • latticeCells

        public int[] latticeCells
      • fillRange

        public java.lang.Object fillRange
      • doProcessLines

        public boolean doProcessLines
      • iHaveUnitCell

        public boolean iHaveUnitCell
      • iHaveSymmetryOperators

        public boolean iHaveSymmetryOperators
      • continuing

        public boolean continuing
      • doApplySymmetry

        public boolean doApplySymmetry
      • ignoreFileSymmetryOperators

        protected boolean ignoreFileSymmetryOperators
      • isTrajectory

        protected boolean isTrajectory
      • applySymmetryToBonds

        public boolean applySymmetryToBonds
      • doCheckUnitCell

        protected boolean doCheckUnitCell
      • getHeader

        protected boolean getHeader
      • isSequential

        protected boolean isSequential
      • isMolecular

        public boolean isMolecular
      • templateAtomCount

        protected int templateAtomCount
      • modelNumber

        public int modelNumber
      • vibrationNumber

        public int vibrationNumber
      • desiredVibrationNumber

        public int desiredVibrationNumber
      • bsModels

        protected javajs.util.BS bsModels
      • useFileModelNumbers

        protected boolean useFileModelNumbers
      • havePartialChargeFilter

        protected boolean havePartialChargeFilter
      • calculationType

        public java.lang.String calculationType
      • sgName

        protected java.lang.String sgName
      • ignoreFileUnitCell

        protected boolean ignoreFileUnitCell
      • ignoreFileSpaceGroupName

        protected boolean ignoreFileSpaceGroupName
      • unitCellParams

        public float[] unitCellParams
      • desiredModelNumber

        protected int desiredModelNumber
      • out

        protected javajs.util.OC out
      • iHaveFractionalCoordinates

        protected boolean iHaveFractionalCoordinates
      • doPackUnitCell

        public boolean doPackUnitCell
      • ptSupercell

        protected javajs.util.P3 ptSupercell
      • mustFinalizeModelSet

        protected boolean mustFinalizeModelSet
      • forcePacked

        protected boolean forcePacked
      • packingError

        public float packingError
      • rotateHexCell

        protected boolean rotateHexCell
      • isPrimitive

        protected boolean isPrimitive
      • modDim

        public int modDim
      • loadNote

        private javajs.util.SB loadNote
      • doConvertToFractional

        public boolean doConvertToFractional
      • fileCoordinatesAreFractional

        boolean fileCoordinatesAreFractional
      • merging

        boolean merging
      • symmetryRange

        float symmetryRange
      • firstLastStep

        private int[] firstLastStep
      • lastModelNumber

        private int lastModelNumber
      • desiredSpaceGroupIndex

        public int desiredSpaceGroupIndex
      • fileScaling

        protected javajs.util.P3 fileScaling
      • latticeScaling

        protected float latticeScaling
      • fileOffset

        protected javajs.util.P3 fileOffset
      • fileOffsetFractional

        private javajs.util.P3 fileOffsetFractional
      • unitCellOffset

        protected javajs.util.P3 unitCellOffset
      • unitCellOffsetFractional

        private boolean unitCellOffsetFractional
      • moreUnitCellInfo

        private javajs.util.Lst<java.lang.String> moreUnitCellInfo
      • paramsLattice

        public javajs.util.T3 paramsLattice
      • paramsCentroid

        public boolean paramsCentroid
      • paramsPacked

        private boolean paramsPacked
      • filePath

        protected java.lang.String filePath
      • fileName

        protected java.lang.String fileName
      • baseAtomIndex

        public int baseAtomIndex
        first atom index for this collection, current modelset.ac
      • baseBondIndex

        public int baseBondIndex
      • stateScriptVersionInt

        protected int stateScriptVersionInt
      • isFinalized

        protected boolean isFinalized
      • haveModel

        protected boolean haveModel
      • previousSpaceGroup

        private java.lang.String previousSpaceGroup
      • previousUnitCell

        private float[] previousUnitCell
      • nMatrixElements

        private int nMatrixElements
      • ucItems

        public float[] ucItems
      • matUnitCellOrientation

        protected javajs.util.M3 matUnitCellOrientation
      • bsFilter

        protected javajs.util.BS bsFilter
      • filter

        public java.lang.String filter
      • haveAtomFilter

        public boolean haveAtomFilter
      • filterAltLoc

        private boolean filterAltLoc
      • filterGroup3

        private boolean filterGroup3
      • filterChain

        private boolean filterChain
      • filterAtomName

        private boolean filterAtomName
      • filterAtomType

        private boolean filterAtomType
      • filterAtomTypeStr

        private java.lang.String filterAtomTypeStr
      • filterAtomNameTerminator

        private java.lang.String filterAtomNameTerminator
      • filterElement

        private boolean filterElement
      • filterHetero

        protected boolean filterHetero
      • filterEveryNth

        private boolean filterEveryNth
      • filterSymop

        java.lang.String filterSymop
      • filterN

        private int filterN
      • nFiltered

        private int nFiltered
      • doSetOrientation

        private boolean doSetOrientation
      • doCentralize

        protected boolean doCentralize
      • addVibrations

        protected boolean addVibrations
      • useAltNames

        protected boolean useAltNames
      • ignoreStructure

        protected boolean ignoreStructure
      • isDSSP1

        protected boolean isDSSP1
      • allowPDBFilter

        protected boolean allowPDBFilter
      • doReadMolecularOrbitals

        public boolean doReadMolecularOrbitals
      • reverseModels

        protected boolean reverseModels
      • nameRequired

        private java.lang.String nameRequired
      • doCentroidUnitCell

        public boolean doCentroidUnitCell
      • centroidPacked

        public boolean centroidPacked
      • strSupercell

        public java.lang.String strSupercell
      • allow_a_len_1

        public boolean allow_a_len_1
      • filter1

        private java.lang.String filter1
      • filter2

        private java.lang.String filter2
      • matRot

        private javajs.util.M3 matRot
      • vibsFractional

        public boolean vibsFractional
      • previousScript

        private java.lang.String previousScript
      • siteScript

        private java.lang.String siteScript
    • Constructor Detail

      • AtomSetCollectionReader

        public AtomSetCollectionReader()
    • Method Detail

      • setup

        protected void setup​(java.lang.String fullPath,
                             java.util.Map<java.lang.String,​java.lang.Object> htParams,
                             java.lang.Object readerOrDocument)
      • setupASCR

        protected void setupASCR​(java.lang.String fullPath,
                                 java.util.Map<java.lang.String,​java.lang.Object> htParams,
                                 java.lang.Object readerOrDocument)
      • readData

        java.lang.Object readData()
                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • fixBaseIndices

        private void fixBaseIndices()
      • readDataObject

        protected java.lang.Object readDataObject​(java.lang.Object node)
                                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • processDOM

        protected void processDOM​(java.lang.Object DOMNode)
        Parameters:
        DOMNode -
      • processBinaryDocument

        protected void processBinaryDocument()
                                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • initializeReader

        protected void initializeReader()
                                 throws java.lang.Exception
        Throws:
        java.lang.Exception
      • checkLine

        protected boolean checkLine()
                             throws java.lang.Exception
        Returns:
        true if need to read new line
        Throws:
        java.lang.Exception
      • checkLastModel

        public boolean checkLastModel()
        sets continuing and doProcessLines
        Returns:
        TRUE if continuing, FALSE if not
      • isLastModel

        public boolean isLastModel​(int modelNumber)
        after reading a model, Q: Is this the last model?
        Parameters:
        modelNumber -
        Returns:
        Yes/No
      • appendLoadNote

        public void appendLoadNote​(java.lang.String info)
      • initializeTrajectoryFile

        protected void initializeTrajectoryFile()
      • finalizeSubclassReader

        protected void finalizeSubclassReader()
                                       throws java.lang.Exception
        optional reader-specific method run first.
        Throws:
        java.lang.Exception
      • finalizeReaderASCR

        protected void finalizeReaderASCR()
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • setLoadNote

        protected java.lang.String setLoadNote()
      • setIsPDB

        public void setIsPDB()
      • setModelPDB

        protected void setModelPDB​(boolean isPDB)
      • finish

        private java.lang.Object finish()
      • setError

        private void setError​(java.lang.Throwable e)
        Parameters:
        e -
      • initialize

        private void initialize()
      • initializeSymmetryOptions

        protected void initializeSymmetryOptions()
      • doGetModel

        public boolean doGetModel​(int modelNumber,
                                  java.lang.String title)
      • discardPreviousAtoms

        protected void discardPreviousAtoms()
      • initializeSymmetry

        protected final void initializeSymmetry()
      • newAtomSet

        protected void newAtomSet​(java.lang.String name)
      • cloneLastAtomSet

        protected int cloneLastAtomSet​(int ac,
                                       javajs.util.P3[] pts)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • setSpaceGroupName

        public void setSpaceGroupName​(java.lang.String name)
      • setSymmetryOperator

        public int setSymmetryOperator​(java.lang.String xyz)
      • initializeCartesianToFractional

        private void initializeCartesianToFractional()
      • clearUnitCell

        public void clearUnitCell()
      • setUnitCellItem

        public void setUnitCellItem​(int i,
                                    float x)
      • setUnitCell

        public void setUnitCell​(float a,
                                float b,
                                float c,
                                float alpha,
                                float beta,
                                float gamma)
      • addExplicitLatticeVector

        public void addExplicitLatticeVector​(int i,
                                             float[] xyz,
                                             int i0)
      • checkUnitCell

        private boolean checkUnitCell​(int n)
      • checkUnitCellOffset

        private void checkUnitCellOffset()
      • fractionalizeCoordinates

        protected void fractionalizeCoordinates​(boolean toFrac)
      • setFractionalCoordinates

        public void setFractionalCoordinates​(boolean TF)
      • setFilterAtomTypeStr

        protected void setFilterAtomTypeStr​(java.lang.String s)
      • setFilter

        protected void setFilter​(java.lang.String filter0)
      • getFilter

        public java.lang.String getFilter​(java.lang.String key)
      • checkFilterKey

        public boolean checkFilterKey​(java.lang.String key)
      • checkAndRemoveFilterKey

        public boolean checkAndRemoveFilterKey​(java.lang.String key)
        Parameters:
        key -
        Returns:
        true if the key existed; filter is set null if this is the only key
      • filterAtom

        protected boolean filterAtom​(Atom atom,
                                     int iAtom)
        Parameters:
        atom -
        iAtom -
        Returns:
        true if we want this atom
      • checkFilter

        private boolean checkFilter​(Atom atom,
                                    java.lang.String f)
        Parameters:
        atom -
        f -
        Returns:
        true if a filter is found
      • rejectAtomName

        public boolean rejectAtomName​(java.lang.String name)
      • allowAtomName

        private boolean allowAtomName​(java.lang.String atomName,
                                      java.lang.String f)
      • filterReject

        protected boolean filterReject​(java.lang.String f,
                                       java.lang.String code,
                                       java.lang.String atomCode)
      • set2D

        protected void set2D()
      • doGetVibration

        public boolean doGetVibration​(int vibrationNumber)
      • setTransform

        public void setTransform​(float x1,
                                 float y1,
                                 float z1,
                                 float x2,
                                 float y2,
                                 float z2,
                                 float x3,
                                 float y3,
                                 float z3)
      • setAtomCoordXYZ

        public void setAtomCoordXYZ​(Atom atom,
                                    float x,
                                    float y,
                                    float z)
      • setAtomCoordScaled

        public Atom setAtomCoordScaled​(Atom atom,
                                       java.lang.String[] tokens,
                                       int i,
                                       float f)
      • setAtomCoordTokens

        protected void setAtomCoordTokens​(Atom atom,
                                          java.lang.String[] tokens,
                                          int i)
      • addAtomXYZSymName

        public Atom addAtomXYZSymName​(java.lang.String[] tokens,
                                      int i,
                                      java.lang.String sym,
                                      java.lang.String name)
      • setAtomCoord

        public void setAtomCoord​(Atom atom)
      • addSites

        public void addSites​(java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.Object>> htSites)
      • applySymmetryAndSetTrajectory

        public void applySymmetryAndSetTrajectory()
                                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • applySymTrajASCR

        public SymmetryInterface applySymTrajASCR()
                                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • finalizeSubclassSymmetry

        protected void finalizeSubclassSymmetry​(boolean haveSymmetry)
                                         throws java.lang.Exception
        Parameters:
        haveSymmetry -
        Throws:
        java.lang.Exception
      • doPreSymmetry

        protected void doPreSymmetry()
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • finalizeMOData

        public void finalizeMOData​(java.util.Map<java.lang.String,​java.lang.Object> moData)
      • getElementSymbol

        public static java.lang.String getElementSymbol​(int elementNumber)
      • fillDataBlock

        protected void fillDataBlock​(java.lang.String[][] data,
                                     int minLineLen)
                              throws java.lang.Exception
        fills an array with a pre-defined number of lines of token data, skipping blank lines in the process
        Parameters:
        data -
        minLineLen - TODO
        Throws:
        java.lang.Exception
      • fill3x3

        protected double[][] fill3x3​(java.lang.String[] tokens,
                                     int pt)
                              throws java.lang.Exception
        fills a double[3][3]
        Parameters:
        tokens - or null if to read each line for three values (as last 3 on line)
        pt - initial index; if tokens == null, then negative index is from end of each line
        Returns:
        double[3][3]
        Throws:
        java.lang.Exception
      • fillFloatArray

        protected float[] fillFloatArray​(java.lang.String s,
                                         int width,
                                         float[] data)
                                  throws java.lang.Exception
        fills a float array with string data from a file
        Parameters:
        s - string data containing floats
        width - column width or 0 to read tokens
        data - result data to be filled
        Returns:
        data
        Throws:
        java.lang.Exception
      • fillFrequencyData

        protected void fillFrequencyData​(int iAtom0,
                                         int ac,
                                         int modelAtomCount,
                                         boolean[] ignore,
                                         boolean isWide,
                                         int col0,
                                         int colWidth,
                                         int[] atomIndexes,
                                         int minLineLen,
                                         java.lang.String[][] data)
                                  throws java.lang.Exception
        Extracts a block of frequency data from a file. This block may be of two types -- either X Y Z across a row or each of X Y Z on a separate line. Data is presumed to be in fixed FORTRAN-like column format, not space-separated columns.
        Parameters:
        iAtom0 - the first atom to be assigned a frequency
        ac - the number of atoms to be assigned
        modelAtomCount - the number of atoms in each model
        ignore - the frequencies to ignore because the user has selected only certain vibrations to be read or for whatever reason; length serves to set the number of frequencies to be read
        isWide - when TRUE, this is a table that has X Y Z for each mode within the same row; when FALSE, this is a table that has X Y Z for each mode on a separate line.
        col0 - the column in which data starts
        colWidth - the width of the data columns
        atomIndexes - an array either null or indicating exactly which atoms get the frequencies (used by CrystalReader)
        minLineLen - TODO
        data - TODO
        Throws:
        java.lang.Exception
      • fillDataBlockFixed

        protected void fillDataBlockFixed​(java.lang.String[][] data,
                                          int col0,
                                          int colWidth,
                                          int minLineLen)
                                   throws java.lang.Exception
        Fills an array with a predefined number of lines of data that is arranged in fixed FORTRAN-like column format. Used exclusively for frequency data
        Parameters:
        data -
        col0 -
        colWidth -
        minLineLen - or -ptNonblank
        Throws:
        java.lang.Exception
      • readLines

        protected java.lang.String readLines​(int nLines)
                                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • discardLinesUntilStartsWith

        public java.lang.String discardLinesUntilStartsWith​(java.lang.String startsWith)
                                                     throws java.lang.Exception
        Throws:
        java.lang.Exception
      • discardLinesUntilContains

        public java.lang.String discardLinesUntilContains​(java.lang.String containsMatch)
                                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • discardLinesUntilContains2

        public java.lang.String discardLinesUntilContains2​(java.lang.String s1,
                                                           java.lang.String s2)
                                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • discardLinesUntilBlank

        public java.lang.String discardLinesUntilBlank()
                                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • discardLinesUntilNonBlank

        public java.lang.String discardLinesUntilNonBlank()
                                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • checkLineForScript

        protected void checkLineForScript​(java.lang.String line)
      • checkCurrentLineForScript

        public void checkCurrentLineForScript()
      • addJmolScript

        public void addJmolScript​(java.lang.String script)
      • addSiteScript

        protected void addSiteScript​(java.lang.String script)
      • rd

        public java.lang.String rd()
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • RL

        public java.lang.String RL()
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getStrings

        protected static final java.lang.String[] getStrings​(java.lang.String sinfo,
                                                             int nFields,
                                                             int width)
      • getTokens

        public java.lang.String[] getTokens()
      • getTokensFloat

        public static float[] getTokensFloat​(java.lang.String s,
                                             float[] f,
                                             int n)
      • parseFloat

        protected float parseFloat()
      • parseFloatStr

        public float parseFloatStr​(java.lang.String s)
      • parseFloatRange

        protected float parseFloatRange​(java.lang.String s,
                                        int iStart,
                                        int iEnd)
      • parseInt

        protected int parseInt()
      • parseIntStr

        public int parseIntStr​(java.lang.String s)
      • parseIntAt

        public int parseIntAt​(java.lang.String s,
                              int iStart)
      • parseIntRange

        protected int parseIntRange​(java.lang.String s,
                                    int iStart,
                                    int iEnd)
      • parseToken

        protected java.lang.String parseToken()
      • parseTokenStr

        protected java.lang.String parseTokenStr​(java.lang.String s)
      • parseTokenNext

        protected java.lang.String parseTokenNext​(java.lang.String s)
      • parseTokenRange

        protected java.lang.String parseTokenRange​(java.lang.String s,
                                                   int iStart,
                                                   int iEnd)
      • getFortranFormatLengths

        protected static javajs.util.Lst<java.lang.Integer> getFortranFormatLengths​(java.lang.String s)
        get all integers after letters negative entries are spaces (1Xn)
        Parameters:
        s -
        Returns:
        Vector of integers
      • read3Vectors

        protected javajs.util.V3[] read3Vectors​(boolean isBohr)
                                         throws java.lang.Exception
        read three vectors, as for unit cube definitions allows for non-numeric data preceding the number block
        Parameters:
        isBohr -
        Returns:
        three vectors
        Throws:
        java.lang.Exception
      • setElementAndIsotope

        protected void setElementAndIsotope​(Atom atom,
                                            java.lang.String str)
        allow 13C, 15N, 2H, etc. for isotopes
        Parameters:
        atom -
        str -
      • finalizeModelSet

        public void finalizeModelSet()
      • setChainID

        public void setChainID​(Atom atom,
                               java.lang.String label)
      • readNextLine

        public java.lang.String readNextLine()
                                      throws java.lang.Exception
        Specified by:
        readNextLine in interface javajs.api.GenericLineReader
        Throws:
        java.lang.Exception
      • appendUunitCellInfo

        public void appendUunitCellInfo​(java.lang.String info)
      • getInterface

        public java.lang.Object getInterface​(java.lang.String className)
      • forceSymmetry

        public void forceSymmetry​(boolean andPack)