NAME
    MDLMolFileIO

SYNOPSIS
    use FileIO::MDLMolFileIO;

    use FileIO::MDLMolFileIO qw(:all);

DESCRIPTION
    MDLMolFIleIO class provides the following methods:

    new, GenerateMoleculeString, IsMDLMolFile, ParseMoleculeString,
    ReadMolecule, ReadMoleculeString, WriteMolecule

    The following methods can also be used as functions:

    GenerateMoleculeString, IsMDLMolFile, ParseMoleculeString

    Data specific to MDLMolFileIO class not directly used by Molecule, Atom
    and Bond objects - data label/value pairs, atom SteroParity and so on -
    is associated to and retrieved from appropriate objects using following
    methods:

        SetMDL<PropertyName>
        GetMDL<PropertyName>.

    MDLMolFileIO class is derived from *FileIO* class and uses its methods
    to support generic file related functionality.

  METHODS
    new
            $NewMDLMolFileIO = new FileIO::MDLMolFileIO(%NamesAndValues);

        Using specified *MDLMolFileIO* property names and values hash, new
        method creates a new object and returns a reference to newly created
        MDLMolFileIO object.

    GenerateMoleculeString
            $MoleculeString = $MDLMolFileIO->GenerateMoleculeString($Molecule);
            $MoleculeString = FileIO::MDLMolFileIO::GenerateMoleculeString($Molecule);

        Returns a MoleculeString in MDLMol format corresponding to
        *Molecule*.

    IsMDLMolFile
            $Status = $MDLMolFileIO->IsMDLMolFile($FileName);
            $Status = FileIO::MDLMolFileIO::IsMDLMolFile($FileName);

        Returns 1 or 0 based on whether *FileName* is a MDLMol file.

    ParseMoleculeString
            $Molecule = $MDLMolFileIO->ParseMoleculeString($MoleculeString);
            $Molecule = FileIO::MDLMolFileIO::ParseMoleculeString($MoleculeString);

        Parses *MoleculeString* and returns a Molecule object.

    ReadMolecule
            $Molecule = $MDLMolFileIO->ReadMolecule($FileHandle);

        Reads data for the compound in a file using already opened
        *FileHandle*, creates, and returns a Molecule object.

    ReadMoleculeString
            $MoleculeString = $MDLMolFileIO->ReadMoleculeString($FileHandle);

        Reads data for the compound in a file using already opened
        *FileHandle* and returns a MoleculeString corresponding to compound
        structure and other associated data.

    WriteMolecule
            $MDLMolFileIO->WriteMolecule($Molecule);

        Writes *Molecule* data to a file in MDLMol format and returns
        MDLMolFileIO.

AUTHOR
    Manish Sud <msud@san.rr.com>

SEE ALSO
    MoleculeFileIO.pm, SDFileIO.pm

COPYRIGHT
    Copyright (C) 2018 Manish Sud. All rights reserved.

    This file is part of MayaChemTools.

    MayaChemTools is free software; you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation; either version 3 of the License, or (at
    your option) any later version.

