# Class JmolDataReader

java.lang.Object
org.jmol.adapter.smarter.AtomSetCollectionReader
org.jmol.adapter.readers.pdb.PdbReader
org.jmol.adapter.readers.pdb.JmolDataReader

All Implemented Interfaces:
  `GenericLineReader`

public class JmolDataReader extends PdbReader
JmolData file reader, for a modified PDB format This class also holds pseudo-static methods for spin

## Field Summary

### Fields inherited from class PdbReader

`biomtChainAtomCounts, fileAtomIndex, gromacsWideFormat, pdbID`

### Fields inherited from class AtomSetCollectionReader

`addedData, addedDataKey, addVibrations, allow_a_len_1, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, baseBondIndex, binaryDoc, bsFilter, bsModels, calculationType, CELL_TYPE_CONVENTIONAL, CELL_TYPE_PRIMITIVE, CELL_TYPE_SUPER, cellSlop, centroidPacked, checkNearAtoms, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCentroidUnitCell, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterAllHetero, filterCased, filteredPrecision, filterHetero, floatifyJavaDouble, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, is2D, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isSUPERCELL, isTrajectory, latticeCells, latticeScaling, latticeType, line, lowPrecision, lstNCS, matUnitCellOrientation, merging, modDim, modelNumber, ms, mustFinalizeModelSet, next, noHydrogens, noMinimize, noPack, optimize2D, out, paramsCentroid, paramsLattice, precision, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, slabXY, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, ucItems, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr`

## Constructor Summary

Constructors
Constructor
Description
`JmolDataReader()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`checkRemark()`
`protected void`
`finalizeSubclassReader()`
`Object[]`
`getJmolDataFrameProperties(ScriptEval e, int tok, int[] propToks, String[] props, BS bs, P3 minXYZ, P3 maxXYZ, String format, boolean isPdbFormat)`
`String[]`
`getJmolDataFrameScripts(Viewer vwr, int tok, int modelIndex, int modelCount, String type, String qFrame, String[] props, boolean isSpinPointGroup)`
`BS`
`getPlotSpinSet(Viewer vwr, BS bs, int modelIndex, P3 minXYZ, P3 maxXYZ)`
remove non-spin atoms and atoms with duplicated spin and set min/max XYZ for the plot
`protected void`
`processAtom2(Atom atom, int serial, float x, float y, float z, int charge)`
`protected void`
`setAdditionalAtomParameters(Atom atom)`
adaptable via subclassing
`void`
`setJmolDataFrame(ModelSet ms, String type, int modelIndex, int modelDataIndex)`
Set up the JmolDataFrame initially

### Methods inherited from class PdbReader

`checkLine, deduceElementSymbol, filterPDBAtom, finalizeReaderPDB, fixRadius, initializeReader, model, processAtom`

### Methods inherited from class AtomSetCollectionReader

`addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addMoreUnitCellInfo, addSites, addSiteScript, appendLoadNote, applySymmetryAndSetTrajectory, applySymTrajASCR, checkAndRemoveFilterKey, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, discardPreviousAtoms, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassSymmetry, fixDoubleA, fixFloatA, fixFloatPt, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, getFilterWithCase, getFortranFormatLengths, getInterface, getPackingRangeValue, getStrings, getSymmetry, getTokens, getTokensFloat, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parsePrecision, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processBinaryDocument, processDOM, rd, read3Vectors, readDataObject, readLines, readNextLine, rejectAtomName, RL, set2D, setAtomCoord, setAtomCoordScaled, setAtomCoordTokens, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFilterAtomTypeStr, setFractionalCoordinates, setIsPDB, setLoadNote, setModelPDB, setPrecision, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem, setup, setupASCR, warnSkippingOperation`

### Methods inherited from class Object

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

## Constructor Details

### JmolDataReader

public JmolDataReader()

## Method Details

### checkRemark

protected void checkRemark()

Overrides:
  `checkRemark` in class `PdbReader`

### processAtom2

protected void processAtom2(Atom atom, int serial, float x, float y, float z, int charge)

Overrides:
  `processAtom2` in class `PdbReader`

### setAdditionalAtomParameters

protected void setAdditionalAtomParameters(Atom atom)
Description copied from class: `PdbReader`
adaptable via subclassing

Overrides:
  `setAdditionalAtomParameters` in class `PdbReader`
Parameters:
  `atom` -

### finalizeSubclassReader

protected void finalizeSubclassReader() throws Exception

Overrides:
  `finalizeSubclassReader` in class `PdbReader`
Throws:
  `Exception`

### getJmolDataFrameScripts

public String[] getJmolDataFrameScripts(Viewer vwr, int tok, int modelIndex, int modelCount, String type, String qFrame, String[] props, boolean isSpinPointGroup)

### getJmolDataFrameProperties

public Object[] getJmolDataFrameProperties(ScriptEval e, int tok, int[] propToks, String[] props, BS bs, P3 minXYZ, P3 maxXYZ, String format, boolean isPdbFormat) throws ScriptException

Throws:
  `ScriptException`

### setJmolDataFrame

public void setJmolDataFrame(ModelSet ms, String type, int modelIndex, int modelDataIndex)
Set up the JmolDataFrame initially

Parameters:
  `ms` -
  `type` -
  `modelIndex` -
  `modelDataIndex` -

### getPlotSpinSet

public BS getPlotSpinSet(Viewer vwr, BS bs, int modelIndex, P3 minXYZ, P3 maxXYZ)
remove non-spin atoms and atoms with duplicated spin and set min/max XYZ for the plot

Parameters:
  `vwr` -
  `bs` -
  `modelIndex` -
  `minXYZ` -
  `maxXYZ` -
Returns:
  bitset for plot