diff mayachemtools/docs/modules/man3/FingerprintsFPFileIO.3 @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mayachemtools/docs/modules/man3/FingerprintsFPFileIO.3	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,794 @@
+.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FINGERPRINTSFPFILEIO 1"
+.TH FINGERPRINTSFPFILEIO 1 "2015-03-29" "perl v5.14.2" "MayaChemTools"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+FingerprintsFPFileIO
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+use FileIO::FingerprintsFPFileIO;
+.PP
+use FileIO::FingerprintsFPFileIO qw(:all);
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBFingerprintsFPFileIO\fR class provides the following methods:
+.PP
+new, GetFingerprints, GetFingerprintsString, GetHeaderDataKeyValue,
+GetHeaderDataKeys, GetHeaderDataKeysAndValues, GetPartialFingerprintsString,
+GetRequiredHeaderDataKeys, GetRequiredHeaderDataKeysAndValues,
+IsFingerprintsDataValid, IsFingerprintsFPFile, IsFingerprintsFileDataValid,
+IsHeaderDataKeyPresent, Next, Read, SetBitStringFormat, SetBitsOrder,
+SetCompoundID, SetDetailLevel, SetFingerprints, SetFingerprintsString,
+SetFingerprintsStringMode, SetPartialFingerprintsString, SetVectorStringFormat,
+WriteFingerprints, WriteFingerprintsString
+.PP
+The following methods can also be used as functions:
+.PP
+IsFingerprintsFPFile
+.PP
+\&\fBFingerprintsFPFileIO\fR class is derived from \fIFileIO\fR class and uses its methods to support
+generic file related functionality.
+.PP
+The MayaChemTools fingerprints file (\s-1FP\s0) format with \fB.fpf\fR or \fB.fp\fR file extensions supports
+two types of fingerprints data: fingerprints bit-vectors and fingerprints vectors.
+.PP
+Example of \s-1FP\s0 file format containing fingerprints bit-vector string data:
+.PP
+.Vb 10
+\&    #
+\&    # Package = MayaChemTools 7.4
+\&    # ReleaseDate = Oct 21, 2010
+\&    #
+\&    # TimeStamp =  Mon Mar 7 15:14:01 2011
+\&    #
+\&    # FingerprintsStringType = FingerprintsBitVector
+\&    #
+\&    # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
+\&    # Size = 1024
+\&    # BitStringFormat = HexadecimalString
+\&    # BitsOrder = Ascending
+\&    #
+\&    Cmpd1 9c8460989ec8a49913991a6603130b0a19e8051c89184414953800cc21510...
+\&    Cmpd2 000000249400840040100042011001001980410c000000001010088001120...
+\&    ... ...
+\&    ... ..
+.Ve
+.PP
+Example of \s-1FP\s0 file format containing fingerprints vector string data:
+.PP
+.Vb 10
+\&    #
+\&    # Package = MayaChemTools 7.4
+\&    # ReleaseDate = Oct 21, 2010
+\&    #
+\&    # TimeStamp =  Mon Mar 7 15:14:01 2011
+\&    #
+\&    # FingerprintsStringType = FingerprintsVector
+\&    #
+\&    # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
+\&    # VectorStringFormat = IDsAndValuesString
+\&    # VectorValuesType = NumericalValues
+\&    #
+\&    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:
+\&    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...;
+\&    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
+\&    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 ...
+\&    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
+\&    O C CC=O CCCC CCCN CCCO CCNC CNC=N CNC=O CNCN CCCC=O CCCCC CCCCN CC...;
+\&    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
+\&    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 ...
+\&    ... ...
+\&    ... ...
+.Ve
+.PP
+\&\fB\s-1FP\s0\fR file data format consists of two main sections: header section and fingerprints string
+data section. The header section lines start with # and the first line not starting with # represents
+the start of fingerprints string data section. The header section contains both the required and
+optional information which is specified as key = value pairs. The required information
+describes fingerprints bit-vector and vector strings and used to generate fingerprints objects;
+the optional information is ignored during generation of fingerpints objects.
+.PP
+The key = value data specification in the header section and its processing follows these
+rules:
+.PP
+.Vb 3
+\&    o Leading and trailing spaces for key = value pairs are ignored
+\&    o Key and value strings may contain spaces
+\&    o Multiple key = value pairs on a single are delimited by semicolon
+.Ve
+.PP
+The default optional header data section key = value pairs are:
+.PP
+.Vb 2
+\&    # Package = MayaChemTools 7.4
+\&    # ReleaseDate = Oct 21, 2010
+.Ve
+.PP
+The \fBFingerprintsStringType\fR key is required data header key for both fingerprints bit-vector
+and vector strings. Possible key values: \fIFingerprintsBitVector or FingerprintsVector\fR.
+For example:
+.PP
+.Vb 1
+\&    # FingerprintsStringType = FingerprintsBitVector
+.Ve
+.PP
+The required data header keys for fingerprints bit-vector string are: \fBDescription, Size,
+BitStringFormat, and BitsOrder\fR. Possible values for \fBBitStringFormat\fR: \fIHexadecimalString
+or BinaryString\fR. Possible values for \fBBitsOrder\fR: \fIAscending or Descending\fR. The \fBDescription\fR
+key contains information about various parameters used to generate fingerprints bit-vector
+string. The \fBSize\fR corresponds to number of fingerprints bits and is always less than or equal
+to number of bits in bit-vetor string which might contain extra bits at the end to round off the
+size to make it multiple of 8. For example:
+.PP
+.Vb 4
+\&    # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
+\&    # Size = 1024
+\&    # BitStringFormat = HexadecimalString
+\&    # BitsOrder = Ascending
+.Ve
+.PP
+The required data header keys for fingerprints vector string are: \fBDescription, VectorStringFormat,
+and VectorValuesType\fR.  Possible values for \fBVectorStringFormat\fR: \fIDsAndValuesString,
+IDsAndValuesPairsString, ValuesAndIDsString, ValuesAndIDsPairsString or ValuesString\fR.
+Possible values for \fBVectorValuesType\fR: \fINumericalValues, OrderedNumericalValues or
+AlphaNumericalValues\fR. The \fBDescription\fR keys contains information various parameters used
+to generate fingerprints vector string. For example:
+.PP
+.Vb 3
+\&    # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
+\&    # VectorStringFormat = IDsAndValuesString
+\&    # VectorValuesType = NumericalValues
+.Ve
+.PP
+The fingerprints data section for fingerprints bit-vector string contains data in the following
+format:
+.PP
+.Vb 3
+\&    ... ...
+\&    CmpdID FingerprintsPartialBitVectorString
+\&    ... ...
+.Ve
+.PP
+For example:
+.PP
+.Vb 3
+\&    ... ...
+\&    Cmpd1 9c8460989ec8a49913991a6603130b0a19e8051c89184414953800cc21510...
+\&    ... ...
+.Ve
+.PP
+The fingerprints data section for fingerprints vector string contains data in the following
+format:
+.PP
+.Vb 3
+\&    ... ...
+\&    CmpdID Size;FingerprintsPartialVectorString
+\&    ... ...
+.Ve
+.PP
+For example:
+.PP
+.Vb 6
+\&    ... ...
+\&    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:
+\&    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...;
+\&    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
+\&    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 ...
+\&    ... ...
+.Ve
+.PP
+Unlike fingerprints bit-vector string, \fISize\fR is specified for each partial fingerprints vector string:
+It may change from molecule to molecule for same type of fingerprints.
+.PP
+Values IDs are optional for fingerprints vector string containing \fIOrderedNumericalValues or
+AlphaNumericalValues\fR; however, they must be present for for \fINumericalValues\fR. Due to
+various possible values for \fBVectorStringFormat\fR, the fingerprints data section for fingerprints
+vector string supports following type of data formats:
+.PP
+.Vb 5
+\&    CmpdID Size;ID1 ID2 ID3...;Value1 Value2 Value3...
+\&    CmpdID Size;ID1 Value1 ID2 Value2 ID3 Value3... ...
+\&    CmpdID Size;ValuesAndIDsString: Value1 Value2 Value3...;ID1 ID2 ID3...
+\&    CmpdID Size;ValuesAndIDsPairsString: Value1 ID1 Value2 ID2 Value3 ID3... ...
+\&    CmpdID Size;Value1 Value2 Value3 ...
+.Ve
+.PP
+However, all the fingerprints vector string data present in \s-1FP\s0 file must correspond to only
+one of the formats shown above; multiple data formats in the same file are not allowed.
+.PP
+The current release of MayaChemTools supports the following types of fingerprint
+bit-vector and vector strings:
+.PP
+.Vb 6
+\&    FingerprintsVector;AtomNeighborhoods:AtomicInvariantsAtomTypes:MinRadi
+\&    us0:MaxRadius2;41;AlphaNumericalValues;ValuesString;NR0\-C.X1.BO1.H3\-AT
+\&    C1:NR1\-C.X3.BO3.H1\-ATC1:NR2\-C.X1.BO1.H3\-ATC1:NR2\-C.X3.BO4\-ATC1 NR0\-C.X
+\&    1.BO1.H3\-ATC1:NR1\-C.X3.BO3.H1\-ATC1:NR2\-C.X1.BO1.H3\-ATC1:NR2\-C.X3.BO4\-A
+\&    TC1 NR0\-C.X2.BO2.H2\-ATC1:NR1\-C.X2.BO2.H2\-ATC1:NR1\-C.X3.BO3.H1\-ATC1:NR2
+\&    \-C.X2.BO2.H2\-ATC1:NR2\-N.X3.BO3\-ATC1:NR2\-O.X1.BO1.H1\-ATC1 NR0\-C.X2.B...
+\&
+\&    FingerprintsVector;AtomTypesCount:AtomicInvariantsAtomTypes:ArbitraryS
+\&    ize;10;NumericalValues;IDsAndValuesString;C.X1.BO1.H3 C.X2.BO2.H2 C.X2
+\&    .BO3.H1 C.X3.BO3.H1 C.X3.BO4 F.X1.BO1 N.X2.BO2.H1 N.X3.BO3 O.X1.BO1.H1
+\&    O.X1.BO2;2 4 14 3 10 1 1 1 3 2
+\&
+\&    FingerprintsVector;AtomTypesCount:SLogPAtomTypes:ArbitrarySize;16;Nume
+\&    ricalValues;IDsAndValuesString;C1 C10 C11 C14 C18 C20 C21 C22 C5 CS F
+\&    N11 N4 O10 O2 O9;5 1 1 1 14 4 2 1 2 2 1 1 1 1 3 1
+\&
+\&    FingerprintsVector;AtomTypesCount:SLogPAtomTypes:FixedSize;67;OrderedN
+\&    umericalValues;IDsAndValuesString;C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C
+\&    12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 CS N1 N
+\&    2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 N13 N14 NS O1 O2 O3 O4 O5 O6 O7 O8
+\&    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
+\&    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...
+\&
+\&    FingerprintsVector;EStateIndicies:ArbitrarySize;11;NumericalValues;IDs
+\&    AndValuesString;SaaCH SaasC SaasN SdO SdssC SsCH3 SsF SsOH SssCH2 SssN
+\&    H SsssCH;24.778 4.387 1.993 25.023 \-1.435 3.975 14.006 29.759 \-0.073 3
+\&    .024 \-2.270
+\&
+\&    FingerprintsVector;EStateIndicies:FixedSize;87;OrderedNumericalValues;
+\&    ValuesString;0 0 0 0 0 0 0 3.975 0 \-0.073 0 0 24.778 \-2.270 0 0 \-1.435
+\&    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
+\&    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
+\&    0 0 0 0 0 0 0 0 0 0 0 0 0 0
+\&
+\&    FingerprintsVector;ExtendedConnectivity:AtomicInvariantsAtomTypes:Radi
+\&    us2;60;AlphaNumericalValues;ValuesString;73555770 333564680 352413391
+\&    666191900 1001270906 1371674323 1481469939 1977749791 2006158649 21414
+\&    08799 49532520 64643108 79385615 96062769 273726379 564565671 85514103
+\&    5 906706094 988546669 1018231313 1032696425 1197507444 1331250018 1338
+\&    532734 1455473691 1607485225 1609687129 1631614296 1670251330 17303...
+\&
+\&    FingerprintsVector;ExtendedConnectivityCount:AtomicInvariantsAtomTypes
+\&    :Radius2;60;NumericalValues;IDsAndValuesString;73555770 333564680 3524
+\&    13391 666191900 1001270906 1371674323 1481469939 1977749791 2006158649
+\&    2141408799 49532520 64643108 79385615 96062769 273726379 564565671...;
+\&    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
+\&    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
+\&
+\&    FingerprintsBitVector;ExtendedConnectivityBits:AtomicInvariantsAtomTyp
+\&    es:Radius2;1024;BinaryString;Ascending;0000000000000000000000000000100
+\&    0000000001010000000110000011000000000000100000000000000000000000100001
+\&    1000000110000000000000000000000000010011000000000000000000000000010000
+\&    0000000000000000000000000010000000000000000001000000000000000000000000
+\&    0000000000010000100001000000000000101000000000000000100000000000000...
+\&
+\&    FingerprintsVector;ExtendedConnectivity:FunctionalClassAtomTypes:Radiu
+\&    s2;57;AlphaNumericalValues;ValuesString;24769214 508787397 850393286 8
+\&    62102353 981185303 1231636850 1649386610 1941540674 263599683 32920567
+\&    1 571109041 639579325 683993318 723853089 810600886 885767127 90326012
+\&    7 958841485 981022393 1126908698 1152248391 1317567065 1421489994 1455
+\&    632544 1557272891 1826413669 1983319256 2015750777 2029559552 20404...
+\&
+\&    FingerprintsVector;ExtendedConnectivity:EStateAtomTypes:Radius2;62;Alp
+\&    haNumericalValues;ValuesString;25189973 528584866 662581668 671034184
+\&    926543080 1347067490 1738510057 1759600920 2034425745 2097234755 21450
+\&    44754 96779665 180364292 341712110 345278822 386540408 387387308 50430
+\&    1706 617094135 771528807 957666640 997798220 1158349170 1291258082 134
+\&    1138533 1395329837 1420277211 1479584608 1486476397 1487556246 1566...
+\&
+\&    FingerprintsBitVector;MACCSKeyBits;166;BinaryString;Ascending;00000000
+\&    0000000000000000000000000000000001001000010010000000010010000000011100
+\&    0100101010111100011011000100110110000011011110100110111111111111011111
+\&    11111111111110111000
+\&
+\&    FingerprintsBitVector;MACCSKeyBits;322;BinaryString;Ascending;11101011
+\&    1110011111100101111111000111101100110000000000000011100010000000000000
+\&    0000000000000000000000000000000000000000000000101000000000000000000000
+\&    0000000000000000000000000000000000000000000000000000000000000000000000
+\&    0000000000000000000000000000000000000011000000000000000000000000000000
+\&    0000000000000000000000000000000000000000
+\&
+\&    FingerprintsVector;MACCSKeyCount;166;OrderedNumericalValues;ValuesStri
+\&    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
+\&    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
+\&    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
+\&    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
+\&    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
+\&
+\&    FingerprintsVector;MACCSKeyCount;322;OrderedNumericalValues;ValuesStri
+\&    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
+\&    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
+\&    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
+\&    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
+\&    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 ...
+\&
+\&    FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
+\&    th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110
+\&    0100010101011000101001011100110001000010001001101000001001001001001000
+\&    0010110100000111001001000001001010100100100000000011000000101001011100
+\&    0010000001000101010100000100111100110111011011011000000010110111001101
+\&    0101100011000000010001000011000010100011101100001000001000100000000...
+\&
+\&    FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength
+\&    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
+\&    2.BO2.H1 1 N.X3.BO3 1 O.X1.BO1.H1 3 O.X1.BO2 2 C.X1.BO1.H3C.X3.BO3.H1
+\&    2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO
+\&    4 1 C.X2.BO2.H2N.X3.BO3 1 C.X2.BO3.H1:C.X2.BO3.H1 10 C.X2.BO3.H1:C....
+\&
+\&    FingerprintsVector;PathLengthCount:MMFF94AtomTypes:MinLength1:MaxLengt
+\&    h8;463;NumericalValues;IDsAndValuesPairsString;C5A 2 C5B 2 C=ON 1 CB 1
+\&    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
+\&    5 2 C5ACB 1 C5ACR 1 C5B:C5B 1 C5BC=ON 1 C5BCB 1 C=ON=O=CN 1 C=ONNC=O 1
+\&    CB:CB 18 CBF 1 CBNC=O 1 COO=O=CO 1 COOCR 1 COOOC=O 1 CRCR 7 CRN5 1 CR
+\&    OR 2 C5A:C5B:C5B 2 C5A:C5BC=ON 1 C5A:C5BCB 1 C5A:N5:C5A 1 C5A:N5CR ...
+\&
+\&    FingerprintsVector;TopologicalAtomPairs:AtomicInvariantsAtomTypes:MinD
+\&    istance1:MaxDistance10;223;NumericalValues;IDsAndValuesString;C.X1.BO1
+\&    .H3\-D1\-C.X3.BO3.H1 C.X2.BO2.H2\-D1\-C.X2.BO2.H2 C.X2.BO2.H2\-D1\-C.X3.BO3.
+\&    H1 C.X2.BO2.H2\-D1\-C.X3.BO4 C.X2.BO2.H2\-D1\-N.X3.BO3 C.X2.BO3.H1\-D1\-...;
+\&    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
+\&    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...
+\&
+\&    FingerprintsVector;TopologicalAtomPairs:FunctionalClassAtomTypes:MinDi
+\&    stance1:MaxDistance10;144;NumericalValues;IDsAndValuesString;Ar\-D1\-Ar
+\&    Ar\-D1\-Ar.HBA Ar\-D1\-HBD Ar\-D1\-Hal Ar\-D1\-None Ar.HBA\-D1\-None HBA\-D1\-NI H
+\&    BA\-D1\-None HBA.HBD\-D1\-NI HBA.HBD\-D1\-None HBD\-D1\-None NI\-D1\-None No...;
+\&    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
+\&    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 ...
+\&
+\&    FingerprintsVector;TopologicalAtomTorsions:AtomicInvariantsAtomTypes;3
+\&    3;NumericalValues;IDsAndValuesString;C.X1.BO1.H3\-C.X3.BO3.H1\-C.X3.BO4\-
+\&    C.X3.BO4 C.X1.BO1.H3\-C.X3.BO3.H1\-C.X3.BO4\-N.X3.BO3 C.X2.BO2.H2\-C.X2.BO
+\&    2.H2\-C.X3.BO3.H1\-C.X2.BO2.H2 C.X2.BO2.H2\-C.X2.BO2.H2\-C.X3.BO3.H1\-O...;
+\&    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
+\&
+\&    FingerprintsVector;TopologicalAtomTorsions:EStateAtomTypes;36;Numerica
+\&    lValues;IDsAndValuesString;aaCH\-aaCH\-aaCH\-aaCH aaCH\-aaCH\-aaCH\-aasC aaC
+\&    H\-aaCH\-aasC\-aaCH aaCH\-aaCH\-aasC\-aasC aaCH\-aaCH\-aasC\-sF aaCH\-aaCH\-aasC\-
+\&    ssNH aaCH\-aasC\-aasC\-aasC aaCH\-aasC\-aasC\-aasN aaCH\-aasC\-ssNH\-dssC a...;
+\&    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
+\&
+\&    FingerprintsVector;TopologicalAtomTriplets:AtomicInvariantsAtomTypes:M
+\&    inDistance1:MaxDistance10;3096;NumericalValues;IDsAndValuesString;C.X1
+\&    .BO1.H3\-D1\-C.X1.BO1.H3\-D1\-C.X3.BO3.H1\-D2 C.X1.BO1.H3\-D1\-C.X2.BO2.H2\-D1
+\&    0\-C.X3.BO4\-D9 C.X1.BO1.H3\-D1\-C.X2.BO2.H2\-D3\-N.X3.BO3\-D4 C.X1.BO1.H3\-D1
+\&    \-C.X2.BO2.H2\-D4\-C.X2.BO2.H2\-D5 C.X1.BO1.H3\-D1\-C.X2.BO2.H2\-D6\-C.X3....;
+\&    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
+\&    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...
+\&
+\&    FingerprintsVector;TopologicalAtomTriplets:SYBYLAtomTypes:MinDistance1
+\&    :MaxDistance10;2332;NumericalValues;IDsAndValuesString;C.2\-D1\-C.2\-D9\-C
+\&    .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\-
+\&    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
+\&    \-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.
+\&    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...
+\&
+\&    FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
+\&    Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H\-D1\-H H
+\&    \-D1\-NI HBA\-D1\-NI HBD\-D1\-NI H\-D2\-H H\-D2\-HBA H\-D2\-HBD HBA\-D2\-HBA HBA\-D2\-
+\&    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
+\&    BA H\-D4\-HBD HBA\-D4\-HBA HBA\-D4\-HBD HBD\-D4\-HBD H\-D5\-H H\-D5\-HBA H\-D5\-...;
+\&    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
+\&    3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
+\&
+\&    FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
+\&    ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0
+\&    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
+\&    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
+\&    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
+\&    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...
+\&
+\&    FingerprintsVector;TopologicalPharmacophoreAtomTriplets:ArbitrarySize:
+\&    MinDistance1:MaxDistance10;696;NumericalValues;IDsAndValuesString;Ar1\-
+\&    Ar1\-Ar1 Ar1\-Ar1\-H1 Ar1\-Ar1\-HBA1 Ar1\-Ar1\-HBD1 Ar1\-H1\-H1 Ar1\-H1\-HBA1 Ar1
+\&    \-H1\-HBD1 Ar1\-HBA1\-HBD1 H1\-H1\-H1 H1\-H1\-HBA1 H1\-H1\-HBD1 H1\-HBA1\-HBA1 H1\-
+\&    HBA1\-HBD1 H1\-HBA1\-NI1 H1\-HBD1\-NI1 HBA1\-HBA1\-NI1 HBA1\-HBD1\-NI1 Ar1\-...;
+\&    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
+\&    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
+\&    119 123 24 15 185 202 41 25 22 17 3 5 85 95 18 11 23 17 3 1 1 6 4 ...
+\&
+\&    FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD
+\&    istance1:MaxDistance10;2692;OrderedNumericalValues;ValuesString;46 106
+\&    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
+\&    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
+\&    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
+\&    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 ...
+.Ve
+.SS "\s-1METHODS\s0"
+.IX Subsection "METHODS"
+.IP "\fBnew\fR" 4
+.IX Item "new"
+.Vb 1
+\&    $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(%IOParameters);
+.Ve
+.Sp
+Using specified \fIIOParameters\fR names and values hash, \fBnew\fR method creates a new
+object and returns a reference to a newly created \fBFingerprintsFPFileIO\fR object. By default,
+the following properties are initialized during \fIRead\fR mode:
+.Sp
+.Vb 6
+\&    Name = \*(Aq\*(Aq;
+\&    Mode = \*(AqRead\*(Aq;
+\&    Status = 0;
+\&    FingerprintsStringMode = \*(AqAutoDetect\*(Aq;
+\&    ValidateData = 1;
+\&    DetailLevel = 1;
+.Ve
+.Sp
+During \fIWrite\fR mode, the following properties get initialize by default:
+.Sp
+.Vb 1
+\&    FingerprintsStringMode = undef;
+\&
+\&    BitStringFormat = HexadecimalString;
+\&    BitsOrder = Ascending;
+\&
+\&    VectorStringFormat = NumericalValuesString or ValuesString;
+.Ve
+.Sp
+Examples:
+.Sp
+.Vb 5
+\&    $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(
+\&                               \*(AqName\*(Aq => \*(AqSample.fpf\*(Aq,
+\&                               \*(AqMode\*(Aq => \*(AqRead\*(Aq,
+\&                               \*(AqFingerprintsStringMode\*(Aq =>
+\&                                       \*(AqAutoDetect\*(Aq);
+\&
+\&    $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(
+\&                               \*(AqName\*(Aq => \*(AqSample.fpf\*(Aq,
+\&                               \*(AqMode\*(Aq => \*(AqWrite\*(Aq,
+\&                               \*(AqFingerprintsStringMode\*(Aq =>
+\&                                       \*(AqFingerprintsBitVectorString\*(Aq,
+\&                               \*(AqOverwrite\*(Aq => 1,
+\&                               \*(AqBitStringFormat\*(Aq => \*(AqHexadecimalString\*(Aq,
+\&                               \*(AqBitsOrder\*(Aq => \*(AqAscending\*(Aq);
+\&
+\&    $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(
+\&                               \*(AqName\*(Aq => \*(AqSample.fp\*(Aq,
+\&                               \*(AqMode\*(Aq => \*(AqWrite\*(Aq,
+\&                               \*(AqFingerprintsStringMode\*(Aq =>
+\&                                       \*(AqFingerprintsVectorString\*(Aq,
+\&                               \*(AqOverwrite\*(Aq => 1,
+\&                               \*(AqVectorStringFormat\*(Aq => \*(AqIDsAndValuesString\*(Aq);
+.Ve
+.IP "\fBGetFingerprints\fR" 4
+.IX Item "GetFingerprints"
+.Vb 1
+\&    $FingerprintsObject = $FingerprintsFPFileIO\->GetFingerprints();
+.Ve
+.Sp
+Returns \fBFingerprintsObject\fR generated for current data line using fingerprints bit-vector
+or vector string data. The fingerprints object corresponds to any of the supported fingerprints
+such as PathLengthFingerprints, ExtendedConnectivity, and so on.
+.IP "\fBGetFingerprintsString\fR" 4
+.IX Item "GetFingerprintsString"
+.Vb 1
+\&    $FingerprintsString = $FingerprintsFPFileIO\->GetFingerprintsString();
+.Ve
+.Sp
+Returns \fBFingerprintsString\fR for current data line.
+.IP "\fBGetHeaderDataKeyValue\fR" 4
+.IX Item "GetHeaderDataKeyValue"
+.Vb 1
+\&    $KeyValue = $FingerprintsFPFileIO\->GetHeaderDataKeyValue($Key);
+.Ve
+.Sp
+Returns \fBKeyValue\fR of a data header \fIKey\fR.
+.IP "\fBGetHeaderDataKeys\fR" 4
+.IX Item "GetHeaderDataKeys"
+.Vb 2
+\&    @Keys = $FingerprintsFPFileIO\->GetHeaderDataKeys();
+\&    $NumOfKeys = $FingerprintsFPFileIO\->GetHeaderDataKeys();
+.Ve
+.Sp
+Returns an array of data header \fBKeys\fR retrieved from data header section of fingerprints
+file. In scalar context, it returns number of keys.
+.IP "\fBGetHeaderDataKeysAndValues\fR" 4
+.IX Item "GetHeaderDataKeysAndValues"
+.Vb 1
+\&    %KeysAndValues = $FingerprintsFPFileIO\->GetHeaderDataKeysAndValues();
+.Ve
+.Sp
+Returns a hash of data header keys and values retrieved from data header section of fingerprints
+file.
+.IP "\fBGetPartialFingerprintsString\fR" 4
+.IX Item "GetPartialFingerprintsString"
+.Vb 1
+\&    $FingerprintsString = $FingerprintsFPFileIO\->GetPartialFingerprintsString();
+.Ve
+.Sp
+Returns partial \fBFingerprintsString\fR for current data line. It corresponds to fingerprints string
+specified present in a line.
+.IP "\fBGetRequiredHeaderDataKeys\fR" 4
+.IX Item "GetRequiredHeaderDataKeys"
+.Vb 2
+\&    @Keys = $FingerprintsFPFileIO\->GetRequiredHeaderDataKeys();
+\&    $NumOfKeys = $FingerprintsFPFileIO\->GetRequiredHeaderDataKeys();
+.Ve
+.Sp
+Returns an array of required data header \fBKeys\fR for a fingerprints file containing bit-vector or
+vector strings data. In scalar context, it returns number of keys.
+.IP "\fBGetRequiredHeaderDataKeysAndValues\fR" 4
+.IX Item "GetRequiredHeaderDataKeysAndValues"
+.Vb 2
+\&    %KeysAndValues = $FingerprintsFPFileIO\->
+\&                     GetRequiredHeaderDataKeysAndValues();
+.Ve
+.Sp
+Returns a hash of required data header keys and values for a fingerprints file containing bit-vector or
+vector strings data
+.IP "\fBIsFingerprintsDataValid\fR" 4
+.IX Item "IsFingerprintsDataValid"
+.Vb 1
+\&    $Status = $FingerprintsFPFileIO\->IsFingerprintsDataValid();
+.Ve
+.Sp
+Returns 1 or 0 based on whether \fBFingerprintsObject\fR is valid.
+.IP "\fBIsFingerprintsFPFile\fR" 4
+.IX Item "IsFingerprintsFPFile"
+.Vb 2
+\&    $Status = $FingerprintsFPFileIO\->IsFingerprintsFPFile($FileName);
+\&    $Status = FileIO::FingerprintsFPFileIO::IsFingerprintsFPFile($FileName);
+.Ve
+.Sp
+Returns 1 or 0 based on whether \fIFileName\fR is a \s-1FP\s0 file.
+.IP "\fBIsFingerprintsFileDataValid\fR" 4
+.IX Item "IsFingerprintsFileDataValid"
+.Vb 1
+\&    $Status = $FingerprintsFPFileIO\->IsFingerprintsFileDataValid();
+.Ve
+.Sp
+Returns 1 or 0 based on whether fingerprints file contains valid fingerprints data.
+.IP "\fBIsHeaderDataKeyPresent\fR" 4
+.IX Item "IsHeaderDataKeyPresent"
+.Vb 1
+\&    $Status = $FingerprintsFPFileIO\->IsHeaderDataKeyPresent($Key);
+.Ve
+.Sp
+Returns 1 or 0 based on whether data header \fIKey\fR is present in data header
+section of a \s-1FP\s0 file.
+.IP "\fBNext or Read\fR" 4
+.IX Item "Next or Read"
+.Vb 2
+\&    $FingerprintsFPFileIO = $FingerprintsFPFileIO\->Next();
+\&    $FingerprintsFPFileIO = $FingerprintsFPFileIO\->Read();
+.Ve
+.Sp
+Reads next available fingerprints line in \s-1FP\s0 file, processes the data, generates appropriate fingerprints
+object, and returns \fBFingerprintsFPFileIO\fR. The generated fingerprints object is available using
+method \fBGetFingerprints\fR.
+.IP "\fBSetBitStringFormat\fR" 4
+.IX Item "SetBitStringFormat"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetBitStringFormat($Format);
+.Ve
+.Sp
+Sets bit string \fIFormat\fR for fingerprints bit-vector string data in a \s-1FP\s0 file and returns \fBFingerprintsFPFileIO\fR.
+Possible values for \fBBitStringFormat\fR: \fIBinaryString or HexadecimalString\fR.
+.IP "\fBSetBitsOrder\fR" 4
+.IX Item "SetBitsOrder"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetBitsOrder($BitsOrder);
+.Ve
+.Sp
+Sets \fIBitsOrder\fR for fingerprints bit-vector string data in a \s-1FP\s0 file and returns \fBFingerprintsFPFileIO\fR.
+Possible values for \fBBitsOrder\fR: \fIAscending or Descending\fR.
+.IP "\fBSetCompoundID\fR" 4
+.IX Item "SetCompoundID"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetCompoundID($ID);
+.Ve
+.Sp
+Sets compound \s-1ID\s0 for current data line and returns \fBFingerprintsFPFileIO\fR. Spaces are not allowed
+in compound IDs.
+.IP "\fBSetDetailLevel\fR" 4
+.IX Item "SetDetailLevel"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetDetailLevel($Level);
+.Ve
+.Sp
+Sets details \fILevel\fR for generating diagnostics messages during \s-1FP\s0 file processing and returns
+\&\fBFingerprintsFPFileIO\fR. Possible values: \fIPositive integers\fR.
+.IP "\fBSetFingerprints\fR" 4
+.IX Item "SetFingerprints"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetFingerprints($FingerprintsObject);
+.Ve
+.Sp
+Sets \fIFingerprintsObject\fR for current data line and returns \fBFingerprintsFPFileIO\fR.
+.IP "\fBSetFingerprintsString\fR" 4
+.IX Item "SetFingerprintsString"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetFingerprintsString($FingerprintsString);
+.Ve
+.Sp
+Sets \fIFingerprintsString\fR for current data line and returns \fBFingerprintsFPFileIO\fR.
+.IP "\fBSetFingerprintsStringMode\fR" 4
+.IX Item "SetFingerprintsStringMode"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetFingerprintsStringMode($Mode);
+.Ve
+.Sp
+Sets \fIFingerprintsStringMode\fR for \s-1FP\s0 file and returns \fBFingerprintsFPFileIO\fR.
+Possible values: \fIAutoDetect, FingerprintsBitVectorString, or FingerprintsVectorString\fR
+.IP "\fBSetPartialFingerprintsString\fR" 4
+.IX Item "SetPartialFingerprintsString"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetPartialFingerprintsString($PartialString);
+.Ve
+.Sp
+Sets \fIPartialFingerprintsString\fR for current data line and returns \fBFingerprintsFPFileIO\fR.
+.IP "\fBSetVectorStringFormat\fR" 4
+.IX Item "SetVectorStringFormat"
+.Vb 1
+\&    $FingerprintsFPFileIO\->SetVectorStringFormat($Format);
+.Ve
+.Sp
+Sets \fIVectorStringFormat\fR for \s-1FP\s0 file and returns \fBFingerprintsFPFileIO\fR. Possible values:
+\&\fIIDsAndValuesString, IDsAndValuesPairsString, ValuesAndIDsString, ValuesAndIDsPairsString\fR.
+.IP "\fBWriteFingerprints\fR" 4
+.IX Item "WriteFingerprints"
+.Vb 2
+\&    $FingerprintsFPFileIO\->WriteFingerprints($FingerprintsObject,
+\&                                            $CompoundID);
+.Ve
+.Sp
+Writes fingerprints string generated from \fIFingerprintsObject\fR object and other data including
+\&\fICompoundID\fR to \s-1FP\s0 file and returns \fBFingerprintsFPFileIO\fR.
+.IP "\fBWriteFingerprintsString\fR" 4
+.IX Item "WriteFingerprintsString"
+.Vb 2
+\&    $FingerprintsFPFileIO\->WriteFingerprints($FingerprintsString,
+\&                                            $CompoundID);
+.Ve
+.Sp
+Writes \fIFingerprintsString\fR and other data including \fICompoundID\fR to \s-1FP\s0 file and returns
+\&\fBFingerprintsFPFileIO\fR.
+.Sp
+Caveats:
+.Sp
+.Vb 5
+\&    o FingerprintsStringMode, BitStringFormat, BitsOrder, VectorStringFormat
+\&      values are ignored during writing of fingerprints and it\*(Aqs written to
+\&      the file as it is.
+\&    o FingerprintsString is a regular fingerprints string as oppose to a
+\&      partial fingerprints string.
+.Ve
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Manish Sud <msud@san.rr.com>
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+FingerprintsSDFileIO.pm, FingerprintsTextFileIO.pm
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright (C) 2015 Manish Sud. All rights reserved.
+.PP
+This file is part of MayaChemTools.
+.PP
+MayaChemTools is free software; you can redistribute it and/or modify it under
+the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free
+Software Foundation; either version 3 of the License, or (at your option)
+any later version.