NAME
    SLogPAndSMRDescriptors

SYNOPSIS
    use MolecularDescriptors::SLogPAndSMRDescriptors;

    use MolecularDescriptors::SLogPAndSMRDescriptors qw(:all);

DESCRIPTION
    SLogPAndSMRDescriptors class provides the following methods:

    new, GenerateDescriptors, GetDescriptorNames,
    StringifySLogPAndSMRDescriptors

    SLogPAndSMRDescriptors is derived from MolecularDescriptors class which
    in turn is derived from ObjectProperty base class that provides methods
    not explicitly defined in SLogPAndSMRDescriptors, MolecularDescriptors
    or ObjectProperty classes using Perl's AUTOLOAD functionality. These
    methods are generated on-the-fly for a specified object property:

        Set<PropertyName>(<PropertyValue>);
        $PropertyValue = Get<PropertyName>();
        Delete<PropertyName>();

    After SLogP atom types [ Ref 89 ] has been assigned to all atoms in a
    molecule using AtomTypes::SLogPAndSMR.pm module, SLogP (calculated logP)
    and SMR (calculated molar refractivity) values are calculated by adding
    up LogP and MR contributions of each atom type.

  METHODS
    new
            $NewSLogPAndSMRDescriptors = new MolecularDescriptors::
                                         SLogPAndSMRDescriptors(
                                         %NamesAndValues);

        Using specified *SLogPAndSMRDescriptors* property names and values
        hash, new method creates a new object and returns a reference to
        newly created SLogPAndSMRDescriptors object. By default, the
        following properties are initialized:

            Molecule = ''
            Type = 'SLogPAndSMR'
            @DescriptorNames = ('SLogP', 'SMR')
            @DescriptorValues = ('None', 'None')

        Examples:

            $SLogPAndSMRDescriptors = new MolecularDescriptors::
                                      SLogPAndSMRDescriptors();

            $SLogPAndSMRDescriptors->SetMolecule($Molecule);
            $SLogPAndSMRDescriptors->GenerateDescriptors();
            print "SLogPAndSMRDescriptors: $SLogPAndSMRDescriptors\n";

    GenerateDescriptors
            $SLogPAndSMRDescriptors->GenerateDescriptors();

        Calculate SLogP and SMR values for a molecule and returns
        *SLogPAndSMRDescriptors*.

    GetDescriptorNames
            @DescriptorNames = $SLogPAndSMRDescriptors->GetDescriptorNames();
            @DescriptorNames = MolecularDescriptors::SLogPAndSMRDescriptors::
                               GetDescriptorNames();

        Returns all available descriptor names as an array.

    StringifySLogPAndSMRDescriptors
            $String = $SLogPAndSMRDescriptors->StringifySLogPAndSMRDescriptors();

        Returns a string containing information about
        *SLogPAndSMRDescriptors* object.

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

SEE ALSO
    MolecularDescriptors.pm, MolecularDescriptorsGenerator.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.

