Class MMCifReader

All Implemented Interfaces:
GenericLineReader
Direct Known Subclasses:
BCIFReader, MMTFReader

public class MMCifReader extends CifReader
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 Details

  • Constructor Details

    • MMCifReader

      public MMCifReader()
  • Method Details

    • initSubclass

      protected void initSubclass()
      Overrides:
      initSubclass in class CifReader
    • processSubclassEntry

      protected void processSubclassEntry() throws Exception
      Overrides:
      processSubclassEntry in class CifReader
      Throws:
      Exception
    • processSubclassLoopBlock

      protected boolean processSubclassLoopBlock() throws Exception
      Overrides:
      processSubclassLoopBlock in class CifReader
      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

      protected boolean finalizeSubclass() throws Exception
      Overrides:
      finalizeSubclass in class CifReader
      Throws:
      Exception
    • checkSubclassSymmetry

      protected boolean checkSubclassSymmetry()
      Overrides:
      checkSubclassSymmetry in class CifReader
    • processSequence

      protected boolean processSequence() throws Exception
      get canonical 1-letter DNA/RNA sequence code from 3-letter code. For example, "2MG" --> "G"
      Returns:
      true
      Throws:
      Exception
    • processAssemblyGenBlock

      protected boolean processAssemblyGenBlock() throws Exception
      Throws:
      Exception
    • addAssembly

      protected void addAssembly(String[] assem) throws Exception
      Throws:
      Exception
    • checkFilterAssembly

      protected void checkFilterAssembly(String id, Map<String,Object> info)
    • processStructOperListBlock

      protected boolean processStructOperListBlock(boolean isNCS) throws Exception
      Throws:
      Exception
    • addMatrix

      protected void addMatrix(String id, M4 m4, boolean isNCS)
    • processChemCompLoopBlock

      protected boolean processChemCompLoopBlock() throws Exception
      a general name definition field. Not all hetero
      Returns:
      true if successful; false to skip
      Throws:
      Exception
    • addHetero

      protected void addHetero(String groupName, String hetName, boolean doCheck, boolean addNote)
    • processStructConfLoopBlock

      protected boolean processStructConfLoopBlock() throws Exception
      identifies ranges for HELIX and TURN
      Returns:
      true if successful; false to skip
      Throws:
      Exception
    • parseIntFieldTok

      protected int parseIntFieldTok(byte tok)
    • processStructSheetRangeLoopBlock

      protected boolean processStructSheetRangeLoopBlock() throws Exception
      identifies sheet ranges
      Returns:
      true if successful; false to skip
      Throws:
      Exception
    • processStructSiteBlock

      protected boolean processStructSiteBlock() throws Exception
      identifies structure sites
      Returns:
      true if successful; false to skip
      Throws:
      Exception
    • processStructConnLoopBlock

      protected boolean processStructConnLoopBlock() throws Exception
      Throws:
      Exception
    • processCompBondLoopBlock

      protected boolean processCompBondLoopBlock() throws Exception
      Throws:
      Exception
    • processSubclassAtom

      public boolean processSubclassAtom(Atom atom, String assemblyId, String strChain)
      Overrides:
      processSubclassAtom in class CifReader
      Returns:
      true if valid atom
    • checkPDBModelField

      protected int checkPDBModelField(int modelField, int currentModelNo) throws Exception
      Overrides:
      checkPDBModelField in class CifReader
      Returns:
      new currentModelNo
      Throws:
      Exception
    • incrementModel

      protected int incrementModel(int modelNo) throws Exception
      Throws:
      Exception