Mercurial > repos > deepakjadmin > mayatool3_test2
diff docs/modules/txt/MolecularComplexityDescriptors.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 09:23:18 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/modules/txt/MolecularComplexityDescriptors.txt Wed Jan 20 09:23:18 2016 -0500 @@ -0,0 +1,409 @@ +NAME + MolecularComplexityDescriptors + +SYNOPSIS + use MolecularDescriptors::MolecularComplexityDescriptors; + + use MolecularDescriptors::MolecularComplexityDescriptors qw(:all); + +DESCRIPTION + MolecularComplexityDescriptors class provides the following methods: + + new, GenerateDescriptors, GetDescriptorNames, + GetMolecularComplexityTypeAbbreviation, MACCSKeysSize, + SetAtomIdentifierType, SetAtomicInvariantsToUse, SetDistanceBinSize, + SetFunctionalClassesToUse, SetMaxDistance, SetMaxPathLength, + SetMinDistance, SetMinPathLength, SetMolecularComplexityType, + SetNeighborhoodRadius, SetNormalizationMethodology, + StringifyMolecularComplexityDescriptors + + MolecularComplexityDescriptors is derived from MolecularDescriptors + class which in turn is derived from ObjectProperty base class that + provides methods not explicitly defined in + MolecularComplexityDescriptors, 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 calculation of molecular + complexity using *MolecularComplexityType* parameter corresponding to + number of bits-set or unique keys [ Ref 117-119 ] in molecular + fingerprints. The valid values for *MolecularComplexityType* are: + + AtomTypesFingerprints + ExtendedConnectivityFingerprints + MACCSKeys + PathLengthFingerprints + TopologicalAtomPairsFingerprints + TopologicalAtomTripletsFingerprints + TopologicalAtomTorsionsFingerprints + TopologicalPharmacophoreAtomPairsFingerprints + TopologicalPharmacophoreAtomTripletsFingerprints + + Default value for *MolecularComplexityType*: *MACCSKeys*. + + *AtomIdentifierType* parameter name corresponds to atom types used + during generation of fingerprints. The valid values for + *AtomIdentifierType* are: *AtomicInvariantsAtomTypes, DREIDINGAtomTypes, + EStateAtomTypes, FunctionalClassAtomTypes, MMFF94AtomTypes, + SLogPAtomTypes, SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes*. + *AtomicInvariantsAtomTypes* is not supported for following values of + *MolecularComplexityType*: *MACCSKeys, + TopologicalPharmacophoreAtomPairsFingerprints, + TopologicalPharmacophoreAtomTripletsFingerprints*. + *FunctionalClassAtomTypes* is the only valid value of + *AtomIdentifierType* for topological pharmacophore fingerprints. + + Default value for *AtomIdentifierType*: *AtomicInvariantsAtomTypes* for + all fingerprints; *FunctionalClassAtomTypes* for topological + pharmacophore fingerprints. + + *AtomicInvariantsToUse* parameter name and values are used during + *AtomicInvariantsAtomTypes* value of parameter *AtomIdentifierType*. + It's a list of space separated valid atomic invariant atom types. + + Possible values for atomic invariants are: *AS, X, BO, LBO, SB, DB, TB, + H, Ar, RA, FC, MN, SM*. Default value for *AtomicInvariantsToUse* + parameter are set differently for different fingerprints using + *MolecularComplexityType* parameter as shown below: + + 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 + + *FunctionalClassesToUse* parameter name and values are used during + *FunctionalClassAtomTypes* value of parameter *AtomIdentifierType*. It's + a list of space separated valid atomic invariant atom types. + + Possible values for atom functional classes are: *Ar, CA, H, HBA, HBD, + Hal, NI, PI, RA*. + + Default value for *FunctionalClassesToUse* parameter is set to: + + HBD HBA PI NI Ar Hal + + for all fingerprints except for the following two + *MolecularComplexityType* fingerints: + + MolecularComplexityType FunctionalClassesToUse + + TopologicalPharmacophoreAtomPairsFingerprints HBD HBA P, NI H + TopologicalPharmacophoreAtomTripletsFingerprints HBD HBA PI NI H Ar + + *MACCSKeysSize* parameter name is only used during *MACCSKeys* value of + *MolecularComplexityType* and corresponds to size of MACCS key set. + Possible values: *166 or 322*. Default value: *166*. + + *NeighborhoodRadius* parameter name is only used during + *ExtendedConnectivityFingerprints* value of *MolecularComplexityType* + and corresponds to atomic neighborhoods radius for generating extended + connectivity fingerprints. Possible values: positive integer. Default + value: *2*. + + *MinPathLength* and *MaxPathLength* parameters are only used during + *PathLengthFingerprints* value of *MolecularComplexityType* and + correspond to minimum and maximum path lengths to use for generating + path length fingerprints. Possible values: positive integers. Default + value: *MinPathLength - 1*; *MaxPathLength - 8*. + + *UseBondSymbols* parameter is only used during *PathLengthFingerprints* + value of *MolecularComplexityType* and indicates whether bond symbols + are included in atom path strings used to generate path length + fingerprints. Possible value: *Yes or No*. Default value: *Yes*. + + *MinDistance* and *MaxDistance* parameters are only used during + *TopologicalAtomPairsFingerprints* and + *TopologicalAtomTripletsFingerprints* values of + *MolecularComplexityType* and correspond to minimum and maximum bond + distance between atom pairs during topological pharmacophore + fingerprints. Possible values: positive integers. Default value: + *MinDistance - 1*; *MaxDistance - 10*. + + *UseTriangleInequality* parameter is used during these values for + *MolecularComplexityType*: *TopologicalAtomTripletsFingerprints* and + *TopologicalPharmacophoreAtomTripletsFingerprints*. Possible values: + *Yes or No*. It determines wheter to apply triangle inequality to + distance triplets. Default value: *TopologicalAtomTripletsFingerprints - + No*; *TopologicalPharmacophoreAtomTripletsFingerprints - Yes*. + + *DistanceBinSize* parameter is used during + *TopologicalPharmacophoreAtomTripletsFingerprints* value of + *MolecularComplexityType* and corresponds to distance bin size used for + binning distances during generation of topological pharmacophore atom + triplets fingerprints. Possible value: positive integer. Default value: + *2*. + + *NormalizationMethodology* is only used for these values for + *MolecularComplexityType*: *ExtendedConnectivityFingerprints*, + *TopologicalPharmacophoreAtomPairsFingerprints* and + *TopologicalPharmacophoreAtomTripletsFingerprints*. It corresponds to + normalization methodology to use for scaling the number of bits-set or + unique keys during generation of fingerprints. Possible values during + *ExtendedConnectivityFingerprints*: *None or ByHeavyAtomsCount*; Default + value: *None*. Possible values during topological pharmacophore atom + pairs and triplets fingerprints: *None or ByPossibleKeysCount*; Default + value: *None*. *ByPossibleKeysCount* corresponds to total number of + possible topological pharmacophore atom pairs or triplets in a molecule. + + METHODS + new + $NewMolecularComplexityDescriptors = new MolecularDescriptors:: + MolecularComplexityDescriptors( + %NamesAndValues); + + Using specified *MolecularComplexityDescriptors* property names and + values hash, new method creates a new object and returns a reference + to newly created MolecularComplexityDescriptors object. By default, + the following properties are initialized: + + Molecule = '' + Type = 'MolecularComplexity' + MolecularComplexityType = 'MACCSKeys' + AtomIdentifierType = '' + MACCSKeysSize = 166 + NeighborhoodRadius = 2 + MinPathLength = 1 + MaxPathLength = 8 + UseBondSymbols = 1 + MinDistance = 1 + MaxDistance = 10 + UseTriangleInequality = '' + DistanceBinSize = 2 + NormalizationMethodology = 'None' + @DescriptorNames = ('MolecularComplexity') + @DescriptorValues = ('None') + + Examples: + + $MolecularComplexityDescriptors = new MolecularDescriptors:: + MolecularComplexityDescriptors( + 'Molecule' => $Molecule); + + $MolecularComplexityDescriptors = new MolecularDescriptors:: + MolecularComplexityDescriptors(); + + $MolecularComplexityDescriptors->SetMolecule($Molecule); + $MolecularComplexityDescriptors->GenerateDescriptors(); + print "MolecularComplexityDescriptors: $MolecularComplexityDescriptors\n"; + + GenerateDescriptors + $MolecularComplexityDescriptors->GenerateDescriptors(); + + Calculates MolecularComplexity value for a molecule and returns + *MolecularComplexityDescriptors*. + + GetDescriptorNames + @DescriptorNames = $MolecularComplexityDescriptors->GetDescriptorNames(); + @DescriptorNames = MolecularDescriptors::MolecularComplexityDescriptors:: + GetDescriptorNames(); + + Returns all available descriptor names as an array. + + GetMolecularComplexityTypeAbbreviation + $Abbrev = $MolecularComplexityDescriptors-> + GetMolecularComplexityTypeAbbreviation(); + $Abbrev = MolecularDescriptors::MolecularComplexityDescriptors:: + GetMolecularComplexityTypeAbbreviation($ComplexityType); + + Returns abbreviation for a specified molecular complexity type or + corresponding to *MolecularComplexityDescriptors* object. + + SetMACCSKeysSize + $MolecularComplexityDescriptors->MACCSKeysSize($Size); + + Sets MACCS keys size and returns *MolecularComplexityDescriptors*. + + SetAtomIdentifierType + $MolecularComplexityDescriptors->SetAtomIdentifierType($IdentifierType); + + Sets atom *IdentifierType* to use during fingerprints generation + corresponding to *MolecularComplexityType* and returns + *MolecularComplexityDescriptors*. + + Possible values: *AtomicInvariantsAtomTypes, DREIDINGAtomTypes, + EStateAtomTypes, FunctionalClassAtomTypes, MMFF94AtomTypes, + SLogPAtomTypes, SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes*. + + SetAtomicInvariantsToUse + $MolecularComplexityDescriptors->SetAtomicInvariantsToUse($ValuesRef); + $MolecularComplexityDescriptors->SetAtomicInvariantsToUse(@Values); + + Sets atomic invariants to use during *AtomicInvariantsAtomTypes* + value of *AtomIdentifierType* for fingerprints generation and + returns *MolecularComplexityDescriptors*. + + Possible values for atomic invariants are: *AS, X, BO, LBO, SB, DB, + TB, H, Ar, RA, FC, MN, SM*. Default value [ Ref 24 ]: + *AS,X,BO,H,FC,MN*. + + The atomic invariants abbreviations correspond to: + + 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) + + Atom type generated by AtomTypes::AtomicInvariantsAtomTypes class + corresponds to: + + AS.X<n>.BO<n>.LBO<n>.<SB><n>.<DB><n>.<TB><n>.H<n>.Ar.RA.FC<+n/-n>.MN<n>.SM<n> + + Except for AS 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. + + In addition to usage of abbreviations for specifying atomic + invariants, the following descriptive words are also allowed: + + 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 + + *AtomTypes::AtomicInvariantsAtomTypes* module is used to assign + atomic invariant atom types. + + SetDistanceBinSize + $MolecularComplexityDescriptors->SetDistanceBinSize($BinSize); + + Sets distance bin size used to bin distances between atom pairs in + atom triplets for topological pharmacophore atom triplets + fingerprints generation and returns + *MolecularComplexityDescriptors*. + + SetFunctionalClassesToUse + $MolecularComplexityDescriptors->SetFunctionalClassesToUse($ValuesRef); + $MolecularComplexityDescriptors->SetFunctionalClassesToUse(@Values); + + Sets functional classes invariants to use during + *FunctionalClassAtomTypes* value of *AtomIdentifierType* for + fingerprints generation and returns + *MolecularComplexityDescriptors*. + + Possible values for atom functional classes are: *Ar, CA, H, HBA, + HBD, Hal, NI, PI, RA*. Default value [ Ref 24 ]: + *HBD,HBA,PI,NI,Ar,Hal*. + + The functional class abbreviations correspond to: + + 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 + + *AtomTypes::FunctionalClassAtomTypes* module is used to assign + functional class atom types. It uses following definitions [ Ref + 60-61, Ref 65-66 ]: + + HydrogenBondDonor: NH, NH2, OH + HydrogenBondAcceptor: N[!H], O + PositivelyIonizable: +, NH2 + NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH + + SetMaxDistance + $MolecularComplexityDescriptors->SetMaxDistance($MaxDistance); + + Sets maximum distance to use during topological atom pairs and + triplets fingerprints generation and returns + *MolecularComplexityDescriptors*. + + SetMaxPathLength + $MolecularComplexityDescriptors->SetMaxPathLength($Length); + + Sets maximum path length to use during path length fingerprints + generation and returns *MolecularComplexityDescriptors*. + + SetMinDistance + $MolecularComplexityDescriptors->SetMinDistance($MinDistance); + + Sets minimum distance to use during topological atom pairs and + triplets fingerprints generation and returns + *MolecularComplexityDescriptors*. + + SetMinPathLength + $MolecularComplexityDescriptors->SetMinPathLength($MinPathLength); + + Sets minimum path length to use during path length fingerprints + generation and returns *MolecularComplexityDescriptors*. + + SetMolecularComplexityType + $MolecularComplexityDescriptors->SetMolecularComplexityType($ComplexityType); + + Sets molecular complexity type to use for calculating its value and + returns *MolecularComplexityDescriptors*. + + SetNeighborhoodRadius + $MolecularComplexityDescriptors->SetNeighborhoodRadius($Radius); + + Sets neighborhood radius to use during extended connectivity + fingerprints generation and returns + *MolecularComplexityDescriptors*. + + SetNormalizationMethodology + $MolecularComplexityDescriptors->SetNormalizationMethodology($Methodology); + + Sets normalization methodology to use during calculation of + molecular complexity corresponding to extended connectivity, + topological pharmacophore atom pairs and tripletes fingerprints + returns *MolecularComplexityDescriptors*. + + StringifyMolecularComplexityDescriptors + $String = $MolecularComplexityDescriptors-> + StringifyMolecularComplexityDescriptors(); + + Returns a string containing information about + *MolecularComplexityDescriptors* object. + +AUTHOR + Manish Sud <msud@san.rr.com> + +SEE ALSO + MolecularDescriptors.pm, MolecularDescriptorsGenerator.pm + +COPYRIGHT + Copyright (C) 2015 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. +