AtomSetCollectionReader
Date: 2019-10-22

org.jmol.adapter.smarter

## Class AtomSetCollectionReader

- java.lang.Object
- - org.jmol.adapter.smarter.AtomSetCollectionReader

- All Implemented Interfaces:
    javajs.api.GenericLineReader
  Direct Known Subclasses:
    AbinitReader, AimsReader, AlchemyReader, AmpacReader, BasisFunctionReader, BilbaoReader, BinaryDcdReader, CastepReader, CgdReader, CifReader, CrystalReader, CubeReader, DmolReader, EspressoReader, FoldingXyzReader, ForceFieldReader, GaussianWfnReader, GhemicalMMReader, GromacsReader, GulpReader, HyperChemReader, InputReader, JanaReader, JmeReader, JSONReader, MagresReader, MdCrdReader, MolReader, MopacReader, PdbReader, ShelxReader, SiestaReader, TlsDataOnlyReader, VaspOutcarReader, VaspPoscarReader, Wien2kReader, XcrysdenReader, XmlReader, XyzReader

      public abstract class AtomSetCollectionReader
      extends java.lang.Object
      implements javajs.api.GenericLineReader

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.lang.String` | `addedData`
    `java.lang.String` | `addedDataKey`
    `protected boolean` | `addVibrations`
    `protected boolean` | `allowPDBFilter`
    `static float` | `ANGSTROMS_PER_BOHR`
    `boolean` | `applySymmetryToBonds`
    `AtomSetCollection` | `asc`
    `int` | `baseAtomIndex`
    `protected javajs.api.GenericBinaryDocument` | `binaryDoc`
    `protected javajs.util.BS` | `bsFilter`
    `protected javajs.util.BS` | `bsModels`
    `java.lang.String` | `calculationType`
    `(package private) boolean` | `centroidPacked`
    `boolean` | `continuing`
    `boolean` | `debugging`
    `protected int` | `desiredModelNumber`
    `int` | `desiredSpaceGroupIndex`
    `int` | `desiredVibrationNumber`
    `boolean` | `doApplySymmetry`
    `protected boolean` | `doCentralize`
    `(package private) boolean` | `doCentroidUnitCell`
    `protected boolean` | `doCheckUnitCell`
    `boolean` | `doConvertToFractional`
    `private java.lang.Object` | `domains`
    `boolean` | `doPackUnitCell`
    `boolean` | `doProcessLines`
    `boolean` | `doReadMolecularOrbitals`
    `private boolean` | `doSetOrientation`
    `java.lang.Object` | `dssr`
    `(package private) boolean` | `fileCoordinatesAreFractional`
    `protected java.lang.String` | `fileName`
    `protected javajs.util.P3` | `fileOffset`
    `private javajs.util.P3` | `fileOffsetFractional`
    `protected java.lang.String` | `filePath`
    `protected javajs.util.P3` | `fileScaling`
    `java.lang.Object` | `fillRange`
    `java.lang.String` | `filter`
    `private java.lang.String` | `filter1`
    `private java.lang.String` | `filter2`
    `private boolean` | `filterAltLoc`
    `private boolean` | `filterAtomName`
    `private java.lang.String` | `filterAtomNameTerminator`
    `private boolean` | `filterAtomType`
    `private java.lang.String` | `filterAtomTypeStr`
    `private boolean` | `filterChain`
    `private boolean` | `filterElement`
    `private boolean` | `filterEveryNth`
    `private boolean` | `filterGroup3`
    `protected boolean` | `filterHetero`
    `private int` | `filterN`
    `(package private) java.lang.String` | `filterSymop`
    `private int[]` | `firstLastStep`
    `boolean` | `fixJavaFloat`
    `protected boolean` | `forcePacked`
    `protected boolean` | `getHeader`
    `boolean` | `haveAtomFilter`
    `protected boolean` | `haveModel`
    `protected boolean` | `havePartialChargeFilter`
    `java.util.Map<java.lang.String,java.lang.Object>` | `htParams`
    `protected boolean` | `ignoreFileSpaceGroupName`
    `protected boolean` | `ignoreFileSymmetryOperators`
    `protected boolean` | `ignoreFileUnitCell`
    `protected boolean` | `ignoreStructure`
    `protected boolean` | `iHaveFractionalCoordinates`
    `boolean` | `iHaveSymmetryOperators`
    `boolean` | `iHaveUnitCell`
    `boolean` | `isBinary`
    `protected boolean` | `isConcatenated`
    `protected boolean` | `isDSSP1`
    `protected boolean` | `isFinalized`
    `boolean` | `isMolecular`
    `protected boolean` | `isPrimitive`
    `protected boolean` | `isSequential`
    `protected boolean` | `isTrajectory`
    `private int` | `lastModelNumber`
    `int[]` | `latticeCells`
    `protected float` | `latticeScaling`
    `protected java.lang.String` | `latticeType`
    `java.lang.String` | `line`
    `private javajs.util.SB` | `loadNote`
    `javajs.util.Lst<javajs.util.M4>` | `lstNCS`
    `private javajs.util.M3` | `matRot`
    `protected javajs.util.M3` | `matUnitCellOrientation`
    `(package private) boolean` | `merging`
    `int` | `modDim`
    `int` | `modelNumber`
    `private javajs.util.Lst<java.lang.String>` | `moreUnitCellInfo`
    `MSInterface` | `ms`
    `protected boolean` | `mustFinalizeModelSet`
    `private java.lang.String` | `nameRequired`
    `protected int[]` | `next`
    `private int` | `nFiltered`
    `private int` | `nMatrixElements`
    `protected javajs.util.OC` | `out`
    `float` | `packingError`
    `private java.lang.String` | `previousScript`
    `private java.lang.String` | `previousSpaceGroup`
    `private float[]` | `previousUnitCell`
    `java.lang.String` | `prevline`
    `javajs.util.M3` | `primitiveToCrystal`
    `protected int` | `ptLine`
    `protected javajs.util.P3` | `ptSupercell`
    `protected java.io.BufferedReader` | `reader`
    `protected java.lang.String` | `readerName`
    `protected boolean` | `requiresBSFilter`
    `protected boolean` | `reverseModels`
    `protected boolean` | `rotateHexCell`
    `protected java.lang.String` | `sgName`
    `private java.lang.String` | `siteScript`
    `protected int` | `stateScriptVersionInt`
    `java.lang.String` | `strSupercell`
    `SymmetryInterface` | `symmetry`
    `(package private) float` | `symmetryRange`
    `protected int` | `templateAtomCount`
    `java.util.Map<java.lang.String,java.lang.Object>` | `thisBiomolecule`
    `javajs.util.Lst<javajs.util.P3[]>` | `trajectorySteps`
    `protected javajs.util.P3` | `unitCellOffset`
    `private boolean` | `unitCellOffsetFractional`
    `float[]` | `unitCellParams`
    `protected boolean` | `useAltNames`
    `protected boolean` | `useFileModelNumbers`
    `java.lang.Object` | `validation`
    `int` | `vibrationNumber`
    `boolean` | `vibsFractional`
    `Viewer` | `vwr`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AtomSetCollectionReader()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Atom` | `addAtomXYZSymName(java.lang.String[] tokens, int i, java.lang.String sym, java.lang.String name)`
    `void` | `addExplicitLatticeVector(int i, float[] xyz, int i0)`
    `void` | `addJmolScript(java.lang.String script)`
    `void` | `addSites(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> htSites)`
    `protected void` | `addSiteScript(java.lang.String script)`
    `private boolean` | `allowAtomName(java.lang.String atomName, java.lang.String f)`
    `void` | `appendLoadNote(java.lang.String info)`
    `void` | `appendUunitCellInfo(java.lang.String info)`
    `void` | `applySymmetryAndSetTrajectory()`
    `SymmetryInterface` | `applySymTrajASCR()`
    `void` | `checkCurrentLineForScript()`
    `private boolean` | `checkFilter(Atom atom, java.lang.String f)`
    `boolean` | `checkFilterKey(java.lang.String key)`
    `boolean` | `checkLastModel()` sets continuing and doProcessLines
    `protected boolean` | `checkLine()`
    `protected void` | `checkLineForScript(java.lang.String line)`
    `private boolean` | `checkUnitCell(int n)`
    `private void` | `checkUnitCellOffset()`
    `void` | `clearUnitCell()`
    `protected int` | `cloneLastAtomSet(int ac, javajs.util.P3[] pts)`
    `java.lang.String` | `discardLinesUntilBlank()`
    `java.lang.String` | `discardLinesUntilContains(java.lang.String containsMatch)`
    `java.lang.String` | `discardLinesUntilContains2(java.lang.String s1, java.lang.String s2)`
    `java.lang.String` | `discardLinesUntilNonBlank()`
    `java.lang.String` | `discardLinesUntilStartsWith(java.lang.String startsWith)`
    `protected void` | `discardPreviousAtoms()`
    `boolean` | `doGetModel(int modelNumber, java.lang.String title)`
    `boolean` | `doGetVibration(int vibrationNumber)`
    `protected void` | `doPreSymmetry()`
    `protected double[][]` | `fill3x3(java.lang.String[] tokens, int pt)` fills a double[3][3]
    `protected void` | `fillDataBlock(java.lang.String[][] data, int minLineLen)` fills an array with a pre-defined number of lines of token data, skipping blank lines in the process
    `protected void` | `fillDataBlockFixed(java.lang.String[][] data, int col0, int colWidth, int minLineLen)` Fills an array with a predefined number of lines of data that is arranged in fixed FORTRAN-like column format.
    `protected float[]` | `fillFloatArray(java.lang.String s, int width, float[] data)` fills a float array with string data from a file
    `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)` Extracts a block of frequency data from a file.
    `protected boolean` | `filterAtom(Atom atom, int iAtom)`
    `protected boolean` | `filterReject(java.lang.String f, java.lang.String code, java.lang.String atomCode)`
    `void` | `finalizeMOData(java.util.Map<java.lang.String,java.lang.Object> moData)`
    `void` | `finalizeModelSet()`
    `protected void` | `finalizeReaderASCR()`
    `protected void` | `finalizeSubclassReader()` optional reader-specific method run first.
    `protected void` | `finalizeSubclassSymmetry(boolean haveSymmetry)`
    `private java.lang.Object` | `finish()`
    `private void` | `fixBaseIndices()`
    `void` | `forceSymmetry(boolean andPack)`
    `protected void` | `fractionalizeCoordinates(boolean toFrac)`
    `static java.lang.String` | `getElementSymbol(int elementNumber)`
    `java.lang.String` | `getFilter(java.lang.String key)`
    `protected static javajs.util.Lst<java.lang.Integer>` | `getFortranFormatLengths(java.lang.String s)` get all integers after letters negative entries are spaces (1Xn)
    `java.lang.Object` | `getInterface(java.lang.String className)`
    `protected SymmetryInterface` | `getNewSymmetry()`
    `protected static java.lang.String[]` | `getStrings(java.lang.String sinfo, int nFields, int width)`
    `protected SymmetryInterface` | `getSymmetry()`
    `java.lang.String[]` | `getTokens()`
    `static float[]` | `getTokensFloat(java.lang.String s, float[] f, int n)`
    `private void` | `initialize()`
    `private void` | `initializeCartesianToFractional()`
    `protected void` | `initializeReader()`
    `protected void` | `initializeSymmetry()`
    `protected void` | `initializeSymmetryOptions()`
    `protected void` | `initializeTrajectoryFile()`
    `boolean` | `isLastModel(int modelNumber)` after reading a model, Q: Is this the last model?
    `protected void` | `newAtomSet(java.lang.String name)`
    `protected float` | `parseFloat()`
    `protected float` | `parseFloatRange(java.lang.String s, int iStart, int iEnd)`
    `float` | `parseFloatStr(java.lang.String s)`
    `protected int` | `parseInt()`
    `int` | `parseIntAt(java.lang.String s, int iStart)`
    `protected int` | `parseIntRange(java.lang.String s, int iStart, int iEnd)`
    `int` | `parseIntStr(java.lang.String s)`
    `protected java.lang.String` | `parseToken()`
    `protected java.lang.String` | `parseTokenNext(java.lang.String s)`
    `protected java.lang.String` | `parseTokenRange(java.lang.String s, int iStart, int iEnd)`
    `protected java.lang.String` | `parseTokenStr(java.lang.String s)`
    `protected void` | `processBinaryDocument()`
    `protected void` | `processDOM(java.lang.Object DOMNode)`
    `java.lang.String` | `rd()`
    `protected javajs.util.V3[]` | `read3Vectors(boolean isBohr)` read three vectors, as for unit cube definitions allows for non-numeric data preceding the number block
    `(package private) java.lang.Object` | `readData()`
    `protected java.lang.Object` | `readDataObject(java.lang.Object node)`
    `protected java.lang.String` | `readLines(int nLines)`
    `java.lang.String` | `readNextLine()`
    `boolean` | `rejectAtomName(java.lang.String name)`
    `java.lang.String` | `RL()`
    `protected void` | `set2D()`
    `void` | `setAtomCoord(Atom atom)`
    `Atom` | `setAtomCoordScaled(Atom atom, java.lang.String[] tokens, int i, float f)`
    `protected void` | `setAtomCoordTokens(Atom atom, java.lang.String[] tokens, int i)`
    `void` | `setAtomCoordXYZ(Atom atom, float x, float y, float z)`
    `void` | `setChainID(Atom atom, java.lang.String label)`
    `protected void` | `setElementAndIsotope(Atom atom, java.lang.String str)` allow 13C, 15N, 2H, etc.
    `private void` | `setError(java.lang.Throwable e)`
    `protected void` | `setFilter(java.lang.String filter0)`
    `protected void` | `setFilterAtomTypeStr(java.lang.String s)`
    `void` | `setFractionalCoordinates(boolean TF)`
    `void` | `setIsPDB()`
    `protected java.lang.String` | `setLoadNote()`
    `protected void` | `setModelPDB(boolean isPDB)`
    `void` | `setSpaceGroupName(java.lang.String name)`
    `int` | `setSymmetryOperator(java.lang.String xyz)`
    `void` | `setTransform(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3)`
    `void` | `setUnitCell(float a, float b, float c, float alpha, float beta, float gamma)`
    `void` | `setUnitCellItem(int i, float x)`
    `protected void` | `setup(java.lang.String fullPath, java.util.Map<java.lang.String,java.lang.Object> htParams, java.lang.Object readerOrDocument)`
    `protected void` | `setupASCR(java.lang.String fullPath, java.util.Map<java.lang.String,java.lang.Object> htParams, java.lang.Object readerOrDocument)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### ANGSTROMS_PER_BOHR

          public static final float ANGSTROMS_PER_BOHR

      See Also:
        Constant Field Values

    - #### isBinary

          public boolean isBinary

    - #### debugging

          public boolean debugging

    - #### requiresBSFilter

          protected boolean requiresBSFilter

    - #### primitiveToCrystal

          public javajs.util.M3 primitiveToCrystal

    - #### asc

          public AtomSetCollection asc

    - #### 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

    - #### vwr

          public Viewer vwr

    - #### 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

    - #### symmetry

          public SymmetryInterface symmetry

    - #### 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

    - #### filePath

          protected java.lang.String filePath

    - #### fileName

          protected java.lang.String fileName

    - #### stateScriptVersionInt

          protected int stateScriptVersionInt

    - #### baseAtomIndex

          public int baseAtomIndex

    - #### isFinalized

          protected boolean isFinalized

    - #### haveModel

          protected boolean haveModel

    - #### previousSpaceGroup

          private java.lang.String previousSpaceGroup

    - #### previousUnitCell

          private float[] previousUnitCell

    - #### nMatrixElements

          private int nMatrixElements

    - #### 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

          boolean doCentroidUnitCell

    - #### centroidPacked

          boolean centroidPacked

    - #### strSupercell

          public java.lang.String strSupercell

    - #### filter1

          private java.lang.String filter1

    - #### filter2

          private java.lang.String filter2

    - #### matRot

          private javajs.util.M3 matRot

    - #### ms

          public MSInterface ms

    - #### 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)

    - #### getSymmetry

          protected SymmetryInterface getSymmetry()

    - #### checkUnitCellOffset

          private void checkUnitCellOffset()

    - #### fractionalizeCoordinates

          protected void fractionalizeCoordinates(boolean toFrac)

    - #### getNewSymmetry

          protected SymmetryInterface getNewSymmetry()

    - #### 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)

    - #### 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)