Class 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 Detail

      • haveStructure

        private boolean haveStructure
      • pdbID

        private java.lang.String pdbID
      • 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 javajs.util.BS[] bsStructures
    • Constructor Detail

      • MMTFReader

        public MMTFReader()
    • 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:
        setup in class AtomSetCollectionReader
        Parameters:
        fullPath -
        htParams -
        reader -
      • applySymmetryAndSetTrajectory

        public void applySymmetryAndSetTrajectory()
                                           throws java.lang.Exception
        Overrides:
        applySymmetryAndSetTrajectory in class CifReader
        Throws:
        java.lang.Exception
      • getMMTFAtoms

        private void getMMTFAtoms​(boolean doMulti)
                           throws java.lang.Exception
        set 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

        public void addStructureSymmetry()
        We must add groups to the proper bsStructure element
      • decode

        private java.lang.Object decode​(java.lang.String key)