diff mayachemtools/docs/modules/man3/FingerprintsSDFileIO.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/FingerprintsSDFileIO.3	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,622 @@
+.\" 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 "FINGERPRINTSSDFILEIO 1"
+.TH FINGERPRINTSSDFILEIO 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"
+FingerprintsSDFileIO
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+use FileIO::FingerprintsSDFileIO;
+.PP
+use FileIO::FingerprintsSDFileIO qw(:all);
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBFingerprintsSDFileIO\fR class provides the following methods:
+.PP
+new, GetCompoundString, GetFingerprints, GetFingerprintsString,
+IsFingerprintsDataValid, IsFingerprintsFileDataValid, IsFingerprintsSDFile, Next,
+Read, SetBitStringFormat, SetBitsOrder, SetCompoundIDMode, SetCompoundString,
+SetDetailLevel, SetFingerprints, SetFingerprintsString, SetFingerprintsStringMode,
+SetVectorStringFormat, WriteFingerprints, WriteFingerprintsString
+.PP
+The following methods can also be used as functions:
+.PP
+IsFingerprintsSDFile
+.PP
+\&\fBFingerprintsSDFileIO\fR class is derived from \fIFileIO\fR class and uses its methods to support
+generic file related functionality.
+.PP
+The fingerprints \s-1SD\s0 file format with \fB.sdf\fR or \fB.sd\fR file extensions supports two types of
+fingerprints string data: fingerprints bit-vectors and fingerprints vector strings. The fingerprints
+string data is treated as value of a fingerprints data field label in a \s-1SD\s0 file.
+.PP
+Example of \s-1SD\s0 file format containing fingerprints string data:
+.PP
+.Vb 10
+\&    ... ...
+\&    ... ...
+\&    $$$$
+\&    ... ...
+\&    ... ...
+\&    ... ...
+\&    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
+\&    ... ...
+\&    2  3  1  0  0  0  0
+\&    ... ...
+\&    M  END
+\&    >  <CmpdID>
+\&    Test
+\&
+\&    >  <PathLengthFingerprints>
+\&    FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLengt
+\&    h1:MaxLength8;1024;HexadecimalString;Ascending;9c8460989ec8a49913991a66
+\&    03130b0a19e8051c89184414953800cc2151082844a201042800130860308e8204d4028
+\&    00831048940e44281c00060449a5000ac80c894114e006321264401600846c050164462
+\&    08190410805000304a10205b0100e04c0038ba0fad0209c0ca8b1200012268b61c0026a
+\&    aa0660a11014a011d46
+\&
+\&    $$$$
+\&    ... ...
+\&    ... ...
+.Ve
+.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
+\&    $NewFingerprintsSDFileIO = new FileIO::FingerprintsSDFileIO(%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 \fBFingerprintsSDFileIO\fR object. By default,
+the following properties are initialized during \fIRead\fR mode:
+.Sp
+.Vb 10
+\&    Name = \*(Aq\*(Aq;
+\&    Mode = \*(AqRead\*(Aq;
+\&    Status = 0;
+\&    FingerprintsStringMode = \*(AqAutoDetect\*(Aq;
+\&    FingerprintsFieldLabel = \*(AqAutoDetect\*(Aq;
+\&    CompoundIDMode = \*(AqLabelPrefix\*(Aq;
+\&    CompoundIDFieldLabel = undef;
+\&    CompoundIDPrefix = \*(AqCmpd\*(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 3
+\&    $NewFingerprintsSDFileIO = new FileIO::FingerprintsSDFileIO(
+\&                               \*(AqName\*(Aq => \*(AqSample.sdf\*(Aq,
+\&                               \*(AqMode\*(Aq => \*(AqRead\*(Aq);
+\&
+\&    $NewFingerprintsSDFileIO = new FileIO::FingerprintsSDFileIO(
+\&                               \*(AqName\*(Aq => \*(AqSample.sdf\*(Aq,
+\&                               \*(AqMode\*(Aq => \*(AqRead\*(Aq,;
+\&                               \*(AqFingerprintsStringMode\*(Aq =>
+\&                                       \*(AqAutoDetect\*(Aq,
+\&                               \*(AqFingerprintsFieldLabel\*(Aq =>
+\&                                       \*(AqFingerprints\*(Aq,
+\&                               \*(AqCompoundIDMode\*(Aq =>
+\&                                       \*(AqDataField\*(Aq,
+\&                               \*(AqCompoundIDFieldLabel\*(Aq =>
+\&                                       \*(AqCompoundID\*(Aq);
+\&
+\&    $NewFingerprintsSDFileIO = new FileIO::FingerprintsSDFileIO(
+\&                               \*(AqName\*(Aq => \*(AqSample.sdf\*(Aq,
+\&                               \*(AqMode\*(Aq => \*(AqWrite\*(Aq,
+\&                               \*(AqFingerprintsStringMode\*(Aq =>
+\&                                       \*(AqFingerprintsBitVectorString\*(Aq,
+\&                               \*(AqOverwrite\*(Aq => 1,
+\&                               \*(AqBitStringFormat\*(Aq => \*(AqHexadecimalString\*(Aq,
+\&                               \*(AqBitsOrder\*(Aq => \*(AqAscending\*(Aq);
+\&
+\&    $NewFingerprintsSDFileIO = new FileIO::FingerprintsSDFileIO(
+\&                               \*(AqName\*(Aq => \*(AqSample.sd\*(Aq,
+\&                               \*(AqMode\*(Aq => \*(AqWrite\*(Aq,
+\&                               \*(AqFingerprintsStringMode\*(Aq =>
+\&                                       \*(AqFingerprintsVectorString\*(Aq,
+\&                               \*(AqOverwrite\*(Aq => 1,
+\&                               \*(AqVectorStringFormat\*(Aq => \*(AqIDsAndValuesString\*(Aq,
+\&                               \*(AqFingerprintsLabel\*(Aq => \*(AqFingerprints\*(Aq);
+.Ve
+.IP "\fBGetCompoundString\fR" 4
+.IX Item "GetCompoundString"
+.Vb 1
+\&    $CompoundString = $FingerprintsSDFileIO\->GetCompoundString();
+.Ve
+.Sp
+Returns \fBCompoundString\fR for current compound.
+.IP "\fBGetFingerprints\fR" 4
+.IX Item "GetFingerprints"
+.Vb 1
+\&    $FingerprintsObject = $FingerprintsSDFileIO\->GetFingerprints();
+.Ve
+.Sp
+Returns \fBFingerprintsObject\fR generated for current compound 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 = $FingerprintsSDFileIO\->GetFingerprintsString();
+.Ve
+.Sp
+Returns \fBFingerprintsString\fR for current compound.
+.IP "\fBIsFingerprintsDataValid\fR" 4
+.IX Item "IsFingerprintsDataValid"
+.Vb 1
+\&    $Status = $FingerprintsSDFileIO\->IsFingerprintsDataValid();
+.Ve
+.Sp
+Returns 1 or 0 based on whether \fBFingerprintsObject\fR is valid.
+.IP "\fBIsFingerprintsFileDataValid\fR" 4
+.IX Item "IsFingerprintsFileDataValid"
+.Vb 1
+\&    $Status = $FingerprintsSDFileIO\->IsFingerprintsFileDataValid();
+.Ve
+.Sp
+Returns 1 or 0 based on whether fingerprints file contains valid fingerprints data.
+.IP "\fBIsFingerprintsSDFile\fR" 4
+.IX Item "IsFingerprintsSDFile"
+.Vb 2
+\&    $Status = $FingerprintsSDFileIO\->IsFingerprintsSDFile($FileName);
+\&    $Status = FileIO::FingerprintsSDFileIO::IsFingerprintsSDFile($FileName);
+.Ve
+.Sp
+Returns 1 or 0 based on whether \fIFileName\fR is a \s-1SD\s0 file.
+.IP "\fBNext or Read\fR" 4
+.IX Item "Next or Read"
+.Vb 2
+\&    $FingerprintsSDFileIO = $FingerprintsSDFileIO\->Next();
+\&    $FingerprintsSDFileIO = $FingerprintsSDFileIO\->Read();
+.Ve
+.Sp
+Reads next available compound fingerprints in \s-1SD\s0 file, processes the data, generates appropriate
+fingerprints object, and returns \fBFingerprintsSDFileIO\fR. The generated fingerprints object is available
+using method \fBGetFingerprints\fR.
+.IP "\fBSetBitStringFormat\fR" 4
+.IX Item "SetBitStringFormat"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetBitStringFormat($Format);
+.Ve
+.Sp
+Sets bit string \fIFormat\fR for fingerprints bit-vector string data in a \s-1SD\s0 file and returns \fBFingerprintsSDFileIO\fR.
+Possible values for \fBBitStringFormat\fR: \fIBinaryString or HexadecimalString\fR.
+.IP "\fBSetBitsOrder\fR" 4
+.IX Item "SetBitsOrder"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetBitsOrder($BitsOrder);
+.Ve
+.Sp
+Sets \fIBitsOrder\fR for fingerprints bit-vector string data in \s-1SD\s0 file and returns \fBFingerprintsSDFileIO\fR.
+Possible values for \fBBitsOrder\fR: \fIAscending or Descending\fR.
+.IP "\fBSetCompoundIDMode\fR" 4
+.IX Item "SetCompoundIDMode"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetCompoundIDMode($Mode);
+.Ve
+.Sp
+Sets compound \s-1ID\s0 \fIMode\fR for fingerprints bit-vector string data in a \s-1SD\s0 file and returns \fBFingerprintsSDFileIO\fR.
+Possible values for \fBCompoundIDMode\fR: \fIDataField, MolName, LabelPrefix, or MolNameOrLabelPrefix\fR.
+.IP "\fBSetCompoundString\fR" 4
+.IX Item "SetCompoundString"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetCompoundString($CompoundString);
+.Ve
+.Sp
+Sets \fICompoundString\fR and returns \fBFingerprintsSDFileIO\fR.
+.IP "\fBSetDetailLevel\fR" 4
+.IX Item "SetDetailLevel"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetDetailLevel($Level);
+.Ve
+.Sp
+Sets details \fILevel\fR for generating diagnostics messages during \s-1SD\s0 file processing and returns
+\&\fBFingerprintsSDFileIO\fR. Possible values: \fIPositive integers\fR.
+.IP "\fBSetFingerprints\fR" 4
+.IX Item "SetFingerprints"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetFingerprints($FingerprintsObject);
+.Ve
+.Sp
+Sets \fIFingerprintsObject\fR for current data line and returns \fBFingerprintsSDFileIO\fR.
+.IP "\fBSetFingerprintsString\fR" 4
+.IX Item "SetFingerprintsString"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetFingerprintsString($FingerprintsString);
+.Ve
+.Sp
+Sets \fIFingerprintsString\fR for current data line and returns \fBFingerprintsSDFileIO\fR.
+.IP "\fBSetFingerprintsStringMode\fR" 4
+.IX Item "SetFingerprintsStringMode"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetFingerprintsStringMode($Mode);
+.Ve
+.Sp
+Sets \fIFingerprintsStringMode\fR for \s-1SD\s0 file and returns \fBFingerprintsFPFileIO\fR.
+Possible values: \fIAutoDetect, FingerprintsBitVectorString, or FingerprintsVectorString\fR
+.IP "\fBSetVectorStringFormat\fR" 4
+.IX Item "SetVectorStringFormat"
+.Vb 1
+\&    $FingerprintsSDFileIO\->SetVectorStringFormat($Format);
+.Ve
+.Sp
+Sets \fIVectorStringFormat\fR for \s-1SD\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-1SD\s0 file and returns \fBFingerprintsSDFileIO\fR.
+.IP "\fBWriteFingerprintsString\fR" 4
+.IX Item "WriteFingerprintsString"
+.Vb 2
+\&    $FingerprintsSDFileIO\->WriteFingerprints($FingerprintsString,
+\&                                            $CompoundID);
+.Ve
+.Sp
+Writes \fIFingerprintsString\fR and other data including \fICompoundID\fR to \s-1SD\s0 file and returns
+\&\fBFingerprintsSDFileIO\fR.
+.Sp
+Caveats:
+.Sp
+.Vb 4
+\&    o FingerprintsStringMode, BitStringFormat, BitsOrder, VectorStringFormat
+\&      values are ignored during writing of fingerprints and it\*(Aqs written to the file
+\&      as it is.
+\&    o CompoundString is not checked to remove any existing fingerprints data
+.Ve
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Manish Sud <msud@san.rr.com>
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+FingerprintsTextFileIO.pm, FingerprintsFPFileIO.pm, SDFileIO.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.