Previous TOC Next | MolecularDescriptors/RotatableBondsDescriptors.pm | Code | PDF | PDFGreen | PDFA4 | PDFA4Green

# NAME

RotatableBondsDescriptors

# SYNOPSIS

use MolecularDescriptors::RotatableBondsDescriptors;

use MolecularDescriptors::RotatableBondsDescriptors qw(:all);

# DESCRIPTION

RotatableBondsDescriptors class provides the following methods:

new, GenerateDescriptors, GetDescriptorNames, StringifyRotatableBondsDescriptors

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

A rotatable bond [ Ref 92 ] is defined as any single bond which is not in a ring and involves only non-hydrogen atoms. By default, the following types of single bonds are not considered rotatable bonds:

o Terminal bonds
o Bonds attached to triple bonds
o Amide C-N bonds
o Thioamide C-N bond bonds
o Sulfonamide S-N bonds

## METHODS

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

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

  Molecule = ''
  Type = 'RotatableBonds'
  IgnoreTerminalBonds = 1
  IgnoreBondsToTripleBonds = 1
  IgnoreAmideBonds = 1
  IgnoreThioamideBonds = 1
  IgnoreSulfonamideBonds = 1
  @DescriptorNames = ('RotatableBonds')
  @DescriptorValues = ('None')

  Examples:

  $RotatableBondsDescriptors = new MolecularDescriptors:: RotatableBondsDescriptors();
  $RotatableBondsDescriptors = new MolecularDescriptors:: RotatableBondsDescriptors( 'IgnoreAmideBonds' => 0, 'IgnoreThioamideBonds' => 0, 'IgnoreSulfonamideBonds' => 0);
  $RotatableBondsDescriptors->SetMolecule($Molecule);
  $RotatableBondsDescriptors->GenerateDescriptors();
  print "RotatableBondsDescriptors: $RotatableBondsDescriptors\n";
GenerateDescriptors
  $RotatableBondsDescriptors->GenerateDescriptors();

  Calculates number of rotatable bonds descriptors in a molecule and returns RotatableBondsDescriptors.

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

  Returns all available descriptor names as an array.

StringifyRotatableBondsDescriptors
  $String = $RotatableBondsDescriptors->StringifyRotatableBondsDescriptors();

  Returns a string containing information about RotatableBondsDescriptors object.

# AUTHOR

Manish Sud

# 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.

Previous TOC Next | October 25, 2018 | MolecularDescriptors/RotatableBondsDescriptors.pm