MayaChemTools

Previous  TOC  NextMolecularDescriptors/HydrogenBondsDescriptors.pmCode | PDF | PDFA4

NAME

HydrogenBondsDescriptors

SYNOPSIS

use MolecularDescriptors::HydrogenBondsDescriptors;

use MolecularDescriptors::HydrogenBondsDescriptors qw(:all);

DESCRIPTION

HydrogenBondsDescriptors class provides the following methods:

new, GenerateDescriptors, GetDescriptorNames, SetHydrogenBondsType, StringifyHydrogenBondsDescriptors

HydrogenBondsDescriptors is derived from MolecularDescriptors class which in turn is derived from ObjectProperty base class that provides methods not explicitly defined in HydrogenBondsDescriptors, 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>();

The current release of MayaChemTools supports identification of two types of hydrogen bond donor and acceptor atoms with these names:

HBondsType1 or HydrogenBondsType1
HBondsType2 or HydrogenBondsType2

The names of these hydrogen bond types are rather arbitrary. However, their definitions have specific meaning and are as follows:

HydrogenBondsType1 [ Ref 60-61, Ref 65-66 ]:

     Donor: NH, NH2, OH - Any N and O with available H
     Acceptor: N[!H], O - Any N without available H and any O

HydrogenBondsType2 [ Ref 91 ]:

     Donor: NH, NH2, OH - N and O with available H
     Acceptor: N, O - And N and O

By default, HydrogenBondsType2 is used to calculate number hydrogen bond donor and acceptor atoms. This corresponds to RuleOf5 definition of hydrogen bond donors and acceptors.

METHODS

new
$HydrogenBondsDescriptors = new MolecularDescriptors::
                             HydrogenBondsDescriptors(%NamesAndValues);

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

Molecule = ''
Type = 'HydrogenBonds'
HydrogenBondsType = 'HBondsType2'
@DescriptorNames = ('HydrogenBondDonors', 'HydrogenBondAcceptors')
@DescriptorValues = ('None', 'None')

Examples:

$HydrogenBondsDescriptors = new MolecularDescriptors::
                             HydrogenBondsDescriptors();

$HydrogenBondsDescriptors = new MolecularDescriptors::
                             HydrogenBondsDescriptors(
                             'HydrogenBondsType' => 'HBondsType2');

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

Calculates number of hydrogen bond donors and acceptors a molecule and returns HydrogenBondsDescriptors.

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

Returns all available descriptor names as an array.

SetHydrogenBondsType
$HydrogenBondsDescriptors->SetHydrogenBondsType($HBondsType);

Sets value of hydrogen bonds type to use during calculation of descriptors and returns HydrogenBondsDescriptors. Possible values: HBondsType1, HydrogenBondsType1, HBondsType2, HydrogenBondsType2.

StringifyHydrogenBondsDescriptors
$String = $HydrogenBondsDescriptors-> StringifyHydrogenBondsDescriptors();

Returns a string containing information about HydrogenBondsDescriptors object.

AUTHOR

Manish Sud

SEE ALSO

MolecularDescriptors.pm, MolecularDescriptorsGenerator.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, 2024MolecularDescriptors/HydrogenBondsDescriptors.pm