| 0 | 1 <html> | 
|  | 2 <head> | 
|  | 3 <title>MayaChemTools:Documentation:FileIO::FingerprintsFPFileIO.pm</title> | 
|  | 4 <meta http-equiv="content-type" content="text/html;charset=utf-8"> | 
|  | 5 <link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css"> | 
|  | 6 </head> | 
|  | 7 <body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10"> | 
|  | 8 <br/> | 
|  | 9 <center> | 
|  | 10 <a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a> | 
|  | 11 </center> | 
|  | 12 <br/> | 
|  | 13 <div class="DocNav"> | 
|  | 14 <table width="100%" border=0 cellpadding=0 cellspacing=2> | 
|  | 15 <tr align="left" valign="top"><td width="33%" align="left"><a href="./FileIO.html" title="FileIO.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <a href="./FingerprintsSDFileIO.html" title="FingerprintsSDFileIO.html">Next</a></td><td width="34%" align="middle"><strong>FileIO::FingerprintsFPFileIO.pm</strong></td><td width="33%" align="right"><a href="././code/FingerprintsFPFileIO.html" title="View source code">Code</a> | <a href="./../pdf/FingerprintsFPFileIO.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/FingerprintsFPFileIO.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/FingerprintsFPFileIO.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/FingerprintsFPFileIO.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr> | 
|  | 16 </table> | 
|  | 17 </div> | 
|  | 18 <p> | 
|  | 19 </p> | 
|  | 20 <h2>NAME</h2> | 
|  | 21 <p>FingerprintsFPFileIO</p> | 
|  | 22 <p> | 
|  | 23 </p> | 
|  | 24 <h2>SYNOPSIS</h2> | 
|  | 25 <p>use FileIO::FingerprintsFPFileIO;</p> | 
|  | 26 <p>use FileIO::FingerprintsFPFileIO qw(:all);</p> | 
|  | 27 <p> | 
|  | 28 </p> | 
|  | 29 <h2>DESCRIPTION</h2> | 
|  | 30 <p><strong>FingerprintsFPFileIO</strong> class provides the following methods:</p> | 
|  | 31 <p> <a href="#new">new</a>, <a href="#getfingerprints">GetFingerprints</a>, <a href="#getfingerprintsstring">GetFingerprintsString</a>, <a href="#getheaderdatakeyvalue">GetHeaderDataKeyValue</a> | 
|  | 32 , <a href="#getheaderdatakeys">GetHeaderDataKeys</a>, <a href="#getheaderdatakeysandvalues">GetHeaderDataKeysAndValues</a>, <a href="#getpartialfingerprintsstring">GetPartialFingerprintsString</a> | 
|  | 33 , <a href="#getrequiredheaderdatakeys">GetRequiredHeaderDataKeys</a>, <a href="#getrequiredheaderdatakeysandvalues">GetRequiredHeaderDataKeysAndValues</a> | 
|  | 34 , <a href="#isfingerprintsdatavalid">IsFingerprintsDataValid</a>, <a href="#isfingerprintsfpfile">IsFingerprintsFPFile</a>, <a href="#isfingerprintsfiledatavalid">IsFingerprintsFileDataValid</a> | 
|  | 35 , <a href="#isheaderdatakeypresent">IsHeaderDataKeyPresent</a>, <a href="#next">Next</a>, <a href="#read">Read</a>, <a href="#setbitstringformat">SetBitStringFormat</a>, <a href="#setbitsorder">SetBitsOrder</a> | 
|  | 36 , <a href="#setcompoundid">SetCompoundID</a>, <a href="#setdetaillevel">SetDetailLevel</a>, <a href="#setfingerprints">SetFingerprints</a>, <a href="#setfingerprintsstring">SetFingerprintsString</a> | 
|  | 37 , <a href="#setfingerprintsstringmode">SetFingerprintsStringMode</a>, <a href="#setpartialfingerprintsstring">SetPartialFingerprintsString</a>, <a href="#setvectorstringformat">SetVectorStringFormat</a> | 
|  | 38 , <a href="#writefingerprints">WriteFingerprints</a>, <a href="#writefingerprintsstring">WriteFingerprintsString</a> | 
|  | 39 </p><p>The following methods can also be used as functions:</p> | 
|  | 40 <p>IsFingerprintsFPFile</p> | 
|  | 41 <p><strong>FingerprintsFPFileIO</strong> class is derived from <em>FileIO</em> class and uses its methods to support | 
|  | 42 generic file related functionality.</p> | 
|  | 43 <p>The MayaChemTools fingerprints file (FP) format with <strong>.fpf</strong> or <strong>.fp</strong> file extensions supports | 
|  | 44 two types of fingerprints data: fingerprints bit-vectors and fingerprints vectors.</p> | 
|  | 45 <p>Example of FP file format containing fingerprints bit-vector string data:</p> | 
|  | 46 <div class="OptionsBox"> | 
|  | 47     # | 
|  | 48 <br/>    # Package = MayaChemTools 7.4 | 
|  | 49 <br/>    # ReleaseDate = Oct 21, 2010 | 
|  | 50 <br/>    # | 
|  | 51 <br/>    # TimeStamp =  Mon Mar 7 15:14:01 2011 | 
|  | 52 <br/>    # | 
|  | 53 <br/>    # FingerprintsStringType = FingerprintsBitVector | 
|  | 54 <br/>    # | 
|  | 55 <br/>    # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:... | 
|  | 56 <br/>    # Size = 1024 | 
|  | 57 <br/>    # BitStringFormat = HexadecimalString | 
|  | 58 <br/>    # BitsOrder = Ascending | 
|  | 59 <br/>    # | 
|  | 60 <br/>    Cmpd1 9c8460989ec8a49913991a6603130b0a19e8051c89184414953800cc21510... | 
|  | 61 <br/>    Cmpd2 000000249400840040100042011001001980410c000000001010088001120... | 
|  | 62 <br/>    ... ... | 
|  | 63 <br/>    ... ..</div> | 
|  | 64 <p>Example of FP file format containing fingerprints vector string data:</p> | 
|  | 65 <div class="OptionsBox"> | 
|  | 66     # | 
|  | 67 <br/>    # Package = MayaChemTools 7.4 | 
|  | 68 <br/>    # ReleaseDate = Oct 21, 2010 | 
|  | 69 <br/>    # | 
|  | 70 <br/>    # TimeStamp =  Mon Mar 7 15:14:01 2011 | 
|  | 71 <br/>    # | 
|  | 72 <br/>    # FingerprintsStringType = FingerprintsVector | 
|  | 73 <br/>    # | 
|  | 74 <br/>    # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:... | 
|  | 75 <br/>    # VectorStringFormat = IDsAndValuesString | 
|  | 76 <br/>    # VectorValuesType = NumericalValues | 
|  | 77 <br/>    # | 
|  | 78 <br/>    Cmpd1 338;C F N O C:C C:N C=O CC CF CN CO C:C:C C:C:N C:CC C:CF C:CN C: | 
|  | 79 <br/>    N:C C:NC CC:N CC=O CCC CCN CCO CNC NC=O O=CO C:C:C:C C:C:C:N C:C:CC...; | 
|  | 80 <br/>    33 1 2 5 21 2 2 12 1 3 3 20 2 10 2 2 1 2 2 2 8 2 5 1 1 1 19 2 8 2 2 2 2 | 
|  | 81 <br/>    6 2 2 2 2 2 2 2 2 3 2 2 1 4 1 5 1 1 18 6 2 2 1 2 10 2 1 2 1 2 2 2 2 ... | 
|  | 82 <br/>    Cmpd2 103;C N O C=N C=O CC CN CO CC=O CCC CCN CCO CNC N=CN NC=O NCN O=C | 
|  | 83 <br/>    O C CC=O CCCC CCCN CCCO CCNC CNC=N CNC=O CNCN CCCC=O CCCCC CCCCN CC...; | 
|  | 84 <br/>    15 4 4 1 2 13 5 2 2 15 5 3 2 2 1 1 1 2 17 7 6 5 1 1 1 2 15 8 5 7 2 2 2 2 | 
|  | 85 <br/>    1 2 1 1 3 15 7 6 8 3 4 4 3 2 2 1 2 3 14 2 4 7 4 4 4 4 1 1 1 2 1 1 1 ... | 
|  | 86 <br/>    ... ... | 
|  | 87 <br/>    ... ...</div> | 
|  | 88 <p><strong>FP</strong> file data format consists of two main sections: header section and fingerprints string | 
|  | 89 data section. The header section lines start with # and the first line not starting with # represents | 
|  | 90 the start of fingerprints string data section. The header section contains both the required and | 
|  | 91 optional information which is specified as key = value pairs. The required information | 
|  | 92 describes fingerprints bit-vector and vector strings and used to generate fingerprints objects; | 
|  | 93 the optional information is ignored during generation of fingerpints objects.</p> | 
|  | 94 <p>The key = value data specification in the header section and its processing follows these | 
|  | 95 rules:</p> | 
|  | 96 <div class="OptionsBox"> | 
|  | 97     o Leading and trailing spaces for key = value pairs are ignored | 
|  | 98 <br/>    o Key and value strings may contain spaces | 
|  | 99 <br/>    o Multiple key = value pairs on a single are delimited by semicolon</div> | 
|  | 100 <p>The default optional header data section key = value pairs are:</p> | 
|  | 101 <div class="OptionsBox"> | 
|  | 102     # Package = MayaChemTools 7.4 | 
|  | 103 <br/>    # ReleaseDate = Oct 21, 2010</div> | 
|  | 104 <p>The <strong>FingerprintsStringType</strong> key is required data header key for both fingerprints bit-vector | 
|  | 105 and vector strings. Possible key values: <em>FingerprintsBitVector or FingerprintsVector</em>. | 
|  | 106 For example:</p> | 
|  | 107 <div class="OptionsBox"> | 
|  | 108     # FingerprintsStringType = FingerprintsBitVector</div> | 
|  | 109 <p>The required data header keys for fingerprints bit-vector string are: <strong>Description, Size, | 
|  | 110 BitStringFormat, and BitsOrder</strong>. Possible values for <strong>BitStringFormat</strong>: <em>HexadecimalString | 
|  | 111 or BinaryString</em>. Possible values for <strong>BitsOrder</strong>: <em>Ascending or Descending</em>. The <strong>Description</strong> | 
|  | 112 key contains information about various parameters used to generate fingerprints bit-vector | 
|  | 113 string. The <strong>Size</strong> corresponds to number of fingerprints bits and is always less than or equal | 
|  | 114 to number of bits in bit-vetor string which might contain extra bits at the end to round off the | 
|  | 115 size to make it multiple of 8. For example:</p> | 
|  | 116 <div class="OptionsBox"> | 
|  | 117     # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:... | 
|  | 118 <br/>    # Size = 1024 | 
|  | 119 <br/>    # BitStringFormat = HexadecimalString | 
|  | 120 <br/>    # BitsOrder = Ascending</div> | 
|  | 121 <p>The required data header keys for fingerprints vector string are: <strong>Description, VectorStringFormat, | 
|  | 122 and VectorValuesType</strong>.  Possible values for <strong>VectorStringFormat</strong>: <em>DsAndValuesString, | 
|  | 123 IDsAndValuesPairsString, ValuesAndIDsString, ValuesAndIDsPairsString or ValuesString</em>. | 
|  | 124 Possible values for <strong>VectorValuesType</strong>: <em>NumericalValues, OrderedNumericalValues or | 
|  | 125 AlphaNumericalValues</em>. The <strong>Description</strong> keys contains information various parameters used | 
|  | 126 to generate fingerprints vector string. For example:</p> | 
|  | 127 <div class="OptionsBox"> | 
|  | 128     # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:... | 
|  | 129 <br/>    # VectorStringFormat = IDsAndValuesString | 
|  | 130 <br/>    # VectorValuesType = NumericalValues</div> | 
|  | 131 <p>The fingerprints data section for fingerprints bit-vector string contains data in the following | 
|  | 132 format:</p> | 
|  | 133 <div class="OptionsBox"> | 
|  | 134     ... ... | 
|  | 135 <br/>    CmpdID FingerprintsPartialBitVectorString | 
|  | 136 <br/>    ... ...</div> | 
|  | 137 <p>For example:</p> | 
|  | 138 <div class="OptionsBox"> | 
|  | 139     ... ... | 
|  | 140 <br/>    Cmpd1 9c8460989ec8a49913991a6603130b0a19e8051c89184414953800cc21510... | 
|  | 141 <br/>    ... ...</div> | 
|  | 142 <p>The fingerprints data section for fingerprints vector string contains data in the following | 
|  | 143 format:</p> | 
|  | 144 <div class="OptionsBox"> | 
|  | 145     ... ... | 
|  | 146 <br/>    CmpdID Size;FingerprintsPartialVectorString | 
|  | 147 <br/>    ... ...</div> | 
|  | 148 <p>For example:</p> | 
|  | 149 <div class="OptionsBox"> | 
|  | 150     ... ... | 
|  | 151 <br/>    Cmpd1 338;C F N O C:C C:N C=O CC CF CN CO C:C:C C:C:N C:CC C:CF C:CN C: | 
|  | 152 <br/>    N:C C:NC CC:N CC=O CCC CCN CCO CNC NC=O O=CO C:C:C:C C:C:C:N C:C:CC...; | 
|  | 153 <br/>    33 1 2 5 21 2 2 12 1 3 3 20 2 10 2 2 1 2 2 2 8 2 5 1 1 1 19 2 8 2 2 2 2 | 
|  | 154 <br/>    6 2 2 2 2 2 2 2 2 3 2 2 1 4 1 5 1 1 18 6 2 2 1 2 10 2 1 2 1 2 2 2 2 ... | 
|  | 155 <br/>    ... ...</div> | 
|  | 156 <p>Unlike fingerprints bit-vector string, <em>Size</em> is specified for each partial fingerprints vector string: | 
|  | 157 It may change from molecule to molecule for same type of fingerprints.</p> | 
|  | 158 <p>Values IDs are optional for fingerprints vector string containing <em>OrderedNumericalValues or | 
|  | 159 AlphaNumericalValues</em>; however, they must be present for for <em>NumericalValues</em>. Due to | 
|  | 160 various possible values for <strong>VectorStringFormat</strong>, the fingerprints data section for fingerprints | 
|  | 161 vector string supports following type of data formats:</p> | 
|  | 162 <div class="OptionsBox"> | 
|  | 163     CmpdID Size;ID1 ID2 ID3...;Value1 Value2 Value3... | 
|  | 164 <br/>    CmpdID Size;ID1 Value1 ID2 Value2 ID3 Value3... ... | 
|  | 165 <br/>    CmpdID Size;ValuesAndIDsString: Value1 Value2 Value3...;ID1 ID2 ID3... | 
|  | 166 <br/>    CmpdID Size;ValuesAndIDsPairsString: Value1 ID1 Value2 ID2 Value3 ID3... ... | 
|  | 167 <br/>    CmpdID Size;Value1 Value2 Value3 ...</div> | 
|  | 168 <p>However, all the fingerprints vector string data present in FP file must correspond to only | 
|  | 169 one of the formats shown above; multiple data formats in the same file are not allowed.</p> | 
|  | 170 <p>The current release of MayaChemTools supports the following types of fingerprint | 
|  | 171 bit-vector and vector strings:</p> | 
|  | 172 <div class="OptionsBox"> | 
|  | 173     FingerprintsVector;AtomNeighborhoods:AtomicInvariantsAtomTypes:MinRadi | 
|  | 174 <br/>    us0:MaxRadius2;41;AlphaNumericalValues;ValuesString;NR0-C.X1.BO1.H3-AT | 
|  | 175 <br/>    C1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-ATC1 NR0-C.X | 
|  | 176 <br/>    1.BO1.H3-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-A | 
|  | 177 <br/>    TC1 NR0-C.X2.BO2.H2-ATC1:NR1-C.X2.BO2.H2-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2 | 
|  | 178 <br/>    -C.X2.BO2.H2-ATC1:NR2-N.X3.BO3-ATC1:NR2-O.X1.BO1.H1-ATC1 NR0-C.X2.B...</div> | 
|  | 179 <div class="OptionsBox"> | 
|  | 180     FingerprintsVector;AtomTypesCount:AtomicInvariantsAtomTypes:ArbitraryS | 
|  | 181 <br/>    ize;10;NumericalValues;IDsAndValuesString;C.X1.BO1.H3 C.X2.BO2.H2 C.X2 | 
|  | 182 <br/>    .BO3.H1 C.X3.BO3.H1 C.X3.BO4 F.X1.BO1 N.X2.BO2.H1 N.X3.BO3 O.X1.BO1.H1 | 
|  | 183 <br/>    O.X1.BO2;2 4 14 3 10 1 1 1 3 2</div> | 
|  | 184 <div class="OptionsBox"> | 
|  | 185     FingerprintsVector;AtomTypesCount:SLogPAtomTypes:ArbitrarySize;16;Nume | 
|  | 186 <br/>    ricalValues;IDsAndValuesString;C1 C10 C11 C14 C18 C20 C21 C22 C5 CS F | 
|  | 187 <br/>    N11 N4 O10 O2 O9;5 1 1 1 14 4 2 1 2 2 1 1 1 1 3 1</div> | 
|  | 188 <div class="OptionsBox"> | 
|  | 189     FingerprintsVector;AtomTypesCount:SLogPAtomTypes:FixedSize;67;OrderedN | 
|  | 190 <br/>    umericalValues;IDsAndValuesString;C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C | 
|  | 191 <br/>    12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 CS N1 N | 
|  | 192 <br/>    2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 N13 N14 NS O1 O2 O3 O4 O5 O6 O7 O8 | 
|  | 193 <br/>    O9 O10 O11 O12 OS F Cl Br I Hal P S1 S2 S3 Me1 Me2;5 0 0 0 2 0 0 0 0 1 | 
|  | 194 <br/>    1 0 0 1 0 0 0 14 0 4 2 1 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0...</div> | 
|  | 195 <div class="OptionsBox"> | 
|  | 196     FingerprintsVector;EStateIndicies:ArbitrarySize;11;NumericalValues;IDs | 
|  | 197 <br/>    AndValuesString;SaaCH SaasC SaasN SdO SdssC SsCH3 SsF SsOH SssCH2 SssN | 
|  | 198 <br/>    H SsssCH;24.778 4.387 1.993 25.023 -1.435 3.975 14.006 29.759 -0.073 3 | 
|  | 199 <br/>    .024 -2.270</div> | 
|  | 200 <div class="OptionsBox"> | 
|  | 201     FingerprintsVector;EStateIndicies:FixedSize;87;OrderedNumericalValues; | 
|  | 202 <br/>    ValuesString;0 0 0 0 0 0 0 3.975 0 -0.073 0 0 24.778 -2.270 0 0 -1.435 | 
|  | 203 <br/>    4.387 0 0 0 0 0 0 3.024 0 0 0 0 0 0 0 1.993 0 29.759 25.023 0 0 0 0 1 | 
|  | 204 <br/>    4.006 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 
|  | 205 <br/>    0 0 0 0 0 0 0 0 0 0 0 0 0 0</div> | 
|  | 206 <div class="OptionsBox"> | 
|  | 207     FingerprintsVector;ExtendedConnectivity:AtomicInvariantsAtomTypes:Radi | 
|  | 208 <br/>    us2;60;AlphaNumericalValues;ValuesString;73555770 333564680 352413391 | 
|  | 209 <br/>    666191900 1001270906 1371674323 1481469939 1977749791 2006158649 21414 | 
|  | 210 <br/>    08799 49532520 64643108 79385615 96062769 273726379 564565671 85514103 | 
|  | 211 <br/>    5 906706094 988546669 1018231313 1032696425 1197507444 1331250018 1338 | 
|  | 212 <br/>    532734 1455473691 1607485225 1609687129 1631614296 1670251330 17303...</div> | 
|  | 213 <div class="OptionsBox"> | 
|  | 214     FingerprintsVector;ExtendedConnectivityCount:AtomicInvariantsAtomTypes | 
|  | 215 <br/>    :Radius2;60;NumericalValues;IDsAndValuesString;73555770 333564680 3524 | 
|  | 216 <br/>    13391 666191900 1001270906 1371674323 1481469939 1977749791 2006158649 | 
|  | 217 <br/>    2141408799 49532520 64643108 79385615 96062769 273726379 564565671...; | 
|  | 218 <br/>    3 2 1 1 14 1 2 10 4 3 1 1 1 1 2 1 2 1 1 1 2 3 1 1 2 1 3 3 8 2 2 2 6 2 | 
|  | 219 <br/>    1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1</div> | 
|  | 220 <div class="OptionsBox"> | 
|  | 221     FingerprintsBitVector;ExtendedConnectivityBits:AtomicInvariantsAtomTyp | 
|  | 222 <br/>    es:Radius2;1024;BinaryString;Ascending;0000000000000000000000000000100 | 
|  | 223 <br/>    0000000001010000000110000011000000000000100000000000000000000000100001 | 
|  | 224 <br/>    1000000110000000000000000000000000010011000000000000000000000000010000 | 
|  | 225 <br/>    0000000000000000000000000010000000000000000001000000000000000000000000 | 
|  | 226 <br/>    0000000000010000100001000000000000101000000000000000100000000000000...</div> | 
|  | 227 <div class="OptionsBox"> | 
|  | 228     FingerprintsVector;ExtendedConnectivity:FunctionalClassAtomTypes:Radiu | 
|  | 229 <br/>    s2;57;AlphaNumericalValues;ValuesString;24769214 508787397 850393286 8 | 
|  | 230 <br/>    62102353 981185303 1231636850 1649386610 1941540674 263599683 32920567 | 
|  | 231 <br/>    1 571109041 639579325 683993318 723853089 810600886 885767127 90326012 | 
|  | 232 <br/>    7 958841485 981022393 1126908698 1152248391 1317567065 1421489994 1455 | 
|  | 233 <br/>    632544 1557272891 1826413669 1983319256 2015750777 2029559552 20404...</div> | 
|  | 234 <div class="OptionsBox"> | 
|  | 235     FingerprintsVector;ExtendedConnectivity:EStateAtomTypes:Radius2;62;Alp | 
|  | 236 <br/>    haNumericalValues;ValuesString;25189973 528584866 662581668 671034184 | 
|  | 237 <br/>    926543080 1347067490 1738510057 1759600920 2034425745 2097234755 21450 | 
|  | 238 <br/>    44754 96779665 180364292 341712110 345278822 386540408 387387308 50430 | 
|  | 239 <br/>    1706 617094135 771528807 957666640 997798220 1158349170 1291258082 134 | 
|  | 240 <br/>    1138533 1395329837 1420277211 1479584608 1486476397 1487556246 1566...</div> | 
|  | 241 <div class="OptionsBox"> | 
|  | 242     FingerprintsBitVector;MACCSKeyBits;166;BinaryString;Ascending;00000000 | 
|  | 243 <br/>    0000000000000000000000000000000001001000010010000000010010000000011100 | 
|  | 244 <br/>    0100101010111100011011000100110110000011011110100110111111111111011111 | 
|  | 245 <br/>    11111111111110111000</div> | 
|  | 246 <div class="OptionsBox"> | 
|  | 247     FingerprintsBitVector;MACCSKeyBits;322;BinaryString;Ascending;11101011 | 
|  | 248 <br/>    1110011111100101111111000111101100110000000000000011100010000000000000 | 
|  | 249 <br/>    0000000000000000000000000000000000000000000000101000000000000000000000 | 
|  | 250 <br/>    0000000000000000000000000000000000000000000000000000000000000000000000 | 
|  | 251 <br/>    0000000000000000000000000000000000000011000000000000000000000000000000 | 
|  | 252 <br/>    0000000000000000000000000000000000000000</div> | 
|  | 253 <div class="OptionsBox"> | 
|  | 254     FingerprintsVector;MACCSKeyCount;166;OrderedNumericalValues;ValuesStri | 
|  | 255 <br/>    ng;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 
|  | 256 <br/>    0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 4 0 0 2 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 | 
|  | 257 <br/>    0 0 0 0 1 1 8 0 0 0 1 0 0 1 0 1 0 1 0 3 1 3 1 0 0 0 1 2 0 11 1 0 0 0 | 
|  | 258 <br/>    5 0 0 1 2 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 4 0 0 1 1 0 4 6 1 1 1 2 1 1 | 
|  | 259 <br/>    3 5 2 2 0 5 3 5 1 1 2 5 1 2 1 2 4 8 3 5 5 2 2 0 3 5 4 1</div> | 
|  | 260 <div class="OptionsBox"> | 
|  | 261     FingerprintsVector;MACCSKeyCount;322;OrderedNumericalValues;ValuesStri | 
|  | 262 <br/>    ng;14 8 2 0 2 0 4 4 2 1 4 0 0 2 5 10 5 2 1 0 0 2 0 5 13 3 28 5 5 3 0 0 | 
|  | 263 <br/>    0 4 2 1 1 0 1 1 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 5 3 0 0 0 1 0 | 
|  | 264 <br/>    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 
|  | 265 <br/>    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 2 0 0 0 0 0 0 0 0 0 | 
|  | 266 <br/>    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...</div> | 
|  | 267 <div class="OptionsBox"> | 
|  | 268     FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng | 
|  | 269 <br/>    th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110 | 
|  | 270 <br/>    0100010101011000101001011100110001000010001001101000001001001001001000 | 
|  | 271 <br/>    0010110100000111001001000001001010100100100000000011000000101001011100 | 
|  | 272 <br/>    0010000001000101010100000100111100110111011011011000000010110111001101 | 
|  | 273 <br/>    0101100011000000010001000011000010100011101100001000001000100000000...</div> | 
|  | 274 <div class="OptionsBox"> | 
|  | 275     FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength | 
|  | 276 <br/>    1:MaxLength8;432;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3 2 | 
|  | 277 <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 | 
|  | 278 <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 | 
|  | 279 <br/>    2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO | 
|  | 280 <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> | 
|  | 281 <div class="OptionsBox"> | 
|  | 282     FingerprintsVector;PathLengthCount:MMFF94AtomTypes:MinLength1:MaxLengt | 
|  | 283 <br/>    h8;463;NumericalValues;IDsAndValuesPairsString;C5A 2 C5B 2 C=ON 1 CB 1 | 
|  | 284 <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 | 
|  | 285 <br/>    5 2 C5ACB 1 C5ACR 1 C5B:C5B 1 C5BC=ON 1 C5BCB 1 C=ON=O=CN 1 C=ONNC=O 1 | 
|  | 286 <br/>    CB:CB 18 CBF 1 CBNC=O 1 COO=O=CO 1 COOCR 1 COOOC=O 1 CRCR 7 CRN5 1 CR | 
|  | 287 <br/>    OR 2 C5A:C5B:C5B 2 C5A:C5BC=ON 1 C5A:C5BCB 1 C5A:N5:C5A 1 C5A:N5CR ...</div> | 
|  | 288 <div class="OptionsBox"> | 
|  | 289     FingerprintsVector;TopologicalAtomPairs:AtomicInvariantsAtomTypes:MinD | 
|  | 290 <br/>    istance1:MaxDistance10;223;NumericalValues;IDsAndValuesString;C.X1.BO1 | 
|  | 291 <br/>    .H3-D1-C.X3.BO3.H1 C.X2.BO2.H2-D1-C.X2.BO2.H2 C.X2.BO2.H2-D1-C.X3.BO3. | 
|  | 292 <br/>    H1 C.X2.BO2.H2-D1-C.X3.BO4 C.X2.BO2.H2-D1-N.X3.BO3 C.X2.BO3.H1-D1-...; | 
|  | 293 <br/>    2 1 4 1 1 10 8 1 2 6 1 2 2 1 2 1 2 2 1 2 1 5 1 10 12 2 2 1 2 1 9 1 3 1 | 
|  | 294 <br/>    1 1 2 2 1 3 6 1 6 14 2 2 2 3 1 3 1 8 2 2 1 3 2 6 1 2 2 5 1 3 1 23 1...</div> | 
|  | 295 <div class="OptionsBox"> | 
|  | 296     FingerprintsVector;TopologicalAtomPairs:FunctionalClassAtomTypes:MinDi | 
|  | 297 <br/>    stance1:MaxDistance10;144;NumericalValues;IDsAndValuesString;Ar-D1-Ar | 
|  | 298 <br/>    Ar-D1-Ar.HBA Ar-D1-HBD Ar-D1-Hal Ar-D1-None Ar.HBA-D1-None HBA-D1-NI H | 
|  | 299 <br/>    BA-D1-None HBA.HBD-D1-NI HBA.HBD-D1-None HBD-D1-None NI-D1-None No...; | 
|  | 300 <br/>    23 2 1 1 2 1 1 1 1 2 1 1 7 28 3 1 3 2 8 2 1 1 1 5 1 5 24 3 3 4 2 13 4 | 
|  | 301 <br/>    1 1 4 1 5 22 4 4 3 1 19 1 1 1 1 1 2 2 3 1 1 8 25 4 5 2 3 1 26 1 4 1 ...</div> | 
|  | 302 <div class="OptionsBox"> | 
|  | 303     FingerprintsVector;TopologicalAtomTorsions:AtomicInvariantsAtomTypes;3 | 
|  | 304 <br/>    3;NumericalValues;IDsAndValuesString;C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4- | 
|  | 305 <br/>    C.X3.BO4 C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-N.X3.BO3 C.X2.BO2.H2-C.X2.BO | 
|  | 306 <br/>    2.H2-C.X3.BO3.H1-C.X2.BO2.H2 C.X2.BO2.H2-C.X2.BO2.H2-C.X3.BO3.H1-O...; | 
|  | 307 <br/>    2 2 1 1 2 2 1 1 3 4 4 8 4 2 2 6 2 2 1 2 1 1 2 1 1 2 6 2 4 2 1 3 1</div> | 
|  | 308 <div class="OptionsBox"> | 
|  | 309     FingerprintsVector;TopologicalAtomTorsions:EStateAtomTypes;36;Numerica | 
|  | 310 <br/>    lValues;IDsAndValuesString;aaCH-aaCH-aaCH-aaCH aaCH-aaCH-aaCH-aasC aaC | 
|  | 311 <br/>    H-aaCH-aasC-aaCH aaCH-aaCH-aasC-aasC aaCH-aaCH-aasC-sF aaCH-aaCH-aasC- | 
|  | 312 <br/>    ssNH aaCH-aasC-aasC-aasC aaCH-aasC-aasC-aasN aaCH-aasC-ssNH-dssC a...; | 
|  | 313 <br/>    4 4 8 4 2 2 6 2 2 2 4 3 2 1 3 3 2 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2</div> | 
|  | 314 <div class="OptionsBox"> | 
|  | 315     FingerprintsVector;TopologicalAtomTriplets:AtomicInvariantsAtomTypes:M | 
|  | 316 <br/>    inDistance1:MaxDistance10;3096;NumericalValues;IDsAndValuesString;C.X1 | 
|  | 317 <br/>    .BO1.H3-D1-C.X1.BO1.H3-D1-C.X3.BO3.H1-D2 C.X1.BO1.H3-D1-C.X2.BO2.H2-D1 | 
|  | 318 <br/>    0-C.X3.BO4-D9 C.X1.BO1.H3-D1-C.X2.BO2.H2-D3-N.X3.BO3-D4 C.X1.BO1.H3-D1 | 
|  | 319 <br/>    -C.X2.BO2.H2-D4-C.X2.BO2.H2-D5 C.X1.BO1.H3-D1-C.X2.BO2.H2-D6-C.X3....; | 
|  | 320 <br/>    1 2 2 2 2 2 2 2 8 8 4 8 4 4 2 2 2 2 4 2 2 2 4 2 2 2 2 1 2 2 4 4 4 2 2 | 
|  | 321 <br/>    2 4 4 4 8 4 4 2 4 4 4 2 4 4 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 8...</div> | 
|  | 322 <div class="OptionsBox"> | 
|  | 323     FingerprintsVector;TopologicalAtomTriplets:SYBYLAtomTypes:MinDistance1 | 
|  | 324 <br/>    :MaxDistance10;2332;NumericalValues;IDsAndValuesString;C.2-D1-C.2-D9-C | 
|  | 325 <br/>    .3-D10 C.2-D1-C.2-D9-C.ar-D10 C.2-D1-C.3-D1-C.3-D2 C.2-D1-C.3-D10-C.3- | 
|  | 326 <br/>    D9 C.2-D1-C.3-D2-C.3-D3 C.2-D1-C.3-D2-C.ar-D3 C.2-D1-C.3-D3-C.3-D4 C.2 | 
|  | 327 <br/>    -D1-C.3-D3-N.ar-D4 C.2-D1-C.3-D3-O.3-D2 C.2-D1-C.3-D4-C.3-D5 C.2-D1-C. | 
|  | 328 <br/>    3-D5-C.3-D6 C.2-D1-C.3-D5-O.3-D4 C.2-D1-C.3-D6-C.3-D7 C.2-D1-C.3-D7...</div> | 
|  | 329 <div class="OptionsBox"> | 
|  | 330     FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min | 
|  | 331 <br/>    Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H | 
|  | 332 <br/>    -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2- | 
|  | 333 <br/>    HBD H-D3-H H-D3-HBA H-D3-HBD H-D3-NI HBA-D3-NI HBD-D3-NI H-D4-H H-D4-H | 
|  | 334 <br/>    BA H-D4-HBD HBA-D4-HBA HBA-D4-HBD HBD-D4-HBD H-D5-H H-D5-HBA H-D5-...; | 
|  | 335 <br/>    18 1 2 1 22 12 8 1 2 18 6 3 1 1 1 22 13 6 5 7 2 28 9 5 1 1 1 36 16 10 | 
|  | 336 <br/>    3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1</div> | 
|  | 337 <div class="OptionsBox"> | 
|  | 338     FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist | 
|  | 339 <br/>    ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0 | 
|  | 340 <br/>    0 0 2 0 0 1 0 0 0 0 22 12 8 0 0 1 2 0 0 0 0 0 0 0 0 18 6 3 1 0 0 0 1 | 
|  | 341 <br/>    0 0 1 0 0 0 0 22 13 6 0 0 5 7 0 0 2 0 0 0 0 0 28 9 5 1 0 0 0 1 0 0 1 0 | 
|  | 342 <br/>    0 0 0 36 16 10 0 0 3 4 0 0 1 0 0 0 0 0 37 10 8 0 0 0 0 1 0 0 0 0 0 0 | 
|  | 343 <br/>    0 35 10 9 0 0 3 3 0 0 1 0 0 0 0 0 28 7 7 4 0 0 0 0 0 0 0 0 0 0 0 18...</div> | 
|  | 344 <div class="OptionsBox"> | 
|  | 345     FingerprintsVector;TopologicalPharmacophoreAtomTriplets:ArbitrarySize: | 
|  | 346 <br/>    MinDistance1:MaxDistance10;696;NumericalValues;IDsAndValuesString;Ar1- | 
|  | 347 <br/>    Ar1-Ar1 Ar1-Ar1-H1 Ar1-Ar1-HBA1 Ar1-Ar1-HBD1 Ar1-H1-H1 Ar1-H1-HBA1 Ar1 | 
|  | 348 <br/>    -H1-HBD1 Ar1-HBA1-HBD1 H1-H1-H1 H1-H1-HBA1 H1-H1-HBD1 H1-HBA1-HBA1 H1- | 
|  | 349 <br/>    HBA1-HBD1 H1-HBA1-NI1 H1-HBD1-NI1 HBA1-HBA1-NI1 HBA1-HBD1-NI1 Ar1-...; | 
|  | 350 <br/>    46 106 8 3 83 11 4 1 21 5 3 1 2 2 1 1 1 100 101 18 11 145 132 26 14 23 | 
|  | 351 <br/>    28 3 3 5 4 61 45 10 4 16 20 7 5 1 3 4 5 3 1 1 1 1 5 4 2 1 2 2 2 1 1 1 | 
|  | 352 <br/>    119 123 24 15 185 202 41 25 22 17 3 5 85 95 18 11 23 17 3 1 1 6 4 ...</div> | 
|  | 353 <div class="OptionsBox"> | 
|  | 354     FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD | 
|  | 355 <br/>    istance1:MaxDistance10;2692;OrderedNumericalValues;ValuesString;46 106 | 
|  | 356 <br/>    8 3 0 0 83 11 4 0 0 0 1 0 0 0 0 0 0 0 0 21 5 3 0 0 1 2 2 0 0 1 0 0 0 | 
|  | 357 <br/>    0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 101 18 11 0 0 145 132 26 | 
|  | 358 <br/>    14 0 0 23 28 3 3 0 0 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 45 10 4 0 | 
|  | 359 <br/>    0 16 20 7 5 1 0 3 4 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 5 ...</div> | 
|  | 360 <p> | 
|  | 361 </p> | 
|  | 362 <h2>METHODS</h2> | 
|  | 363 <dl> | 
|  | 364 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt> | 
|  | 365 <dd> | 
|  | 366 <div class="OptionsBox"> | 
|  | 367     $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(%IOParameters);</div> | 
|  | 368 <p>Using specified <em>IOParameters</em> names and values hash, <strong>new</strong> method creates a new | 
|  | 369 object and returns a reference to a newly created <strong>FingerprintsFPFileIO</strong> object. By default, | 
|  | 370 the following properties are initialized during <em>Read</em> mode:</p> | 
|  | 371 <div class="OptionsBox"> | 
|  | 372     Name = ''; | 
|  | 373 <br/>    Mode = 'Read'; | 
|  | 374 <br/>    Status = 0; | 
|  | 375 <br/>    FingerprintsStringMode = 'AutoDetect'; | 
|  | 376 <br/>    ValidateData = 1; | 
|  | 377 <br/>    DetailLevel = 1;</div> | 
|  | 378 <p>During <em>Write</em> mode, the following properties get initialize by default:</p> | 
|  | 379 <div class="OptionsBox"> | 
|  | 380     FingerprintsStringMode = undef;</div> | 
|  | 381 <div class="OptionsBox"> | 
|  | 382     BitStringFormat = HexadecimalString; | 
|  | 383 <br/>    BitsOrder = Ascending;</div> | 
|  | 384 <div class="OptionsBox"> | 
|  | 385     VectorStringFormat = NumericalValuesString or ValuesString;</div> | 
|  | 386 <p>Examples:</p> | 
|  | 387 <div class="OptionsBox"> | 
|  | 388     $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO( | 
|  | 389                                'Name' => 'Sample.fpf', | 
|  | 390                                'Mode' => 'Read', | 
|  | 391                                'FingerprintsStringMode' => | 
|  | 392                                        'AutoDetect');</div> | 
|  | 393 <div class="OptionsBox"> | 
|  | 394     $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO( | 
|  | 395                                'Name' => 'Sample.fpf', | 
|  | 396                                'Mode' => 'Write', | 
|  | 397                                'FingerprintsStringMode' => | 
|  | 398                                        'FingerprintsBitVectorString', | 
|  | 399                                'Overwrite' => 1, | 
|  | 400                                'BitStringFormat' => 'HexadecimalString', | 
|  | 401                                'BitsOrder' => 'Ascending');</div> | 
|  | 402 <div class="OptionsBox"> | 
|  | 403     $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO( | 
|  | 404                                'Name' => 'Sample.fp', | 
|  | 405                                'Mode' => 'Write', | 
|  | 406                                'FingerprintsStringMode' => | 
|  | 407                                        'FingerprintsVectorString', | 
|  | 408                                'Overwrite' => 1, | 
|  | 409                                'VectorStringFormat' => 'IDsAndValuesString');</div> | 
|  | 410 </dd> | 
|  | 411 <dt><strong><a name="getfingerprints" class="item"><strong>GetFingerprints</strong></a></strong></dt> | 
|  | 412 <dd> | 
|  | 413 <div class="OptionsBox"> | 
|  | 414     $FingerprintsObject = $FingerprintsFPFileIO->GetFingerprints();</div> | 
|  | 415 <p>Returns <strong>FingerprintsObject</strong> generated for current data line using fingerprints bit-vector | 
|  | 416 or vector string data. The fingerprints object corresponds to any of the supported fingerprints | 
|  | 417 such as PathLengthFingerprints, ExtendedConnectivity, and so on.</p> | 
|  | 418 </dd> | 
|  | 419 <dt><strong><a name="getfingerprintsstring" class="item"><strong>GetFingerprintsString</strong></a></strong></dt> | 
|  | 420 <dd> | 
|  | 421 <div class="OptionsBox"> | 
|  | 422     $FingerprintsString = $FingerprintsFPFileIO->GetFingerprintsString();</div> | 
|  | 423 <p>Returns <strong>FingerprintsString</strong> for current data line.</p> | 
|  | 424 </dd> | 
|  | 425 <dt><strong><a name="getheaderdatakeyvalue" class="item"><strong>GetHeaderDataKeyValue</strong></a></strong></dt> | 
|  | 426 <dd> | 
|  | 427 <div class="OptionsBox"> | 
|  | 428     $KeyValue = $FingerprintsFPFileIO->GetHeaderDataKeyValue($Key);</div> | 
|  | 429 <p>Returns <strong>KeyValue</strong> of a data header <em>Key</em>.</p> | 
|  | 430 </dd> | 
|  | 431 <dt><strong><a name="getheaderdatakeys" class="item"><strong>GetHeaderDataKeys</strong></a></strong></dt> | 
|  | 432 <dd> | 
|  | 433 <div class="OptionsBox"> | 
|  | 434     @Keys = $FingerprintsFPFileIO->GetHeaderDataKeys(); | 
|  | 435 <br/>    $NumOfKeys = $FingerprintsFPFileIO->GetHeaderDataKeys();</div> | 
|  | 436 <p>Returns an array of data header <strong>Keys</strong> retrieved from data header section of fingerprints | 
|  | 437 file. In scalar context, it returns number of keys.</p> | 
|  | 438 </dd> | 
|  | 439 <dt><strong><a name="getheaderdatakeysandvalues" class="item"><strong>GetHeaderDataKeysAndValues</strong></a></strong></dt> | 
|  | 440 <dd> | 
|  | 441 <div class="OptionsBox"> | 
|  | 442     %KeysAndValues = $FingerprintsFPFileIO->GetHeaderDataKeysAndValues();</div> | 
|  | 443 <p>Returns a hash of data header keys and values retrieved from data header section of fingerprints | 
|  | 444 file.</p> | 
|  | 445 </dd> | 
|  | 446 <dt><strong><a name="getpartialfingerprintsstring" class="item"><strong>GetPartialFingerprintsString</strong></a></strong></dt> | 
|  | 447 <dd> | 
|  | 448 <div class="OptionsBox"> | 
|  | 449     $FingerprintsString = $FingerprintsFPFileIO->GetPartialFingerprintsString();</div> | 
|  | 450 <p>Returns partial <strong>FingerprintsString</strong> for current data line. It corresponds to fingerprints string | 
|  | 451 specified present in a line.</p> | 
|  | 452 </dd> | 
|  | 453 <dt><strong><a name="getrequiredheaderdatakeys" class="item"><strong>GetRequiredHeaderDataKeys</strong></a></strong></dt> | 
|  | 454 <dd> | 
|  | 455 <div class="OptionsBox"> | 
|  | 456     @Keys = $FingerprintsFPFileIO->GetRequiredHeaderDataKeys(); | 
|  | 457 <br/>    $NumOfKeys = $FingerprintsFPFileIO->GetRequiredHeaderDataKeys();</div> | 
|  | 458 <p>Returns an array of required data header <strong>Keys</strong> for a fingerprints file containing bit-vector or | 
|  | 459 vector strings data. In scalar context, it returns number of keys.</p> | 
|  | 460 </dd> | 
|  | 461 <dt><strong><a name="getrequiredheaderdatakeysandvalues" class="item"><strong>GetRequiredHeaderDataKeysAndValues</strong></a></strong></dt> | 
|  | 462 <dd> | 
|  | 463 <div class="OptionsBox"> | 
|  | 464     %KeysAndValues = $FingerprintsFPFileIO-> | 
|  | 465                      GetRequiredHeaderDataKeysAndValues();</div> | 
|  | 466 <p>Returns a hash of required data header keys and values for a fingerprints file containing bit-vector or | 
|  | 467 vector strings data</p> | 
|  | 468 </dd> | 
|  | 469 <dt><strong><a name="isfingerprintsdatavalid" class="item"><strong>IsFingerprintsDataValid</strong></a></strong></dt> | 
|  | 470 <dd> | 
|  | 471 <div class="OptionsBox"> | 
|  | 472     $Status = $FingerprintsFPFileIO->IsFingerprintsDataValid();</div> | 
|  | 473 <p>Returns 1 or 0 based on whether <strong>FingerprintsObject</strong> is valid.</p> | 
|  | 474 </dd> | 
|  | 475 <dt><strong><a name="isfingerprintsfpfile" class="item"><strong>IsFingerprintsFPFile</strong></a></strong></dt> | 
|  | 476 <dd> | 
|  | 477 <div class="OptionsBox"> | 
|  | 478     $Status = $FingerprintsFPFileIO->IsFingerprintsFPFile($FileName); | 
|  | 479 <br/>    $Status = FileIO::FingerprintsFPFileIO::IsFingerprintsFPFile($FileName);</div> | 
|  | 480 <p>Returns 1 or 0 based on whether <em>FileName</em> is a FP file.</p> | 
|  | 481 </dd> | 
|  | 482 <dt><strong><a name="isfingerprintsfiledatavalid" class="item"><strong>IsFingerprintsFileDataValid</strong></a></strong></dt> | 
|  | 483 <dd> | 
|  | 484 <div class="OptionsBox"> | 
|  | 485     $Status = $FingerprintsFPFileIO->IsFingerprintsFileDataValid();</div> | 
|  | 486 <p>Returns 1 or 0 based on whether fingerprints file contains valid fingerprints data.</p> | 
|  | 487 </dd> | 
|  | 488 <dt><strong><a name="isheaderdatakeypresent" class="item"><strong>IsHeaderDataKeyPresent</strong></a></strong></dt> | 
|  | 489 <dd> | 
|  | 490 <div class="OptionsBox"> | 
|  | 491     $Status = $FingerprintsFPFileIO->IsHeaderDataKeyPresent($Key);</div> | 
|  | 492 <p>Returns 1 or 0 based on whether data header <em>Key</em> is present in data header | 
|  | 493 section of a FP file.</p> | 
|  | 494 </dd> | 
|  | 495 <dt><strong><a name="next_or_read" class="item"><strong>Next or Read</strong></a></strong></dt> | 
|  | 496 <dd> | 
|  | 497 <div class="OptionsBox"> | 
|  | 498     $FingerprintsFPFileIO = $FingerprintsFPFileIO->Next(); | 
|  | 499 <br/>    $FingerprintsFPFileIO = $FingerprintsFPFileIO->Read();</div> | 
|  | 500 <p>Reads next available fingerprints line in FP file, processes the data, generates appropriate fingerprints | 
|  | 501 object, and returns <strong>FingerprintsFPFileIO</strong>. The generated fingerprints object is available using | 
|  | 502 method <strong>GetFingerprints</strong>.</p> | 
|  | 503 </dd> | 
|  | 504 <dt><strong><a name="setbitstringformat" class="item"><strong>SetBitStringFormat</strong></a></strong></dt> | 
|  | 505 <dd> | 
|  | 506 <div class="OptionsBox"> | 
|  | 507     $FingerprintsFPFileIO->SetBitStringFormat($Format);</div> | 
|  | 508 <p>Sets bit string <em>Format</em> for fingerprints bit-vector string data in a FP file and returns <strong>FingerprintsFPFileIO</strong>. | 
|  | 509 Possible values for <strong>BitStringFormat</strong>: <em>BinaryString or HexadecimalString</em>.</p> | 
|  | 510 </dd> | 
|  | 511 <dt><strong><a name="setbitsorder" class="item"><strong>SetBitsOrder</strong></a></strong></dt> | 
|  | 512 <dd> | 
|  | 513 <div class="OptionsBox"> | 
|  | 514     $FingerprintsFPFileIO->SetBitsOrder($BitsOrder);</div> | 
|  | 515 <p>Sets <em>BitsOrder</em> for fingerprints bit-vector string data in a FP file and returns <strong>FingerprintsFPFileIO</strong>. | 
|  | 516 Possible values for <strong>BitsOrder</strong>: <em>Ascending or Descending</em>.</p> | 
|  | 517 </dd> | 
|  | 518 <dt><strong><a name="setcompoundid" class="item"><strong>SetCompoundID</strong></a></strong></dt> | 
|  | 519 <dd> | 
|  | 520 <div class="OptionsBox"> | 
|  | 521     $FingerprintsFPFileIO->SetCompoundID($ID);</div> | 
|  | 522 <p>Sets compound ID for current data line and returns <strong>FingerprintsFPFileIO</strong>. Spaces are not allowed | 
|  | 523 in compound IDs.</p> | 
|  | 524 </dd> | 
|  | 525 <dt><strong><a name="setdetaillevel" class="item"><strong>SetDetailLevel</strong></a></strong></dt> | 
|  | 526 <dd> | 
|  | 527 <div class="OptionsBox"> | 
|  | 528     $FingerprintsFPFileIO->SetDetailLevel($Level);</div> | 
|  | 529 <p>Sets details <em>Level</em> for generating diagnostics messages during FP file processing and returns | 
|  | 530 <strong>FingerprintsFPFileIO</strong>. Possible values: <em>Positive integers</em>.</p> | 
|  | 531 </dd> | 
|  | 532 <dt><strong><a name="setfingerprints" class="item"><strong>SetFingerprints</strong></a></strong></dt> | 
|  | 533 <dd> | 
|  | 534 <div class="OptionsBox"> | 
|  | 535     $FingerprintsFPFileIO->SetFingerprints($FingerprintsObject);</div> | 
|  | 536 <p>Sets <em>FingerprintsObject</em> for current data line and returns <strong>FingerprintsFPFileIO</strong>.</p> | 
|  | 537 </dd> | 
|  | 538 <dt><strong><a name="setfingerprintsstring" class="item"><strong>SetFingerprintsString</strong></a></strong></dt> | 
|  | 539 <dd> | 
|  | 540 <div class="OptionsBox"> | 
|  | 541     $FingerprintsFPFileIO->SetFingerprintsString($FingerprintsString);</div> | 
|  | 542 <p>Sets <em>FingerprintsString</em> for current data line and returns <strong>FingerprintsFPFileIO</strong>.</p> | 
|  | 543 </dd> | 
|  | 544 <dt><strong><a name="setfingerprintsstringmode" class="item"><strong>SetFingerprintsStringMode</strong></a></strong></dt> | 
|  | 545 <dd> | 
|  | 546 <div class="OptionsBox"> | 
|  | 547     $FingerprintsFPFileIO->SetFingerprintsStringMode($Mode);</div> | 
|  | 548 <p>Sets <em>FingerprintsStringMode</em> for FP file and returns <strong>FingerprintsFPFileIO</strong>. | 
|  | 549 Possible values: <em>AutoDetect, FingerprintsBitVectorString, or FingerprintsVectorString</em></p> | 
|  | 550 </dd> | 
|  | 551 <dt><strong><a name="setpartialfingerprintsstring" class="item"><strong>SetPartialFingerprintsString</strong></a></strong></dt> | 
|  | 552 <dd> | 
|  | 553 <div class="OptionsBox"> | 
|  | 554     $FingerprintsFPFileIO->SetPartialFingerprintsString($PartialString);</div> | 
|  | 555 <p>Sets <em>PartialFingerprintsString</em> for current data line and returns <strong>FingerprintsFPFileIO</strong>.</p> | 
|  | 556 </dd> | 
|  | 557 <dt><strong><a name="setvectorstringformat" class="item"><strong>SetVectorStringFormat</strong></a></strong></dt> | 
|  | 558 <dd> | 
|  | 559 <div class="OptionsBox"> | 
|  | 560     $FingerprintsFPFileIO->SetVectorStringFormat($Format);</div> | 
|  | 561 <p>Sets <em>VectorStringFormat</em> for FP file and returns <strong>FingerprintsFPFileIO</strong>. Possible values: | 
|  | 562 <em>IDsAndValuesString, IDsAndValuesPairsString, ValuesAndIDsString, ValuesAndIDsPairsString</em>.</p> | 
|  | 563 </dd> | 
|  | 564 <dt><strong><a name="writefingerprints" class="item"><strong>WriteFingerprints</strong></a></strong></dt> | 
|  | 565 <dd> | 
|  | 566 <div class="OptionsBox"> | 
|  | 567     $FingerprintsFPFileIO->WriteFingerprints($FingerprintsObject, | 
|  | 568                                             $CompoundID);</div> | 
|  | 569 <p>Writes fingerprints string generated from <em>FingerprintsObject</em> object and other data including | 
|  | 570 <em>CompoundID</em> to FP file and returns <strong>FingerprintsFPFileIO</strong>.</p> | 
|  | 571 </dd> | 
|  | 572 <dt><strong><a name="writefingerprintsstring" class="item"><strong>WriteFingerprintsString</strong></a></strong></dt> | 
|  | 573 <dd> | 
|  | 574 <div class="OptionsBox"> | 
|  | 575     $FingerprintsFPFileIO->WriteFingerprints($FingerprintsString, | 
|  | 576                                             $CompoundID);</div> | 
|  | 577 <p>Writes <em>FingerprintsString</em> and other data including <em>CompoundID</em> to FP file and returns | 
|  | 578 <strong>FingerprintsFPFileIO</strong>.</p> | 
|  | 579 <p>Caveats:</p> | 
|  | 580 <div class="OptionsBox"> | 
|  | 581     o FingerprintsStringMode, BitStringFormat, BitsOrder, VectorStringFormat | 
|  | 582       values are ignored during writing of fingerprints and it's written to | 
|  | 583       the file as it is. | 
|  | 584 <br/>    o FingerprintsString is a regular fingerprints string as oppose to a | 
|  | 585       partial fingerprints string.</div> | 
|  | 586 </dd> | 
|  | 587 </dl> | 
|  | 588 <p> | 
|  | 589 </p> | 
|  | 590 <h2>AUTHOR</h2> | 
|  | 591 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p> | 
|  | 592 <p> | 
|  | 593 </p> | 
|  | 594 <h2>SEE ALSO</h2> | 
|  | 595 <p><a href="./FingerprintsSDFileIO.html">FingerprintsSDFileIO.pm</a>, <a href="./FingerprintsTextFileIO.html">FingerprintsTextFileIO.pm</a> | 
|  | 596 </p> | 
|  | 597 <p> | 
|  | 598 </p> | 
|  | 599 <h2>COPYRIGHT</h2> | 
|  | 600 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p> | 
|  | 601 <p>This file is part of MayaChemTools.</p> | 
|  | 602 <p>MayaChemTools is free software; you can redistribute it and/or modify it under | 
|  | 603 the terms of the GNU Lesser General Public License as published by the Free | 
|  | 604 Software Foundation; either version 3 of the License, or (at your option) | 
|  | 605 any later version.</p> | 
|  | 606 <p> </p><p> </p><div class="DocNav"> | 
|  | 607 <table width="100%" border=0 cellpadding=0 cellspacing=2> | 
|  | 608 <tr align="left" valign="top"><td width="33%" align="left"><a href="./FileIO.html" title="FileIO.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <a href="./FingerprintsSDFileIO.html" title="FingerprintsSDFileIO.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>FileIO::FingerprintsFPFileIO.pm</strong></td></tr> | 
|  | 609 </table> | 
|  | 610 </div> | 
|  | 611 <br /> | 
|  | 612 <center> | 
|  | 613 <img src="../../images/h2o2.png"> | 
|  | 614 </center> | 
|  | 615 </body> | 
|  | 616 </html> |