Package org.jmol.adapter.readers.cif
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 org.jmol.adapter.readers.cif.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 org.jmol.adapter.smarter.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 booleanprotected 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 org.jmol.adapter.readers.cif.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 org.jmol.adapter.smarter.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
get canonical 1-letter DNA/RNA sequence code from 3-letter code. For example, "2MG" --> "G"- Returns:
- true
- Throws:
Exception
-
processAssemblyGenBlock
- Throws:
Exception
-
addAssembly
- Throws:
Exception
-
checkFilterAssembly
-
processStructOperListBlock
- Throws:
Exception
-
addMatrix
-
processChemCompLoopBlock
a general name definition field. Not all hetero- Returns:
- true if successful; false to skip
- Throws:
Exception
-
addHetero
-
processStructConfLoopBlock
identifies ranges for HELIX and TURN- Returns:
- true if successful; false to skip
- Throws:
Exception
-
parseIntFieldTok
protected int parseIntFieldTok(byte tok) -
processStructSheetRangeLoopBlock
identifies sheet ranges- Returns:
- true if successful; false to skip
- Throws:
Exception
-
processStructSiteBlock
identifies structure sites- Returns:
- true if successful; false to skip
- Throws:
Exception
-
processStructConnLoopBlock
- Throws:
Exception
-
processCompBondLoopBlock
- Throws:
Exception
-
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
- Throws:
Exception
-