public abstract class AtomSetCollectionReader
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected boolean |
addVibrations |
static float |
ANGSTROMS_PER_BOHR |
boolean |
applySymmetryToBonds |
AtomSetCollection |
atomSetCollection |
protected BS |
bsFilter |
protected BS |
bsModels |
java.lang.String |
calculationType |
private boolean |
centroidPacked |
boolean |
continuing |
protected int |
desiredModelNumber |
private int |
desiredSpaceGroupIndex |
int |
desiredVibrationNumber |
protected boolean |
doApplySymmetry |
protected JmolDocument |
doc |
protected boolean |
doCentralize |
private boolean |
doCentroidUnitCell |
protected boolean |
doCheckUnitCell |
private boolean |
doConvertToFractional |
protected boolean |
doPackUnitCell |
boolean |
doProcessLines |
boolean |
doReadMolecularOrbitals |
private boolean |
doSetOrientation |
private boolean |
fileCoordinatesAreFractional |
protected java.lang.String |
fileName |
protected P3 |
fileOffset |
private P3 |
fileOffsetFractional |
protected java.lang.String |
filePath |
protected P3 |
fileScaling |
protected java.lang.String |
filter |
private java.lang.String |
filter1 |
private java.lang.String |
filter2 |
private boolean |
filterAltLoc |
private boolean |
filterAtomName |
private boolean |
filterAtomType |
protected java.lang.String |
filterAtomTypeStr |
private boolean |
filterChain |
private boolean |
filterElement |
private boolean |
filterEveryNth |
private boolean |
filterGroup3 |
protected boolean |
filterHetero |
private int |
filterN |
private int[] |
firstLastStep |
protected boolean |
getHeader |
private boolean |
haveAtomFilter |
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 |
iHaveFractionalCoordinates |
boolean |
iHaveSymmetryOperators |
boolean |
iHaveUnitCell |
boolean |
isBinary |
protected boolean |
isSequential |
protected boolean |
isTrajectory |
private int |
lastModelNumber |
int[] |
latticeCells |
java.lang.String |
line |
private SB |
loadNote |
private Matrix3f |
matrixRotate |
protected Matrix3f |
matUnitCellOrientation |
private boolean |
merging |
int |
modelNumber |
protected boolean |
mustFinalizeModelSet |
private java.lang.String |
nameRequired |
protected int[] |
next |
private int |
nFiltered |
private int |
nMatrixElements |
protected float[] |
notionalUnitCell |
protected java.io.OutputStream |
os |
private java.lang.String |
previousScript |
private java.lang.String |
previousSpaceGroup |
private float[] |
previousUnitCell |
java.lang.String |
prevline |
protected long |
ptLine |
protected P3 |
ptSupercell |
protected java.io.BufferedReader |
reader |
protected java.lang.String |
readerName |
protected boolean |
reverseModels |
private java.lang.String |
siteScript |
protected java.lang.String |
spaceGroup |
protected int |
stateScriptVersionInt |
protected java.lang.String |
strSupercell |
protected SymmetryInterface |
symmetry |
private float |
symmetryRange |
protected int |
templateAtomCount |
JmolList<P3[]> |
trajectorySteps |
private P3 |
unitCellOffset |
private boolean |
unitCellOffsetFractional |
protected boolean |
useAltNames |
protected int |
vibrationNumber |
Viewer |
viewer |
Constructor and Description |
---|
AtomSetCollectionReader() |
Modifier and Type | Method and Description |
---|---|
protected void |
addJmolScript(java.lang.String script) |
void |
addPrimitiveLatticeVector(int i,
float[] xyz,
int i0) |
protected 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) |
protected java.lang.String |
appendLoadNote(java.lang.String info) |
void |
applySymmetryAndSetTrajectory() |
void |
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 atomCount,
P3[] pts) |
protected void |
discardLinesUntilBlank() |
protected java.lang.String |
discardLinesUntilContains(java.lang.String containsMatch) |
protected java.lang.String |
discardLinesUntilContains2(java.lang.String s1,
java.lang.String s2) |
protected java.lang.String |
discardLinesUntilNonBlank() |
protected java.lang.String |
discardLinesUntilStartsWith(java.lang.String startsWith) |
boolean |
doGetModel(int modelNumber,
java.lang.String title) |
boolean |
doGetVibration(int vibrationNumber) |
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 atomCount,
int modelAtomCount,
boolean[] ignore,
boolean isWide,
int col0,
int colWidth,
int[] atomIndexes,
int minLineLen)
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 |
finalizeReader()
optional reader-specific method run first.
|
protected void |
finalizeReaderASCR() |
private java.lang.Object |
finish() |
private void |
fixBaseIndices() |
static java.lang.String |
getElementSymbol(int elementNumber) |
protected static JmolList<java.lang.Integer> |
getFortranFormatLengths(java.lang.String s)
get all integers after letters
negative entries are spaces (1Xn)
|
protected static java.lang.String[] |
getStrings(java.lang.String sinfo,
int nFields,
int width) |
protected SymmetryInterface |
getSymmetry() |
protected java.lang.String[] |
getTokens() |
protected static java.lang.String[] |
getTokensAt(java.lang.String s,
int iStart) |
protected static float[] |
getTokensFloat(java.lang.String s,
float[] f,
int n) |
static java.lang.String[] |
getTokensStr(java.lang.String s) |
private void |
initialize() |
private void |
initializeCartesianToFractional() |
protected void |
initializeReader() |
protected void |
initializeSymmetry() |
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() |
protected 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 void |
parseStringInfestedFloatArray(java.lang.String s,
float[] data) |
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 static java.lang.String |
parseTrimmedAt(java.lang.String s,
int iStart) |
protected static java.lang.String |
parseTrimmedRange(java.lang.String s,
int iStart,
int iEnd) |
protected void |
processBinaryDocument(JmolDocument doc) |
protected void |
processDOM(java.lang.Object DOMNode) |
protected 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) |
java.lang.String |
readLine() |
protected java.lang.String |
readLines(int nLines) |
java.lang.String |
RL() |
protected void |
set2D() |
void |
setAtomCoord(Atom atom) |
void |
setAtomCoordXYZ(Atom atom,
float x,
float y,
float z) |
void |
setChainID(Atom atom,
char ch) |
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) |
void |
setFractionalCoordinates(boolean TF) |
void |
setIsPDB() |
protected void |
setLoadNote() |
protected void |
setPdb() |
void |
setSpaceGroupName(java.lang.String name) |
void |
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 reader) |
protected void |
setupASCR(java.lang.String fullPath,
java.util.Map<java.lang.String,java.lang.Object> htParams,
java.lang.Object reader) |
public static final float ANGSTROMS_PER_BOHR
public boolean isBinary
public AtomSetCollection atomSetCollection
protected java.io.BufferedReader reader
protected JmolDocument doc
protected java.lang.String readerName
public java.util.Map<java.lang.String,java.lang.Object> htParams
public java.lang.String line
public java.lang.String prevline
protected int[] next
protected long ptLine
public int[] latticeCells
public boolean doProcessLines
public boolean iHaveUnitCell
public boolean iHaveSymmetryOperators
public boolean continuing
public Viewer viewer
protected boolean doApplySymmetry
protected boolean ignoreFileSymmetryOperators
protected boolean isTrajectory
public boolean applySymmetryToBonds
protected boolean doCheckUnitCell
protected boolean getHeader
protected boolean isSequential
protected int templateAtomCount
public int modelNumber
protected int vibrationNumber
public int desiredVibrationNumber
protected BS bsModels
protected boolean havePartialChargeFilter
public java.lang.String calculationType
protected java.lang.String spaceGroup
protected boolean ignoreFileUnitCell
protected boolean ignoreFileSpaceGroupName
protected float[] notionalUnitCell
protected int desiredModelNumber
protected SymmetryInterface symmetry
protected java.io.OutputStream os
protected boolean iHaveFractionalCoordinates
protected boolean doPackUnitCell
protected java.lang.String strSupercell
protected P3 ptSupercell
protected boolean mustFinalizeModelSet
private SB loadNote
private boolean doConvertToFractional
private boolean fileCoordinatesAreFractional
private boolean merging
private float symmetryRange
private int[] firstLastStep
private int lastModelNumber
private int desiredSpaceGroupIndex
protected P3 fileScaling
protected P3 fileOffset
private P3 fileOffsetFractional
private P3 unitCellOffset
private boolean unitCellOffsetFractional
protected java.lang.String filePath
protected java.lang.String fileName
protected int stateScriptVersionInt
public boolean haveModel
private java.lang.String previousSpaceGroup
private float[] previousUnitCell
private int nMatrixElements
protected Matrix3f matUnitCellOrientation
protected BS bsFilter
protected java.lang.String filter
private boolean haveAtomFilter
private boolean filterAltLoc
private boolean filterGroup3
private boolean filterChain
private boolean filterAtomName
private boolean filterAtomType
protected java.lang.String filterAtomTypeStr
private boolean filterElement
protected boolean filterHetero
private boolean filterEveryNth
private int filterN
private int nFiltered
private boolean doSetOrientation
protected boolean doCentralize
protected boolean addVibrations
protected boolean useAltNames
public boolean doReadMolecularOrbitals
protected boolean reverseModels
private java.lang.String nameRequired
private boolean doCentroidUnitCell
private boolean centroidPacked
private java.lang.String filter1
private java.lang.String filter2
private Matrix3f matrixRotate
private java.lang.String previousScript
private java.lang.String siteScript
protected void setup(java.lang.String fullPath, java.util.Map<java.lang.String,java.lang.Object> htParams, java.lang.Object reader)
protected void setupASCR(java.lang.String fullPath, java.util.Map<java.lang.String,java.lang.Object> htParams, java.lang.Object reader)
java.lang.Object readData() throws java.lang.Exception
java.lang.Exception
private void fixBaseIndices()
protected java.lang.Object readDataObject(java.lang.Object node) throws java.lang.Exception
java.lang.Exception
protected void processDOM(java.lang.Object DOMNode)
DOMNode
- protected void processBinaryDocument(JmolDocument doc) throws java.lang.Exception
doc
- java.lang.Exception
protected void initializeReader() throws java.lang.Exception
java.lang.Exception
protected boolean checkLine() throws java.lang.Exception
java.lang.Exception
public boolean checkLastModel()
public boolean isLastModel(int modelNumber)
modelNumber
- protected java.lang.String appendLoadNote(java.lang.String info)
protected void initializeTrajectoryFile()
protected void finalizeReader() throws java.lang.Exception
java.lang.Exception
protected void finalizeReaderASCR() throws java.lang.Exception
java.lang.Exception
protected void setLoadNote()
public void setIsPDB()
protected void setPdb()
private java.lang.Object finish()
private void setError(java.lang.Throwable e)
e
- private void initialize()
public boolean doGetModel(int modelNumber, java.lang.String title)
protected void initializeSymmetry()
protected void newAtomSet(java.lang.String name)
protected int cloneLastAtomSet(int atomCount, P3[] pts) throws java.lang.Exception
java.lang.Exception
public void setSpaceGroupName(java.lang.String name)
public void setSymmetryOperator(java.lang.String xyz)
private void initializeCartesianToFractional()
public void clearUnitCell()
public void setUnitCellItem(int i, float x)
public void setUnitCell(float a, float b, float c, float alpha, float beta, float gamma)
public void addPrimitiveLatticeVector(int i, float[] xyz, int i0)
private boolean checkUnitCell(int n)
private void checkUnitCellOffset()
protected SymmetryInterface getSymmetry()
public void setFractionalCoordinates(boolean TF)
protected void setFilter(java.lang.String filter0)
public boolean checkFilterKey(java.lang.String key)
protected boolean filterAtom(Atom atom, int iAtom)
atom
- iAtom
- private boolean checkFilter(Atom atom, java.lang.String f)
atom
- f
- protected boolean filterReject(java.lang.String f, java.lang.String code, java.lang.String atomCode)
protected void set2D()
public boolean doGetVibration(int vibrationNumber)
public void setTransform(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3)
public void setAtomCoordXYZ(Atom atom, float x, float y, float z)
public void setAtomCoord(Atom atom)
protected void addSites(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> htSites)
public void applySymmetryAndSetTrajectory() throws java.lang.Exception
java.lang.Exception
public void applySymTrajASCR() throws java.lang.Exception
java.lang.Exception
public void finalizeMOData(java.util.Map<java.lang.String,java.lang.Object> moData)
public static java.lang.String getElementSymbol(int elementNumber)
protected void fillDataBlockFixed(java.lang.String[][] data, int col0, int colWidth, int minLineLen) throws java.lang.Exception
data
- col0
- colWidth
- minLineLen
- TODOjava.lang.Exception
protected void fillDataBlock(java.lang.String[][] data, int minLineLen) throws java.lang.Exception
data
- minLineLen
- TODOjava.lang.Exception
protected float[] fillFloatArray(java.lang.String s, int width, float[] data) throws java.lang.Exception
s
- string data containing floatswidth
- column width or 0 to read tokensdata
- result data to be filledjava.lang.Exception
protected void fillFrequencyData(int iAtom0, int atomCount, int modelAtomCount, boolean[] ignore, boolean isWide, int col0, int colWidth, int[] atomIndexes, int minLineLen) throws java.lang.Exception
iAtom0
- the first atom to be assigned a frequencyatomCount
- the number of atoms to be assignedmodelAtomCount
- the number of atoms in each modelignore
- 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 readisWide
- 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 startscolWidth
- the width of the data columnsatomIndexes
- an array either null or indicating exactly which atoms get the
frequencies (used by CrystalReader)minLineLen
- TODOjava.lang.Exception
protected java.lang.String readLines(int nLines) throws java.lang.Exception
java.lang.Exception
protected java.lang.String discardLinesUntilStartsWith(java.lang.String startsWith) throws java.lang.Exception
java.lang.Exception
protected java.lang.String discardLinesUntilContains(java.lang.String containsMatch) throws java.lang.Exception
java.lang.Exception
protected java.lang.String discardLinesUntilContains2(java.lang.String s1, java.lang.String s2) throws java.lang.Exception
java.lang.Exception
protected void discardLinesUntilBlank() throws java.lang.Exception
java.lang.Exception
protected java.lang.String discardLinesUntilNonBlank() throws java.lang.Exception
java.lang.Exception
protected void checkLineForScript(java.lang.String line)
public void checkCurrentLineForScript()
protected void addJmolScript(java.lang.String script)
protected void addSiteScript(java.lang.String script)
public java.lang.String readLine() throws java.lang.Exception
java.lang.Exception
public java.lang.String RL() throws java.lang.Exception
java.lang.Exception
protected static final java.lang.String[] getStrings(java.lang.String sinfo, int nFields, int width)
protected java.lang.String[] getTokens()
protected void parseStringInfestedFloatArray(java.lang.String s, float[] data)
protected static float[] getTokensFloat(java.lang.String s, float[] f, int n)
public static java.lang.String[] getTokensStr(java.lang.String s)
protected static java.lang.String[] getTokensAt(java.lang.String s, int iStart)
protected float parseFloat()
public float parseFloatStr(java.lang.String s)
protected float parseFloatRange(java.lang.String s, int iStart, int iEnd)
protected int parseInt()
public int parseIntStr(java.lang.String s)
protected int parseIntAt(java.lang.String s, int iStart)
protected int parseIntRange(java.lang.String s, int iStart, int iEnd)
protected java.lang.String parseToken()
protected java.lang.String parseTokenStr(java.lang.String s)
protected java.lang.String parseTokenNext(java.lang.String s)
protected java.lang.String parseTokenRange(java.lang.String s, int iStart, int iEnd)
protected static java.lang.String parseTrimmedAt(java.lang.String s, int iStart)
protected static java.lang.String parseTrimmedRange(java.lang.String s, int iStart, int iEnd)
protected static JmolList<java.lang.Integer> getFortranFormatLengths(java.lang.String s)
s
- protected V3[] read3Vectors(boolean isBohr) throws java.lang.Exception
isBohr
- java.lang.Exception
protected void setElementAndIsotope(Atom atom, java.lang.String str)
atom
- str
- public void finalizeModelSet()
public void setChainID(Atom atom, char ch)