Class MMCifReader
java.lang.Object
org.jmol.adapter.smarter.AtomSetCollectionReader
org.jmol.adapter.readers.cif.CifReader
org.jmol.adapter.readers.cif.MMCifReader
- All Implemented Interfaces:
GenericLineReader
- Direct Known Subclasses:
BCIFReader, MMTFReader
mmCIF files are recognized prior to class creation.
Required fields include one of:
_entry.id
_database_PDB_
_pdbx_
_chem_comp.pdbx_type
_audit_author.name
_atom_site.
- Author:
- Bob Hanson (hansonr@stolaf.edu)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected booleanprotected booleanFields inherited from class CifReader
ac, CAT_ATOM_SITE, CAT_ATOM_SITES, CAT_ATOM_TYPE, CAT_CELL, EMPTY, firstChar, htGroup1, iHaveDesiredModel, isCourseGrained, isLigand, isLoop, isMagCIF, isMMCIF, isSpinCIF, lastDataSetName, maxSerial, modelMap, nAtoms, nAtoms0, NONE, pdbID, skipping, symops, thisDataSetName, useAuthorChainIDFields 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAssembly(String[] assem) protected voidprotected voidprotected voidcheckFilterAssembly(String id, Map<String, Object> info) protected intcheckPDBModelField(int modelField, int currentModelNo) protected boolean/////////////////////////////////////////////////////////////protected booleanprotected intincrementModel(int modelNo) protected voidprotected intparseIntFieldTok(byte tok) protected booleanprotected booleana general name definition field.protected booleanprotected booleanget canonical 1-letter DNA/RNA sequence code from 3-letter code.protected booleanidentifies ranges for HELIX and TURNprotected booleanprotected booleanprocessStructOperListBlock(boolean isNCS) protected booleanidentifies sheet rangesprotected booleanidentifies structure sitesbooleanprocessSubclassAtom(Atom atom, String assemblyId, String strChain) protected voidprotected booleanprotected voidissue here is that mmCIF assembly atoms can be in different blocks by chain: Model1:Chain1 Model2:Chain1 Model1:Chain2 Model2:Chain2 ...Methods inherited from class CifReader
addCifAtom, addHeader, applySymmetryAndSetTrajectory, checkAllFieldsPresent, doPreSymmetry, fieldProperty, filterCIFAtom, finalizeSubclassReader, finalizeSubclassSymmetry, fullTrim, getBondOrder, getCifDataParser, getFieldString, getFloatColumnData, initializeReader, isFieldValid, isLoopKey, isNull, newModel, nextAtomSet, parseCartesianField, parseFloatField, parseIntField, parseLoopParameters, processAtomTypeLoopBlock, processCellParameter, processCitationListBlock, processLoopBlock, processUnitCellTransformMatrix, setSymmetryOperator, skipLoop, skipLoopKeywordMethods inherited from class AtomSetCollectionReader
addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addMoreUnitCellInfo, addSites, addSiteScript, appendLoadNote, applySymTrajASCR, checkAndRemoveFilterKey, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLine, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, discardPreviousAtoms, doGetModel, doGetVibration, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, 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, setTransform, setUnitCell, setUnitCellItem, setup, setupASCR, warnSkippingOperation
-
Field Details
-
isBiomolecule
protected boolean isBiomolecule -
vBiomolecules
-
htSites
-
htHetero
-
CAT_NCS
- See Also:
-
CAT_OPER
- See Also:
-
CAT_ASSEM
- See Also:
-
CAT_SEQUENCEDIF
- See Also:
-
CAT_CHEMCOMP
- See Also:
-
CAT_STRUCTCONF
- See Also:
-
CAT_SHEET
- See Also:
-
CAT_STRUCSITE
- See Also:
-
CAT_STRUCTCONN
- See Also:
-
CAT_COMPBOND
- See Also:
-
done
protected boolean done
-
-
Constructor Details
-
MMCifReader
public MMCifReader()
-
-
Method Details
-
initSubclass
protected void initSubclass()- Overrides:
initSubclassin classCifReader
-
processSubclassEntry
- Overrides:
processSubclassEntryin classCifReader- Throws:
Exception
-
processSubclassLoopBlock
- Overrides:
processSubclassLoopBlockin classCifReader- Throws:
Exception
-
sortAssemblyModels
protected void sortAssemblyModels()issue here is that mmCIF assembly atoms can be in different blocks by chain: Model1:Chain1 Model2:Chain1 Model1:Chain2 Model2:Chain2 ... and so assigned to too many atom sets. -
finalizeSubclass
- Overrides:
finalizeSubclassin classCifReader- Throws:
Exception
-
checkSubclassSymmetry
protected boolean checkSubclassSymmetry()/////////////////////////////////////////////////////////////- Overrides:
checkSubclassSymmetryin classCifReader
-
processSequence
-
processAssemblyGenBlock
-
addAssembly
-
checkFilterAssembly
-
processStructOperListBlock
-
addMatrix
-
processChemCompLoopBlock
-
addHetero
-
processStructConfLoopBlock
-
parseIntFieldTok
protected int parseIntFieldTok(byte tok) -
processStructSheetRangeLoopBlock
-
processStructSiteBlock
-
processStructConnLoopBlock
-
processCompBondLoopBlock
-
processSubclassAtom
- Overrides:
processSubclassAtomin classCifReader- Parameters:
atom-assemblyId-strChain-- Returns:
- true if valid atom
-
checkPDBModelField
- Overrides:
checkPDBModelFieldin classCifReader- Parameters:
modelField-currentModelNo-- Returns:
- new currentModelNo
- Throws:
Exception
-
incrementModel
-