public class CifReader extends AtomSetCollectionReader
http://www.iucr.org/iucr-top/cif/ http://www.iucr.org/iucr-top/cif/standard/cifstd5.html
Modifier and Type | Field and Description |
---|---|
protected int |
ac |
private static byte |
ADP_TYPE |
private boolean |
allowRotations |
private static byte |
ALT_ID |
private static byte |
ANISO_B11 |
private static byte |
ANISO_B12 |
private static byte |
ANISO_B13 |
private static byte |
ANISO_B22 |
private static byte |
ANISO_B23 |
private static byte |
ANISO_B33 |
private static byte |
ANISO_BETA_11 |
private static byte |
ANISO_BETA_12 |
private static byte |
ANISO_BETA_13 |
private static byte |
ANISO_BETA_22 |
private static byte |
ANISO_BETA_23 |
private static byte |
ANISO_BETA_33 |
private static byte |
ANISO_LABEL |
private static byte |
ANISO_MMCIF_ID |
private static byte |
ANISO_MMCIF_U11 |
private static byte |
ANISO_MMCIF_U12 |
private static byte |
ANISO_MMCIF_U13 |
private static byte |
ANISO_MMCIF_U22 |
private static byte |
ANISO_MMCIF_U23 |
private static byte |
ANISO_MMCIF_U33 |
private static byte |
ANISO_U11 |
private static byte |
ANISO_U12 |
private static byte |
ANISO_U13 |
private static byte |
ANISO_U22 |
private static byte |
ANISO_U23 |
private static byte |
ANISO_U33 |
private java.lang.String |
appendedData |
private static byte |
ASYM_ID |
private static byte |
ATOM_ID |
private static byte |
ATOM_TYPE_OXIDATION_NUMBER |
private static byte |
ATOM_TYPE_SYMBOL |
private static java.lang.String[] |
atomFields |
private float[] |
atomRadius |
private Atom[] |
atoms |
private static java.lang.String[] |
atomTypeFields |
private java.util.Map<java.lang.String,java.lang.Float> |
atomTypes |
private java.lang.String |
auditBlockCode |
private static byte |
AUTH_ASYM_ID |
private static byte |
AUTH_ATOM |
private static byte |
AUTH_SEQ_ID |
private static byte |
B_ISO |
private javajs.util.Lst<java.lang.Object[]> |
bondTypes |
private BS[] |
bsConnected |
private BS |
bsExclude |
private BS |
bsMolecule |
private BS[] |
bsSets |
private static byte |
CARTN_X |
private static byte |
CARTN_Y |
private static byte |
CARTN_Z |
private static byte |
CC_ATOM_CHARGE |
private static byte |
CC_ATOM_ID |
private static byte |
CC_ATOM_SYM |
private static byte |
CC_ATOM_X |
private static byte |
CC_ATOM_X_IDEAL |
private static byte |
CC_ATOM_Y |
private static byte |
CC_ATOM_Y_IDEAL |
private static byte |
CC_ATOM_Z |
private static byte |
CC_ATOM_Z_IDEAL |
private static byte |
CC_COMP_ID |
private static byte |
CCDC_GEOM_BOND_TYPE |
private java.lang.String |
chemicalName |
private static byte |
CITATION_ID |
private static byte |
CITATION_TITLE |
private static java.lang.String[] |
citationFields |
private static byte |
COMP_ID |
private int |
configurationPtr |
private int |
conformationIndex |
(package private) java.lang.String |
data |
private static byte |
DISORDER_ASSEMBLY |
private static byte |
DISORDER_GROUP |
private java.lang.String |
disorderAssembly |
private static byte |
DUMMY_ATOM |
protected static java.lang.String |
FAMILY_ATOM |
private static java.lang.String |
FAMILY_SGOP |
(package private) java.lang.String |
field |
(package private) int[] |
fieldOf |
private boolean |
filterAssembly |
private int |
firstAtom |
protected char |
firstChar |
private static byte |
FRACT_X |
private static byte |
FRACT_Y |
private static byte |
FRACT_Z |
private static byte |
GEOM_BOND_ATOM_SITE_LABEL_1 |
private static byte |
GEOM_BOND_ATOM_SITE_LABEL_2 |
private static byte |
GEOM_BOND_DISTANCE |
private static java.lang.String[] |
geomBondFields |
private static byte |
GROUP_PDB |
private boolean |
haveAromatic |
(package private) boolean |
haveCellWaveVector |
private java.util.Hashtable<java.lang.String,java.lang.Object> |
htAudit |
private java.util.Map<java.lang.String,java.lang.String> |
htCellTypes |
protected java.util.Map<java.lang.String,java.lang.String> |
htGroup1 |
private boolean |
iHaveDesiredModel |
private static byte |
INS_CODE |
protected boolean |
isCourseGrained |
(package private) boolean |
isMagCIF |
protected boolean |
isMMCIF |
private boolean |
isMolecular |
(package private) java.lang.String |
key |
private static byte |
LABEL |
private char |
lastAltLoc |
private java.lang.String |
lastDisorderAssembly |
private java.lang.String |
lastSpaceGroupName |
private java.lang.String |
latticeType |
private javajs.util.Lst<float[]> |
lattvecs |
private javajs.util.Lst<java.lang.String> |
magCenterings |
private int |
maxSerial |
private int |
modDim |
private static byte |
MODEL_NO |
java.util.Map<java.lang.String,java.lang.Integer> |
modelMap |
private boolean |
modulated |
private java.lang.String |
molecularType |
private static byte |
MOMENT_LABEL |
private static byte |
MOMENT_PRELIM_X |
private static byte |
MOMENT_PRELIM_Y |
private static byte |
MOMENT_PRELIM_Z |
private static byte |
MOMENT_X |
private static byte |
MOMENT_Y |
private static byte |
MOMENT_Z |
private MSCifRdr |
mr |
protected int |
nAtoms |
private int |
nAtoms0 |
private int |
nMolecular |
protected static byte |
NONE |
private static byte |
OCCUPANCY |
(package private) javajs.api.GenericCifDataParser |
parser |
protected int |
propertyCount |
(package private) int[] |
propertyOf |
private javajs.util.P3 |
ptOffset |
private boolean |
readIdeal |
private static byte |
SEQ_ID |
private static java.lang.String |
singleAtomID |
private static byte |
SITE_MULT |
private boolean |
skipping |
private static byte |
SUBSYS_ID |
private static byte |
SYM_EQ_XYZ |
private static byte |
SYM_MAGN_CENTERING |
private static byte |
SYM_MAGN_REV |
private static byte |
SYM_MAGN_REV_PRELIM |
private static byte |
SYM_MAGN_SSG_ALG |
private static byte |
SYM_MAGN_SSG_CENT_XYZ |
private static byte |
SYM_MAGN_SSG_CENTERING |
private static byte |
SYM_MAGN_SSG_REV |
private static byte |
SYM_MAGN_XYZ |
private static byte |
SYM_SSG_ALG |
private static byte |
SYM_SSG_EQ_XYZ |
private static byte |
SYM_XYZ |
private static java.lang.String[] |
symmetryOperationsFields |
private javajs.util.Lst<java.lang.String> |
symops |
private static byte |
THERMAL_TYPE |
private java.lang.String |
thisDataSetName |
private java.lang.String |
thisFormula |
private java.lang.String |
thisStructuralFormula |
private static java.lang.String |
titleRecords |
private static java.lang.String[] |
TransformFields |
private static byte |
TYPE_SYMBOL |
private static byte |
U_ISO_OR_EQUIV |
private boolean |
useAuthorChainID |
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, fileName, fileOffset, filePath, fileScaling, filter, filterHetero, fixJavaFloat, forcePacked, getHeader, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isSequential, isTrajectory, latticeCells, line, matUnitCellOrientation, modelNumber, ms, mustFinalizeModelSet, next, notionalUnitCell, out, packingError, prevline, ptLine, ptSupercell, reader, readerName, reverseModels, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, trajectorySteps, useAltNames, validation, vibrationNumber, vibsFractional, vwr
Constructor and Description |
---|
CifReader() |
Modifier and Type | Method and Description |
---|---|
private void |
addCellType(java.lang.String type,
java.lang.String data,
boolean isFrom) |
private void |
addLatticeVectors() |
private void |
addMore() |
private void |
addNewBond(int i,
int j,
int order)
add the bond and mark it for molecular processing
|
void |
applySymmetryAndSetTrajectory() |
private boolean |
createBonds(boolean doInit)
Use the site bitset to check for atoms that are within +/-dx Angstroms of
the specified distances in GEOM_BOND where dx is determined by the
uncertainty (dx) in the record.
|
private void |
disableField(int fieldIndex)
used for turning off fractional or nonfractional coord.
|
void |
doPreSymmetry() |
protected int |
fieldProperty(int i) |
protected boolean |
filterCIFAtom(Atom atom,
java.lang.String assemblyId) |
protected void |
finalizeSubclass() |
protected void |
finalizeSubclassReader()
optional reader-specific method run first.
|
protected void |
finalizeSubclassSymmetry(boolean haveSymmetry) |
int |
getBondOrder(java.lang.String field) |
private boolean |
getData() |
private MSCifRdr |
getModulationReader() |
private MSCifRdr |
initializeMSCIF() |
void |
initializeReader() |
protected void |
initSubclass() |
protected void |
newModel(int modelNo) |
private void |
nextAtomSet() |
(package private) void |
parseLoopParameters(java.lang.String[] fields)
sets up arrays and variables for tokenizer.getData()
|
(package private) void |
parseLoopParametersFor(java.lang.String key,
java.lang.String[] fields) |
(package private) boolean |
processAtomSiteLoopBlock(boolean isLigand)
reads atom data in any order
|
private void |
processAtomTypeLoopBlock()
reads the oxidation number and associates it with an atom name, which can
then later be associated with the right atom indirectly.
|
private void |
processCellParameter()
unit cell parameters -- two options, so we use MOD 6
|
private java.lang.String |
processChemicalInfo(java.lang.String type)
reads some of the more interesting info into specific atomSetAuxiliaryInfo
elements
|
private void |
processCitationListBlock() |
private void |
processDataParameter()
initialize a new atom set
|
private void |
processGeomBondLoopBlock()
reads bond data -- N_ijk symmetry business is ignored, so we only indicate
bonds within the unit cell to just the original set of atoms.
|
private void |
processLoopBlock()
processes loop_ blocks of interest or skips the data
|
protected boolean |
processSubclassAtom(Atom atom,
java.lang.String assemblyId,
java.lang.String strChain) |
protected void |
processSubclassEntry() |
protected boolean |
processSubclassLoopBlock() |
private void |
processSymmetryOperationsLoopBlock()
retrieves symmetry operations
|
private void |
processSymmetrySpaceGroupName()
done by AtomSetCollectionReader
|
private void |
processUnitCellTransform() |
private void |
processUnitCellTransformMatrix()
the PDB transformation matrix cartesian --> fractional
|
private boolean |
readAllData() |
private void |
readCifData() |
private void |
readSingleAtom()
No need for anything other than the atom name and symbol; coordinates will
be (0 0 0), and no other information is needed.
|
private void |
setBondingAndMolecules()
(1) If GEOM_BOND records are present, we (a) use them to generate bonds (b)
add H atoms to bonds if necessary (c) turn off autoBonding ("hasBonds") (2)
If MOLECULAR, then we (a) use {1 1 1} if lattice is not defined (b) use
asc.bonds[] to construct a preliminary molecule and connect as we go (c)
check symmetry for connections to molecule in any one of the 27 3x3
adjacent cells (d) move those atoms and their connected branch set (e)
iterate as necessary to get all atoms desired (f) delete unselected atoms
(g) set all coordinates as Cartesians (h) remove all unit cell information
|
private void |
setBs(Atom[] atoms,
int iatom,
BS[] bsBonds,
BS bs)
iteratively run through connected atoms, adding them to the set
|
addAtomXYZSymName, addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLine, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, forceSymmetry, getElementSymbol, getFilter, getFortranFormatLengths, getInterface, getNewSymmetry, getStrings, getSymmetry, getTokens, getTokensFloat, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processBinaryDocument, processDOM, processDSSR, rd, read3Vectors, readDataObject, readLines, readNextLine, rejectAtomName, RL, set2D, setAtomCoord, setAtomCoordScaled, setAtomCoordTokens, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFilterAtomTypeStr, setFractionalCoordinates, setIsPDB, setLoadNote, setModelPDB, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem, setup, setupASCR
private static final java.lang.String titleRecords
private MSCifRdr mr
javajs.api.GenericCifDataParser parser
private boolean isMolecular
private boolean filterAssembly
private boolean allowRotations
private boolean readIdeal
private int configurationPtr
private boolean useAuthorChainID
private java.lang.String thisDataSetName
private java.lang.String chemicalName
private java.lang.String thisStructuralFormula
private java.lang.String thisFormula
private boolean iHaveDesiredModel
protected boolean isMMCIF
boolean isMagCIF
private java.lang.String molecularType
private char lastAltLoc
private boolean haveAromatic
private int conformationIndex
private int nMolecular
private java.lang.String appendedData
private boolean skipping
protected int nAtoms
protected int ac
private java.lang.String auditBlockCode
private java.lang.String lastSpaceGroupName
private boolean modulated
protected boolean isCourseGrained
boolean haveCellWaveVector
private java.lang.String latticeType
private int modDim
protected java.util.Map<java.lang.String,java.lang.String> htGroup1
private int nAtoms0
private java.util.Map<java.lang.String,java.lang.String> htCellTypes
public java.util.Map<java.lang.String,java.lang.Integer> modelMap
private java.util.Hashtable<java.lang.String,java.lang.Object> htAudit
private javajs.util.Lst<java.lang.String> symops
private static final java.lang.String[] TransformFields
java.lang.String key
java.lang.String data
int[] propertyOf
int[] fieldOf
java.lang.String field
protected char firstChar
protected int propertyCount
private java.util.Map<java.lang.String,java.lang.Float> atomTypes
private javajs.util.Lst<java.lang.Object[]> bondTypes
private java.lang.String disorderAssembly
private java.lang.String lastDisorderAssembly
private javajs.util.Lst<float[]> lattvecs
private javajs.util.Lst<java.lang.String> magCenterings
private int maxSerial
private static final byte ATOM_TYPE_SYMBOL
private static final byte ATOM_TYPE_OXIDATION_NUMBER
private static final java.lang.String[] atomTypeFields
protected static final byte NONE
private static final byte TYPE_SYMBOL
private static final byte LABEL
private static final byte AUTH_ATOM
private static final byte FRACT_X
private static final byte FRACT_Y
private static final byte FRACT_Z
private static final byte CARTN_X
private static final byte CARTN_Y
private static final byte CARTN_Z
private static final byte OCCUPANCY
private static final byte B_ISO
private static final byte COMP_ID
private static final byte AUTH_ASYM_ID
private static final byte AUTH_SEQ_ID
private static final byte INS_CODE
private static final byte ALT_ID
private static final byte GROUP_PDB
private static final byte MODEL_NO
private static final byte DUMMY_ATOM
private static final byte DISORDER_GROUP
private static final byte ANISO_LABEL
private static final byte ANISO_MMCIF_ID
private static final byte ANISO_U11
private static final byte ANISO_U22
private static final byte ANISO_U33
private static final byte ANISO_U12
private static final byte ANISO_U13
private static final byte ANISO_U23
private static final byte ANISO_MMCIF_U11
private static final byte ANISO_MMCIF_U22
private static final byte ANISO_MMCIF_U33
private static final byte ANISO_MMCIF_U12
private static final byte ANISO_MMCIF_U13
private static final byte ANISO_MMCIF_U23
private static final byte U_ISO_OR_EQUIV
private static final byte ANISO_B11
private static final byte ANISO_B22
private static final byte ANISO_B33
private static final byte ANISO_B12
private static final byte ANISO_B13
private static final byte ANISO_B23
private static final byte ANISO_BETA_11
private static final byte ANISO_BETA_22
private static final byte ANISO_BETA_33
private static final byte ANISO_BETA_12
private static final byte ANISO_BETA_13
private static final byte ANISO_BETA_23
private static final byte ADP_TYPE
private static final byte CC_COMP_ID
private static final byte CC_ATOM_ID
private static final byte CC_ATOM_SYM
private static final byte CC_ATOM_CHARGE
private static final byte CC_ATOM_X
private static final byte CC_ATOM_Y
private static final byte CC_ATOM_Z
private static final byte CC_ATOM_X_IDEAL
private static final byte CC_ATOM_Y_IDEAL
private static final byte CC_ATOM_Z_IDEAL
private static final byte DISORDER_ASSEMBLY
private static final byte ASYM_ID
private static final byte SUBSYS_ID
private static final byte SITE_MULT
private static final byte THERMAL_TYPE
private static final byte MOMENT_LABEL
private static final byte MOMENT_PRELIM_X
private static final byte MOMENT_PRELIM_Y
private static final byte MOMENT_PRELIM_Z
private static final byte MOMENT_X
private static final byte MOMENT_Y
private static final byte MOMENT_Z
private static final byte ATOM_ID
private static final byte SEQ_ID
protected static final java.lang.String FAMILY_ATOM
private static final java.lang.String[] atomFields
private static final java.lang.String singleAtomID
private static final byte CITATION_ID
private static final byte CITATION_TITLE
private static final java.lang.String[] citationFields
private static final byte SYM_XYZ
private static final byte SYM_MAGN_XYZ
private static final byte SYM_SSG_ALG
private static final byte SYM_MAGN_SSG_ALG
private static final byte SYM_EQ_XYZ
private static final byte SYM_SSG_EQ_XYZ
private static final byte SYM_MAGN_REV
private static final byte SYM_MAGN_SSG_REV
private static final byte SYM_MAGN_REV_PRELIM
private static final byte SYM_MAGN_CENTERING
private static final byte SYM_MAGN_SSG_CENTERING
private static final byte SYM_MAGN_SSG_CENT_XYZ
private static final java.lang.String FAMILY_SGOP
private static final java.lang.String[] symmetryOperationsFields
private static final byte GEOM_BOND_ATOM_SITE_LABEL_1
private static final byte GEOM_BOND_ATOM_SITE_LABEL_2
private static final byte GEOM_BOND_DISTANCE
private static final byte CCDC_GEOM_BOND_TYPE
private static final java.lang.String[] geomBondFields
private float[] atomRadius
private BS[] bsConnected
private BS[] bsSets
private final javajs.util.P3 ptOffset
private BS bsMolecule
private BS bsExclude
private int firstAtom
private Atom[] atoms
public void initializeReader() throws java.lang.Exception
initializeReader
in class AtomSetCollectionReader
java.lang.Exception
protected void initSubclass()
private void readCifData() throws java.lang.Exception
java.lang.Exception
private boolean readAllData() throws java.lang.Exception
java.lang.Exception
protected void processSubclassEntry() throws java.lang.Exception
java.lang.Exception
private void processUnitCellTransform()
private void addCellType(java.lang.String type, java.lang.String data, boolean isFrom)
private void readSingleAtom()
private MSCifRdr getModulationReader() throws java.lang.Exception
java.lang.Exception
private MSCifRdr initializeMSCIF() throws java.lang.Exception
java.lang.Exception
protected void newModel(int modelNo) throws java.lang.Exception
java.lang.Exception
protected void finalizeSubclassReader() throws java.lang.Exception
AtomSetCollectionReader
finalizeSubclassReader
in class AtomSetCollectionReader
java.lang.Exception
protected void finalizeSubclass() throws java.lang.Exception
java.lang.Exception
public void doPreSymmetry() throws java.lang.Exception
doPreSymmetry
in class AtomSetCollectionReader
java.lang.Exception
public void applySymmetryAndSetTrajectory() throws java.lang.Exception
applySymmetryAndSetTrajectory
in class AtomSetCollectionReader
java.lang.Exception
protected void finalizeSubclassSymmetry(boolean haveSymmetry) throws java.lang.Exception
finalizeSubclassSymmetry
in class AtomSetCollectionReader
java.lang.Exception
private void processDataParameter()
private void nextAtomSet()
private java.lang.String processChemicalInfo(java.lang.String type) throws java.lang.Exception
type
- "name" "formula" etc.java.lang.Exception
private void processSymmetrySpaceGroupName() throws java.lang.Exception
java.lang.Exception
private void addLatticeVectors()
private void processCellParameter() throws java.lang.Exception
java.lang.Exception
private void processUnitCellTransformMatrix() throws java.lang.Exception
java.lang.Exception
private boolean getData() throws java.lang.Exception
java.lang.Exception
private void processLoopBlock() throws java.lang.Exception
java.lang.Exception
protected boolean processSubclassLoopBlock() throws java.lang.Exception
java.lang.Exception
private void addMore()
protected int fieldProperty(int i)
void parseLoopParameters(java.lang.String[] fields) throws java.lang.Exception
fields
- java.lang.Exception
void parseLoopParametersFor(java.lang.String key, java.lang.String[] fields) throws java.lang.Exception
java.lang.Exception
private void disableField(int fieldIndex)
fieldIndex
- private void processAtomTypeLoopBlock() throws java.lang.Exception
java.lang.Exception
boolean processAtomSiteLoopBlock(boolean isLigand) throws java.lang.Exception
isLigand
- java.lang.Exception
protected boolean processSubclassAtom(Atom atom, java.lang.String assemblyId, java.lang.String strChain)
atom
- assemblyId
- strChain
- protected boolean filterCIFAtom(Atom atom, java.lang.String assemblyId)
private void processCitationListBlock() throws java.lang.Exception
java.lang.Exception
private void processSymmetryOperationsLoopBlock() throws java.lang.Exception
java.lang.Exception
public int getBondOrder(java.lang.String field)
private void processGeomBondLoopBlock() throws java.lang.Exception
java.lang.Exception
private void setBondingAndMolecules()
private boolean createBonds(boolean doInit)
doInit
- private void addNewBond(int i, int j, int order)
i
- j
- order
-