diff mayachemtools/docs/scripts/html/PathLengthFingerprints.html @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mayachemtools/docs/scripts/html/PathLengthFingerprints.html	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,800 @@
+<html>
+<head>
+<title>MayaChemTools:Documentation:PathLengthFingerprints.pl</title>
+<meta http-equiv="content-type" content="text/html;charset=utf-8">
+<link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css">
+</head>
+<body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10">
+<br/>
+<center>
+<a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a>
+</center>
+<br/>
+<div class="DocNav">
+<table width="100%" border=0 cellpadding=0 cellspacing=2>
+<tr align="left" valign="top"><td width="33%" align="left"><a href="./MolFilesToSD.html" title="MolFilesToSD.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./SDFilesToHTML.html" title="SDFilesToHTML.html">Next</a></td><td width="34%" align="middle"><strong>PathLengthFingerprints.pl</strong></td><td width="33%" align="right"><a href="././code/PathLengthFingerprints.html" title="View source code">Code</a>&nbsp;|&nbsp;<a href="./../pdf/PathLengthFingerprints.pdf" title="PDF US Letter Size">PDF</a>&nbsp;|&nbsp;<a href="./../pdfgreen/PathLengthFingerprints.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a>&nbsp;|&nbsp;<a href="./../pdfa4/PathLengthFingerprints.pdf" title="PDF A4 Size">PDFA4</a>&nbsp;|&nbsp;<a href="./../pdfa4green/PathLengthFingerprints.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr>
+</table>
+</div>
+<p>
+</p>
+<h2>NAME</h2>
+<p>PathLengthFingerprints.pl - Generate atom path length based fingerprints for SD files</p>
+<p>
+</p>
+<h2>SYNOPSIS</h2>
+<p>PathLengthFingerprints.pl SDFile(s)...</p>
+<p>PathLengthFingerprints.pl [<strong>--AromaticityModel</strong> <em>AromaticityModelType</em>]
+[<strong>-a, --AtomIdentifierType</strong> <em>AtomicInvariantsAtomTypes</em>]
+[<strong>--AtomicInvariantsToUse</strong> <em>&quot;AtomicInvariant1,AtomicInvariant2...&quot;</em>]
+[<strong>--FunctionalClassesToUse</strong> <em>&quot;FunctionalClass1,FunctionalClass2...&quot;</em>]
+[<strong>--BitsOrder</strong> <em>Ascending | Descending</em>] [<strong>-b, --BitStringFormat</strong> <em>BinaryString | HexadecimalString</em>]
+[<strong>--CompoundID</strong> <em>DataFieldName or LabelPrefixString</em>] [<strong>--CompoundIDLabel</strong> <em>text</em>]
+[<strong>--CompoundIDMode</strong> <em>DataField | MolName | LabelPrefix | MolNameOrLabelPrefix</em>]
+[<strong>--DataFields</strong> <em>&quot;FieldLabel1,FieldLabel2,... &quot;</em>] [<strong>-d, --DataFieldsMode</strong> <em>All | Common | Specify | CompoundID</em>]
+[<strong>--DetectAromaticity</strong> <em>Yes | No</em>]  [<strong>-f, --Filter</strong> <em>Yes | No</em>] [<strong>--FingerprintsLabel</strong> <em>text</em>]
+[<strong>--fold</strong> <em>Yes | No</em>] [<strong>--FoldedSize</strong> <em>number</em>] [<strong>-h, --help</strong>]
+[<strong>-i, --IgnoreHydrogens</strong> <em>Yes | No</em>] [<strong>-k, --KeepLargestComponent</strong> <em>Yes | No</em>]
+[<strong>-m, --mode</strong> <em>PathLengthBits | PathLengthCount</em>]
+[<strong>--MinPathLength</strong> <em>number</em>] [<strong>--MaxPathLength</strong> <em>number</em>] [<strong>-n, --NumOfBitsToSetPerPath</strong> <em>number</em>]
+[<strong>--OutDelim</strong> <em>comma | tab | semicolon</em>]
+[<strong>--output</strong> <em>SD | FP | text | all</em>] [<strong>-q, --quote</strong> <em>Yes | No</em>] [<strong>-r, --root</strong> <em>RootName</em>]
+[<strong>-p, --PathMode</strong> <em>AtomPathsWithoutRings | AtomPathsWithRings | AllAtomPathsWithoutRings | AllAtomPathsWithRings</em>]
+[<strong>-s, --size</strong> <em>number</em>] [<strong>-u, --UseBondSymbols</strong> <em>Yes | No</em>] [<strong>--UsePerlCoreRandom</strong> <em>Yes | No</em>]
+[<strong>--UseUniquePaths</strong> <em>Yes | No</em>] [<strong>-q, --quote</strong> <em>Yes | No</em>] [<strong>-r, --root</strong> <em>RootName</em>]
+[<strong>-v, --VectorStringFormat</strong> <em>IDsAndValuesString | IDsAndValuesPairsString | ValuesAndIDsString | ValuesAndIDsPairsString</em>]
+[<strong>-w, --WorkingDir</strong> dirname] SDFile(s)...</p>
+<p>
+</p>
+<h2>DESCRIPTION</h2>
+<p>Generate atom path length fingerprints for <em>SDFile(s)</em> and create appropriate SD, FP or
+CSV/TSV text file(s) containing fingerprints bit-vector or vector strings corresponding to
+molecular fingerprints.</p>
+<p>Multiple SDFile names are separated by spaces. The valid file extensions are <em>.sdf</em>
+and <em>.sd</em>. All other file names are ignored. All the SD files in a current directory
+can be specified either by <em>*.sdf</em> or the current directory name.</p>
+<p>The current release of MayaChemTools supports generation of path length fingerprints
+corresponding to following <strong>-a, --AtomIdentifierTypes</strong>:</p>
+<div class="OptionsBox">
+    AtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes,
+<br/>    FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes,
+<br/>    SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes</div>
+<p>Based on the values specified for <strong>-p, --PathMode</strong>, <strong>--MinPathLength</strong> and <strong>--MaxPathLength</strong>,
+all appropriate atom paths are generated for each atom in the molecule and collected in a list and
+the list is filtered to remove any structurally duplicate paths as indicated by the value of
+<strong>--UseUniquePaths</strong> option.</p>
+<p>For each atom path in the filtered atom paths list, an atom path string is created using value of
+<strong>-a, --AtomIdentifierType</strong> and specified values to use for a particular atom identifier type.
+Value of <strong>-u, --UseBondSymbols</strong> controls whether bond order symbols are used during generation
+of atom path string. For each atom path, only lexicographically smaller atom path strings are kept.</p>
+<p>For <em>PathLengthBits</em> value of <strong>-m, --mode</strong> option, each atom path is hashed to a 32 bit unsigned
+integer key using <strong>TextUtil::HashCode</strong> function. Using the hash key as a seed for a random number
+generator, a random integer value between 0 and <strong>--Size</strong> is used to set corresponding bits
+in the fingerprint bit-vector string. Value of <strong>--NumOfBitsToSetPerPath</strong> option controls the number
+of time a random number is generated to set corresponding bits.</p>
+<p>For <em> PathLengthCount</em> value of <strong>-m, --mode</strong> option, the number of times an atom path appears
+is tracked and a fingerprints count-string corresponding to count of atom paths is generated.</p>
+<p>Example of <em>SD</em> file containing path length fingerprints string data:</p>
+<div class="OptionsBox">
+    ... ...
+<br/>    ... ...
+<br/>    $$$$
+<br/>    ... ...
+<br/>    ... ...
+<br/>    ... ...
+<br/>    41 44  0  0  0  0  0  0  0  0999 V2000
+     -3.3652    1.4499    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
+<br/>    ... ...
+<br/>    2  3  1  0  0  0  0
+<br/>    ... ...
+<br/>    M  END
+<br/>    &gt;  &lt;CmpdID&gt;
+<br/>    Cmpd1</div>
+<div class="OptionsBox">
+    &gt;  &lt;PathLengthFingerprints&gt;
+<br/>    FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLengt
+<br/>    h1:MaxLength8;1024;HexadecimalString;Ascending;9c8460989ec8a49913991a66
+<br/>    03130b0a19e8051c89184414953800cc2151082844a201042800130860308e8204d4028
+<br/>    00831048940e44281c00060449a5000ac80c894114e006321264401600846c050164462
+<br/>    08190410805000304a10205b0100e04c0038ba0fad0209c0ca8b1200012268b61c0026a
+<br/>    aa0660a11014a011d46</div>
+<div class="OptionsBox">
+    $$$$
+<br/>    ... ...
+<br/>    ... ...</div>
+<p>Example of <em>FP</em> file containing path length fingerprints string data:</p>
+<div class="OptionsBox">
+    #
+<br/>    # Package = MayaChemTools 7.4
+<br/>    # ReleaseDate = Oct 21, 2010
+<br/>    #
+<br/>    # TimeStamp =  Mon Mar 7 15:14:01 2011
+<br/>    #
+<br/>    # FingerprintsStringType = FingerprintsBitVector
+<br/>    #
+<br/>    # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
+<br/>    # Size = 1024
+<br/>    # BitStringFormat = HexadecimalString
+<br/>    # BitsOrder = Ascending
+<br/>    #
+<br/>    Cmpd1 9c8460989ec8a49913991a6603130b0a19e8051c89184414953800cc21510...
+<br/>    Cmpd2 000000249400840040100042011001001980410c000000001010088001120...
+<br/>    ... ...
+<br/>    ... ..</div>
+<p>Example of CSV <em>Text</em> file containing pathlength fingerprints string data:</p>
+<div class="OptionsBox">
+    &quot;CompoundID&quot;,&quot;PathLengthFingerprints&quot;
+<br/>    &quot;Cmpd1&quot;,&quot;FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes
+<br/>    :MinLength1:MaxLength8;1024;HexadecimalString;Ascending;9c8460989ec8a4
+<br/>    9913991a6603130b0a19e8051c89184414953800cc2151082844a20104280013086030
+<br/>    8e8204d402800831048940e44281c00060449a5000ac80c894114e006321264401...&quot;
+<br/>    ... ...
+<br/>    ... ...</div>
+<p>The current release of MayaChemTools generates the following types of path length
+fingerprints bit-vector and vector strings:</p>
+<div class="OptionsBox">
+    FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
+<br/>    th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110
+<br/>    0100010101011000101001011100110001000010001001101000001001001001001000
+<br/>    0010110100000111001001000001001010100100100000000011000000101001011100
+<br/>    0010000001000101010100000100111100110111011011011000000010110111001101
+<br/>    0101100011000000010001000011000010100011101100001000001000100000000...</div>
+<div class="OptionsBox">
+    FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
+<br/>    th1:MaxLength8;1024;HexadecimalString;Ascending;48caa1315d82d91122b029
+<br/>    42861c9409a4208182d12015509767bd0867653604481a8b1288000056090583603078
+<br/>    9cedae54e26596889ab121309800900490515224208421502120a0dd9200509723ae89
+<br/>    00024181b86c0122821d4e4880c38620dab280824b455404009f082003d52c212b4e6d
+<br/>    6ea05280140069c780290c43</div>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength
+<br/>    1:MaxLength8;432;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3 2
+<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
+<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
+<br/>    2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO
+<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>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:DREIDINGAtomTypes:MinLength1:MaxLen
+<br/>    gth8;410;NumericalValues;IDsAndValuesPairsString;C_2 2 C_3 9 C_R 22 F_
+<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
+<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
+<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
+<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>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:EStateAtomTypes:MinLength1:MaxLengt
+<br/>    h8;454;NumericalValues;IDsAndValuesPairsString;aaCH 14 aasC 8 aasN 1 d
+<br/>    O 2 dssC 2 sCH3 2 sF 1 sOH 3 ssCH2 4 ssNH 1 sssCH 3 aaCH:aaCH 10 aaCH:
+<br/>    aasC 8 aasC:aasC 3 aasC:aasN 2 aasCaasC 2 aasCdssC 1 aasCsF 1 aasCssNH
+<br/>    1 aasCsssCH 1 aasNssCH2 1 dO=dssC 2 dssCsOH 1 dssCssCH2 1 dssCssNH 1
+<br/>    sCH3sssCH 2 sOHsssCH 2 ssCH2ssCH2 1 ssCH2sssCH 4 aaCH:aaCH:aaCH 6 a...</div>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:FunctionalClassAtomTypes:MinLength1
+<br/>    :MaxLength8;404;NumericalValues;IDsAndValuesPairsString;Ar 22 Ar.HBA 1
+<br/>    HBA 2 HBA.HBD 3 HBD 1 Hal 1 NI 1 None 10 Ar.HBA:Ar 2 Ar.HBANone 1 Ar:
+<br/>    Ar 21 ArAr 2 ArHBD 1 ArHal 1 ArNone 2 HBA.HBDNI 1 HBA.HBDNone 2 HBA=NI
+<br/>    1 HBA=None 1 HBDNone 1 NINone 1 NoneNone 7 Ar.HBA:Ar:Ar 2 Ar.HBA:ArAr
+<br/>    1 Ar.HBA:ArNone 1 Ar.HBANoneNone 1 Ar:Ar.HBA:Ar 1 Ar:Ar.HBANone 2 ...</div>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:MMFF94AtomTypes:MinLength1:MaxLengt
+<br/>    h8;463;NumericalValues;IDsAndValuesPairsString;C5A 2 C5B 2 C=ON 1 CB 1
+<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
+<br/>    5 2 C5ACB 1 C5ACR 1 C5B:C5B 1 C5BC=ON 1 C5BCB 1 C=ON=O=CN 1 C=ONNC=O 1
+<br/>    CB:CB 18 CBF 1 CBNC=O 1 COO=O=CO 1 COOCR 1 COOOC=O 1 CRCR 7 CRN5 1 CR
+<br/>    OR 2 C5A:C5B:C5B 2 C5A:C5BC=ON 1 C5A:C5BCB 1 C5A:N5:C5A 1 C5A:N5CR ...</div>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:SLogPAtomTypes:MinLength1:MaxLength
+<br/>    8;518;NumericalValues;IDsAndValuesPairsString;C1 5 C10 1 C11 1 C14 1 C
+<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
+<br/>    1 C10N11 1 C11C1 2 C11C21 1 C14:C18 2 C14F 1 C18:C18 10 C18:C20 4 C18
+<br/>    :C22 2 C1C5 1 C1CS 4 C20:C20 1 C20:C21 1 C20:N11 1 C20C20 2 C21:C21 1
+<br/>    C21:N11 1 C21C5 1 C22N4 1 C5=O10 1 C5=O9 1 C5N4 1 C5O2 1 CSO2 2 C10...</div>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:SYBYLAtomTypes:MinLength1:MaxLength
+<br/>    8;412;NumericalValues;IDsAndValuesPairsString;C.2 2 C.3 9 C.ar 22 F 1
+<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.
+<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
+<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
+<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>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:TPSAAtomTypes:MinLength1:MaxLength8
+<br/>    ;331;NumericalValues;IDsAndValuesPairsString;N21 1 N7 1 None 34 O3 2 O
+<br/>    4 3 N21:None 2 N21None 1 N7None 2 None:None 21 None=O3 2 NoneNone 13 N
+<br/>    oneO4 3 N21:None:None 2 N21:NoneNone 2 N21NoneNone 1 N7None:None 2 N7N
+<br/>    one=O3 1 N7NoneNone 1 None:N21:None 1 None:N21None 2 None:None:None 20
+<br/>    None:NoneNone 12 NoneN7None 1 NoneNone=O3 2 NoneNoneNone 8 NoneNon...</div>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:UFFAtomTypes:MinLength1:MaxLength8;
+<br/>    410;NumericalValues;IDsAndValuesPairsString;C_2 2 C_3 9 C_R 22 F_ 1 N_
+<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_
+<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_
+<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
+<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>
+<p>
+</p>
+<h2>OPTIONS</h2>
+<dl>
+<dt><strong><strong>--AromaticityModel</strong> <em>MDLAromaticityModel | TriposAromaticityModel | MMFFAromaticityModel | ChemAxonBasicAromaticityModel | ChemAxonGeneralAromaticityModel | DaylightAromaticityModel | MayaChemToolsAromaticityModel</em></strong></dt>
+<dd>
+<p>Specify aromaticity model to use during detection of aromaticity. Possible values in the current
+release are: <em>MDLAromaticityModel, TriposAromaticityModel, MMFFAromaticityModel,
+ChemAxonBasicAromaticityModel, ChemAxonGeneralAromaticityModel, DaylightAromaticityModel
+or MayaChemToolsAromaticityModel</em>. Default value: <em>MayaChemToolsAromaticityModel</em>.</p>
+<p>The supported aromaticity model names along with model specific control parameters
+are defined in <strong>AromaticityModelsData.csv</strong>, which is distributed with the current release
+and is available under <strong>lib/data</strong> directory. <strong>Molecule.pm</strong> module retrieves data from
+this file during class instantiation and makes it available to method <strong>DetectAromaticity</strong>
+for detecting aromaticity corresponding to a specific model.</p>
+<p>This option is ignored during <em>No</em> value of <strong>--DetectAromaticity</strong> option.</p>
+</dd>
+<dt><strong><strong>-a, --AtomIdentifierType</strong> <em>AtomicInvariantsAtomTypes | DREIDINGAtomTypes | EStateAtomTypes | FunctionalClassAtomTypes | MMFF94AtomTypes | SLogPAtomTypes | SYBYLAtomTypes | TPSAAtomTypes | UFFAtomTypes</em></strong></dt>
+<dd>
+<p>Specify atom identifier type to use for assignment of atom types to hydrogen and/or
+non-hydrogen atoms during calculation of atom types fingerprints. Possible values in the
+current release are: <em>AtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes,
+FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes, SYBYLAtomTypes,
+TPSAAtomTypes, UFFAtomTypes</em>. Default value: <em>AtomicInvariantsAtomTypes</em>.</p>
+</dd>
+<dt><strong><strong>-a, --AtomIdentifierType</strong> <em>AtomicInvariantsAtomTypes | DREIDINGAtomTypes | EStateAtomTypes | FunctionalClassAtomTypes | MMFF94AtomTypes | SLogPAtomTypes | SYBYLAtomTypes | TPSAAtomTypes | UFFAtomTypes</em></strong></dt>
+<dd>
+<p>Specify atom identifier type to use during generation of atom path strings
+corresponding to path length fingerprints. Possible values in the current release are:
+<em>AtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes,
+FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes, SYBYLAtomTypes,
+TPSAAtomTypes, UFFAtomTypes</em>. Default value: <em>AtomicInvariantsAtomTypes</em>.</p>
+</dd>
+<dt><strong><strong>--AtomicInvariantsToUse</strong> <em>&quot;AtomicInvariant1,AtomicInvariant2...&quot;</em></strong></dt>
+<dd>
+<p>This value is used during <em>AtomicInvariantsAtomTypes</em> value of <strong>a, --AtomIdentifierType</strong>
+option. It's a list of comma separated valid atomic invariant atom types.</p>
+<p>Possible values for atomic invariants are: <em>AS, X, BO,  LBO, SB, DB, TB,
+H, Ar, RA, FC, MN, SM</em>. Default value: <em>AS</em>.</p>
+<p>The atomic invariants abbreviations correspond to:</p>
+<div class="OptionsBox">
+    AS = Atom symbol corresponding to element symbol</div>
+<div class="OptionsBox">
+    X&lt;n&gt;   = Number of non-hydrogen atom neighbors or heavy atoms
+<br/>    BO&lt;n&gt; = Sum of bond orders to non-hydrogen atom neighbors or heavy atoms
+<br/>    LBO&lt;n&gt; = Largest bond order of non-hydrogen atom neighbors or heavy atoms
+<br/>    SB&lt;n&gt; = Number of single bonds to non-hydrogen atom neighbors or heavy atoms
+<br/>    DB&lt;n&gt; = Number of double bonds to non-hydrogen atom neighbors or heavy atoms
+<br/>    TB&lt;n&gt; = Number of triple bonds to non-hydrogen atom neighbors or heavy atoms
+<br/>    H&lt;n&gt;   = Number of implicit and explicit hydrogens for atom
+<br/>    Ar     = Aromatic annotation indicating whether atom is aromatic
+<br/>    RA     = Ring atom annotation indicating whether atom is a ring
+<br/>    FC&lt;+n/-n&gt; = Formal charge assigned to atom
+<br/>    MN&lt;n&gt; = Mass number indicating isotope other than most abundant isotope
+<br/>    SM&lt;n&gt; = Spin multiplicity of atom. Possible values: 1 (singlet), 2 (doublet) or
+            3 (triplet)</div>
+<p>Atom type generated by AtomTypes::AtomicInvariantsAtomTypes class corresponds to:</p>
+<div class="OptionsBox">
+    AS.X&lt;n&gt;.BO&lt;n&gt;.LBO&lt;n&gt;.&lt;SB&gt;&lt;n&gt;.&lt;DB&gt;&lt;n&gt;.&lt;TB&gt;&lt;n&gt;.H&lt;n&gt;.Ar.RA.FC&lt;+n/-n&gt;.MN&lt;n&gt;.SM&lt;n&gt;</div>
+<p>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.</p>
+<p>In addition to usage of abbreviations for specifying atomic invariants, the following descriptive words
+are also allowed:</p>
+<div class="OptionsBox">
+    X : NumOfNonHydrogenAtomNeighbors or NumOfHeavyAtomNeighbors
+<br/>    BO : SumOfBondOrdersToNonHydrogenAtoms or SumOfBondOrdersToHeavyAtoms
+<br/>    LBO : LargestBondOrderToNonHydrogenAtoms or LargestBondOrderToHeavyAtoms
+<br/>    SB :  NumOfSingleBondsToNonHydrogenAtoms or NumOfSingleBondsToHeavyAtoms
+<br/>    DB : NumOfDoubleBondsToNonHydrogenAtoms or NumOfDoubleBondsToHeavyAtoms
+<br/>    TB : NumOfTripleBondsToNonHydrogenAtoms or NumOfTripleBondsToHeavyAtoms
+<br/>    H :  NumOfImplicitAndExplicitHydrogens
+<br/>    Ar : Aromatic
+<br/>    RA : RingAtom
+<br/>    FC : FormalCharge
+<br/>    MN : MassNumber
+<br/>    SM : SpinMultiplicity</div>
+<p>Examples:</p>
+<p><strong>Benzene</strong>: Using value of <em>AS</em> for <strong>--AtomicInvariantsToUse</strong>, <em>Yes</em> for <strong>UseBondSymbols</strong>,
+and <em> AllAtomPathsWithRings</em> for <strong>-p, --PathMode</strong>, atom path strings generated are:</p>
+<div class="OptionsBox">
+    C C:C C:C:C C:C:C:C C:C:C:C:C C:C:C:C:C:C C:C:C:C:C:C:C</div>
+<p>And using <em>AS,X,BO</em> for <strong>--AtomicInvariantsToUse</strong> generates following atom path
+strings:</p>
+<div class="OptionsBox">
+    C.X2.BO3 C.X2.BO3:C.X2.BO3 C.X2.BO3:C.X2.BO3:C.X2.BO3
+<br/>    C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3
+<br/>    C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3
+<br/>    C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3
+<br/>    C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3:C.X2.BO3</div>
+<p><strong>Urea</strong>: Using value of <em>AS</em> for <strong>--AtomicInvariantsToUse</strong>, <em>Yes</em> for <strong>UseBondSymbols</strong>,
+and <em> AllAtomPathsWithRings</em> for <strong>-p, --PathMode</strong>, atom path strings are:</p>
+<div class="OptionsBox">
+    C N O C=O CN NC=O NCN</div>
+<p>And using <em>AS,X,BO</em> for <strong>--AtomicInvariantsToUse</strong> generates following atom path
+strings:</p>
+<div class="OptionsBox">
+    C.X3.BO4 N.X1.BO1 O.X1.BO2 C.X3.BO4=O.X1.BO2
+<br/>    C.X3.BO4N.X1.BO1 N.X1.BO1C.X3.BO4=O.X1.BO2
+<br/>    N.X1.BO1C.X3.BO4N.X1.BO1</div>
+</dd>
+<dt><strong><strong>--FunctionalClassesToUse</strong> <em>&quot;FunctionalClass1,FunctionalClass2...&quot;</em></strong></dt>
+<dd>
+<p>This value is used during <em>FunctionalClassAtomTypes</em> value of <strong>a, --AtomIdentifierType</strong>
+option. It's a list of comma separated valid functional classes.</p>
+<p>Possible values for atom functional classes are: <em>Ar, CA, H, HBA, HBD, Hal, NI, PI, RA</em>.
+Default value [ Ref 24 ]: <em>HBD,HBA,PI,NI,Ar,Hal</em>.</p>
+<p>The functional class abbreviations correspond to:</p>
+<div class="OptionsBox">
+    HBD: HydrogenBondDonor
+<br/>    HBA: HydrogenBondAcceptor
+<br/>    PI :  PositivelyIonizable
+<br/>    NI : NegativelyIonizable
+<br/>    Ar : Aromatic
+<br/>    Hal : Halogen
+<br/>    H : Hydrophobic
+<br/>    RA : RingAtom
+<br/>    CA : ChainAtom</div>
+<div class="OptionsBox">
+ Functional class atom type specification for an atom corresponds to:</div>
+<div class="OptionsBox">
+    Ar.CA.H.HBA.HBD.Hal.NI.PI.RA</div>
+<p><em>AtomTypes::FunctionalClassAtomTypes</em> module is used to assign functional class atom
+types. It uses following definitions [ Ref 60-61, Ref 65-66 ]:</p>
+<div class="OptionsBox">
+    HydrogenBondDonor: NH, NH2, OH
+<br/>    HydrogenBondAcceptor: N[!H], O
+<br/>    PositivelyIonizable: +, NH2
+<br/>    NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH</div>
+</dd>
+<dt><strong><strong>--BitsOrder</strong> <em>Ascending | Descending</em></strong></dt>
+<dd>
+<p>Bits order to use during generation of fingerprints bit-vector string for <em>PathLengthBits</em> value of
+<strong>-m, --mode</strong> option. Possible values: <em>Ascending, Descending</em>. Default: <em>Ascending</em>.</p>
+<p><em>Ascending</em> bit order which corresponds to first bit in each byte as the lowest bit as
+opposed to the highest bit.</p>
+<p>Internally, bits are stored in <em>Ascending</em> order using Perl vec function. Regardless
+of machine order, big-endian or little-endian, vec function always considers first
+string byte as the lowest byte and first bit within each byte as the lowest bit.</p>
+</dd>
+<dt><strong><strong>-b, --BitStringFormat</strong> <em>BinaryString | HexadecimalString</em></strong></dt>
+<dd>
+<p>Format of fingerprints bit-vector string data in output SD, FP or CSV/TSV text file(s) specified by
+<strong>--output</strong> used during <em>PathLengthBits</em> value of <strong>-m, --mode</strong> option. Possible
+values: <em>BinaryString, HexadecimalString</em>. Default value: <em>HexadecimalString</em>.</p>
+<p><em>BinaryString</em> corresponds to an ASCII string containing 1s and 0s. <em>HexadecimalString</em>
+contains bit values in ASCII hexadecimal format.</p>
+<p>Examples:</p>
+<div class="OptionsBox">
+    FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
+<br/>    th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110
+<br/>    0100010101011000101001011100110001000010001001101000001001001001001000
+<br/>    0010110100000111001001000001001010100100100000000011000000101001011100
+<br/>    0010000001000101010100000100111100110111011011011000000010110111001101
+<br/>    0101100011000000010001000011000010100011101100001000001000100000000...</div>
+<div class="OptionsBox">
+    FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
+<br/>    th1:MaxLength8;1024;HexadecimalString;Ascending;48caa1315d82d91122b029
+<br/>    42861c9409a4208182d12015509767bd0867653604481a8b1288000056090583603078
+<br/>    9cedae54e26596889ab121309800900490515224208421502120a0dd9200509723ae89
+<br/>    00024181b86c0122821d4e4880c38620dab280824b455404009f082003d52c212b4e6d
+<br/>    6ea05280140069c780290c43</div>
+</dd>
+<dt><strong><strong>--CompoundID</strong> <em>DataFieldName or LabelPrefixString</em></strong></dt>
+<dd>
+<p>This value is <strong>--CompoundIDMode</strong> specific and indicates how compound ID is generated.</p>
+<p>For <em>DataField</em> value of <strong>--CompoundIDMode</strong> option, it corresponds to datafield label name
+whose value is used as compound ID; otherwise, it's a prefix string used for generating compound
+IDs like LabelPrefixString&lt;Number&gt;. Default value, <em>Cmpd</em>, generates compound IDs which
+look like Cmpd&lt;Number&gt;.</p>
+<p>Examples for <em>DataField</em> value of <strong>--CompoundIDMode</strong>:</p>
+<div class="OptionsBox">
+    MolID
+<br/>    ExtReg</div>
+<p>Examples for <em>LabelPrefix</em> or <em>MolNameOrLabelPrefix</em> value of <strong>--CompoundIDMode</strong>:</p>
+<div class="OptionsBox">
+    Compound</div>
+<p>The value specified above generates compound IDs which correspond to Compound&lt;Number&gt;
+instead of default value of Cmpd&lt;Number&gt;.</p>
+</dd>
+<dt><strong><strong>--CompoundIDLabel</strong> <em>text</em></strong></dt>
+<dd>
+<p>Specify compound ID column label for FP or CSV/TSV text file(s) used during <em>CompoundID</em> value
+of <strong>--DataFieldsMode</strong> option. Default: <em>CompoundID</em>.</p>
+</dd>
+<dt><strong><strong>--CompoundIDMode</strong> <em>DataField | MolName | LabelPrefix | MolNameOrLabelPrefix</em></strong></dt>
+<dd>
+<p>Specify how to generate compound IDs and write to FP or CSV/TSV text file(s) along with generated
+fingerprints for <em>FP | text | all</em> values of <strong>--output</strong> option: use a <em>SDFile(s)</em> datafield value;
+use molname line from <em>SDFile(s)</em>; generate a sequential ID with specific prefix; use combination
+of both MolName and LabelPrefix with usage of LabelPrefix values for empty molname lines.</p>
+<p>Possible values: <em>DataField | MolName | LabelPrefix | MolNameOrLabelPrefix</em>.
+Default: <em>LabelPrefix</em>.</p>
+<p>For <em>MolNameAndLabelPrefix</em> value of <strong>--CompoundIDMode</strong>, molname line in <em>SDFile(s)</em> takes
+precedence over sequential compound IDs generated using <em>LabelPrefix</em> and only empty molname
+values are replaced with sequential compound IDs.</p>
+<p>This is only used for <em>CompoundID</em> value of <strong>--DataFieldsMode</strong> option.</p>
+</dd>
+<dt><strong><strong>--DataFields</strong> <em>&quot;FieldLabel1,FieldLabel2,... &quot;</em></strong></dt>
+<dd>
+<p>Comma delimited list of <em>SDFiles(s)</em> data fields to extract and write to CSV/TSV text file(s) along
+with generated fingerprints for <em>text | all</em> values of <strong>--output</strong> option.</p>
+<p>This is only used for <em>Specify</em> value of <strong>--DataFieldsMode</strong> option.</p>
+<p>Examples:</p>
+<div class="OptionsBox">
+    Extreg
+<br/>    MolID,CompoundName</div>
+</dd>
+<dt><strong><strong>-d, --DataFieldsMode</strong> <em>All | Common | Specify | CompoundID</em></strong></dt>
+<dd>
+<p>Specify how data fields in <em>SDFile(s)</em> are transferred to output CSV/TSV text file(s) along
+with generated fingerprints for <em>text | all</em> values of <strong>--output</strong> option: transfer all SD
+data field; transfer SD data files common to all compounds; extract specified data fields;
+generate a compound ID using molname line, a compound prefix, or a combination of both.
+Possible values: <em>All | Common | specify | CompoundID</em>. Default value: <em>CompoundID</em>.</p>
+</dd>
+<dt><strong><strong>--DetectAromaticity</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Detect aromaticity before generating fingerprints. Possible values: <em>Yes or No</em>.
+Default value: <em>Yes</em>.</p>
+<p><em>No</em> <strong>--DetectAromaticity</strong> forces usage of atom and bond aromaticity values
+from <em>SDFile(s)</em> and skips the step which detects and assigns aromaticity.</p>
+<p><em>No</em> <strong>--DetectAromaticity</strong> value is only allowed uring <em>AtomicInvariantsAtomTypes</em>
+value of <strong>-a, --AtomIdentifierType</strong> options; for all possible values <strong>-a, --AtomIdentifierType</strong>
+values, it must be <em>Yes</em>.</p>
+</dd>
+<dt><strong><strong>-f, --Filter</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Specify whether to check and filter compound data in SDFile(s). Possible values: <em>Yes or No</em>.
+Default value: <em>Yes</em>.</p>
+<p>By default, compound data is checked before calculating fingerprints and compounds containing
+atom data corresponding to non-element symbols or no atom data are ignored.</p>
+</dd>
+<dt><strong><strong>--FingerprintsLabel</strong> <em>text</em></strong></dt>
+<dd>
+<p>SD data label or text file column label to use for fingerprints string in output SD or
+CSV/TSV text file(s) specified by <strong>--output</strong>. Default value: <em>PathLenghFingerprints</em>.</p>
+</dd>
+<dt><strong><strong>--fold</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Fold fingerprints to increase bit density during <em>PathLengthBits</em> value of
+<strong>-m, --mode</strong> option. Possible values: <em>Yes or No</em>. Default value: <em>No</em>.</p>
+</dd>
+<dt><strong><strong>--FoldedSize</strong> <em>number</em></strong></dt>
+<dd>
+<p>Size of folded fingerprint during <em>PathLengthBits</em> value of <strong>-m, --mode</strong> option. Default
+value: <em>256</em>. Valid values correspond to any positive integer which is less than
+<strong>-s, --size</strong> and meets the criteria for its value.</p>
+<p>Examples:</p>
+<div class="OptionsBox">
+   128
+   512</div>
+</dd>
+<dt><strong><strong>-h, --help</strong></strong></dt>
+<dd>
+<p>Print this help message</p>
+</dd>
+<dt><strong><strong>-i, --IgnoreHydrogens</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Ignore hydrogens during fingerprints generation. Possible values: <em>Yes or No</em>.
+Default value: <em>Yes</em>.</p>
+<p>For <em>yes</em> value of <strong>-i, --IgnoreHydrogens</strong>, any explicit hydrogens are also used for
+generation of atoms path lengths and fingerprints; implicit hydrogens are still ignored.</p>
+</dd>
+<dt><strong><strong>-k, --KeepLargestComponent</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Generate fingerprints for only the largest component in molecule. Possible values:
+<em>Yes or No</em>. Default value: <em>Yes</em>.</p>
+<p>For molecules containing multiple connected components, fingerprints can be generated
+in two different ways: use all connected components or just the largest connected
+component. By default, all atoms except for the largest connected component are
+deleted before generation of fingerprints.</p>
+</dd>
+<dt><strong><strong>-m, --mode</strong> <em>PathLengthBits | PathLengthCount</em></strong></dt>
+<dd>
+<p>Specify type of path length fingerprints to generate for molecules in <em>SDFile(s)</em>. Possible
+values: <em>PathLengthBits, PathLengthCount</em>. Default value: <em>PathLengthBits</em>.</p>
+<p>For <em>PathLengthBits</em> value of <strong>-m, --mode</strong> option, a fingerprint bit-vector string containing
+zeros and ones is generated and for <em>PathLengthCount</em> value, a fingerprint vector string
+corresponding to number of atom paths is generated.</p>
+</dd>
+<dt><strong><strong>--MinPathLength</strong> <em>number</em></strong></dt>
+<dd>
+<p>Minimum atom path length to include in fingerprints. Default value: <em>1</em>. Valid values:
+positive integers and less than <strong>--MaxPathLength</strong>. Path length of 1 correspond to
+a path containing only one atom.</p>
+</dd>
+<dt><strong><strong>--MaxPathLength</strong> <em>number</em></strong></dt>
+<dd>
+<p>Maximum atom path length to include in fingerprints. Default value: <em>8</em>. Valid values:
+positive integers and greater than <strong>--MinPathLength</strong>.</p>
+</dd>
+<dt><strong><strong>-n, --NumOfBitsToSetPerPath</strong> <em>number</em></strong></dt>
+<dd>
+<p>Number of bits to set per path during generation of fingerprints bit-vector string for <em>PathLengthBits</em>
+value of <strong>-m, --mode</strong> option. Default value: <em>1</em>. Valid values: positive integers.</p>
+</dd>
+<dt><strong><strong>--OutDelim</strong> <em>comma | tab | semicolon</em></strong></dt>
+<dd>
+<p>Delimiter for output CSV/TSV text file(s). Possible values: <em>comma, tab, or semicolon</em>
+Default value: <em>comma</em>.</p>
+</dd>
+<dt><strong><strong>--output</strong> <em>SD | FP | text | all</em></strong></dt>
+<dd>
+<p>Type of output files to generate. Possible values: <em>SD, FP, text, or all</em>. Default value: <em>text</em>.</p>
+</dd>
+<dt><strong><strong>-o, --overwrite</strong></strong></dt>
+<dd>
+<p>Overwrite existing files.</p>
+</dd>
+<dt><strong><strong>-p, --PathMode</strong> <em>AtomPathsWithoutRings | AtomPathsWithRings | AllAtomPathsWithoutRings | AllAtomPathsWithRings</em></strong></dt>
+<dd>
+<p>Specify type of atom paths to use for generating  pathlength fingerprints for molecules in
+<em>SDFile(s)</em>. Possible values:<em>AtomPathsWithoutRings, AtomPathsWithRings,
+AllAtomPathsWithoutRings, AllAtomPathsWithRings</em>. Default value: <em>AllAtomPathsWithRings</em>.</p>
+<p>For molecules with no rings, first two and last two options are equivalent and generate
+same set of atom paths starting from each atom with length between <strong>--MinPathLength</strong>
+and <strong>--MaxPathLength</strong>. However, all these four options can result in the same set of
+final atom paths for molecules containing fused, bridged or spiro rings.</p>
+<p>For molecules containing rings, atom paths starting from each atom can be traversed in
+four different ways:</p>
+<p><em>AtomPathsWithoutRings</em> - Atom paths containing no rings and without sharing of bonds
+in traversed paths.</p>
+<p><em>AtomPathsWithRings</em> - Atom paths containing rings and without any sharing of bonds in
+traversed paths.</p>
+<p><em>AllAtomPathsWithoutRings</em> - All possible atom paths containing no rings and without any
+sharing of bonds in traversed paths.</p>
+<p><em>AllAtomPathsWithRings</em> - All possible atom paths containing rings and with sharing of
+bonds in traversed paths.</p>
+<p>Atom path traversal is terminated at the ring atom.</p>
+<p>Based on values specified for for <strong>-p, --PathMode</strong>, <strong>--MinPathLength</strong> and
+<strong>--MaxPathLength</strong>, all appropriate atom paths are generated for each atom in the molecule
+and collected in a list.</p>
+<p>For each atom path in the filtered atom paths list, an atom path string is created using value of
+<strong>-a, --AtomIdentifierType</strong> and specified values to use for a particular atom identifier type.
+Value of <strong>-u, --UseBondSymbols</strong> controls whether bond order symbols are used during generation
+of atom path string. Atom symbol corresponds to element symbol and characters used to represent
+ bond order are: <em>1 - None; 2 - '='; 3 - '#'; 1.5 or aromatic - ':'; others: bond order value</em>. By default,
+bond symbols are included in atom path strings. Exclusion of bond symbols in atom path strings
+results in fingerprints which correspond purely to atom paths without considering bonds.</p>
+<p><strong>UseUniquePaths</strong> controls the removal of structurally duplicate atom path strings are removed
+from the list.</p>
+<p>For <em>PathLengthBits</em> value of <strong>-m, --mode</strong> option, each atom path is hashed to a 32 bit unsigned
+integer key using <strong>TextUtil::HashCode</strong> function. Using the hash key as a seed for a random number
+generator, a random integer value between 0 and <strong>--Size</strong> is used to set corresponding bits
+in the fingerprint bit-vector string. Value of <strong>--NumOfBitsToSetPerPaths</strong> option controls the number
+of time a random number is generated to set corresponding bits.</p>
+<p>For <em> PathLengthCount</em> value of <strong>-m, --mode</strong> option, the number of times an atom path appears
+is tracked and a fingerprints count-string corresponding to count of atom paths is generated.</p>
+<p>For molecule containing rings, combination of <strong>-p, --PathMode</strong> and <strong>--UseBondSymbols</strong> allows
+generation of up to 8 different types of atom path length strings:</p>
+<div class="OptionsBox">
+    AllowSharedBonds AllowRings UseBondSymbols</div>
+<div class="OptionsBox">
+    0                0          1   - AtomPathsNoCyclesWithBondSymbols
+<br/>    0                1          1   - AtomPathsWithCyclesWithBondSymbols</div>
+<div class="OptionsBox">
+    1                0          1   - AllAtomPathsNoCyclesWithBondSymbols
+<br/>    1                1          1   - AllAtomPathsWithCyclesWithBondSymbols
+                                      [ DEFAULT ]</div>
+<div class="OptionsBox">
+    0                0          0   - AtomPathsNoCyclesNoBondSymbols
+<br/>    0                1          0   - AtomPathsWithCyclesNoBondSymbols</div>
+<div class="OptionsBox">
+    1                0          0   - AllAtomPathsNoCyclesNoBondSymbols
+<br/>    1                1          0   - AllAtomPathsWithCyclesNoWithBondSymbols</div>
+<p>Default atom path length fingerprints generation for molecules containing rings with
+<em>AllAtomPathsWithRings</em> value for <strong>-p, --PathMode</strong>, <em>Yes</em> value for <strong>--UseBondSymbols</strong>,
+<em>2</em> value for <strong>--MinPathLength</strong> and <em>8</em> value for <strong>--MaxPathLength</strong> is the most time
+consuming. Combinations of other options can substantially speed up fingerprint generation
+for molecules containing complex ring systems.</p>
+<p>Additionally, value for option <strong>-a, --AtomIdentifierType</strong> in conjunction with corresponding specified
+values for atom types changes the nature of atom path length strings and the fingerprints.</p>
+</dd>
+<dt><strong><strong>-q, --quote</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Put quote around column values in output CSV/TSV text file(s). Possible values:
+<em>Yes or No</em>. Default value: <em>Yes</em>.</p>
+</dd>
+<dt><strong><strong>-r, --root</strong> <em>RootName</em></strong></dt>
+<dd>
+<p>New file name is generated using the root: &lt;Root&gt;.&lt;Ext&gt;. Default for new file
+names: &lt;SDFileName&gt;&lt;PathLengthFP&gt;.&lt;Ext&gt;. The file type determines &lt;Ext&gt; value.
+The sdf, fpf, csv, and tsv &lt;Ext&gt; values are used for SD, FP, comma/semicolon, and tab
+delimited text files, respectively.This option is ignored for multiple input files.</p>
+</dd>
+<dt><strong><strong>-s, --size</strong> <em>number</em></strong></dt>
+<dd>
+<p>Size of fingerprints. Default value: <em>1024</em>. Valid values correspond to any positive
+integer which satisfies the following criteria: power of 2, &gt;= 32 and &lt;= 2 ** 32.</p>
+<p>Examples:</p>
+<div class="OptionsBox">
+   256
+   512
+   2048</div>
+</dd>
+<dt><strong><strong>-u, --UseBondSymbols</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Specify whether to use bond symbols for atom paths during generation of atom path strings.
+Possible values: <em>Yes or No</em>. Default value: <em>Yes</em>.</p>
+<p><em>No</em> value option for <strong>-u, --UseBondSymbols</strong> allows the generation of fingerprints corresponding
+purely to atoms disregarding all bonds.</p>
+</dd>
+<dt><strong><strong>--UsePerlCoreRandom</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Specify whether to use Perl CORE::rand or MayaChemTools MathUtil::random function
+during random number generation for setting bits in fingerprints bit-vector strings. Possible
+values: <em>Yes or No</em>. Default value: <em>Yes</em>.</p>
+<p><em>No</em> value option for <strong>--UsePerlCoreRandom</strong> allows the generation of fingerprints
+bit-vector strings which are same across different platforms.</p>
+<p>The random number generator implemented in MayaChemTools is a variant of
+linear congruential generator (LCG) as described by Miller et al. [ Ref 120 ].
+It is also referred to as Lehmer random number generator or Park-Miller
+random number generator.</p>
+<p>Unlike Perl's core random number generator function rand, the random number
+generator implemented in MayaChemTools, MathUtil::random,  generates consistent
+random values across different platforms for a specific random seed and leads
+to generation of portable fingerprints bit-vector strings.</p>
+</dd>
+<dt><strong><strong>--UseUniquePaths</strong> <em>Yes | No</em></strong></dt>
+<dd>
+<p>Specify whether to use structurally unique atom paths during generation of atom path strings.
+Possible values: <em>Yes or No</em>. Default value: <em>Yes</em>.</p>
+<p><em>No</em> value option for <strong>--UseUniquePaths</strong> allows usage of all atom paths generated by
+<strong>-p, --PathMode</strong> option value for generation of atom path strings leading to duplicate
+path count during <em>PathLengthCount</em> value of <strong>-m, --mode</strong> option. It doesn't change fingerprint
+string generated during <em>PathLengthBits</em> value of <strong>-m, --mode</strong>.</p>
+<p>For example, during <em>AllAtomPathsWithRings</em> value of <strong>-p, --PathMode</strong> option, benzene has
+12 linear paths of length 2 and 12 cyclic paths length of 7, but only 6 linear paths of length 2 and
+1 cyclic path of length 7 are structurally unique.</p>
+</dd>
+<dt><strong><strong>-v, --VectorStringFormat</strong> <em>IDsAndValuesString | IDsAndValuesPairsString | ValuesAndIDsString | ValuesAndIDsPairsString</em></strong></dt>
+<dd>
+<p>Format of fingerprints vector string data in output SD, FP or CSV/TSV text file(s) specified by
+<strong>--output</strong> used during <em>PathLengthCount</em> value of <strong>-m, --mode</strong> option. Possible
+values: <em>IDsAndValuesString | IDsAndValuesPairsString | ValuesAndIDsString |
+ValuesAndIDsPairsString</em>. Defaultvalue: <em>IDsAndValuesString</em>.</p>
+<p>Examples:</p>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength
+<br/>    1:MaxLength8;432;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3 2
+     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
+<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 
+<br/>    2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO
+<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>
+<div class="OptionsBox">
+    FingerprintsVector;PathLengthCount:EStateAtomTypes:MinLength1:MaxLengt
+<br/>    h8;454;NumericalValues;IDsAndValuesPairsString;aaCH 14 aasC 8 aasN 1 d
+<br/>    O 2 dssC 2 sCH3 2 sF 1 sOH 3 ssCH2 4 ssNH 1 sssCH 3 aaCH:aaCH 10 aaCH:
+<br/>    aasC 8 aasC:aasC 3 aasC:aasN 2 aasCaasC 2 aasCdssC 1 aasCsF 1 aasCssNH
+<br/>    1 aasCsssCH 1 aasNssCH2 1 dO=dssC 2 dssCsOH 1 dssCssCH2 1 dssCssNH 1
+<br/>    sCH3sssCH 2 sOHsssCH 2 ssCH2ssCH2 1 ssCH2sssCH 4 aaCH:aaCH:aaCH 6 a...</div>
+</dd>
+<dt><strong><strong>-w, --WorkingDir</strong> <em>DirName</em></strong></dt>
+<dd>
+<p>Location of working directory. Default: current directory.</p>
+</dd>
+</dl>
+<p>
+</p>
+<h2>EXAMPLES</h2>
+<p>To generate path length fingerprints corresponding to all unique paths from length 1
+through 8 in hexadecimal bit-vector string format of size 1024 and create a
+SamplePLFPHex.csv file containing sequential compound IDs along with fingerprints
+bit-vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -o -r SamplePLFPHex Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to all unique paths from length 1
+through 8 in hexadecimal bit-vector string format of size 1024 and create SamplePLFPHex.sdf,
+SamplePLFPHex.fpf, and SamplePLFPHex.csv files containing sequential compound IDs
+in CSV file along with fingerprints bit-vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl --output all -o -r SamplePLFPHex Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to all unique paths from length 1
+through 8 in binary bit-vector string format of size 1024 and create a
+SamplePLFPBin.csv file containing sequential compound IDs along with fingerprints
+bit-vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl --BitStringFormat BinaryString --size 2048
+      -o -r SamplePLFPBin Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to count of all unique paths from
+length 1 through 8 in IDsAndValuesString format and create a SamplePLFPCount.csv file
+containing sequential compound IDs along with fingerprints vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -m PathLengthCount -o -r SamplePLFPCount
+      Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to count of all unique paths from
+length 1 through 8 in IDsAndValuesString format using  E-state atom types and
+create a SamplePLFPCount.csv file containing sequential compound IDs along with fingerprints
+vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -m  PathLengthCount --AtomIdentifierType
+      EStateAtomTypes -o -r SamplePLFPCount Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to count of all unique paths from
+length 1 through 8 in IDsAndValuesString format using  SLogP atom types and
+create a SamplePLFPCount.csv file containing sequential compound IDs along with fingerprints
+vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -m  PathLengthCount --AtomIdentifierType
+      SLogPAtomTypes -o -r SamplePLFPCount Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to count of all unique paths from
+length 1 through 8 in IDsAndValuesString format and create a SamplePLFPCount.csv file
+containing sequential compound IDs along with fingerprints vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -m  PathLengthCount --VectorStringFormat
+      ValuesAndIDsPairsString -o -r SamplePLFPCount Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to count of all unique paths from
+length 1 through 8 in IDsAndValuesString format using AS,X,BO as atomic invariants and
+create a SamplePLFPCount.csv file containing sequential compound IDs along with fingerprints
+vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -m  PathLengthCount --AtomIdentifierType
+      AtomicInvariantsAtomTypes --AtomicInvariantsToUse &quot;AS,X,BO&quot; -o
+      -r SamplePLFPCount Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to count of all  paths from
+length 1 through 8 in IDsAndValuesString format and create a SamplePLFPCount.csv file
+containing compound IDs from MolName line along with fingerprints vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -m  PathLengthCount --UseUniquePaths No
+      -o --CompoundIDMode MolName -r SamplePLFPCount --UseUniquePaths No
+      Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to all unique paths from length 1
+through 8 in hexadecimal bit-vector string format of size 512 after folding and create
+SamplePLFPHex.sdf, SamplePLFPHex.fpf, and SamplePLFPHex.sdf  files containing sequential
+compound IDs along with fingerprints bit-vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl --output all --Fold Yes --FoldedSize 512
+       -o -r SamplePLFPHex Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to all unique paths from length 1
+through 8 containing no rings and  without sharing of bonds in hexadecimal bit-vector
+string format of size 1024 and create a SamplePLFPHex.csv file containing sequential
+compound IDs along with fingerprints bit-vector strings data and all data fields, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -p AtomPathsWithoutRings --DataFieldsMode All
+      -o -r SamplePLFPHex Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to all unique paths from length 1
+through 8 containing rings and  without sharing of bonds in hexadecimal bit-vector
+string format of size 1024 and create a SamplePLFPHex.tsv file containing compound IDs
+derived from combination of molecule name line and an explicit compound prefix
+along with fingerprints bit-vector strings data and all data fields, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -p AtomPathsWithRings --DataFieldsMode
+      CompoundID --CompoundIDMode MolnameOrLabelPrefix  --CompoundID Cmpd
+      --CompoundIDLabel MolID --FingerprintsLabel PathLengthFP --OutDelim Tab
+      -r SamplePLFPHex -o Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to count of all unique paths from
+length 1 through 8 in IDsAndValuesString format and create a SamplePLFPCount.csv file
+containing sequential compound IDs along with fingerprints vector strings data using
+aromaticity specified in SD file, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl -m PathLengthCount --DetectAromaticity No
+      -o -r SamplePLFPCount Sample.sdf</div>
+<p>To generate path length fingerprints corresponding to all unique paths from length 2
+through 6 in hexadecimal bit-vector string format of size 1024 and create a
+SamplePLFPHex.csv file containing sequential compound IDs along with fingerprints
+bit-vector strings data, type:</p>
+<div class="ExampleBox">
+    % PathLengthFingerprints.pl --MinPathLength 2 --MaxPathLength 6
+      -o -r SamplePLFPHex Sample.sdf</div>
+<p>
+</p>
+<h2>AUTHOR</h2>
+<p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
+<p>
+</p>
+<h2>SEE ALSO</h2>
+<p><a href="./InfoFingerprintsFiles.html">InfoFingerprintsFiles.pl</a>,&nbsp<a href="./SimilarityMatricesFingerprints.html">SimilarityMatricesFingerprints.pl</a>,&nbsp<a href="./AtomNeighborhoodsFingerprints.html">AtomNeighborhoodsFingerprints.pl</a>,&nbsp
+<a href="./ExtendedConnectivityFingerprints.html">ExtendedConnectivityFingerprints.pl</a>,&nbsp<a href="./MACCSKeysFingerprints.html">MACCSKeysFingerprints.pl</a>,&nbsp
+<a href="./TopologicalAtomPairsFingerprints.html">TopologicalAtomPairsFingerprints.pl</a>,&nbsp<a href="./TopologicalAtomTorsionsFingerprints.html">TopologicalAtomTorsionsFingerprints.pl</a>,&nbsp
+<a href="./TopologicalPharmacophoreAtomPairsFingerprints.html">TopologicalPharmacophoreAtomPairsFingerprints.pl</a>,&nbsp<a href="./TopologicalPharmacophoreAtomTripletsFingerprints.html">TopologicalPharmacophoreAtomTripletsFingerprints.pl</a>
+</p>
+<p>
+</p>
+<h2>COPYRIGHT</h2>
+<p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
+<p>This file is part of MayaChemTools.</p>
+<p>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.</p>
+<p>&nbsp</p><p>&nbsp</p><div class="DocNav">
+<table width="100%" border=0 cellpadding=0 cellspacing=2>
+<tr align="left" valign="top"><td width="33%" align="left"><a href="./MolFilesToSD.html" title="MolFilesToSD.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./SDFilesToHTML.html" title="SDFilesToHTML.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>PathLengthFingerprints.pl</strong></td></tr>
+</table>
+</div>
+<br />
+<center>
+<img src="../../images/h2o2.png">
+</center>
+</body>
+</html>