Class MDLV2000Reader

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

    public class MDLV2000Reader
    extends DefaultChemObjectReader
    Reads content from MDL molfiles and SD files. It can read a IAtomContainer or IChemModel from an MDL molfile, and a IChemFile from a SD file, with a IChemSequence of IChemModel's, where each IChemModel will contain one IAtomContainer.

    From the Atom block it reads atomic coordinates, element types and formal charges. From the Bond block it reads the bonds and the orders. Additionally, it reads 'M CHG', 'G ', 'M RAD' and 'M ISO' lines from the property block.

    If all z coordinates are 0.0, then the xy coordinates are taken as 2D, otherwise the coordinates are read as 3D.

    The title of the MOL file is read and can be retrieved with:

       molecule.getProperty(CDKConstants.TITLE);
     

    RGroups which are saved in the MDL molfile as R#, are renamed according to their appearance, e.g. the first R# is named R1. With PseudAtom.getLabel() "R1" is returned (instead of R#). This is introduced due to the SAR table generation procedure of Scitegics PipelinePilot.

    Author:
    steinbeck, Egon Willighagen
    This class is affected by these bug(s):
    1587283
    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:
    file format, MDL molfile, file format, SDF
    Created on:
    2000-10-02
    • Constructor Detail

      • MDLV2000Reader

        public MDLV2000Reader()
      • MDLV2000Reader

        public MDLV2000Reader​(InputStream in)
        Constructs a new MDLReader that can read Molecule from a given InputStream.
        Parameters:
        in - The InputStream to read from
      • MDLV2000Reader

        public MDLV2000Reader​(Reader in)
        Constructs a new MDLReader that can read Molecule from a given Reader.
        Parameters:
        in - The Reader to read from
    • 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
        Takes an object which subclasses IChemObject, e.g. Molecule, and will read this (from file, database, internet etc). If the specific implementation does not support a specific IChemObject it will throw an Exception.
        Parameters:
        object - The object that subclasses IChemObject
        Returns:
        The IChemObject read
        Throws:
        CDKException
      • 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.
      • customizeJob

        public void customizeJob()