| 0 | 1 <html> | 
|  | 2 <head> | 
|  | 3 <title>MayaChemTools:Documentation:Fingerprints::PathLengthFingerprints.pm</title> | 
|  | 4 <meta http-equiv="content-type" content="text/html;charset=utf-8"> | 
|  | 5 <link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css"> | 
|  | 6 </head> | 
|  | 7 <body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10"> | 
|  | 8 <br/> | 
|  | 9 <center> | 
|  | 10 <a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a> | 
|  | 11 </center> | 
|  | 12 <br/> | 
|  | 13 <div class="DocNav"> | 
|  | 14 <table width="100%" border=0 cellpadding=0 cellspacing=2> | 
|  | 15 <tr align="left" valign="top"><td width="33%" align="left"><a href="./MACCSKeys.html" title="MACCSKeys.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <a href="./TopologicalAtomPairsFingerprints.html" title="TopologicalAtomPairsFingerprints.html">Next</a></td><td width="34%" align="middle"><strong>Fingerprints::PathLengthFingerprints.pm</strong></td><td width="33%" align="right"><a href="././code/PathLengthFingerprints.html" title="View source code">Code</a> | <a href="./../pdf/PathLengthFingerprints.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/PathLengthFingerprints.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/PathLengthFingerprints.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/PathLengthFingerprints.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr> | 
|  | 16 </table> | 
|  | 17 </div> | 
|  | 18 <p> | 
|  | 19 </p> | 
|  | 20 <h2>NAME</h2> | 
|  | 21 <p>PathLengthFingerprints</p> | 
|  | 22 <p> | 
|  | 23 </p> | 
|  | 24 <h2>SYNOPSIS</h2> | 
|  | 25 <p>use Fingerprints::PathLengthFingerprints;</p> | 
|  | 26 <p>use Fingerprints::PathLengthFingerprints qw(:all);</p> | 
|  | 27 <p> | 
|  | 28 </p> | 
|  | 29 <h2>DESCRIPTION</h2> | 
|  | 30 <p><strong>PathLengthFingerprints</strong> class provides the following methods:</p> | 
|  | 31 <p> <a href="#new">new</a>, <a href="#generatefingerprints">GenerateFingerprints</a>, <a href="#getdescription">GetDescription</a>, <a href="#setatomidentifiertype">SetAtomIdentifierType</a> | 
|  | 32 , <a href="#setatomicinvariantstouse">SetAtomicInvariantsToUse</a>, <a href="#setfunctionalclassestouse">SetFunctionalClassesToUse</a>, <a href="#setmaxlength">SetMaxLength</a> | 
|  | 33 , <a href="#setminlength">SetMinLength</a>, <a href="#setnumofbitstosetperpath">SetNumOfBitsToSetPerPath</a>, <a href="#settype">SetType</a> | 
|  | 34 , <a href="#stringifypathlengthfingerprints">StringifyPathLengthFingerprints</a> | 
|  | 35 </p><p><strong>PathLengthFingerprints</strong> is derived from <strong>Fingerprints</strong> class which in turn | 
|  | 36 is  derived from <strong>ObjectProperty</strong> base class that provides methods not explicitly defined | 
|  | 37 in <strong>PathLengthFingerprints</strong>, <strong>Fingerprints</strong> or <strong>ObjectProperty</strong> classes using Perl's | 
|  | 38 AUTOLOAD functionality. These methods are generated on-the-fly for a specified object property:</p> | 
|  | 39 <div class="OptionsBox"> | 
|  | 40     Set<PropertyName>(<PropertyValue>); | 
|  | 41 <br/>    $PropertyValue = Get<PropertyName>(); | 
|  | 42 <br/>    Delete<PropertyName>();</div> | 
|  | 43 <p>The current release of MayaChemTools supports generation of <strong>AtomTypesFingerpritns</strong> | 
|  | 44 corresponding to following <strong>AtomtomIdentifierTypes</strong>:</p> | 
|  | 45 <div class="OptionsBox"> | 
|  | 46     AtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes, | 
|  | 47 <br/>    FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes, | 
|  | 48 <br/>    SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes</div> | 
|  | 49 <p>Based on the values specified for <strong>Type</strong>, <strong>AtomtomIdentifierTypes</strong>, <strong>MinPathLength</strong> and | 
|  | 50 <strong>MaxPathLength</strong>, all appropriate atom paths are generated for each atom in the molecule | 
|  | 51 and collected in a list and the list is filtered to remove any structurally duplicate paths as | 
|  | 52 indicated by the value of <strong>UseUniquePaths</strong>.</p> | 
|  | 53 <p>For molecules containing rings, atom paths starting from each atom can be traversed in four | 
|  | 54 different ways:</p> | 
|  | 55 <div class="OptionsBox"> | 
|  | 56     o Atom paths without any rings and sharing of bonds in traversed paths. | 
|  | 57 <br/>    o Atom paths containing rings and without any sharing of bonds in | 
|  | 58       traversed paths | 
|  | 59 <br/>    o All possible atom paths without any rings and sharing of bonds in | 
|  | 60       traversed paths | 
|  | 61 <br/>    o All possible atom paths containing rings and with sharing of bonds in | 
|  | 62       traversed paths.</div> | 
|  | 63 <p>Atom path traversal is terminated at the last ring atom. For molecules containing no rings, | 
|  | 64 first two and last two types described above are equivalent.</p> | 
|  | 65 <p><strong>AllowSharedBonds</strong> and <strong>AllowRings</strong> allow generation of different types of paths | 
|  | 66 to be used for fingerprints generation.</p> | 
|  | 67 <p>The combination of <strong>AllowSharedBonds</strong>, <strong>AllowRings</strong>, and <strong>UseBondSymbols</strong> allows generation of | 
|  | 68 8 different types of path length fingerprints:</p> | 
|  | 69 <div class="OptionsBox"> | 
|  | 70     AllowSharedBonds AllowRings UseBondSymbols</div> | 
|  | 71 <div class="OptionsBox"> | 
|  | 72     0                0          1   - AtomPathsNoCyclesWithBondSymbols | 
|  | 73 <br/>    0                1          1   - AtomPathsWithCyclesWithBondSymbols</div> | 
|  | 74 <div class="OptionsBox"> | 
|  | 75     1                0          1   - AllAtomPathsNoCyclesWithBondSymbols | 
|  | 76 <br/>    1                1          1   - AllAtomPathsWithCyclesWithBondSymbols | 
|  | 77                                       [ DEFAULT ]</div> | 
|  | 78 <div class="OptionsBox"> | 
|  | 79     0                0          0   - AtomPathsNoCyclesNoBondSymbols | 
|  | 80 <br/>    0                1          0   - AtomPathsWithCyclesNoBondSymbols</div> | 
|  | 81 <div class="OptionsBox"> | 
|  | 82     1                0          0   - AllAtomPathsNoCyclesNoBondSymbols | 
|  | 83 <br/>    1                1          0   - AllAtomPathsWithCyclesNoWithBondSymbols</div> | 
|  | 84 <p>Additionally, possible values for option <strong>--AtomIdentifierType</strong> in conjunction with corresponding | 
|  | 85 specified values for <strong>AtomicInvariantsToUse</strong> and <strong>FunctionalClassesToUse </strong> changes the nature | 
|  | 86 of atom path length strings and the fingerprints.</p> | 
|  | 87 <p>For each atom path in the filtered atom paths list, an atom path string is created using value of | 
|  | 88 <strong>AtomIdentifierType</strong> and specified values to use for a particular atom identifier type. | 
|  | 89 Value of <strong>UseBondSymbols</strong> controls whether bond order symbols are used during generation | 
|  | 90 of atom path string. Atom symbol corresponds to element symbol and characters used to represent | 
|  | 91  bond order are: <em>1 - None; 2 - '='; 3 - '#'; 1.5 or aromatic - ':'; others: bond order value</em>. By default, | 
|  | 92 bond symbols are included in atom path strings. Exclusion of bond symbols in atom path strings | 
|  | 93 results in fingerprints which correspond purely to atom paths without considering bonds.</p> | 
|  | 94 <p><strong>UseUniquePaths</strong> controls the removal of structurally duplicate atom path strings are removed | 
|  | 95 from the list.</p> | 
|  | 96 <p>For <em>PathLengthBits</em> value of <strong>Type</strong>, each atom path is hashed to a 32 bit unsigned | 
|  | 97 integer key using <strong>TextUtil::HashCode</strong> function. Using the hash key as a seed for a random number | 
|  | 98 generator, a random integer value between 0 and <strong>Size</strong> is used to set corresponding bits | 
|  | 99 in the fingerprint bit-vector string. Value of <strong>NumOfBitsToSetPerPaths</strong> option controls the number | 
|  | 100 of time a random number is generated to set corresponding bits.</p> | 
|  | 101 <p>For <em> PathLengthCount</em> value of <strong>Type</strong>n, the number of times an atom path appears | 
|  | 102 is tracked and a fingerprints count-string corresponding to count of atom paths is generated.</p> | 
|  | 103 <p>The current release of MayaChemTools generates the following types of path length | 
|  | 104 fingerprints bit-vector and vector strings:</p> | 
|  | 105 <div class="OptionsBox"> | 
|  | 106     FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng | 
|  | 107 <br/>    th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110 | 
|  | 108 <br/>    0100010101011000101001011100110001000010001001101000001001001001001000 | 
|  | 109 <br/>    0010110100000111001001000001001010100100100000000011000000101001011100 | 
|  | 110 <br/>    0010000001000101010100000100111100110111011011011000000010110111001101 | 
|  | 111 <br/>    0101100011000000010001000011000010100011101100001000001000100000000...</div> | 
|  | 112 <div class="OptionsBox"> | 
|  | 113     FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng | 
|  | 114 <br/>    th1:MaxLength8;1024;HexadecimalString;Ascending;48caa1315d82d91122b029 | 
|  | 115 <br/>    42861c9409a4208182d12015509767bd0867653604481a8b1288000056090583603078 | 
|  | 116 <br/>    9cedae54e26596889ab121309800900490515224208421502120a0dd9200509723ae89 | 
|  | 117 <br/>    00024181b86c0122821d4e4880c38620dab280824b455404009f082003d52c212b4e6d | 
|  | 118 <br/>    6ea05280140069c780290c43</div> | 
|  | 119 <div class="OptionsBox"> | 
|  | 120     FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength | 
|  | 121 <br/>    1:MaxLength8;432;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3 2 | 
|  | 122 <br/>    C.X2.BO2.H2 4 C.X2.BO3.H1 14 C.X3.BO3.H1 3 C.X3.BO4 10 F.X1.BO1 1 N.X | 
|  | 123 <br/>    2.BO2.H1 1 N.X3.BO3 1 O.X1.BO1.H1 3 O.X1.BO2 2 C.X1.BO1.H3C.X3.BO3.H1 | 
|  | 124 <br/>    2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO | 
|  | 125 <br/>    4 1 C.X2.BO2.H2N.X3.BO3 1 C.X2.BO3.H1:C.X2.BO3.H1 10 C.X2.BO3.H1:C....</div> | 
|  | 126 <div class="OptionsBox"> | 
|  | 127     FingerprintsVector;PathLengthCount:DREIDINGAtomTypes:MinLength1:MaxLen | 
|  | 128 <br/>    gth8;410;NumericalValues;IDsAndValuesPairsString;C_2 2 C_3 9 C_R 22 F_ | 
|  | 129 <br/>    1 N_3 1 N_R 1 O_2 2 O_3 3 C_2=O_2 2 C_2C_3 1 C_2C_R 1 C_2N_3 1 C_2O_3 | 
|  | 130 <br/>    1 C_3C_3 7 C_3C_R 1 C_3N_R 1 C_3O_3 2 C_R:C_R 21 C_R:N_R 2 C_RC_R 2 C | 
|  | 131 <br/>    _RF_ 1 C_RN_3 1 C_2C_3C_3 1 C_2C_R:C_R 2 C_2N_3C_R 1 C_3C_2=O_2 1 C_3C | 
|  | 132 <br/>    _2O_3 1 C_3C_3C_3 5 C_3C_3C_R 2 C_3C_3N_R 1 C_3C_3O_3 4 C_3C_R:C_R ...</div> | 
|  | 133 <div class="OptionsBox"> | 
|  | 134     FingerprintsVector;PathLengthCount:EStateAtomTypes:MinLength1:MaxLengt | 
|  | 135 <br/>    h8;454;NumericalValues;IDsAndValuesPairsString;aaCH 14 aasC 8 aasN 1 d | 
|  | 136 <br/>    O 2 dssC 2 sCH3 2 sF 1 sOH 3 ssCH2 4 ssNH 1 sssCH 3 aaCH:aaCH 10 aaCH: | 
|  | 137 <br/>    aasC 8 aasC:aasC 3 aasC:aasN 2 aasCaasC 2 aasCdssC 1 aasCsF 1 aasCssNH | 
|  | 138 <br/>    1 aasCsssCH 1 aasNssCH2 1 dO=dssC 2 dssCsOH 1 dssCssCH2 1 dssCssNH 1 | 
|  | 139 <br/>    sCH3sssCH 2 sOHsssCH 2 ssCH2ssCH2 1 ssCH2sssCH 4 aaCH:aaCH:aaCH 6 a...</div> | 
|  | 140 <div class="OptionsBox"> | 
|  | 141     FingerprintsVector;PathLengthCount:FunctionalClassAtomTypes:MinLength1 | 
|  | 142 <br/>    :MaxLength8;404;NumericalValues;IDsAndValuesPairsString;Ar 22 Ar.HBA 1 | 
|  | 143 <br/>    HBA 2 HBA.HBD 3 HBD 1 Hal 1 NI 1 None 10 Ar.HBA:Ar 2 Ar.HBANone 1 Ar: | 
|  | 144 <br/>    Ar 21 ArAr 2 ArHBD 1 ArHal 1 ArNone 2 HBA.HBDNI 1 HBA.HBDNone 2 HBA=NI | 
|  | 145 <br/>    1 HBA=None 1 HBDNone 1 NINone 1 NoneNone 7 Ar.HBA:Ar:Ar 2 Ar.HBA:ArAr | 
|  | 146 <br/>    1 Ar.HBA:ArNone 1 Ar.HBANoneNone 1 Ar:Ar.HBA:Ar 1 Ar:Ar.HBANone 2 ...</div> | 
|  | 147 <div class="OptionsBox"> | 
|  | 148     FingerprintsVector;PathLengthCount:MMFF94AtomTypes:MinLength1:MaxLengt | 
|  | 149 <br/>    h8;463;NumericalValues;IDsAndValuesPairsString;C5A 2 C5B 2 C=ON 1 CB 1 | 
|  | 150 <br/>    8 COO 1 CR 9 F 1 N5 1 NC=O 1 O=CN 1 O=CO 1 OC=O 1 OR 2 C5A:C5B 2 C5A:N | 
|  | 151 <br/>    5 2 C5ACB 1 C5ACR 1 C5B:C5B 1 C5BC=ON 1 C5BCB 1 C=ON=O=CN 1 C=ONNC=O 1 | 
|  | 152 <br/>    CB:CB 18 CBF 1 CBNC=O 1 COO=O=CO 1 COOCR 1 COOOC=O 1 CRCR 7 CRN5 1 CR | 
|  | 153 <br/>    OR 2 C5A:C5B:C5B 2 C5A:C5BC=ON 1 C5A:C5BCB 1 C5A:N5:C5A 1 C5A:N5CR ...</div> | 
|  | 154 <div class="OptionsBox"> | 
|  | 155     FingerprintsVector;PathLengthCount:SLogPAtomTypes:MinLength1:MaxLength | 
|  | 156 <br/>    8;518;NumericalValues;IDsAndValuesPairsString;C1 5 C10 1 C11 1 C14 1 C | 
|  | 157 <br/>    18 14 C20 4 C21 2 C22 1 C5 2 CS 2 F 1 N11 1 N4 1 O10 1 O2 3 O9 1 C10C1 | 
|  | 158 <br/>    1 C10N11 1 C11C1 2 C11C21 1 C14:C18 2 C14F 1 C18:C18 10 C18:C20 4 C18 | 
|  | 159 <br/>    :C22 2 C1C5 1 C1CS 4 C20:C20 1 C20:C21 1 C20:N11 1 C20C20 2 C21:C21 1 | 
|  | 160 <br/>    C21:N11 1 C21C5 1 C22N4 1 C5=O10 1 C5=O9 1 C5N4 1 C5O2 1 CSO2 2 C10...</div> | 
|  | 161 <div class="OptionsBox"> | 
|  | 162     FingerprintsVector;PathLengthCount:SYBYLAtomTypes:MinLength1:MaxLength | 
|  | 163 <br/>    8;412;NumericalValues;IDsAndValuesPairsString;C.2 2 C.3 9 C.ar 22 F 1 | 
|  | 164 <br/>    N.am 1 N.ar 1 O.2 1 O.3 2 O.co2 2 C.2=O.2 1 C.2=O.co2 1 C.2C.3 1 C.2C. | 
|  | 165 <br/>    ar 1 C.2N.am 1 C.2O.co2 1 C.3C.3 7 C.3C.ar 1 C.3N.ar 1 C.3O.3 2 C.ar:C | 
|  | 166 <br/>    .ar 21 C.ar:N.ar 2 C.arC.ar 2 C.arF 1 C.arN.am 1 C.2C.3C.3 1 C.2C.ar:C | 
|  | 167 <br/>    .ar 2 C.2N.amC.ar 1 C.3C.2=O.co2 1 C.3C.2O.co2 1 C.3C.3C.3 5 C.3C.3...</div> | 
|  | 168 <div class="OptionsBox"> | 
|  | 169     FingerprintsVector;PathLengthCount:TPSAAtomTypes:MinLength1:MaxLength8 | 
|  | 170 <br/>    ;331;NumericalValues;IDsAndValuesPairsString;N21 1 N7 1 None 34 O3 2 O | 
|  | 171 <br/>    4 3 N21:None 2 N21None 1 N7None 2 None:None 21 None=O3 2 NoneNone 13 N | 
|  | 172 <br/>    oneO4 3 N21:None:None 2 N21:NoneNone 2 N21NoneNone 1 N7None:None 2 N7N | 
|  | 173 <br/>    one=O3 1 N7NoneNone 1 None:N21:None 1 None:N21None 2 None:None:None 20 | 
|  | 174 <br/>    None:NoneNone 12 NoneN7None 1 NoneNone=O3 2 NoneNoneNone 8 NoneNon...</div> | 
|  | 175 <div class="OptionsBox"> | 
|  | 176     FingerprintsVector;PathLengthCount:UFFAtomTypes:MinLength1:MaxLength8; | 
|  | 177 <br/>    410;NumericalValues;IDsAndValuesPairsString;C_2 2 C_3 9 C_R 22 F_ 1 N_ | 
|  | 178 <br/>    3 1 N_R 1 O_2 2 O_3 3 C_2=O_2 2 C_2C_3 1 C_2C_R 1 C_2N_3 1 C_2O_3 1 C_ | 
|  | 179 <br/>    3C_3 7 C_3C_R 1 C_3N_R 1 C_3O_3 2 C_R:C_R 21 C_R:N_R 2 C_RC_R 2 C_RF_ | 
|  | 180 <br/>    1 C_RN_3 1 C_2C_3C_3 1 C_2C_R:C_R 2 C_2N_3C_R 1 C_3C_2=O_2 1 C_3C_2O_3 | 
|  | 181 <br/>    1 C_3C_3C_3 5 C_3C_3C_R 2 C_3C_3N_R 1 C_3C_3O_3 4 C_3C_R:C_R 1 C_3...</div> | 
|  | 182 <p> | 
|  | 183 </p> | 
|  | 184 <h2>METHODS</h2> | 
|  | 185 <dl> | 
|  | 186 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt> | 
|  | 187 <dd> | 
|  | 188 <div class="OptionsBox"> | 
|  | 189     $NewPathLengthFingerprints = new PathLengthFingerprints( | 
|  | 190                                                    %NamesAndValues);</div> | 
|  | 191 <p>Using specified <em>PathLengthFingerprints</em> property names and values hash, <strong>new</strong> method creates a new object | 
|  | 192 and returns a reference to newly created <strong>PathLengthFingerprints</strong> object. By default, the following properties are | 
|  | 193 initialized:</p> | 
|  | 194 <div class="OptionsBox"> | 
|  | 195     Molecule = ''; | 
|  | 196 <br/>    Type = '' | 
|  | 197 <br/>    Size = 1024 | 
|  | 198 <br/>    MinSize = 32 | 
|  | 199 <br/>    MaxSize = 2**32 | 
|  | 200 <br/>    NumOfBitsToSetPerPath = 1 | 
|  | 201 <br/>    MinLength = 1 | 
|  | 202 <br/>    MaxLength = 8 | 
|  | 203 <br/>    AllowSharedBonds = 1 | 
|  | 204 <br/>    AllowRings = 1 | 
|  | 205 <br/>    UseBondSymbols = 1 | 
|  | 206 <br/>    UseUniquePaths = '' | 
|  | 207 <br/>    AtomIdentifierType = '' | 
|  | 208 <br/>    SetAtomicInvariantsToUse = ['AS'] | 
|  | 209 <br/>    FunctionalClassesToUse = ['HBD', 'HBA', 'PI', 'NI', 'Ar', 'Hal']</div> | 
|  | 210 <p>Examples:</p> | 
|  | 211 <div class="OptionsBox"> | 
|  | 212     $PathLengthFingerprints = new PathLengthFingerprints( | 
|  | 213                               'Molecule' => $Molecule, | 
|  | 214                                'Type' => 'PathLengthBits', | 
|  | 215                                'AtomIdentifierType' = | 
|  | 216                                               'AtomicInvariantsAtomTypes');</div> | 
|  | 217 <div class="OptionsBox"> | 
|  | 218     $PathLengthFingerprints = new PathLengthFingerprints( | 
|  | 219                                'Molecule' => $Molecule, | 
|  | 220                                'Type' => 'PathLengthBits', | 
|  | 221                                'Size' => 1024, | 
|  | 222                                'MinLength' => 1, | 
|  | 223                                'MaxLength' => 8, | 
|  | 224                                'AllowRings' => 1, | 
|  | 225                                'AllowSharedBonds' => 1, | 
|  | 226                                'UseBondSymbols' => 1, | 
|  | 227                                'UseUniquePaths' => 1, | 
|  | 228                                'AtomIdentifierType' = | 
|  | 229                                               'AtomicInvariantsAtomTypes', | 
|  | 230                                'AtomicInvariantsToUse' => ['AS']);</div> | 
|  | 231 <div class="OptionsBox"> | 
|  | 232     $PathLengthFingerprints = new PathLengthFingerprints( | 
|  | 233                                'Molecule' => $Molecule, | 
|  | 234                                'Type' => 'PathLengthCount', | 
|  | 235                                'MinLength' => 1, | 
|  | 236                                'MaxLength' => 8, | 
|  | 237                                'AllowRings' => 1, | 
|  | 238                                'AllowSharedBonds' => 1, | 
|  | 239                                'UseBondSymbols' => 1, | 
|  | 240                                'UseUniquePaths' => 1, | 
|  | 241                                'AtomIdentifierType' => | 
|  | 242                                               'AtomicInvariantsAtomTypes', | 
|  | 243                                'AtomicInvariantsToUse' => ['AS']);</div> | 
|  | 244 <div class="OptionsBox"> | 
|  | 245     $PathLengthFingerprints = new PathLengthFingerprints( | 
|  | 246                               'Molecule' => $Molecule, | 
|  | 247                                'Type' => 'PathLengthBits', | 
|  | 248                                'AtomIdentifierType' = | 
|  | 249                                               'SLogPAtomTypes');</div> | 
|  | 250 <div class="OptionsBox"> | 
|  | 251     $PathLengthFingerprints = new PathLengthFingerprints( | 
|  | 252                               'Molecule' => $Molecule, | 
|  | 253                                'Type' => 'PathLengthCount', | 
|  | 254                                'AtomIdentifierType' = | 
|  | 255                                               'SYBYLAtomTypes');</div> | 
|  | 256 <div class="OptionsBox"> | 
|  | 257     $PathLengthFingerprints = new PathLengthFingerprints( | 
|  | 258                                'Molecule' => $Molecule, | 
|  | 259                                'Type' => 'PathLengthBits', | 
|  | 260                                'AtomIdentifierType' = | 
|  | 261                                               'FunctionalClassAtomTypes', | 
|  | 262                                'FunctionalClassesToUse' => ['HBD', 'HBA', 'Ar']);</div> | 
|  | 263 <div class="OptionsBox"> | 
|  | 264     $PathLengthFingerprints->GenerateFingerprints(); | 
|  | 265 <br/>    print "$PathLengthFingerprints\n";</div> | 
|  | 266 </dd> | 
|  | 267 <dt><strong><a name="getdescription" class="item"><strong>GetDescription</strong></a></strong></dt> | 
|  | 268 <dd> | 
|  | 269 <div class="OptionsBox"> | 
|  | 270     $Description = $PathLengthFingerprints->GetDescription();</div> | 
|  | 271 <p>Returns a string containing description of path length fingerprints.</p> | 
|  | 272 </dd> | 
|  | 273 <dt><strong><a name="generatefingerprints" class="item"><strong>GenerateFingerprints</strong></a></strong></dt> | 
|  | 274 <dd> | 
|  | 275 <div class="OptionsBox"> | 
|  | 276     $PathLengthFingerprints->GenerateFingerprints();</div> | 
|  | 277 <p>Generates path length fingerprints and returns <em>PathLengthFingerprints</em>.</p> | 
|  | 278 </dd> | 
|  | 279 <dt><strong><a name="setmaxlength" class="item"><strong>SetMaxLength</strong></a></strong></dt> | 
|  | 280 <dd> | 
|  | 281 <div class="OptionsBox"> | 
|  | 282     $PathLengthFingerprints->SetMaxLength($Length);</div> | 
|  | 283 <p>Sets maximum value of atom path length to be used during atom path length fingerprints | 
|  | 284 generation and returns <em>PathLengthFingerprints</em></p> | 
|  | 285 </dd> | 
|  | 286 <dt><strong><a name="setatomidentifiertype" class="item"><strong>SetAtomIdentifierType</strong></a></strong></dt> | 
|  | 287 <dd> | 
|  | 288 <div class="OptionsBox"> | 
|  | 289     $PathLengthFingerprints->SetAtomIdentifierType();</div> | 
|  | 290 <p>Sets atom <em>IdentifierType</em> to use during path length fingerprints generation and | 
|  | 291 returns <em>PathLengthFingerprints</em>.</p> | 
|  | 292 <p>Possible values: <em>AtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes, | 
|  | 293 FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes, SYBYLAtomTypes, | 
|  | 294 TPSAAtomTypes, UFFAtomTypes</em>.</p> | 
|  | 295 </dd> | 
|  | 296 <dt><strong><a name="setatomicinvariantstouse" class="item"><strong>SetAtomicInvariantsToUse</strong></a></strong></dt> | 
|  | 297 <dd> | 
|  | 298 <div class="OptionsBox"> | 
|  | 299     $PathLengthFingerprints->SetAtomicInvariantsToUse($ValuesRef); | 
|  | 300 <br/>    $PathLengthFingerprints->SetAtomicInvariantsToUse(@Values);</div> | 
|  | 301 <p>Sets atomic invariants to use during <em>AtomicInvariantsAtomTypes</em> value of <em>AtomIdentifierType</em> | 
|  | 302 for path length fingerprints generation and returns <em>PathLengthFingerprints</em>.</p> | 
|  | 303 <p>Possible values for atomic invariants are: <em>AS, X, BO,  LBO, SB, DB, TB, | 
|  | 304 H, Ar, RA, FC, MN, SM</em>. Default value: <em>AS</em>.</p> | 
|  | 305 <p>The atomic invariants abbreviations correspond to:</p> | 
|  | 306 <div class="OptionsBox"> | 
|  | 307     AS = Atom symbol corresponding to element symbol</div> | 
|  | 308 <div class="OptionsBox"> | 
|  | 309     X<n>   = Number of non-hydrogen atom neighbors or heavy atoms | 
|  | 310 <br/>    BO<n> = Sum of bond orders to non-hydrogen atom neighbors or heavy atoms | 
|  | 311 <br/>    LBO<n> = Largest bond order of non-hydrogen atom neighbors or heavy atoms | 
|  | 312 <br/>    SB<n> = Number of single bonds to non-hydrogen atom neighbors or heavy atoms | 
|  | 313 <br/>    DB<n> = Number of double bonds to non-hydrogen atom neighbors or heavy atoms | 
|  | 314 <br/>    TB<n> = Number of triple bonds to non-hydrogen atom neighbors or heavy atoms | 
|  | 315 <br/>    H<n>   = Number of implicit and explicit hydrogens for atom | 
|  | 316 <br/>    Ar     = Aromatic annotation indicating whether atom is aromatic | 
|  | 317 <br/>    RA     = Ring atom annotation indicating whether atom is a ring | 
|  | 318 <br/>    FC<+n/-n> = Formal charge assigned to atom | 
|  | 319 <br/>    MN<n> = Mass number indicating isotope other than most abundant isotope | 
|  | 320 <br/>    SM<n> = Spin multiplicity of atom. Possible values: 1 (singlet), 2 (doublet) or | 
|  | 321             3 (triplet)</div> | 
|  | 322 <p>Atom type generated by AtomTypes::AtomicInvariantsAtomTypes class corresponds to:</p> | 
|  | 323 <div class="OptionsBox"> | 
|  | 324     AS.X<n>.BO<n>.LBO<n>.<SB><n>.<DB><n>.<TB><n>.H<n>.Ar.RA.FC<+n/-n>.MN<n>.SM<n></div> | 
|  | 325 <p>Except for AS which is a required atomic invariant in atom types, all other atomic invariants are | 
|  | 326 optional. Atom type specification doesn't include atomic invariants with zero or undefined values.</p> | 
|  | 327 <p>In addition to usage of abbreviations for specifying atomic invariants, the following descriptive words | 
|  | 328 are also allowed:</p> | 
|  | 329 <div class="OptionsBox"> | 
|  | 330     X : NumOfNonHydrogenAtomNeighbors or NumOfHeavyAtomNeighbors | 
|  | 331 <br/>    BO : SumOfBondOrdersToNonHydrogenAtoms or SumOfBondOrdersToHeavyAtoms | 
|  | 332 <br/>    LBO : LargestBondOrderToNonHydrogenAtoms or LargestBondOrderToHeavyAtoms | 
|  | 333 <br/>    SB :  NumOfSingleBondsToNonHydrogenAtoms or NumOfSingleBondsToHeavyAtoms | 
|  | 334 <br/>    DB : NumOfDoubleBondsToNonHydrogenAtoms or NumOfDoubleBondsToHeavyAtoms | 
|  | 335 <br/>    TB : NumOfTripleBondsToNonHydrogenAtoms or NumOfTripleBondsToHeavyAtoms | 
|  | 336 <br/>    H :  NumOfImplicitAndExplicitHydrogens | 
|  | 337 <br/>    Ar : Aromatic | 
|  | 338 <br/>    RA : RingAtom | 
|  | 339 <br/>    FC : FormalCharge | 
|  | 340 <br/>    MN : MassNumber | 
|  | 341 <br/>    SM : SpinMultiplicity</div> | 
|  | 342 <p><em>AtomTypes::AtomicInvariantsAtomTypes</em> module is used to assign atomic invariant | 
|  | 343 atom types.</p> | 
|  | 344 </dd> | 
|  | 345 <dt><strong><a name="setfunctionalclassestouse" class="item"><strong>SetFunctionalClassesToUse</strong></a></strong></dt> | 
|  | 346 <dd> | 
|  | 347 <div class="OptionsBox"> | 
|  | 348     $PathLengthFingerprints->SetFunctionalClassesToUse($ValuesRef); | 
|  | 349 <br/>    $PathLengthFingerprints->SetFunctionalClassesToUse(@Values);</div> | 
|  | 350 <p>Sets functional classes invariants to use during <em>FunctionalClassAtomTypes</em> value of <em>AtomIdentifierType</em> | 
|  | 351 for path length fingerprints generation and returns <em>PathLengthFingerprints</em>.</p> | 
|  | 352 <p>Possible values for atom functional classes are: <em>Ar, CA, H, HBA, HBD, Hal, NI, PI, RA</em>. | 
|  | 353 Default value [ Ref 24 ]: <em>HBD,HBA,PI,NI,Ar,Hal</em>.</p> | 
|  | 354 <p>The functional class abbreviations correspond to:</p> | 
|  | 355 <div class="OptionsBox"> | 
|  | 356     HBD: HydrogenBondDonor | 
|  | 357 <br/>    HBA: HydrogenBondAcceptor | 
|  | 358 <br/>    PI :  PositivelyIonizable | 
|  | 359 <br/>    NI : NegativelyIonizable | 
|  | 360 <br/>    Ar : Aromatic | 
|  | 361 <br/>    Hal : Halogen | 
|  | 362 <br/>    H : Hydrophobic | 
|  | 363 <br/>    RA : RingAtom | 
|  | 364 <br/>    CA : ChainAtom</div> | 
|  | 365 <div class="OptionsBox"> | 
|  | 366  Functional class atom type specification for an atom corresponds to:</div> | 
|  | 367 <div class="OptionsBox"> | 
|  | 368     Ar.CA.H.HBA.HBD.Hal.NI.PI.RA or None</div> | 
|  | 369 <p><em>AtomTypes::FunctionalClassAtomTypes</em> module is used to assign functional class atom | 
|  | 370 types. It uses following definitions [ Ref 60-61, Ref 65-66 ]:</p> | 
|  | 371 <div class="OptionsBox"> | 
|  | 372     HydrogenBondDonor: NH, NH2, OH | 
|  | 373 <br/>    HydrogenBondAcceptor: N[!H], O | 
|  | 374 <br/>    PositivelyIonizable: +, NH2 | 
|  | 375 <br/>    NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH</div> | 
|  | 376 </dd> | 
|  | 377 <dt><strong><a name="setminlength" class="item"><strong>SetMinLength</strong></a></strong></dt> | 
|  | 378 <dd> | 
|  | 379 <div class="OptionsBox"> | 
|  | 380     $PathLengthFingerprints->SetMinLength($Length);</div> | 
|  | 381 <p>Sets minimum value of atom path length to be used during atom path length fingerprints | 
|  | 382 generation and returns <em>PathLengthFingerprints</em>.</p> | 
|  | 383 </dd> | 
|  | 384 <dt><strong><a name="setmaxlength2" class="item"><strong>SetMaxLength</strong></a></strong></dt> | 
|  | 385 <dd> | 
|  | 386 <div class="OptionsBox"> | 
|  | 387     $PathLengthFingerprints->SetMaxLength($Length);</div> | 
|  | 388 <p>Sets maximum value of atom path length to be used during atom path length fingerprints | 
|  | 389 generation and returns <em>PathLengthFingerprints</em>.</p> | 
|  | 390 </dd> | 
|  | 391 <dt><strong><a name="setnumofbitstosetperpath" class="item"><strong>SetNumOfBitsToSetPerPath</strong></a></strong></dt> | 
|  | 392 <dd> | 
|  | 393 <div class="OptionsBox"> | 
|  | 394     $PathLengthFingerprints->SetNumOfBitsToSetPerPath($NumOfBits);</div> | 
|  | 395 <p>Sets number of bits to set for each path during <em>PathLengthBits</em> <strong>Type </strong> during path length fingerprints | 
|  | 396 generation and returns <em>PathLengthFingerprints</em>.</p> | 
|  | 397 </dd> | 
|  | 398 <dt><strong><a name="settype" class="item"><strong>SetType</strong></a></strong></dt> | 
|  | 399 <dd> | 
|  | 400 <div class="OptionsBox"> | 
|  | 401     $PathLengthFingerprints->SetType($Type);</div> | 
|  | 402 <p>Sets type of path length fingerprints and returns <em>PathLengthFingerprints</em>. Possible values: | 
|  | 403 <em>PathLengthBits or PathLengthCount</em>.</p> | 
|  | 404 </dd> | 
|  | 405 <dt><strong><a name="stringifypathlengthfingerprints" class="item"><strong>StringifyPathLengthFingerprints</strong></a></strong></dt> | 
|  | 406 <dd> | 
|  | 407 <div class="OptionsBox"> | 
|  | 408     $String = $PathLengthFingerprints->StringifyPathLengthFingerprints();</div> | 
|  | 409 <p>Returns a string containing information about <em>PathLengthFingerprints</em> object.</p> | 
|  | 410 </dd> | 
|  | 411 </dl> | 
|  | 412 <p> | 
|  | 413 </p> | 
|  | 414 <h2>AUTHOR</h2> | 
|  | 415 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p> | 
|  | 416 <p> | 
|  | 417 </p> | 
|  | 418 <h2>SEE ALSO</h2> | 
|  | 419 <p><a href="./Fingerprints.html">Fingerprints.pm</a>, <a href="./FingerprintsStringUtil.html">FingerprintsStringUtil.pm</a>, <a href="./AtomNeighborhoodsFingerprints.html">AtomNeighborhoodsFingerprints.pm</a>,  | 
|  | 420 <a href="./AtomTypesFingerprints.html">AtomTypesFingerprints.pm</a>, <a href="./EStateIndiciesFingerprints.html">EStateIndiciesFingerprints.pm</a>, <a href="./ExtendedConnectivityFingerprints.html">ExtendedConnectivityFingerprints.pm</a>,  | 
|  | 421 <a href="./MACCSKeys.html">MACCSKeys.pm</a>, <a href="./TopologicalAtomPairsFingerprints.html">TopologicalAtomPairsFingerprints.pm</a>, <a href="./TopologicalAtomTripletsFingerprints.html">TopologicalAtomTripletsFingerprints.pm</a>,  | 
|  | 422 <a href="./TopologicalAtomTorsionsFingerprints.html">TopologicalAtomTorsionsFingerprints.pm</a>, <a href="./TopologicalPharmacophoreAtomPairsFingerprints.html">TopologicalPharmacophoreAtomPairsFingerprints.pm</a>,  | 
|  | 423 <a href="./TopologicalPharmacophoreAtomTripletsFingerprints.html">TopologicalPharmacophoreAtomTripletsFingerprints.pm</a> | 
|  | 424 </p> | 
|  | 425 <p> | 
|  | 426 </p> | 
|  | 427 <h2>COPYRIGHT</h2> | 
|  | 428 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p> | 
|  | 429 <p>This file is part of MayaChemTools.</p> | 
|  | 430 <p>MayaChemTools is free software; you can redistribute it and/or modify it under | 
|  | 431 the terms of the GNU Lesser General Public License as published by the Free | 
|  | 432 Software Foundation; either version 3 of the License, or (at your option) | 
|  | 433 any later version.</p> | 
|  | 434 <p> </p><p> </p><div class="DocNav"> | 
|  | 435 <table width="100%" border=0 cellpadding=0 cellspacing=2> | 
|  | 436 <tr align="left" valign="top"><td width="33%" align="left"><a href="./MACCSKeys.html" title="MACCSKeys.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <a href="./TopologicalAtomPairsFingerprints.html" title="TopologicalAtomPairsFingerprints.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>Fingerprints::PathLengthFingerprints.pm</strong></td></tr> | 
|  | 437 </table> | 
|  | 438 </div> | 
|  | 439 <br /> | 
|  | 440 <center> | 
|  | 441 <img src="../../images/h2o2.png"> | 
|  | 442 </center> | 
|  | 443 </body> | 
|  | 444 </html> |