Mercurial > repos > deepakjadmin > mayatool3_test2
comparison docs/modules/txt/RingsCountDescriptors.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
| author | deepakjadmin |
|---|---|
| date | Wed, 20 Jan 2016 09:23:18 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:4816e4a8ae95 |
|---|---|
| 1 NAME | |
| 2 RingsCountDescriptors | |
| 3 | |
| 4 SYNOPSIS | |
| 5 use MolecularDescriptors::RingsCountDescriptors; | |
| 6 | |
| 7 use MolecularDescriptors::RingsCountDescriptors qw(:all); | |
| 8 | |
| 9 DESCRIPTION | |
| 10 RingsCountDescriptors class provides the following methods: | |
| 11 | |
| 12 new, GenerateDescriptors, GetDescriptorNames, | |
| 13 StringifyRingsCountDescriptors | |
| 14 | |
| 15 RingsCountDescriptors is derived from MolecularDescriptors class which | |
| 16 in turn is derived from ObjectProperty base class that provides methods | |
| 17 not explicitly defined in RingsCountDescriptors, MolecularDescriptors or | |
| 18 ObjectProperty classes using Perl's AUTOLOAD functionality. These | |
| 19 methods are generated on-the-fly for a specified object property: | |
| 20 | |
| 21 Set<PropertyName>(<PropertyValue>); | |
| 22 $PropertyValue = Get<PropertyName>(); | |
| 23 Delete<PropertyName>(); | |
| 24 | |
| 25 RingsCountDescriptors class doesn't perform any ring or aromaticity | |
| 26 detection before counting their number in a molecule. Instead, it | |
| 27 assumes ring and aromaticity detection have been performed by caller | |
| 28 using DetectRings [Ref 31] and DetectAromaticity methods available in | |
| 29 Molecule. | |
| 30 | |
| 31 DetectAromaticity method available in Molecule class assigns aromaticity | |
| 32 to rings using Huckel rule as explained below: | |
| 33 | |
| 34 o Ring aromaticity is determined using Huckel's rule: a ring containing | |
| 35 4n + 2 pi electrons is considered aromatic. | |
| 36 | |
| 37 o Hetrocyclic rings containing N, O and S atoms fall into two classes: | |
| 38 Basic aromatic and Non-basic aromatic. In Basic aromatic hetrocyclic | |
| 39 rings, heteroatom itself is involved in a double bond. (e.g. Pyridine) | |
| 40 However, in non-basic hetrocyclic rings, heteroatom might have an | |
| 41 attached hydrogen atom and the remaining lone pair contribute to | |
| 42 electron delocalization and contributes to 4n + 2 electrons. (e.g. | |
| 43 Pyrrole, Furan) | |
| 44 | |
| 45 o For molecules containing fused rings, each fused ring set is | |
| 46 considered as one aromatic system for counting pi electrons to satisfy | |
| 47 Huckel's rule; In case of a failure, rings in fused set are treated | |
| 48 individually for aromaticity detection. Additionally, non-fused rings | |
| 49 are handled on their own during aromaticity detection. | |
| 50 | |
| 51 METHODS | |
| 52 new | |
| 53 $NewRingsCountDescriptors = new MolecularDescriptors:: | |
| 54 RingsCountDescriptors( | |
| 55 %NamesAndValues); | |
| 56 | |
| 57 Using specified *RingsCountDescriptors* property names and values | |
| 58 hash, new method creates a new object and returns a reference to | |
| 59 newly created RingsCountDescriptors object. By default, the | |
| 60 following properties are initialized: | |
| 61 | |
| 62 Molecule = '' | |
| 63 Type = 'RingsCount' | |
| 64 | |
| 65 @DescriptorNames = ('Rings', 'AromaticRings') | |
| 66 @DescriptorValues = ('None', 'None') | |
| 67 | |
| 68 Examples: | |
| 69 | |
| 70 $RingsCountDescriptors = new MolecularDescriptors::RingsCountDescriptors( | |
| 71 'Molecule' => $Molecule); | |
| 72 | |
| 73 $RingsCountDescriptors = new MolecularDescriptors::RingsCountDescriptors(); | |
| 74 | |
| 75 $RingsCountDescriptors->SetMolecule($Molecule); | |
| 76 $RingsCountDescriptors->GenerateDescriptors(); | |
| 77 print "RingsCountDescriptors: $RingsCountDescriptors\n"; | |
| 78 | |
| 79 GenerateDescriptors | |
| 80 $RingsCountDescriptors->GenerateDescriptors(); | |
| 81 | |
| 82 Calculate number of rings and aromatic rings in a molecule and | |
| 83 returns *RingsCountDescriptors*. | |
| 84 | |
| 85 GetDescriptorNames | |
| 86 @DescriptorNames = $RingsCountDescriptors->GetDescriptorNames(); | |
| 87 @DescriptorNames = MolecularDescriptors::RingsCountDescriptors:: | |
| 88 GetDescriptorNames(); | |
| 89 | |
| 90 Returns all available descriptor names as an array. | |
| 91 | |
| 92 StringifyRingsCountDescriptors | |
| 93 $String = $RingsCountDescriptors-> | |
| 94 StringifyRingsCountDescriptors(); | |
| 95 | |
| 96 Returns a string containing information about | |
| 97 *RingsCountDescriptors* object. | |
| 98 | |
| 99 AUTHOR | |
| 100 Manish Sud <msud@san.rr.com> | |
| 101 | |
| 102 SEE ALSO | |
| 103 MolecularDescriptors.pm, MolecularDescriptorsGenerator.pm | |
| 104 | |
| 105 COPYRIGHT | |
| 106 Copyright (C) 2015 Manish Sud. All rights reserved. | |
| 107 | |
| 108 This file is part of MayaChemTools. | |
| 109 | |
| 110 MayaChemTools is free software; you can redistribute it and/or modify it | |
| 111 under the terms of the GNU Lesser General Public License as published by | |
| 112 the Free Software Foundation; either version 3 of the License, or (at | |
| 113 your option) any later version. | |
| 114 |
