Class MolReader

  • All Implemented Interfaces:
    javajs.api.GenericLineReader
    Direct Known Subclasses:
    JcampdxReader, Mol3DReader

    public class MolReader
    extends AtomSetCollectionReader
    A reader for MDLI mol and sdf files.

    http://www.mdli.com/downloads/public/ctfile/ctfile.jsp

    also: http://www.mdl.com/downloads/public/ctfile/ctfile.pdf simple symmetry extension via load command: 9/2006 hansonr@stolaf.edu setAtomCoord(atom, x, y, z) applySymmetryAndSetTrajectory() simple 2D-->3D conversion using load "xxx.mol" FILTER "2D" Jmol 14.8.2 adds bond type 15 (quintuple) and 16 (sextuple)

    • Field Detail

      • optimize2D

        boolean optimize2D
      • haveAtomSerials

        private boolean haveAtomSerials
      • allow2D

        protected boolean allow2D
      • iatom0

        private int iatom0
      • atomCount

        private int atomCount
      • atomData

        private java.lang.String[] atomData
      • is2D

        boolean is2D
    • Constructor Detail

      • MolReader

        public MolReader()
    • Method Detail

      • checkLine

        protected boolean checkLine()
                             throws java.lang.Exception
        Overrides:
        checkLine in class AtomSetCollectionReader
        Returns:
        true if need to read new line
        Throws:
        java.lang.Exception
      • finalizeReaderMR

        protected void finalizeReaderMR()
                                 throws java.lang.Exception
        Throws:
        java.lang.Exception
      • processMolSdHeader

        private void processMolSdHeader()
                                 throws java.lang.Exception
        Throws:
        java.lang.Exception
      • processCtab

        private void processCtab​(boolean isMDL)
                          throws java.lang.Exception
        Throws:
        java.lang.Exception
      • readAtomsAndBonds

        private void readAtomsAndBonds​(int ac,
                                       int bc)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • readAtomValues

        private void readAtomValues()
                             throws java.lang.Exception
        Read all V nnn lines as string data; user can adapt as needed.
        Throws:
        java.lang.Exception
      • readIsotopes

        private void readIsotopes()
                           throws java.lang.Exception
        Read all M ISO lines. These are absolute isotope numbers.
        Throws:
        java.lang.Exception
      • readMolData

        private void readMolData​(java.util.Map<java.lang.String,​java.lang.Object> molData,
                                 javajs.util.Lst<java.lang.String> _keyList)
                          throws java.lang.Exception
        Read the SDF data with name in lower case
        Parameters:
        molData -
        _keyList -
        Throws:
        java.lang.Exception
      • addMolAtom

        public void addMolAtom​(int iAtom,
                               int isotope,
                               java.lang.String elementSymbol,
                               int charge,
                               float x,
                               float y,
                               float z)
      • fixOrder

        int fixOrder​(int order,
                     int stereo)
      • addMolBond

        public void addMolBond​(java.lang.String iAtom1,
                               java.lang.String iAtom2,
                               int order,
                               int stereo)