| 
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>
 |