MayaChemTools

Previous  TOC  NextFileIO/SDFileIO.pmCode | PDF | PDFA4

NAME

SDFileIO

SYNOPSIS

use FileIO::SDFileIO;

use FileIO::SDFileIO qw(:all);

DESCRIPTION

SDFIleIO class provides the following methods:

new, GenerateMoleculeString, IsSDFile, ParseMoleculeString, ReadMolecule, ReadMoleculeString, WriteMolecule

The following methods can also be used as functions:

GenerateMoleculeString, IsSDFile, ParseMoleculeString

Data specific to SDFileIO 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 approptiate objects using following methods:

SetMDL<PropertyName>
GetMDL<PropertyName>.

SD data label and values are attached to Molecule object as a refernece to a hash using SetDataFieldLabelAndValues and can be retrieved using GetDataFieldLabelAndValues method.

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

METHODS

new
$NewSDFileIO = new FileIO::SDFileIO(%NamesAndValues);

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

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

Returns a MoleculeString in SD format corresponding to Molecule.

IsSDFile
$Status = $SDFileIO->IsSDFile($FileName);
$Status = FileIO::SDFileIO::IsSDFile($FileName);

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

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

Parses MoleculeString and returns a Molecule object. SD data field label and value pairs are associated to Molecule object as a reference to a hash using:

$Molecule->SetDataFieldLabelAndValues(\%DataLabelsAndValues)

The reference to hash can be retrieved by:

$DataLabelsAndValues = $Molecule->GetDataFieldLabelAndValues();
for $DataLabel (sort keys %{$DataLabelsAndValues}) {
     $DataValue = $DataLabelsAndValues->{$DataLabel};
}
ReadMolecule
$Molecule = $SDFileIO->ReadMolecule($FileHandle);

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

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

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

WriteMolecule
$SDFileIO->WriteMolecule($Molecule);

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

AUTHOR

Manish Sud

SEE ALSO

MoleculeFileIO.pm, MDLMolFileIO.pm

COPYRIGHT

Copyright (C) 2024 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.

 

 

Previous  TOC  NextAugust 7, 2024FileIO/SDFileIO.pm