public abstract class AtomSetCollectionReader
extends java.lang.Object
implements javajs.api.GenericLineReader
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 BS |
bsFilter |
protected BS |
bsModels |
java.lang.String |
calculationType |
(package private) boolean |
centroidPacked |
boolean |
continuing |
protected int |
desiredModelNumber |
int |
desiredSpaceGroupIndex |
int |
desiredVibrationNumber |
boolean |
doApplySymmetry |
protected boolean |
doCentralize |
(package private) boolean |
doCentroidUnitCell |
protected boolean |
doCheckUnitCell |
(package private) boolean |
doConvertToFractional |
private java.lang.Object |
domains |
boolean |
doPackUnitCell |
boolean |
doProcessLines |
boolean |
doReadMolecularOrbitals |
private boolean |
doSetOrientation |
(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.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 |
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 |
isConcatenated |
private boolean |
isFinalized |
protected boolean |
isSequential |
protected boolean |
isTrajectory |
private int |
lastModelNumber |
int[] |
latticeCells |
java.lang.String |
line |
private javajs.util.SB |
loadNote |
private javajs.util.M3 |
matRot |
protected javajs.util.M3 |
matUnitCellOrientation |
(package private) boolean |
merging |
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 |
float[] |
notionalUnitCell |
protected javajs.util.OC |
out |
float |
packingError |
private java.lang.String |
previousScript |
private java.lang.String |
previousSpaceGroup |
private float[] |
previousUnitCell |
java.lang.String |
prevline |
protected int |
ptLine |
protected javajs.util.P3 |
ptSupercell |
protected java.io.BufferedReader |
reader |
protected java.lang.String |
readerName |
protected boolean |
reverseModels |
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 |
javajs.util.Lst<javajs.util.P3[]> |
trajectorySteps |
(package private) javajs.util.P3 |
unitCellOffset |
private boolean |
unitCellOffsetFractional |
protected boolean |
useAltNames |
java.lang.Object |
validation |
protected int |
vibrationNumber |
boolean |
vibsFractional |
Viewer |
vwr |
Constructor and Description |
---|
AtomSetCollectionReader() |
Modifier and Type | Method and Description |
---|---|
Atom |
addAtomXYZSymName(java.lang.String[] tokens,
int i,
java.lang.String sym,
java.lang.String name) |
void |
addJmolScript(java.lang.String script) |
void |
addPrimitiveLatticeVector(int i,
float[] xyz,
int i0) |
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) |
boolean |
doGetModel(int modelNumber,
java.lang.String title) |
boolean |
doGetVibration(int vibrationNumber) |
protected void |
doPreSymmetry() |
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)
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) |
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) |
protected void |
processDSSR(javajs.api.GenericLineReader reader,
java.util.Map<java.lang.String,java.lang.String> htGroup1) |
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 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 asc
protected java.io.BufferedReader reader
protected javajs.api.GenericBinaryDocument binaryDoc
protected java.lang.String readerName
public java.util.Map<java.lang.String,java.lang.Object> htParams
public javajs.util.Lst<javajs.util.P3[]> trajectorySteps
private java.lang.Object domains
public java.lang.Object validation
protected boolean isConcatenated
public java.lang.String addedData
public java.lang.String addedDataKey
public boolean fixJavaFloat
public java.lang.String line
public java.lang.String prevline
protected int[] next
protected int ptLine
public int[] latticeCells
public boolean doProcessLines
public boolean iHaveUnitCell
public boolean iHaveSymmetryOperators
public boolean continuing
public Viewer vwr
public 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 sgName
protected boolean ignoreFileUnitCell
protected boolean ignoreFileSpaceGroupName
public float[] notionalUnitCell
protected int desiredModelNumber
public SymmetryInterface symmetry
protected javajs.util.OC out
protected boolean iHaveFractionalCoordinates
public boolean doPackUnitCell
protected javajs.util.P3 ptSupercell
protected boolean mustFinalizeModelSet
protected boolean forcePacked
public float packingError
private javajs.util.SB loadNote
boolean doConvertToFractional
boolean fileCoordinatesAreFractional
boolean merging
float symmetryRange
private int[] firstLastStep
private int lastModelNumber
public int desiredSpaceGroupIndex
protected javajs.util.P3 fileScaling
protected javajs.util.P3 fileOffset
private javajs.util.P3 fileOffsetFractional
javajs.util.P3 unitCellOffset
private boolean unitCellOffsetFractional
private javajs.util.Lst<java.lang.String> moreUnitCellInfo
protected java.lang.String filePath
protected java.lang.String fileName
protected int stateScriptVersionInt
public int baseAtomIndex
private boolean isFinalized
public boolean haveModel
private java.lang.String previousSpaceGroup
private float[] previousUnitCell
private int nMatrixElements
protected javajs.util.M3 matUnitCellOrientation
protected BS bsFilter
public java.lang.String filter
private boolean haveAtomFilter
private boolean filterAltLoc
private boolean filterGroup3
private boolean filterChain
private boolean filterAtomName
private boolean filterAtomType
private java.lang.String filterAtomTypeStr
private java.lang.String filterAtomNameTerminator
private boolean filterElement
protected boolean filterHetero
private boolean filterEveryNth
java.lang.String filterSymop
private int filterN
private int nFiltered
private boolean doSetOrientation
protected boolean doCentralize
protected boolean addVibrations
protected boolean useAltNames
protected boolean allowPDBFilter
public boolean doReadMolecularOrbitals
protected boolean reverseModels
private java.lang.String nameRequired
boolean doCentroidUnitCell
boolean centroidPacked
public java.lang.String strSupercell
private java.lang.String filter1
private java.lang.String filter2
private javajs.util.M3 matRot
public MSInterface ms
public boolean vibsFractional
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() throws java.lang.Exception
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
- public void appendLoadNote(java.lang.String info)
protected void initializeTrajectoryFile()
protected void finalizeSubclassReader() throws java.lang.Exception
java.lang.Exception
protected void finalizeReaderASCR() throws java.lang.Exception
java.lang.Exception
protected java.lang.String setLoadNote()
public void setIsPDB()
protected void setModelPDB(boolean isPDB)
private java.lang.Object finish()
private void setError(java.lang.Throwable e)
e
- private void initialize()
protected void initializeSymmetryOptions()
public boolean doGetModel(int modelNumber, java.lang.String title)
protected void initializeSymmetry()
protected void newAtomSet(java.lang.String name)
protected int cloneLastAtomSet(int ac, javajs.util.P3[] pts) throws java.lang.Exception
java.lang.Exception
public void setSpaceGroupName(java.lang.String name)
public int 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)
protected SymmetryInterface getSymmetry()
private void checkUnitCellOffset()
protected SymmetryInterface getNewSymmetry()
public void setFractionalCoordinates(boolean TF)
protected void setFilterAtomTypeStr(java.lang.String s)
protected void setFilter(java.lang.String filter0)
public java.lang.String getFilter(java.lang.String key)
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
- public boolean rejectAtomName(java.lang.String name)
private boolean allowAtomName(java.lang.String atomName, java.lang.String 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 Atom setAtomCoordScaled(Atom atom, java.lang.String[] tokens, int i, float f)
protected void setAtomCoordTokens(Atom atom, java.lang.String[] tokens, int i)
public Atom addAtomXYZSymName(java.lang.String[] tokens, int i, java.lang.String sym, java.lang.String name)
public void setAtomCoord(Atom atom)
public 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 SymmetryInterface applySymTrajASCR() throws java.lang.Exception
java.lang.Exception
protected void finalizeSubclassSymmetry(boolean haveSymmetry) throws java.lang.Exception
haveSymmetry
- java.lang.Exception
protected void doPreSymmetry() 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 ac, 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 frequencyac
- 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
public java.lang.String discardLinesUntilStartsWith(java.lang.String startsWith) throws java.lang.Exception
java.lang.Exception
public java.lang.String discardLinesUntilContains(java.lang.String containsMatch) throws java.lang.Exception
java.lang.Exception
public java.lang.String discardLinesUntilContains2(java.lang.String s1, java.lang.String s2) throws java.lang.Exception
java.lang.Exception
public java.lang.String discardLinesUntilBlank() throws java.lang.Exception
java.lang.Exception
public java.lang.String discardLinesUntilNonBlank() throws java.lang.Exception
java.lang.Exception
protected void checkLineForScript(java.lang.String line)
public void checkCurrentLineForScript()
public void addJmolScript(java.lang.String script)
protected void addSiteScript(java.lang.String script)
public java.lang.String rd() 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)
public java.lang.String[] getTokens()
public static float[] getTokensFloat(java.lang.String s, float[] f, int n)
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)
public 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 javajs.util.Lst<java.lang.Integer> getFortranFormatLengths(java.lang.String s)
s
- protected javajs.util.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, java.lang.String label)
public java.lang.String readNextLine() throws java.lang.Exception
readNextLine
in interface javajs.api.GenericLineReader
java.lang.Exception
protected void processDSSR(javajs.api.GenericLineReader reader, java.util.Map<java.lang.String,java.lang.String> htGroup1) throws java.lang.Exception
java.lang.Exception
public void appendUunitCellInfo(java.lang.String info)
public java.lang.Object getInterface(java.lang.String className)
public void forceSymmetry(boolean andPack)