diff mayachemtools/docs/modules/man3/MolecularComplexityDescriptors.3 @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mayachemtools/docs/modules/man3/MolecularComplexityDescriptors.3	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,559 @@
+.\" 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 "MOLECULARCOMPLEXITYDESCRIPTORS 1"
+.TH MOLECULARCOMPLEXITYDESCRIPTORS 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"
+MolecularComplexityDescriptors
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+use MolecularDescriptors::MolecularComplexityDescriptors;
+.PP
+use MolecularDescriptors::MolecularComplexityDescriptors qw(:all);
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBMolecularComplexityDescriptors\fR class provides the following methods:
+.PP
+new, GenerateDescriptors, GetDescriptorNames,
+GetMolecularComplexityTypeAbbreviation, MACCSKeysSize, SetAtomIdentifierType,
+SetAtomicInvariantsToUse, SetDistanceBinSize, SetFunctionalClassesToUse,
+SetMaxDistance, SetMaxPathLength, SetMinDistance, SetMinPathLength,
+SetMolecularComplexityType, SetNeighborhoodRadius, SetNormalizationMethodology,
+StringifyMolecularComplexityDescriptors
+.PP
+\&\fBMolecularComplexityDescriptors\fR is derived from \fBMolecularDescriptors\fR class which in turn
+is  derived from \fBObjectProperty\fR base class that provides methods not explicitly defined
+in \fBMolecularComplexityDescriptors\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
+The current release of MayaChemTools supports calculation of molecular complexity using
+\&\fIMolecularComplexityType\fR parameter corresponding to number of bits-set or unique
+keys [ Ref 117\-119 ] in molecular  fingerprints. The valid values for \fIMolecularComplexityType\fR
+are:
+.PP
+.Vb 9
+\&    AtomTypesFingerprints
+\&    ExtendedConnectivityFingerprints
+\&    MACCSKeys
+\&    PathLengthFingerprints
+\&    TopologicalAtomPairsFingerprints
+\&    TopologicalAtomTripletsFingerprints
+\&    TopologicalAtomTorsionsFingerprints
+\&    TopologicalPharmacophoreAtomPairsFingerprints
+\&    TopologicalPharmacophoreAtomTripletsFingerprints
+.Ve
+.PP
+Default value for \fIMolecularComplexityType\fR: \fIMACCSKeys\fR.
+.PP
+\&\fIAtomIdentifierType\fR parameter name corresponds to atom types used during generation of
+fingerprints. The valid values for \fIAtomIdentifierType\fR are: \fIAtomicInvariantsAtomTypes,
+DREIDINGAtomTypes, EStateAtomTypes, FunctionalClassAtomTypes, MMFF94AtomTypes,
+SLogPAtomTypes, SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes\fR. \fIAtomicInvariantsAtomTypes\fR
+is not supported for following values of \fIMolecularComplexityType\fR: \fIMACCSKeys,
+TopologicalPharmacophoreAtomPairsFingerprints, TopologicalPharmacophoreAtomTripletsFingerprints\fR.
+\&\fIFunctionalClassAtomTypes\fR is the only valid value of \fIAtomIdentifierType\fR for topological
+pharmacophore fingerprints.
+.PP
+Default value for \fIAtomIdentifierType\fR: \fIAtomicInvariantsAtomTypes\fR for all fingerprints;
+\&\fIFunctionalClassAtomTypes\fR for topological pharmacophore fingerprints.
+.PP
+\&\fIAtomicInvariantsToUse\fR parameter name and values are used during \fIAtomicInvariantsAtomTypes\fR
+value of parameter \fIAtomIdentifierType\fR. It's a list of space separated valid atomic invariant atom types.
+.PP
+Possible values for atomic invariants are: \fI\s-1AS\s0, X, \s-1BO\s0,  \s-1LBO\s0, \s-1SB\s0, \s-1DB\s0, \s-1TB\s0, H, Ar, \s-1RA\s0, \s-1FC\s0, \s-1MN\s0, \s-1SM\s0\fR.
+Default value for \fIAtomicInvariantsToUse\fR parameter are set differently for different fingerprints
+using \fIMolecularComplexityType\fR parameter as shown below:
+.PP
+.Vb 1
+\&    MolecularComplexityType              AtomicInvariantsToUse
+\&
+\&    AtomTypesFingerprints                AS X BO H FC
+\&    TopologicalAtomPairsFingerprints     AS X BO H FC
+\&    TopologicalAtomTripletsFingerprints  AS X BO H FC
+\&    TopologicalAtomTorsionsFingerprints  AS X BO H FC
+\&
+\&    ExtendedConnectivityFingerprints     AS X  BO H FC MN
+\&    PathLengthFingerprints               AS
+.Ve
+.PP
+\&\fIFunctionalClassesToUse\fR parameter name and values are used during \fIFunctionalClassAtomTypes\fR
+value of parameter \fIAtomIdentifierType\fR. It's a list of space separated valid atomic invariant atom types.
+.PP
+Possible values for atom functional classes are: \fIAr, \s-1CA\s0, H, \s-1HBA\s0, \s-1HBD\s0, Hal, \s-1NI\s0, \s-1PI\s0, \s-1RA\s0\fR.
+.PP
+Default value for \fIFunctionalClassesToUse\fR parameter is set to:
+.PP
+.Vb 1
+\&    HBD HBA PI NI Ar Hal
+.Ve
+.PP
+for all fingerprints except for the following two \fIMolecularComplexityType\fR fingerints:
+.PP
+.Vb 1
+\&    MolecularComplexityType                           FunctionalClassesToUse
+\&
+\&    TopologicalPharmacophoreAtomPairsFingerprints     HBD HBA P, NI H
+\&    TopologicalPharmacophoreAtomTripletsFingerprints  HBD HBA PI NI H Ar
+.Ve
+.PP
+\&\fIMACCSKeysSize\fR parameter name is only used during \fIMACCSKeys\fR value of
+\&\fIMolecularComplexityType\fR and corresponds to size of \s-1MACCS\s0 key set. Possible
+values: \fI166 or 322\fR. Default value: \fI166\fR.
+.PP
+\&\fINeighborhoodRadius\fR parameter name is only used during \fIExtendedConnectivityFingerprints\fR
+value of \fIMolecularComplexityType\fR and corresponds to atomic neighborhoods radius for
+generating extended connectivity fingerprints. Possible values: positive integer. Default value:
+\&\fI2\fR.
+.PP
+\&\fIMinPathLength\fR and \fIMaxPathLength\fR parameters are only used during \fIPathLengthFingerprints\fR
+value of \fIMolecularComplexityType\fR and correspond to minimum and maximum path lengths to use
+for generating path length fingerprints. Possible values: positive integers. Default value: \fIMinPathLength \- 1\fR;
+\&\fIMaxPathLength \- 8\fR.
+.PP
+\&\fIUseBondSymbols\fR parameter is only used during \fIPathLengthFingerprints\fR value of
+\&\fIMolecularComplexityType\fR and indicates whether bond symbols are included in atom path
+strings used to generate path length fingerprints. Possible value: \fIYes or No\fR. Default value:
+\&\fIYes\fR.
+.PP
+\&\fIMinDistance\fR and \fIMaxDistance\fR parameters are only used during \fITopologicalAtomPairsFingerprints\fR
+and \fITopologicalAtomTripletsFingerprints\fR values of \fIMolecularComplexityType\fR and correspond to
+minimum and maximum bond distance between atom pairs during topological pharmacophore fingerprints.
+Possible values: positive integers. Default value: \fIMinDistance \- 1\fR; \fIMaxDistance \- 10\fR.
+.PP
+\&\fIUseTriangleInequality\fR parameter is used during these values for \fIMolecularComplexityType\fR:
+\&\fITopologicalAtomTripletsFingerprints\fR and \fITopologicalPharmacophoreAtomTripletsFingerprints\fR.
+Possible values: \fIYes or No\fR. It determines wheter to apply triangle inequality to distance triplets.
+Default value: \fITopologicalAtomTripletsFingerprints \- No\fR;
+\&\fITopologicalPharmacophoreAtomTripletsFingerprints \- Yes\fR.
+.PP
+\&\fIDistanceBinSize\fR parameter is used during \fITopologicalPharmacophoreAtomTripletsFingerprints\fR
+value of \fIMolecularComplexityType\fR and corresponds to distance bin size used for binning
+distances during generation of topological pharmacophore atom triplets fingerprints. Possible
+value: positive integer. Default value: \fI2\fR.
+.PP
+\&\fINormalizationMethodology\fR is only used for these values for \fIMolecularComplexityType\fR:
+\&\fIExtendedConnectivityFingerprints\fR, \fITopologicalPharmacophoreAtomPairsFingerprints\fR
+and \fITopologicalPharmacophoreAtomTripletsFingerprints\fR. It corresponds to normalization
+methodology to use for scaling the number of bits-set or unique keys during generation of
+fingerprints. Possible values during \fIExtendedConnectivityFingerprints\fR: \fINone or
+ByHeavyAtomsCount\fR; Default value: \fINone\fR. Possible values during topological
+pharmacophore atom pairs and triplets fingerprints: \fINone or ByPossibleKeysCount\fR;
+Default value: \fINone\fR. \fIByPossibleKeysCount\fR corresponds to total number of
+possible topological pharmacophore atom pairs or triplets in a molecule.
+.SS "\s-1METHODS\s0"
+.IX Subsection "METHODS"
+.IP "\fBnew\fR" 4
+.IX Item "new"
+.Vb 3
+\&    $NewMolecularComplexityDescriptors = new MolecularDescriptors::
+\&                                         MolecularComplexityDescriptors(
+\&                                             %NamesAndValues);
+.Ve
+.Sp
+Using specified \fIMolecularComplexityDescriptors\fR property names and values hash, \fBnew\fR
+method creates a new object and returns a reference to newly created \fBMolecularComplexityDescriptors\fR
+object. By default, the following properties are initialized:
+.Sp
+.Vb 10
+\&    Molecule = \*(Aq\*(Aq
+\&    Type = \*(AqMolecularComplexity\*(Aq
+\&    MolecularComplexityType = \*(AqMACCSKeys\*(Aq
+\&    AtomIdentifierType = \*(Aq\*(Aq
+\&    MACCSKeysSize = 166
+\&    NeighborhoodRadius = 2
+\&    MinPathLength = 1
+\&    MaxPathLength = 8
+\&    UseBondSymbols = 1
+\&    MinDistance = 1
+\&    MaxDistance = 10
+\&    UseTriangleInequality = \*(Aq\*(Aq
+\&    DistanceBinSize = 2
+\&    NormalizationMethodology = \*(AqNone\*(Aq
+\&    @DescriptorNames = (\*(AqMolecularComplexity\*(Aq)
+\&    @DescriptorValues = (\*(AqNone\*(Aq)
+.Ve
+.Sp
+Examples:
+.Sp
+.Vb 3
+\&    $MolecularComplexityDescriptors = new MolecularDescriptors::
+\&                                      MolecularComplexityDescriptors(
+\&                                      \*(AqMolecule\*(Aq => $Molecule);
+\&
+\&    $MolecularComplexityDescriptors = new MolecularDescriptors::
+\&                                      MolecularComplexityDescriptors();
+\&
+\&    $MolecularComplexityDescriptors\->SetMolecule($Molecule);
+\&    $MolecularComplexityDescriptors\->GenerateDescriptors();
+\&    print "MolecularComplexityDescriptors: $MolecularComplexityDescriptors\en";
+.Ve
+.IP "\fBGenerateDescriptors\fR" 4
+.IX Item "GenerateDescriptors"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->GenerateDescriptors();
+.Ve
+.Sp
+Calculates MolecularComplexity value for a molecule and returns \fIMolecularComplexityDescriptors\fR.
+.IP "\fBGetDescriptorNames\fR" 4
+.IX Item "GetDescriptorNames"
+.Vb 3
+\&    @DescriptorNames = $MolecularComplexityDescriptors\->GetDescriptorNames();
+\&    @DescriptorNames = MolecularDescriptors::MolecularComplexityDescriptors::
+\&                       GetDescriptorNames();
+.Ve
+.Sp
+Returns all available descriptor names as an array.
+.IP "\fBGetMolecularComplexityTypeAbbreviation\fR" 4
+.IX Item "GetMolecularComplexityTypeAbbreviation"
+.Vb 4
+\&    $Abbrev = $MolecularComplexityDescriptors\->
+\&                  GetMolecularComplexityTypeAbbreviation();
+\&    $Abbrev = MolecularDescriptors::MolecularComplexityDescriptors::
+\&                  GetMolecularComplexityTypeAbbreviation($ComplexityType);
+.Ve
+.Sp
+Returns abbreviation for a specified molecular complexity type or corresponding to
+\&\fIMolecularComplexityDescriptors\fR object.
+.IP "\fBSetMACCSKeysSize\fR" 4
+.IX Item "SetMACCSKeysSize"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->MACCSKeysSize($Size);
+.Ve
+.Sp
+Sets \s-1MACCS\s0 keys size and returns \fIMolecularComplexityDescriptors\fR.
+.IP "\fBSetAtomIdentifierType\fR" 4
+.IX Item "SetAtomIdentifierType"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetAtomIdentifierType($IdentifierType);
+.Ve
+.Sp
+Sets atom \fIIdentifierType\fR to use during fingerprints generation corresponding to
+\&\fIMolecularComplexityType\fR and returns \fIMolecularComplexityDescriptors\fR.
+.Sp
+Possible values: \fIAtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes,
+FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes, SYBYLAtomTypes,
+TPSAAtomTypes, UFFAtomTypes\fR.
+.IP "\fBSetAtomicInvariantsToUse\fR" 4
+.IX Item "SetAtomicInvariantsToUse"
+.Vb 2
+\&    $MolecularComplexityDescriptors\->SetAtomicInvariantsToUse($ValuesRef);
+\&    $MolecularComplexityDescriptors\->SetAtomicInvariantsToUse(@Values);
+.Ve
+.Sp
+Sets atomic invariants to use during \fIAtomicInvariantsAtomTypes\fR value of \fIAtomIdentifierType\fR
+for fingerprints generation and returns \fIMolecularComplexityDescriptors\fR.
+.Sp
+Possible values for atomic invariants are: \fI\s-1AS\s0, X, \s-1BO\s0,  \s-1LBO\s0, \s-1SB\s0, \s-1DB\s0, \s-1TB\s0,
+H, Ar, \s-1RA\s0, \s-1FC\s0, \s-1MN\s0, \s-1SM\s0\fR. Default value [ Ref 24 ]: \fI\s-1AS\s0,X,BO,H,FC,MN\fR.
+.Sp
+The atomic invariants abbreviations correspond to:
+.Sp
+.Vb 1
+\&    AS = Atom symbol corresponding to element symbol
+\&
+\&    X<n>   = Number of non\-hydrogen atom neighbors or heavy atoms
+\&    BO<n> = Sum of bond orders to non\-hydrogen atom neighbors or heavy atoms
+\&    LBO<n> = Largest bond order of non\-hydrogen atom neighbors or heavy atoms
+\&    SB<n> = Number of single bonds to non\-hydrogen atom neighbors or heavy atoms
+\&    DB<n> = Number of double bonds to non\-hydrogen atom neighbors or heavy atoms
+\&    TB<n> = Number of triple bonds to non\-hydrogen atom neighbors or heavy atoms
+\&    H<n>   = Number of implicit and explicit hydrogens for atom
+\&    Ar     = Aromatic annotation indicating whether atom is aromatic
+\&    RA     = Ring atom annotation indicating whether atom is a ring
+\&    FC<+n/\-n> = Formal charge assigned to atom
+\&    MN<n> = Mass number indicating isotope other than most abundant isotope
+\&    SM<n> = Spin multiplicity of atom. Possible values: 1 (singlet), 2 (doublet) or
+\&            3 (triplet)
+.Ve
+.Sp
+Atom type generated by AtomTypes::AtomicInvariantsAtomTypes class corresponds to:
+.Sp
+.Vb 1
+\&    AS.X<n>.BO<n>.LBO<n>.<SB><n>.<DB><n>.<TB><n>.H<n>.Ar.RA.FC<+n/\-n>.MN<n>.SM<n>
+.Ve
+.Sp
+Except for \s-1AS\s0 which is a required atomic invariant in atom types, all other atomic invariants are
+optional. Atom type specification doesn't include atomic invariants with zero or undefined values.
+.Sp
+In addition to usage of abbreviations for specifying atomic invariants, the following descriptive words
+are also allowed:
+.Sp
+.Vb 12
+\&    X : NumOfNonHydrogenAtomNeighbors or NumOfHeavyAtomNeighbors
+\&    BO : SumOfBondOrdersToNonHydrogenAtoms or SumOfBondOrdersToHeavyAtoms
+\&    LBO : LargestBondOrderToNonHydrogenAtoms or LargestBondOrderToHeavyAtoms
+\&    SB :  NumOfSingleBondsToNonHydrogenAtoms or NumOfSingleBondsToHeavyAtoms
+\&    DB : NumOfDoubleBondsToNonHydrogenAtoms or NumOfDoubleBondsToHeavyAtoms
+\&    TB : NumOfTripleBondsToNonHydrogenAtoms or NumOfTripleBondsToHeavyAtoms
+\&    H :  NumOfImplicitAndExplicitHydrogens
+\&    Ar : Aromatic
+\&    RA : RingAtom
+\&    FC : FormalCharge
+\&    MN : MassNumber
+\&    SM : SpinMultiplicity
+.Ve
+.Sp
+\&\fIAtomTypes::AtomicInvariantsAtomTypes\fR module is used to assign atomic invariant
+atom types.
+.IP "\fBSetDistanceBinSize\fR" 4
+.IX Item "SetDistanceBinSize"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetDistanceBinSize($BinSize);
+.Ve
+.Sp
+Sets distance bin size used to bin distances between atom pairs in atom triplets for
+topological pharmacophore atom triplets fingerprints generation and returns
+\&\fIMolecularComplexityDescriptors\fR.
+.IP "\fBSetFunctionalClassesToUse\fR" 4
+.IX Item "SetFunctionalClassesToUse"
+.Vb 2
+\&    $MolecularComplexityDescriptors\->SetFunctionalClassesToUse($ValuesRef);
+\&    $MolecularComplexityDescriptors\->SetFunctionalClassesToUse(@Values);
+.Ve
+.Sp
+Sets functional classes invariants to use during \fIFunctionalClassAtomTypes\fR value of \fIAtomIdentifierType\fR
+for fingerprints generation and returns \fIMolecularComplexityDescriptors\fR.
+.Sp
+Possible values for atom functional classes are: \fIAr, \s-1CA\s0, H, \s-1HBA\s0, \s-1HBD\s0, Hal, \s-1NI\s0, \s-1PI\s0, \s-1RA\s0\fR.
+Default value [ Ref 24 ]: \fI\s-1HBD\s0,HBA,PI,NI,Ar,Hal\fR.
+.Sp
+The functional class abbreviations correspond to:
+.Sp
+.Vb 9
+\&    HBD: HydrogenBondDonor
+\&    HBA: HydrogenBondAcceptor
+\&    PI :  PositivelyIonizable
+\&    NI : NegativelyIonizable
+\&    Ar : Aromatic
+\&    Hal : Halogen
+\&    H : Hydrophobic
+\&    RA : RingAtom
+\&    CA : ChainAtom
+\&
+\& Functional class atom type specification for an atom corresponds to:
+\&
+\&    Ar.CA.H.HBA.HBD.Hal.NI.PI.RA or None
+.Ve
+.Sp
+\&\fIAtomTypes::FunctionalClassAtomTypes\fR module is used to assign functional class atom
+types. It uses following definitions [ Ref 60\-61, Ref 65\-66 ]:
+.Sp
+.Vb 4
+\&    HydrogenBondDonor: NH, NH2, OH
+\&    HydrogenBondAcceptor: N[!H], O
+\&    PositivelyIonizable: +, NH2
+\&    NegativelyIonizable: \-, C(=O)OH, S(=O)OH, P(=O)OH
+.Ve
+.IP "\fBSetMaxDistance\fR" 4
+.IX Item "SetMaxDistance"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetMaxDistance($MaxDistance);
+.Ve
+.Sp
+Sets maximum distance to use during topological atom pairs and triplets fingerprints
+generation and returns \fIMolecularComplexityDescriptors\fR.
+.IP "\fBSetMaxPathLength\fR" 4
+.IX Item "SetMaxPathLength"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetMaxPathLength($Length);
+.Ve
+.Sp
+Sets maximum path length to use during path length fingerprints generation and returns
+\&\fIMolecularComplexityDescriptors\fR.
+.IP "\fBSetMinDistance\fR" 4
+.IX Item "SetMinDistance"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetMinDistance($MinDistance);
+.Ve
+.Sp
+Sets minimum distance to use during topological atom pairs and triplets fingerprints
+generation and returns \fIMolecularComplexityDescriptors\fR.
+.IP "\fBSetMinPathLength\fR" 4
+.IX Item "SetMinPathLength"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetMinPathLength($MinPathLength);
+.Ve
+.Sp
+Sets minimum path length to use during path length fingerprints generation and returns
+\&\fIMolecularComplexityDescriptors\fR.
+.IP "\fBSetMolecularComplexityType\fR" 4
+.IX Item "SetMolecularComplexityType"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetMolecularComplexityType($ComplexityType);
+.Ve
+.Sp
+Sets molecular complexity type to use for calculating its value and returns
+\&\fIMolecularComplexityDescriptors\fR.
+.IP "\fBSetNeighborhoodRadius\fR" 4
+.IX Item "SetNeighborhoodRadius"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetNeighborhoodRadius($Radius);
+.Ve
+.Sp
+Sets neighborhood radius to use during extended connectivity fingerprints generation and
+returns \fIMolecularComplexityDescriptors\fR.
+.IP "\fBSetNormalizationMethodology\fR" 4
+.IX Item "SetNormalizationMethodology"
+.Vb 1
+\&    $MolecularComplexityDescriptors\->SetNormalizationMethodology($Methodology);
+.Ve
+.Sp
+Sets normalization methodology to use during calculation of molecular complexity
+corresponding to extended connectivity, topological pharmacophore atom pairs and
+tripletes fingerprints returns \fIMolecularComplexityDescriptors\fR.
+.IP "\fBStringifyMolecularComplexityDescriptors\fR" 4
+.IX Item "StringifyMolecularComplexityDescriptors"
+.Vb 2
+\&    $String = $MolecularComplexityDescriptors\->
+\&                  StringifyMolecularComplexityDescriptors();
+.Ve
+.Sp
+Returns a string containing information about \fIMolecularComplexityDescriptors\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.