Class MDLV3000Reader

  • All Implemented Interfaces:
    Closeable, AutoCloseable, IChemObjectIO, IChemObjectReader, ISimpleChemObjectReader

    public class MDLV3000Reader
    extends DefaultChemObjectReader
    Class that implements the MDL mol V3000 format. This reader reads the element symbol and 2D or 3D coordinates from the ATOM block.

    This reader is capable of reading query bonds, i.e., bond types
    • 4 aromatic
    • 5 single or double
    • 6 single or aromatic
    • 7 double or aromatic
    • 8 any
    Limitations:
    Atoms: The only properties read in the atom block are atom index, atom type, atom coordinates, atom-atom mapping, atom charge (CHG), atom radical (RAD}, stereo configuration (CFG), atomic weight (MASS), and valence (VAL).
    Bonds: The reader throws a CDKException if bond types 9 (coordination) or 10 (hydrogen) are encountered.
    Author:
    Egon Willighagen <egonw@users.sf.net>
    Source code:
    main
    IO options:
    NameQuestionDefault
    AddStereo0dAllow stereo created from parity value when no coordinatestrue
    AddStereoElementsDetect and create IStereoElements for the input.true
    InterpretHydrogenIsotopesShould D and T be interpreted as hydrogen isotopes?true
    ForceReadAs3DCoordinatesShould coordinates always be read as 3D?false
    Belongs to CDK module:
    io
    Keywords:
    MDL molfile V3000
    Created on:
    2006
    Requires:
    java1.4+
    • Method Detail

      • accepts

        public boolean accepts​(Class<? extends IChemObject> classObject)
        Description copied from interface: IChemObjectIO
        Returns whether the given IChemObject can be read or written.
        Parameters:
        classObject - IChemObject of which is tested if it can be handled.
        Returns:
        true, if the IChemObject can be handled.
      • read

        public <T extends IChemObject> T read​(T object)
                                       throws CDKException
        Description copied from interface: ISimpleChemObjectReader
        Reads an IChemObject of type "object" from input. The constructor of the actual implementation may take a Reader as input to get a very flexible reader that can read from string, files, etc.
        Parameters:
        object - the type of object to return
        Returns:
        returns an object of that contains the content (or part) of the input content
        Throws:
        CDKException - it is thrown if the type of information is not available from the input
      • readMolecule

        public IAtomContainer readMolecule​(IChemObjectBuilder builder)
                                    throws CDKException
        Reads a molecule and returns the corresponding AtomContainer.
        Parameters:
        builder - the builder object used to create the AtomContainer
        Returns:
        the AtomContainer representing the CTAB block
        Throws:
        CDKException - if there is an error while reading the CTAB block
      • readConnectionTable

        public IAtomContainer readConnectionTable​(IChemObjectBuilder builder)
                                           throws CDKException
        Reads a Connection Table (CTAB) block and returns the corresponding AtomContainer.
        Parameters:
        builder - the builder object used to create the AtomContainer
        Returns:
        the AtomContainer representing the CTAB block
        Throws:
        CDKException - if there is an error while reading the CTAB block
      • close

        public void close()
                   throws IOException
        Description copied from interface: IChemObjectIO
        Closes this IChemObjectIO's resources.
        Throws:
        IOException - when the wrapper IO class cannot be closed.