view mayachemtools/docs/scripts/html/PathLengthFingerprints.html @ 2:dfff2614510e draft

Deleted selected files
author deepakjadmin
date Wed, 20 Jan 2016 12:15:15 -0500
parents 73ae111cf86f
children
line wrap: on
line source

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