Package org.jmol.adapter.readers.cif
Class MMTFReader
- java.lang.Object
-
- org.jmol.adapter.smarter.AtomSetCollectionReader
-
- org.jmol.adapter.readers.cif.CifReader
-
- org.jmol.adapter.readers.cif.MMCifReader
-
- org.jmol.adapter.readers.cif.MMTFReader
-
- All Implemented Interfaces:
javajs.api.GenericLineReader
public class MMTFReader extends MMCifReader
JmolData RCSB MMTF (macromolecular transmission format) file reader see https://github.com/rcsb/mmtf/blob/master/spec.md full specification Version: v0.2+dev (as of 2016.08.08) is implemented,including: reading atoms, bonds, and DSSP 1.0 secondary structure load =1f88.mmtf filter "DSSP1" [Note that the filter "DSSP1" is required, since mmtf included DSSP 1.0 calculations, while the standard for Jmol itself is DSSP 2.0. These two calculations differ in their treating of helix kinks as one (1.0) or two (2.0) helices.] reading space groups and unit cells, and using those as per other readers load =1crn.mmtf {1 1 1} reading bioassemblies (biomolecules) and applying all symmetry transformations load =1auy.mmtf FILTER "biomolecule 1;*.CA,*.P" reading both biomolecules and lattices, and loading course-grained using the filter "BYCHAIN" or "BYSYMOP" load =1auy.mmtf {2 2 1} filter "biomolecule 1;bychain";spacefill 30.0; color property symop Many thanks to the MMTF team at RCSB for assistance in this implementation.- Author:
- Bob Hanson hansonr@stolaf.edu
-
-
Field Summary
Fields Modifier and Type Field Description private intac0private int[]atomGroupprivate Atom[]atomMapprivate BS[]bsStructuresprivate java.lang.Object[]entitiesprivate intfileAtomCountprivate intgroupCountprivate int[]groupDSSPprivate int[]groupMapprivate int[]groupModelsprivate booleanhaveStructureprivate java.lang.String[]labelAsymListprivate intlastGroupprivate java.util.Map<java.lang.String,java.lang.Object>mapprivate intopCount-
Fields inherited from class org.jmol.adapter.readers.cif.MMCifReader
done, htHetero, htSites, isBiomolecule, mident, vBiomolecules
-
Fields inherited from class org.jmol.adapter.readers.cif.CifReader
ac, col2key, data, FAMILY_ATOM, field, firstChar, haveCellWaveVector, haveHAtoms, htGroup1, iHaveDesiredModel, isCourseGrained, isLigand, isMagCIF, isMMCIF, key, key0, key2col, lastDataSetName, maxSerial, modelMap, nAtoms, nAtoms0, NONE, parser, skipping, thisDataSetName, useAuthorChainID
-
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterHetero, fixJavaFloat, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isSequential, isTrajectory, latticeCells, latticeScaling, line, lstNCS, matUnitCellOrientation, modelNumber, ms, mustFinalizeModelSet, next, out, packingError, prevline, ptLine, ptSupercell, reader, readerName, reverseModels, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
-
-
Constructor Summary
Constructors Constructor Description MMTFReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddHeader()private voidaddMMTFBonds(int[] bo, int[] bi, int a0, boolean doMulti, boolean isInter)private voidaddStructureSymmetry()We must add groups to the proper bsStructure elementvoidapplySymmetryAndSetTrajectory()private java.lang.Objectdecode(java.lang.String key)private voidgetMMTFAtoms(boolean doMulti)set up all atoms, including bonding, within a groupprivate voidgetMMTFBioAssembly()private voidgetStructure()Get and translate the DSSP string from digit format input dataprotected voidprocessBinaryDocument()private voidsetMMTFSymmetry()protected voidsetup(java.lang.String fullPath, java.util.Map<java.lang.String,java.lang.Object> htParams, java.lang.Object reader)standard set up-
Methods inherited from class org.jmol.adapter.readers.cif.MMCifReader
addAssembly, addHetero, addMatrix, checkFilterAssembly, checkPDBModelField, checkSubclassSymmetry, finalizeSubclass, incrementModel, initSubclass, processSubclassAtom, processSubclassEntry, processSubclassLoopBlock, sortAssemblyModels
-
Methods inherited from class org.jmol.adapter.readers.cif.CifReader
checkAllFieldsPresent, doPreSymmetry, fieldProperty, filterCIFAtom, finalizeSubclassReader, finalizeSubclassSymmetry, getBondOrder, getField, initializeReader, isNull, newModel, nextAtomSet, parseLoopParameters, parseLoopParametersFor, processAtomSiteLoopBlock, processLoopBlock
-
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addAtomXYZSymName, addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLine, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, discardPreviousAtoms, doGetModel, doGetVibration, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, forceSymmetry, fractionalizeCoordinates, 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, processDOM, 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, setupASCR
-
-
-
-
Field Detail
-
haveStructure
private boolean haveStructure
-
map
private java.util.Map<java.lang.String,java.lang.Object> map
-
fileAtomCount
private int fileAtomCount
-
opCount
private int opCount
-
groupModels
private int[] groupModels
-
groupMap
private int[] groupMap
-
groupDSSP
private int[] groupDSSP
-
atomGroup
private int[] atomGroup
-
labelAsymList
private java.lang.String[] labelAsymList
-
atomMap
private Atom[] atomMap
-
entities
private java.lang.Object[] entities
-
groupCount
private int groupCount
-
ac0
private int ac0
-
bsStructures
private BS[] bsStructures
-
lastGroup
private int lastGroup
-
-
Method Detail
-
setup
protected void setup(java.lang.String fullPath, java.util.Map<java.lang.String,java.lang.Object> htParams, java.lang.Object reader)standard set up- Overrides:
setupin classAtomSetCollectionReader- Parameters:
fullPath-htParams-reader-
-
processBinaryDocument
protected void processBinaryDocument() throws java.lang.Exception- Overrides:
processBinaryDocumentin classAtomSetCollectionReader- Throws:
java.lang.Exception
-
applySymmetryAndSetTrajectory
public void applySymmetryAndSetTrajectory() throws java.lang.Exception- Overrides:
applySymmetryAndSetTrajectoryin classCifReader- Throws:
java.lang.Exception
-
getMMTFAtoms
private void getMMTFAtoms(boolean doMulti) throws java.lang.Exceptionset up all atoms, including bonding, within a group- Parameters:
doMulti- true to add double bonds- Throws:
java.lang.Exception
-
addMMTFBonds
private void addMMTFBonds(int[] bo, int[] bi, int a0, boolean doMulti, boolean isInter)
-
setMMTFSymmetry
private void setMMTFSymmetry()
-
getMMTFBioAssembly
private void getMMTFBioAssembly()
-
getStructure
private void getStructure()
Get and translate the DSSP string from digit format input data
-
addStructureSymmetry
private void addStructureSymmetry()
We must add groups to the proper bsStructure element
-
decode
private java.lang.Object decode(java.lang.String key)
-
-