comparison docs/modules/man3/PathLengthFingerprints.3 @ 0:4816e4a8ae95 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:23:18 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4816e4a8ae95
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings. \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 . ds -- \(*W-
28 . ds PI pi
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31 . ds L" ""
32 . ds R" ""
33 . ds C` ""
34 . ds C' ""
35 'br\}
36 .el\{\
37 . ds -- \|\(em\|
38 . ds PI \(*p
39 . ds L" ``
40 . ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD. Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 . de IX
53 . tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 . nr % 0
56 . rr F
57 .\}
58 .el \{\
59 . de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
65 . \" fudge factors for nroff and troff
66 .if n \{\
67 . ds #H 0
68 . ds #V .8m
69 . ds #F .3m
70 . ds #[ \f1
71 . ds #] \fP
72 .\}
73 .if t \{\
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 . ds #V .6m
76 . ds #F 0
77 . ds #[ \&
78 . ds #] \&
79 .\}
80 . \" simple accents for nroff and troff
81 .if n \{\
82 . ds ' \&
83 . ds ` \&
84 . ds ^ \&
85 . ds , \&
86 . ds ~ ~
87 . ds /
88 .\}
89 .if t \{\
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 . \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 . \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 . \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 . ds : e
114 . ds 8 ss
115 . ds o a
116 . ds d- d\h'-1'\(ga
117 . ds D- D\h'-1'\(hy
118 . ds th \o'bp'
119 . ds Th \o'LP'
120 . ds ae ae
121 . ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "PATHLENGTHFINGERPRINTS 1"
127 .TH PATHLENGTHFINGERPRINTS 1 "2015-03-29" "perl v5.14.2" "MayaChemTools"
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 PathLengthFingerprints
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 use Fingerprints::PathLengthFingerprints;
137 .PP
138 use Fingerprints::PathLengthFingerprints qw(:all);
139 .SH "DESCRIPTION"
140 .IX Header "DESCRIPTION"
141 \&\fBPathLengthFingerprints\fR class provides the following methods:
142 .PP
143 new, GenerateFingerprints, , GetDescription, SetAtomIdentifierType,
144 SetAtomicInvariantsToUse, SetFunctionalClassesToUse, SetMaxLength,
145 SetMinLength, SetNumOfBitsToSetPerPath, SetType,
146 StringifyPathLengthFingerprints
147 .PP
148 \&\fBPathLengthFingerprints\fR is derived from \fBFingerprints\fR class which in turn
149 is derived from \fBObjectProperty\fR base class that provides methods not explicitly defined
150 in \fBPathLengthFingerprints\fR, \fBFingerprints\fR or \fBObjectProperty\fR classes using Perl's
151 \&\s-1AUTOLOAD\s0 functionality. These methods are generated on-the-fly for a specified object property:
152 .PP
153 .Vb 3
154 \& Set<PropertyName>(<PropertyValue>);
155 \& $PropertyValue = Get<PropertyName>();
156 \& Delete<PropertyName>();
157 .Ve
158 .PP
159 The current release of MayaChemTools supports generation of \fBAtomTypesFingerpritns\fR
160 corresponding to following \fBAtomtomIdentifierTypes\fR:
161 .PP
162 .Vb 3
163 \& AtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes,
164 \& FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes,
165 \& SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes
166 .Ve
167 .PP
168 Based on the values specified for \fBType\fR, \fBAtomtomIdentifierTypes\fR, \fBMinPathLength\fR and
169 \&\fBMaxPathLength\fR, all appropriate atom paths are generated for each atom in the molecule
170 and collected in a list and the list is filtered to remove any structurally duplicate paths as
171 indicated by the value of \fBUseUniquePaths\fR.
172 .PP
173 For molecules containing rings, atom paths starting from each atom can be traversed in four
174 different ways:
175 .PP
176 .Vb 7
177 \& o Atom paths without any rings and sharing of bonds in traversed paths.
178 \& o Atom paths containing rings and without any sharing of bonds in
179 \& traversed paths
180 \& o All possible atom paths without any rings and sharing of bonds in
181 \& traversed paths
182 \& o All possible atom paths containing rings and with sharing of bonds in
183 \& traversed paths.
184 .Ve
185 .PP
186 Atom path traversal is terminated at the last ring atom. For molecules containing no rings,
187 first two and last two types described above are equivalent.
188 .PP
189 \&\fBAllowSharedBonds\fR and \fBAllowRings\fR allow generation of different types of paths
190 to be used for fingerprints generation.
191 .PP
192 The combination of \fBAllowSharedBonds\fR, \fBAllowRings\fR, and \fBUseBondSymbols\fR allows generation of
193 8 different types of path length fingerprints:
194 .PP
195 .Vb 1
196 \& AllowSharedBonds AllowRings UseBondSymbols
197 \&
198 \& 0 0 1 \- AtomPathsNoCyclesWithBondSymbols
199 \& 0 1 1 \- AtomPathsWithCyclesWithBondSymbols
200 \&
201 \& 1 0 1 \- AllAtomPathsNoCyclesWithBondSymbols
202 \& 1 1 1 \- AllAtomPathsWithCyclesWithBondSymbols
203 \& [ DEFAULT ]
204 \&
205 \& 0 0 0 \- AtomPathsNoCyclesNoBondSymbols
206 \& 0 1 0 \- AtomPathsWithCyclesNoBondSymbols
207 \&
208 \& 1 0 0 \- AllAtomPathsNoCyclesNoBondSymbols
209 \& 1 1 0 \- AllAtomPathsWithCyclesNoWithBondSymbols
210 .Ve
211 .PP
212 Additionally, possible values for option \fB\-\-AtomIdentifierType\fR in conjunction with corresponding
213 specified values for \fBAtomicInvariantsToUse\fR and \fBFunctionalClassesToUse \fR changes the nature
214 of atom path length strings and the fingerprints.
215 .PP
216 For each atom path in the filtered atom paths list, an atom path string is created using value of
217 \&\fBAtomIdentifierType\fR and specified values to use for a particular atom identifier type.
218 Value of \fBUseBondSymbols\fR controls whether bond order symbols are used during generation
219 of atom path string. Atom symbol corresponds to element symbol and characters used to represent
220 bond order are: \fI1 \- None; 2 \- '='; 3 \- '#'; 1.5 or aromatic \- ':'; others: bond order value\fR. By default,
221 bond symbols are included in atom path strings. Exclusion of bond symbols in atom path strings
222 results in fingerprints which correspond purely to atom paths without considering bonds.
223 .PP
224 \&\fBUseUniquePaths\fR controls the removal of structurally duplicate atom path strings are removed
225 from the list.
226 .PP
227 For \fIPathLengthBits\fR value of \fBType\fR, each atom path is hashed to a 32 bit unsigned
228 integer key using \fBTextUtil::HashCode\fR function. Using the hash key as a seed for a random number
229 generator, a random integer value between 0 and \fBSize\fR is used to set corresponding bits
230 in the fingerprint bit-vector string. Value of \fBNumOfBitsToSetPerPaths\fR option controls the number
231 of time a random number is generated to set corresponding bits.
232 .PP
233 For \fI PathLengthCount\fR value of \fBType\fRn, the number of times an atom path appears
234 is tracked and a fingerprints count-string corresponding to count of atom paths is generated.
235 .PP
236 The current release of MayaChemTools generates the following types of path length
237 fingerprints bit-vector and vector strings:
238 .PP
239 .Vb 6
240 \& FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
241 \& th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110
242 \& 0100010101011000101001011100110001000010001001101000001001001001001000
243 \& 0010110100000111001001000001001010100100100000000011000000101001011100
244 \& 0010000001000101010100000100111100110111011011011000000010110111001101
245 \& 0101100011000000010001000011000010100011101100001000001000100000000...
246 \&
247 \& FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
248 \& th1:MaxLength8;1024;HexadecimalString;Ascending;48caa1315d82d91122b029
249 \& 42861c9409a4208182d12015509767bd0867653604481a8b1288000056090583603078
250 \& 9cedae54e26596889ab121309800900490515224208421502120a0dd9200509723ae89
251 \& 00024181b86c0122821d4e4880c38620dab280824b455404009f082003d52c212b4e6d
252 \& 6ea05280140069c780290c43
253 \&
254 \& FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength
255 \& 1:MaxLength8;432;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3 2
256 \& 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
257 \& 2.BO2.H1 1 N.X3.BO3 1 O.X1.BO1.H1 3 O.X1.BO2 2 C.X1.BO1.H3C.X3.BO3.H1
258 \& 2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO
259 \& 4 1 C.X2.BO2.H2N.X3.BO3 1 C.X2.BO3.H1:C.X2.BO3.H1 10 C.X2.BO3.H1:C....
260 \&
261 \& FingerprintsVector;PathLengthCount:DREIDINGAtomTypes:MinLength1:MaxLen
262 \& gth8;410;NumericalValues;IDsAndValuesPairsString;C_2 2 C_3 9 C_R 22 F_
263 \& 1 N_3 1 N_R 1 O_2 2 O_3 3 C_2=O_2 2 C_2C_3 1 C_2C_R 1 C_2N_3 1 C_2O_3
264 \& 1 C_3C_3 7 C_3C_R 1 C_3N_R 1 C_3O_3 2 C_R:C_R 21 C_R:N_R 2 C_RC_R 2 C
265 \& _RF_ 1 C_RN_3 1 C_2C_3C_3 1 C_2C_R:C_R 2 C_2N_3C_R 1 C_3C_2=O_2 1 C_3C
266 \& _2O_3 1 C_3C_3C_3 5 C_3C_3C_R 2 C_3C_3N_R 1 C_3C_3O_3 4 C_3C_R:C_R ...
267 \&
268 \& FingerprintsVector;PathLengthCount:EStateAtomTypes:MinLength1:MaxLengt
269 \& h8;454;NumericalValues;IDsAndValuesPairsString;aaCH 14 aasC 8 aasN 1 d
270 \& O 2 dssC 2 sCH3 2 sF 1 sOH 3 ssCH2 4 ssNH 1 sssCH 3 aaCH:aaCH 10 aaCH:
271 \& aasC 8 aasC:aasC 3 aasC:aasN 2 aasCaasC 2 aasCdssC 1 aasCsF 1 aasCssNH
272 \& 1 aasCsssCH 1 aasNssCH2 1 dO=dssC 2 dssCsOH 1 dssCssCH2 1 dssCssNH 1
273 \& sCH3sssCH 2 sOHsssCH 2 ssCH2ssCH2 1 ssCH2sssCH 4 aaCH:aaCH:aaCH 6 a...
274 \&
275 \& FingerprintsVector;PathLengthCount:FunctionalClassAtomTypes:MinLength1
276 \& :MaxLength8;404;NumericalValues;IDsAndValuesPairsString;Ar 22 Ar.HBA 1
277 \& HBA 2 HBA.HBD 3 HBD 1 Hal 1 NI 1 None 10 Ar.HBA:Ar 2 Ar.HBANone 1 Ar:
278 \& Ar 21 ArAr 2 ArHBD 1 ArHal 1 ArNone 2 HBA.HBDNI 1 HBA.HBDNone 2 HBA=NI
279 \& 1 HBA=None 1 HBDNone 1 NINone 1 NoneNone 7 Ar.HBA:Ar:Ar 2 Ar.HBA:ArAr
280 \& 1 Ar.HBA:ArNone 1 Ar.HBANoneNone 1 Ar:Ar.HBA:Ar 1 Ar:Ar.HBANone 2 ...
281 \&
282 \& FingerprintsVector;PathLengthCount:MMFF94AtomTypes:MinLength1:MaxLengt
283 \& h8;463;NumericalValues;IDsAndValuesPairsString;C5A 2 C5B 2 C=ON 1 CB 1
284 \& 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 \& 5 2 C5ACB 1 C5ACR 1 C5B:C5B 1 C5BC=ON 1 C5BCB 1 C=ON=O=CN 1 C=ONNC=O 1
286 \& CB:CB 18 CBF 1 CBNC=O 1 COO=O=CO 1 COOCR 1 COOOC=O 1 CRCR 7 CRN5 1 CR
287 \& OR 2 C5A:C5B:C5B 2 C5A:C5BC=ON 1 C5A:C5BCB 1 C5A:N5:C5A 1 C5A:N5CR ...
288 \&
289 \& FingerprintsVector;PathLengthCount:SLogPAtomTypes:MinLength1:MaxLength
290 \& 8;518;NumericalValues;IDsAndValuesPairsString;C1 5 C10 1 C11 1 C14 1 C
291 \& 18 14 C20 4 C21 2 C22 1 C5 2 CS 2 F 1 N11 1 N4 1 O10 1 O2 3 O9 1 C10C1
292 \& 1 C10N11 1 C11C1 2 C11C21 1 C14:C18 2 C14F 1 C18:C18 10 C18:C20 4 C18
293 \& :C22 2 C1C5 1 C1CS 4 C20:C20 1 C20:C21 1 C20:N11 1 C20C20 2 C21:C21 1
294 \& C21:N11 1 C21C5 1 C22N4 1 C5=O10 1 C5=O9 1 C5N4 1 C5O2 1 CSO2 2 C10...
295 \&
296 \& FingerprintsVector;PathLengthCount:SYBYLAtomTypes:MinLength1:MaxLength
297 \& 8;412;NumericalValues;IDsAndValuesPairsString;C.2 2 C.3 9 C.ar 22 F 1
298 \& N.am 1 N.ar 1 O.2 1 O.3 2 O.co2 2 C.2=O.2 1 C.2=O.co2 1 C.2C.3 1 C.2C.
299 \& ar 1 C.2N.am 1 C.2O.co2 1 C.3C.3 7 C.3C.ar 1 C.3N.ar 1 C.3O.3 2 C.ar:C
300 \& .ar 21 C.ar:N.ar 2 C.arC.ar 2 C.arF 1 C.arN.am 1 C.2C.3C.3 1 C.2C.ar:C
301 \& .ar 2 C.2N.amC.ar 1 C.3C.2=O.co2 1 C.3C.2O.co2 1 C.3C.3C.3 5 C.3C.3...
302 \&
303 \& FingerprintsVector;PathLengthCount:TPSAAtomTypes:MinLength1:MaxLength8
304 \& ;331;NumericalValues;IDsAndValuesPairsString;N21 1 N7 1 None 34 O3 2 O
305 \& 4 3 N21:None 2 N21None 1 N7None 2 None:None 21 None=O3 2 NoneNone 13 N
306 \& oneO4 3 N21:None:None 2 N21:NoneNone 2 N21NoneNone 1 N7None:None 2 N7N
307 \& one=O3 1 N7NoneNone 1 None:N21:None 1 None:N21None 2 None:None:None 20
308 \& None:NoneNone 12 NoneN7None 1 NoneNone=O3 2 NoneNoneNone 8 NoneNon...
309 \&
310 \& FingerprintsVector;PathLengthCount:UFFAtomTypes:MinLength1:MaxLength8;
311 \& 410;NumericalValues;IDsAndValuesPairsString;C_2 2 C_3 9 C_R 22 F_ 1 N_
312 \& 3 1 N_R 1 O_2 2 O_3 3 C_2=O_2 2 C_2C_3 1 C_2C_R 1 C_2N_3 1 C_2O_3 1 C_
313 \& 3C_3 7 C_3C_R 1 C_3N_R 1 C_3O_3 2 C_R:C_R 21 C_R:N_R 2 C_RC_R 2 C_RF_
314 \& 1 C_RN_3 1 C_2C_3C_3 1 C_2C_R:C_R 2 C_2N_3C_R 1 C_3C_2=O_2 1 C_3C_2O_3
315 \& 1 C_3C_3C_3 5 C_3C_3C_R 2 C_3C_3N_R 1 C_3C_3O_3 4 C_3C_R:C_R 1 C_3...
316 .Ve
317 .SS "\s-1METHODS\s0"
318 .IX Subsection "METHODS"
319 .IP "\fBnew\fR" 4
320 .IX Item "new"
321 .Vb 2
322 \& $NewPathLengthFingerprints = new PathLengthFingerprints(
323 \& %NamesAndValues);
324 .Ve
325 .Sp
326 Using specified \fIPathLengthFingerprints\fR property names and values hash, \fBnew\fR method creates a new object
327 and returns a reference to newly created \fBPathLengthFingerprints\fR object. By default, the following properties are
328 initialized:
329 .Sp
330 .Vb 10
331 \& Molecule = \*(Aq\*(Aq;
332 \& Type = \*(Aq\*(Aq
333 \& Size = 1024
334 \& MinSize = 32
335 \& MaxSize = 2**32
336 \& NumOfBitsToSetPerPath = 1
337 \& MinLength = 1
338 \& MaxLength = 8
339 \& AllowSharedBonds = 1
340 \& AllowRings = 1
341 \& UseBondSymbols = 1
342 \& UseUniquePaths = \*(Aq\*(Aq
343 \& AtomIdentifierType = \*(Aq\*(Aq
344 \& SetAtomicInvariantsToUse = [\*(AqAS\*(Aq]
345 \& FunctionalClassesToUse = [\*(AqHBD\*(Aq, \*(AqHBA\*(Aq, \*(AqPI\*(Aq, \*(AqNI\*(Aq, \*(AqAr\*(Aq, \*(AqHal\*(Aq]
346 .Ve
347 .Sp
348 Examples:
349 .Sp
350 .Vb 5
351 \& $PathLengthFingerprints = new PathLengthFingerprints(
352 \& \*(AqMolecule\*(Aq => $Molecule,
353 \& \*(AqType\*(Aq => \*(AqPathLengthBits\*(Aq,
354 \& \*(AqAtomIdentifierType\*(Aq =
355 \& \*(AqAtomicInvariantsAtomTypes\*(Aq);
356 \&
357 \& $PathLengthFingerprints = new PathLengthFingerprints(
358 \& \*(AqMolecule\*(Aq => $Molecule,
359 \& \*(AqType\*(Aq => \*(AqPathLengthBits\*(Aq,
360 \& \*(AqSize\*(Aq => 1024,
361 \& \*(AqMinLength\*(Aq => 1,
362 \& \*(AqMaxLength\*(Aq => 8,
363 \& \*(AqAllowRings\*(Aq => 1,
364 \& \*(AqAllowSharedBonds\*(Aq => 1,
365 \& \*(AqUseBondSymbols\*(Aq => 1,
366 \& \*(AqUseUniquePaths\*(Aq => 1,
367 \& \*(AqAtomIdentifierType\*(Aq =
368 \& \*(AqAtomicInvariantsAtomTypes\*(Aq,
369 \& \*(AqAtomicInvariantsToUse\*(Aq => [\*(AqAS\*(Aq]);
370 \&
371 \& $PathLengthFingerprints = new PathLengthFingerprints(
372 \& \*(AqMolecule\*(Aq => $Molecule,
373 \& \*(AqType\*(Aq => \*(AqPathLengthCount\*(Aq,
374 \& \*(AqMinLength\*(Aq => 1,
375 \& \*(AqMaxLength\*(Aq => 8,
376 \& \*(AqAllowRings\*(Aq => 1,
377 \& \*(AqAllowSharedBonds\*(Aq => 1,
378 \& \*(AqUseBondSymbols\*(Aq => 1,
379 \& \*(AqUseUniquePaths\*(Aq => 1,
380 \& \*(AqAtomIdentifierType\*(Aq =>
381 \& \*(AqAtomicInvariantsAtomTypes\*(Aq,
382 \& \*(AqAtomicInvariantsToUse\*(Aq => [\*(AqAS\*(Aq]);
383 \&
384 \& $PathLengthFingerprints = new PathLengthFingerprints(
385 \& \*(AqMolecule\*(Aq => $Molecule,
386 \& \*(AqType\*(Aq => \*(AqPathLengthBits\*(Aq,
387 \& \*(AqAtomIdentifierType\*(Aq =
388 \& \*(AqSLogPAtomTypes\*(Aq);
389 \&
390 \& $PathLengthFingerprints = new PathLengthFingerprints(
391 \& \*(AqMolecule\*(Aq => $Molecule,
392 \& \*(AqType\*(Aq => \*(AqPathLengthCount\*(Aq,
393 \& \*(AqAtomIdentifierType\*(Aq =
394 \& \*(AqSYBYLAtomTypes\*(Aq);
395 \&
396 \& $PathLengthFingerprints = new PathLengthFingerprints(
397 \& \*(AqMolecule\*(Aq => $Molecule,
398 \& \*(AqType\*(Aq => \*(AqPathLengthBits\*(Aq,
399 \& \*(AqAtomIdentifierType\*(Aq =
400 \& \*(AqFunctionalClassAtomTypes\*(Aq,
401 \& \*(AqFunctionalClassesToUse\*(Aq => [\*(AqHBD\*(Aq, \*(AqHBA\*(Aq, \*(AqAr\*(Aq]);
402 \&
403 \& $PathLengthFingerprints\->GenerateFingerprints();
404 \& print "$PathLengthFingerprints\en";
405 .Ve
406 .IP "\fBGetDescription\fR" 4
407 .IX Item "GetDescription"
408 .Vb 1
409 \& $Description = $PathLengthFingerprints\->GetDescription();
410 .Ve
411 .Sp
412 Returns a string containing description of path length fingerprints.
413 .IP "\fBGenerateFingerprints\fR" 4
414 .IX Item "GenerateFingerprints"
415 .Vb 1
416 \& $PathLengthFingerprints\->GenerateFingerprints();
417 .Ve
418 .Sp
419 Generates path length fingerprints and returns \fIPathLengthFingerprints\fR.
420 .IP "\fBSetMaxLength\fR" 4
421 .IX Item "SetMaxLength"
422 .Vb 1
423 \& $PathLengthFingerprints\->SetMaxLength($Length);
424 .Ve
425 .Sp
426 Sets maximum value of atom path length to be used during atom path length fingerprints
427 generation and returns \fIPathLengthFingerprints\fR
428 .IP "\fBSetAtomIdentifierType\fR" 4
429 .IX Item "SetAtomIdentifierType"
430 .Vb 1
431 \& $PathLengthFingerprints\->SetAtomIdentifierType();
432 .Ve
433 .Sp
434 Sets atom \fIIdentifierType\fR to use during path length fingerprints generation and
435 returns \fIPathLengthFingerprints\fR.
436 .Sp
437 Possible values: \fIAtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes,
438 FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes, SYBYLAtomTypes,
439 TPSAAtomTypes, UFFAtomTypes\fR.
440 .IP "\fBSetAtomicInvariantsToUse\fR" 4
441 .IX Item "SetAtomicInvariantsToUse"
442 .Vb 2
443 \& $PathLengthFingerprints\->SetAtomicInvariantsToUse($ValuesRef);
444 \& $PathLengthFingerprints\->SetAtomicInvariantsToUse(@Values);
445 .Ve
446 .Sp
447 Sets atomic invariants to use during \fIAtomicInvariantsAtomTypes\fR value of \fIAtomIdentifierType\fR
448 for path length fingerprints generation and returns \fIPathLengthFingerprints\fR.
449 .Sp
450 Possible values for atomic invariants are: \fI\s-1AS\s0, X, \s-1BO\s0, \s-1LBO\s0, \s-1SB\s0, \s-1DB\s0, \s-1TB\s0,
451 H, Ar, \s-1RA\s0, \s-1FC\s0, \s-1MN\s0, \s-1SM\s0\fR. Default value: \fI\s-1AS\s0\fR.
452 .Sp
453 The atomic invariants abbreviations correspond to:
454 .Sp
455 .Vb 1
456 \& AS = Atom symbol corresponding to element symbol
457 \&
458 \& X<n> = Number of non\-hydrogen atom neighbors or heavy atoms
459 \& BO<n> = Sum of bond orders to non\-hydrogen atom neighbors or heavy atoms
460 \& LBO<n> = Largest bond order of non\-hydrogen atom neighbors or heavy atoms
461 \& SB<n> = Number of single bonds to non\-hydrogen atom neighbors or heavy atoms
462 \& DB<n> = Number of double bonds to non\-hydrogen atom neighbors or heavy atoms
463 \& TB<n> = Number of triple bonds to non\-hydrogen atom neighbors or heavy atoms
464 \& H<n> = Number of implicit and explicit hydrogens for atom
465 \& Ar = Aromatic annotation indicating whether atom is aromatic
466 \& RA = Ring atom annotation indicating whether atom is a ring
467 \& FC<+n/\-n> = Formal charge assigned to atom
468 \& MN<n> = Mass number indicating isotope other than most abundant isotope
469 \& SM<n> = Spin multiplicity of atom. Possible values: 1 (singlet), 2 (doublet) or
470 \& 3 (triplet)
471 .Ve
472 .Sp
473 Atom type generated by AtomTypes::AtomicInvariantsAtomTypes class corresponds to:
474 .Sp
475 .Vb 1
476 \& AS.X<n>.BO<n>.LBO<n>.<SB><n>.<DB><n>.<TB><n>.H<n>.Ar.RA.FC<+n/\-n>.MN<n>.SM<n>
477 .Ve
478 .Sp
479 Except for \s-1AS\s0 which is a required atomic invariant in atom types, all other atomic invariants are
480 optional. Atom type specification doesn't include atomic invariants with zero or undefined values.
481 .Sp
482 In addition to usage of abbreviations for specifying atomic invariants, the following descriptive words
483 are also allowed:
484 .Sp
485 .Vb 12
486 \& X : NumOfNonHydrogenAtomNeighbors or NumOfHeavyAtomNeighbors
487 \& BO : SumOfBondOrdersToNonHydrogenAtoms or SumOfBondOrdersToHeavyAtoms
488 \& LBO : LargestBondOrderToNonHydrogenAtoms or LargestBondOrderToHeavyAtoms
489 \& SB : NumOfSingleBondsToNonHydrogenAtoms or NumOfSingleBondsToHeavyAtoms
490 \& DB : NumOfDoubleBondsToNonHydrogenAtoms or NumOfDoubleBondsToHeavyAtoms
491 \& TB : NumOfTripleBondsToNonHydrogenAtoms or NumOfTripleBondsToHeavyAtoms
492 \& H : NumOfImplicitAndExplicitHydrogens
493 \& Ar : Aromatic
494 \& RA : RingAtom
495 \& FC : FormalCharge
496 \& MN : MassNumber
497 \& SM : SpinMultiplicity
498 .Ve
499 .Sp
500 \&\fIAtomTypes::AtomicInvariantsAtomTypes\fR module is used to assign atomic invariant
501 atom types.
502 .IP "\fBSetFunctionalClassesToUse\fR" 4
503 .IX Item "SetFunctionalClassesToUse"
504 .Vb 2
505 \& $PathLengthFingerprints\->SetFunctionalClassesToUse($ValuesRef);
506 \& $PathLengthFingerprints\->SetFunctionalClassesToUse(@Values);
507 .Ve
508 .Sp
509 Sets functional classes invariants to use during \fIFunctionalClassAtomTypes\fR value of \fIAtomIdentifierType\fR
510 for path length fingerprints generation and returns \fIPathLengthFingerprints\fR.
511 .Sp
512 Possible values for atom functional classes are: \fIAr, \s-1CA\s0, H, \s-1HBA\s0, \s-1HBD\s0, Hal, \s-1NI\s0, \s-1PI\s0, \s-1RA\s0\fR.
513 Default value [ Ref 24 ]: \fI\s-1HBD\s0,HBA,PI,NI,Ar,Hal\fR.
514 .Sp
515 The functional class abbreviations correspond to:
516 .Sp
517 .Vb 9
518 \& HBD: HydrogenBondDonor
519 \& HBA: HydrogenBondAcceptor
520 \& PI : PositivelyIonizable
521 \& NI : NegativelyIonizable
522 \& Ar : Aromatic
523 \& Hal : Halogen
524 \& H : Hydrophobic
525 \& RA : RingAtom
526 \& CA : ChainAtom
527 \&
528 \& Functional class atom type specification for an atom corresponds to:
529 \&
530 \& Ar.CA.H.HBA.HBD.Hal.NI.PI.RA or None
531 .Ve
532 .Sp
533 \&\fIAtomTypes::FunctionalClassAtomTypes\fR module is used to assign functional class atom
534 types. It uses following definitions [ Ref 60\-61, Ref 65\-66 ]:
535 .Sp
536 .Vb 4
537 \& HydrogenBondDonor: NH, NH2, OH
538 \& HydrogenBondAcceptor: N[!H], O
539 \& PositivelyIonizable: +, NH2
540 \& NegativelyIonizable: \-, C(=O)OH, S(=O)OH, P(=O)OH
541 .Ve
542 .IP "\fBSetMinLength\fR" 4
543 .IX Item "SetMinLength"
544 .Vb 1
545 \& $PathLengthFingerprints\->SetMinLength($Length);
546 .Ve
547 .Sp
548 Sets minimum value of atom path length to be used during atom path length fingerprints
549 generation and returns \fIPathLengthFingerprints\fR.
550 .IP "\fBSetMaxLength\fR" 4
551 .IX Item "SetMaxLength"
552 .Vb 1
553 \& $PathLengthFingerprints\->SetMaxLength($Length);
554 .Ve
555 .Sp
556 Sets maximum value of atom path length to be used during atom path length fingerprints
557 generation and returns \fIPathLengthFingerprints\fR.
558 .IP "\fBSetNumOfBitsToSetPerPath\fR" 4
559 .IX Item "SetNumOfBitsToSetPerPath"
560 .Vb 1
561 \& $PathLengthFingerprints\->SetNumOfBitsToSetPerPath($NumOfBits);
562 .Ve
563 .Sp
564 Sets number of bits to set for each path during \fIPathLengthBits\fR \fBType \fR during path length fingerprints
565 generation and returns \fIPathLengthFingerprints\fR.
566 .IP "\fBSetType\fR" 4
567 .IX Item "SetType"
568 .Vb 1
569 \& $PathLengthFingerprints\->SetType($Type);
570 .Ve
571 .Sp
572 Sets type of path length fingerprints and returns \fIPathLengthFingerprints\fR. Possible values:
573 \&\fIPathLengthBits or PathLengthCount\fR.
574 .IP "\fBStringifyPathLengthFingerprints\fR" 4
575 .IX Item "StringifyPathLengthFingerprints"
576 .Vb 1
577 \& $String = $PathLengthFingerprints\->StringifyPathLengthFingerprints();
578 .Ve
579 .Sp
580 Returns a string containing information about \fIPathLengthFingerprints\fR object.
581 .SH "AUTHOR"
582 .IX Header "AUTHOR"
583 Manish Sud <msud@san.rr.com>
584 .SH "SEE ALSO"
585 .IX Header "SEE ALSO"
586 Fingerprints.pm, FingerprintsStringUtil.pm, AtomNeighborhoodsFingerprints.pm,
587 AtomTypesFingerprints.pm, EStateIndiciesFingerprints.pm, ExtendedConnectivityFingerprints.pm,
588 MACCSKeys.pm, TopologicalAtomPairsFingerprints.pm, TopologicalAtomTripletsFingerprints.pm,
589 TopologicalAtomTorsionsFingerprints.pm, TopologicalPharmacophoreAtomPairsFingerprints.pm,
590 TopologicalPharmacophoreAtomTripletsFingerprints.pm
591 .SH "COPYRIGHT"
592 .IX Header "COPYRIGHT"
593 Copyright (C) 2015 Manish Sud. All rights reserved.
594 .PP
595 This file is part of MayaChemTools.
596 .PP
597 MayaChemTools is free software; you can redistribute it and/or modify it under
598 the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free
599 Software Foundation; either version 3 of the License, or (at your option)
600 any later version.