Mercurial > repos > deepakjadmin > mayatool3_test2
diff docs/modules/txt/AtomNeighborhoodsFingerprints.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/AtomNeighborhoodsFingerprints.txt Wed Jan 20 09:23:18 2016 -0500 @@ -0,0 +1,347 @@ +NAME + AtomNeighborhoodsFingerprints + +SYNOPSIS + use Fingerprints::AtomNeighborhoodsFingerprints; + + use Fingerprints::AtomNeighborhoodsFingerprints qw(:all); + +DESCRIPTION + AtomNeighborhoodsFingerprints [ Ref 53-56, Ref 73 ] class provides the + following methods: + + new, GenerateFingerprints, GetDescription, SetAtomIdentifierType, + SetAtomicInvariantsToUse, SetFunctionalClassesToUse, + SetMaxNeighborhoodRadius, SetMinNeighborhoodRadius, + StringifyAtomNeighborhoodsFingerprints + + AtomNeighborhoodsFingerprints is derived from Fingerprints class which + in turn is derived from ObjectProperty base class that provides methods + not explicitly defined in AtomNeighborhoodsFingerprints, Fingerprints 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 generation of + AtomNeighborhoodsFingerprints corresponding to following + AtomIdentifierTypes: + + AtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes, + FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes, + SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes + + Based on the values specified for AtomIdentifierType along with other + specified sucb as AtomicInvariantsToUse and FunctionalClassesToUse, + initial atom types are assigned to all non-hydrogen atoms in a molecule. + Using atom neighborhoods around each non-hydrogen central atom + corresponding to radii between specified values MinNeighborhoodRadius + and MaxNeighborhoodRadius, unique atom types at each radii level are + counted and an atom neighborhood identifier is generated. + + The format of an atom neighborhood identifier around a central + non-hydrogen atom at a specific radius is: + + NR<n>-<AtomType>-ATC<n> + + NR: Neighborhood radius + AtomType: Assigned atom type + ATC: Atom type count + + The atom neighborhood identifier for non-hydrogen central atom + corresponding to all specified radii is generated by concatenating + neighborhood identifiers at each radii by colon as a delimiter: + + NR<n>-<AtomType>-ATC<n>:NR<n>-<AtomType>-ATC<n>:... + + The atom neighborhood identifiers for all non-hydrogen central atoms at + all specified radii are concatenated using space as a delimiter and + constitute atom neighborhood fingerprint of the molecule. + + The current release of MayaChemTools generates the following types of + atom neighborhoods fingerprints vector strings: + + FingerprintsVector;AtomNeighborhoods:AtomicInvariantsAtomTypes:MinRadi + us0:MaxRadius2;41;AlphaNumericalValues;ValuesString;NR0-C.X1.BO1.H3-AT + C1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-ATC1 NR0-C.X + 1.BO1.H3-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-A + TC1 NR0-C.X2.BO2.H2-ATC1:NR1-C.X2.BO2.H2-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2 + -C.X2.BO2.H2-ATC1:NR2-N.X3.BO3-ATC1:NR2-O.X1.BO1.H1-ATC1 NR0-C.X2.B... + + FingerprintsVector;AtomNeighborhoods:DREIDINGAtomTypes:MinRadius0:MaxR + adius2;41;AlphaNumericalValues;ValuesString;NR0-C_2-ATC1:NR1-C_3-ATC1: + NR1-O_2-ATC1:NR1-O_3-ATC1:NR2-C_3-ATC1 NR0-C_2-ATC1:NR1-C_R-ATC1:NR1-N + _3-ATC1:NR1-O_2-ATC1:NR2-C_R-ATC3 NR0-C_3-ATC1:NR1-C_2-ATC1:NR1-C_3-AT + C1:NR2-C_3-ATC1:NR2-O_2-ATC1:NR2-O_3-ATC2 NR0-C_3-ATC1:NR1-C_3-ATC1:NR + 1-N_R-ATC1:NR2-C_3-ATC1:NR2-C_R-ATC2 NR0-C_3-ATC1:NR1-C_3-ATC1:NR2-... + + FingerprintsVector;AtomNeighborhoods:EStateAtomTypes:MinRadius0:MaxRad + ius2;41;AlphaNumericalValues;ValuesString;NR0-aaCH-ATC1:NR1-aaCH-ATC1: + NR1-aasC-ATC1:NR2-aaCH-ATC1:NR2-aasC-ATC1:NR2-sF-ATC1 NR0-aaCH-ATC1:NR + 1-aaCH-ATC1:NR1-aasC-ATC1:NR2-aaCH-ATC1:NR2-aasC-ATC1:NR2-sF-ATC1 NR0- + aaCH-ATC1:NR1-aaCH-ATC1:NR1-aasC-ATC1:NR2-aaCH-ATC1:NR2-aasC-ATC2 NR0- + aaCH-ATC1:NR1-aaCH-ATC1:NR1-aasC-ATC1:NR2-aaCH-ATC1:NR2-aasC-ATC2 N... + + FingerprintsVector;AtomNeighborhoods:FunctionalClassAtomTypes:MinRadiu + s0:MaxRadius2;41;AlphaNumericalValues;ValuesString;NR0-Ar-ATC1:NR1-Ar- + ATC1:NR1-Ar.HBA-ATC1:NR1-None-ATC1:NR2-Ar-ATC2:NR2-None-ATC4 NR0-Ar-AT + C1:NR1-Ar-ATC2:NR1-Ar.HBA-ATC1:NR2-Ar-ATC5:NR2-None-ATC1 NR0-Ar-ATC1:N + R1-Ar-ATC2:NR1-HBD-ATC1:NR2-Ar-ATC2:NR2-None-ATC1 NR0-Ar-ATC1:NR1-Ar-A + TC2:NR1-Hal-ATC1:NR2-Ar-ATC2 NR0-Ar-ATC1:NR1-Ar-ATC2:NR1-None-ATC1:... + + FingerprintsVector;AtomNeighborhoods:MMFF94AtomTypes:MinRadius0:MaxRad + ius2;41;AlphaNumericalValues;ValuesString;NR0-C5A-ATC1:NR1-C5B-ATC1:NR + 1-CB-ATC1:NR1-N5-ATC1:NR2-C5A-ATC1:NR2-C5B-ATC1:NR2-CB-ATC3:NR2-CR-ATC + 1 NR0-C5A-ATC1:NR1-C5B-ATC1:NR1-CR-ATC1:NR1-N5-ATC1:NR2-C5A-ATC1:NR2-C + 5B-ATC1:NR2-C=ON-ATC1:NR2-CR-ATC3 NR0-C5B-ATC1:NR1-C5A-ATC1:NR1-C5B-AT + C1:NR1-C=ON-ATC1:NR2-C5A-ATC1:NR2-CB-ATC1:NR2-CR-ATC1:NR2-N5-ATC1:N... + + FingerprintsVector;AtomNeighborhoods:SLogPAtomTypes:MinRadius0:MaxRadi + us2;41;AlphaNumericalValues;ValuesString;NR0-C1-ATC1:NR1-C10-ATC1:NR1- + CS-ATC1:NR2-C1-ATC1:NR2-N11-ATC1:NR2-O2-ATC1 NR0-C1-ATC1:NR1-C11-ATC1: + NR2-C1-ATC1:NR2-C21-ATC1 NR0-C1-ATC1:NR1-C11-ATC1:NR2-C1-ATC1:NR2-C21- + ATC1 NR0-C1-ATC1:NR1-C5-ATC1:NR1-CS-ATC1:NR2-C1-ATC1:NR2-O2-ATC2:NR2-O + 9-ATC1 NR0-C1-ATC1:NR1-CS-ATC2:NR2-C1-ATC2:NR2-O2-ATC2 NR0-C10-ATC1... + + FingerprintsVector;AtomNeighborhoods:SYBYLAtomTypes:MinRadius0:MaxRadi + us2;41;AlphaNumericalValues;ValuesString;NR0-C.2-ATC1:NR1-C.3-ATC1:NR1 + -O.co2-ATC2:NR2-C.3-ATC1 NR0-C.2-ATC1:NR1-C.ar-ATC1:NR1-N.am-ATC1:NR1- + O.2-ATC1:NR2-C.ar-ATC3 NR0-C.3-ATC1:NR1-C.2-ATC1:NR1-C.3-ATC1:NR2-C.3- + ATC1:NR2-O.3-ATC1:NR2-O.co2-ATC2 NR0-C.3-ATC1:NR1-C.3-ATC1:NR1-N.ar-AT + C1:NR2-C.3-ATC1:NR2-C.ar-ATC2 NR0-C.3-ATC1:NR1-C.3-ATC1:NR2-C.3-ATC... + + FingerprintsVector;AtomNeighborhoods:TPSAAtomTypes:MinRadius0:MaxRadiu + s2;41;AlphaNumericalValues;ValuesString;NR0-N21-ATC1:NR1-None-ATC3:NR2 + -None-ATC5 NR0-N7-ATC1:NR1-None-ATC2:NR2-None-ATC3:NR2-O3-ATC1 NR0-Non + e-ATC1:NR1-N21-ATC1:NR1-None-ATC1:NR2-None-ATC3 NR0-None-ATC1:NR1-N21- + ATC1:NR1-None-ATC2:NR2-None-ATC6 NR0-None-ATC1:NR1-N21-ATC1:NR1-None-A + TC2:NR2-None-ATC6 NR0-None-ATC1:NR1-N7-ATC1:NR1-None-ATC1:NR1-O3-AT... + + FingerprintsVector;AtomNeighborhoods:UFFAtomTypes:MinRadius0:MaxRadius + 2;41;AlphaNumericalValues;ValuesString;NR0-C_2-ATC1:NR1-C_3-ATC1:NR1-O + _2-ATC1:NR1-O_3-ATC1:NR2-C_3-ATC1 NR0-C_2-ATC1:NR1-C_R-ATC1:NR1-N_3-AT + C1:NR1-O_2-ATC1:NR2-C_R-ATC3 NR0-C_3-ATC1:NR1-C_2-ATC1:NR1-C_3-ATC1:NR + 2-C_3-ATC1:NR2-O_2-ATC1:NR2-O_3-ATC2 NR0-C_3-ATC1:NR1-C_3-ATC1:NR1-N_R + -ATC1:NR2-C_3-ATC1:NR2-C_R-ATC2 NR0-C_3-ATC1:NR1-C_3-ATC1:NR2-C_3-A... + + METHODS + new + $NewAtomNeighborhoodsFingerprints = new AtomNeighborhoodsFingerprints( + %NamesAndValues); + + Using specified *AtomNeighborhoodsFingerprints* property names and + values hash, new method creates a new object and returns a reference + to newly created AtomNeighborhoodsFingerprints object. By default, + the following properties are initialized: + + Molecule = '' + Type = 'AtomNeighborhoods' + MinNeighborhoodRadius = 0 + MaxNeighborhoodRadius = 2 + AtomIdentifierType = '' + AtomicInvariantsToUse = ['AS', 'X', 'BO', 'H', 'FC', 'MN'] + FunctionalClassesToUse = ['HBD', 'HBA', 'PI', 'NI', 'Ar', 'Hal'] + + Examples: + + $AtomNeighborhoodsFingerprints = new AtomNeighborhoodsFingerprints( + 'Molecule' => $Molecule, + 'AtomIdentifierType' => + "AtomicInvariantsAtomTypes"); + + $AtomNeighborhoodsFingerprints = new AtomNeighborhoodsFingerprints( + 'Molecule' => $Molecule, + 'MinNeighborhoodRadius' => 0, + 'MaxNeighborhoodRadius' => 2, + 'AtomIdentifierType' => + 'AtomicInvariantsAtomTypes', + 'AtomicInvariantsToUse' => + ['AS', 'X', 'BO', 'H', 'FC'] ); + + $AtomNeighborhoodsFingerprints = new AtomNeighborhoodsFingerprints( + 'Molecule' => $Molecule, + 'AtomIdentifierType' => + 'SYBYLAtomTypes'); + + $AtomNeighborhoodsFingerprints = new AtomNeighborhoodsFingerprints( + 'Molecule' => $Molecule, + 'AtomIdentifierType' => + 'MMFF94AtomTypes'); + + $AtomNeighborhoodsFingerprints = new AtomNeighborhoodsFingerprints( + 'Molecule' => $Molecule, + 'AtomIdentifierType' => + 'AtomicInvariantsAtomTypes'); + + $AtomNeighborhoodsFingerprints = new AtomNeighborhoodsFingerprints( + 'Molecule' => $Molecule, + 'MinNeighborhoodRadius' => 0, + 'MaxNeighborhoodRadius' => 2, + 'AtomIdentifierType' => + 'FunctionalClassAtomTypes', + 'FunctionalClassesToUse' => + ['HBD', 'HBA', 'PI', 'NI', 'Ar', 'Hal'] ); + + $AtomNeighborhoodsFingerprints->GenerateFingerprints(); + print "$AtomNeighborhoodsFingerprints\n"; + + GenerateFingerprints + $AtomNeighborhoodsFingerprints->GenerateFingerprints(); + + Generates atom neighborhood fingerprints and returns + *AtomNeighborhoodsFingerprints*. + + GetDescription + $Description = $AtomNeighborhoodsFingerprints->GetDescription(); + + Returns a string containing description of atom neighborhood + fingerprints. + + SetAtomIdentifierType + $AtomNeighborhoodsFingerprints->SetAtomIdentifierType($IdentifierType); + + Sets atom *IdentifierType* to use during atom neighborhood + fingerprints generation and returns *AtomNeighborhoodsFingerprints*. + + Possible values: *AtomicInvariantsAtomTypes, DREIDINGAtomTypes, + EStateAtomTypes, FunctionalClassAtomTypes, MMFF94AtomTypes, + SLogPAtomTypes, SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes*. + + SetAtomicInvariantsToUse + $AtomNeighborhoodsFingerprints->SetAtomicInvariantsToUse($ValuesRef); + $AtomNeighborhoodsFingerprints->SetAtomicInvariantsToUse(@Values); + + Sets atomic invariants to use during *AtomicInvariantsAtomTypes* + value of *AtomIdentifierType* for atom neighborhood fingerprints + generation and returns *AtomNeighborhoodsFingerprints*. + + Possible values for atomic invariants are: *AS, X, BO, LBO, SB, DB, + TB, H, Ar, RA, FC, MN, SM*. Default value: *AS,X,BO,H,FC*. + + 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. + + SetFunctionalClassesToUse + $AtomNeighborhoodsFingerprints->SetFunctionalClassesToUse($ValuesRef); + $AtomNeighborhoodsFingerprints->SetFunctionalClassesToUse(@Values); + + Sets functional classes invariants to use during + *FunctionalClassAtomTypes* value of *AtomIdentifierType* for atom + neighborhoods fingerprints generation and returns + *AtomNeighborhoodsFingerprints*. + + 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 + + SetMaxNeighborhoodRadius + $AtomNeighborhoodsFingerprints->SetMaxNeighborhoodRadius($Radius); + + Sets maximum neighborhood radius to use during atom neighborhood + fingerprints generation and returns *AtomNeighborhoodsFingerprints*. + + SetMinNeighborhoodRadius + $AtomNeighborhoodsFingerprints->SetMinNeighborhoodRadius($Radius); + + Sets minimum neighborhood radius to use during atom neighborhood + fingerprints generation and returns *AtomNeighborhoodsFingerprints*. + + StringifyAtomNeighborhoodsFingerprints + $String = $Fingerprints->StringifyAtomNeighborhoodsFingerprints(); + + Returns a string containing information about + *AtomNeighborhoodsFingerprints* object. + +AUTHOR + Manish Sud <msud@san.rr.com> + +SEE ALSO + Fingerprints.pm, FingerprintsStringUtil.pm, AtomTypesFingerprints.pm, + EStateIndiciesFingerprints.pm, ExtendedConnectivityFingerprints.pm, + MACCSKeys.pm, PathLengthFingerprints.pm, + TopologicalAtomPairsFingerprints.pm, + TopologicalAtomTripletsFingerprints.pm, + TopologicalAtomTorsionsFingerprints.pm, + TopologicalPharmacophoreAtomPairsFingerprints.pm, + TopologicalPharmacophoreAtomTripletsFingerprints.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. +