Mercurial > repos > deepakjadmin > mayatool3_test3
view mayachemtools/docs/modules/man3/RingsCountDescriptors.3 @ 9:ab29fa5c8c1f draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Thu, 15 Dec 2016 14:18:03 -0500 |
parents | 73ae111cf86f |
children |
line wrap: on
line source
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "RINGSCOUNTDESCRIPTORS 1" .TH RINGSCOUNTDESCRIPTORS 1 "2015-03-29" "perl v5.14.2" "MayaChemTools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" RingsCountDescriptors .SH "SYNOPSIS" .IX Header "SYNOPSIS" use MolecularDescriptors::RingsCountDescriptors; .PP use MolecularDescriptors::RingsCountDescriptors qw(:all); .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBRingsCountDescriptors\fR class provides the following methods: .PP new, GenerateDescriptors, GetDescriptorNames, StringifyRingsCountDescriptors .PP \&\fBRingsCountDescriptors\fR is derived from \fBMolecularDescriptors\fR class which in turn is derived from \fBObjectProperty\fR base class that provides methods not explicitly defined in \fBRingsCountDescriptors\fR, \fBMolecularDescriptors\fR or \fBObjectProperty\fR classes using Perl's \&\s-1AUTOLOAD\s0 functionality. These methods are generated on-the-fly for a specified object property: .PP .Vb 3 \& Set<PropertyName>(<PropertyValue>); \& $PropertyValue = Get<PropertyName>(); \& Delete<PropertyName>(); .Ve .PP \&\fBRingsCountDescriptors\fR class doesn't perform any ring or aromaticity detection before counting their number in a molecule. Instead, it assumes ring and aromaticity detection have been performed by caller using \fBDetectRings\fR [Ref 31] and \fBDetectAromaticity\fR methods available in \fBMolecule\fR. .PP \&\fBDetectAromaticity\fR method available in \fBMolecule\fR class assigns aromaticity to rings using Huckel rule as explained below: .PP o Ring aromaticity is determined using Huckel's rule: a ring containing 4n + 2 pi electrons is considered aromatic. .PP o Hetrocyclic rings containing N, O and S atoms fall into two classes: Basic aromatic and Non-basic aromatic. In Basic aromatic hetrocyclic rings, heteroatom itself is involved in a double bond. (e.g. Pyridine) However, in non-basic hetrocyclic rings, heteroatom might have an attached hydrogen atom and the remaining lone pair contribute to electron delocalization and contributes to 4n + 2 electrons. (e.g. Pyrrole, Furan) .PP o For molecules containing fused rings, each fused ring set is considered as one aromatic system for counting pi electrons to satisfy Huckel's rule; In case of a failure, rings in fused set are treated individually for aromaticity detection. Additionally, non-fused rings are handled on their own during aromaticity detection. .SS "\s-1METHODS\s0" .IX Subsection "METHODS" .IP "\fBnew\fR" 4 .IX Item "new" .Vb 3 \& $NewRingsCountDescriptors = new MolecularDescriptors:: \& RingsCountDescriptors( \& %NamesAndValues); .Ve .Sp Using specified \fIRingsCountDescriptors\fR property names and values hash, \fBnew\fR method creates a new object and returns a reference to newly created \fBRingsCountDescriptors\fR object. By default, the following properties are initialized: .Sp .Vb 2 \& Molecule = \*(Aq\*(Aq \& Type = \*(AqRingsCount\*(Aq \& \& @DescriptorNames = (\*(AqRings\*(Aq, \*(AqAromaticRings\*(Aq) \& @DescriptorValues = (\*(AqNone\*(Aq, \*(AqNone\*(Aq) .Ve .Sp Examples: .Sp .Vb 2 \& $RingsCountDescriptors = new MolecularDescriptors::RingsCountDescriptors( \& \*(AqMolecule\*(Aq => $Molecule); \& \& $RingsCountDescriptors = new MolecularDescriptors::RingsCountDescriptors(); \& \& $RingsCountDescriptors\->SetMolecule($Molecule); \& $RingsCountDescriptors\->GenerateDescriptors(); \& print "RingsCountDescriptors: $RingsCountDescriptors\en"; .Ve .IP "\fBGenerateDescriptors\fR" 4 .IX Item "GenerateDescriptors" .Vb 1 \& $RingsCountDescriptors\->GenerateDescriptors(); .Ve .Sp Calculate number of rings and aromatic rings in a molecule and returns \&\fIRingsCountDescriptors\fR. .IP "\fBGetDescriptorNames\fR" 4 .IX Item "GetDescriptorNames" .Vb 3 \& @DescriptorNames = $RingsCountDescriptors\->GetDescriptorNames(); \& @DescriptorNames = MolecularDescriptors::RingsCountDescriptors:: \& GetDescriptorNames(); .Ve .Sp Returns all available descriptor names as an array. .IP "\fBStringifyRingsCountDescriptors\fR" 4 .IX Item "StringifyRingsCountDescriptors" .Vb 2 \& $String = $RingsCountDescriptors\-> \& StringifyRingsCountDescriptors(); .Ve .Sp Returns a string containing information about \fIRingsCountDescriptors\fR object. .SH "AUTHOR" .IX Header "AUTHOR" Manish Sud <msud@san.rr.com> .SH "SEE ALSO" .IX Header "SEE ALSO" MolecularDescriptors.pm, MolecularDescriptorsGenerator.pm .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2015 Manish Sud. All rights reserved. .PP This file is part of MayaChemTools. .PP MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.