comparison mayachemtools/docs/modules/man3/SDFileUtil.3 @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:73ae111cf86f
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 "SDFILEUTIL 1"
127 .TH SDFILEUTIL 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 SDFileUtil
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 use SDFileUtil ;
137 .PP
138 use SDFileUtil qw(:all);
139 .SH "DESCRIPTION"
140 .IX Header "DESCRIPTION"
141 \&\fBSDFileUtil\fR module provides the following functions:
142 .PP
143 GenerateCmpdAtomAliasPropertyLines, GenerateCmpdAtomLine, GenerateCmpdBondLine,
144 GenerateCmpdChargePropertyLines, GenerateCmpdCommentsLine, GenerateCmpdCountsLine,
145 GenerateCmpdDataHeaderLabelsAndValuesLines, GenerateCmpdIsotopePropertyLines,
146 GenerateCmpdMiscInfoLine, GenerateCmpdMolNameLine,
147 GenerateCmpdRadicalPropertyLines, GenerateEmptyCtabBlockLines,
148 GenerateMiscLineDateStamp, GetAllAndCommonCmpdDataHeaderLabels,
149 GetCmpdDataHeaderLabels, GetCmpdDataHeaderLabelsAndValues, GetCmpdFragments,
150 GetCtabLinesCount, GetInvalidAtomNumbers, GetUnknownAtoms,
151 InternalBondOrderToMDLBondType, InternalBondStereochemistryToMDLBondStereo,
152 InternalChargeToMDLCharge, InternalSpinMultiplicityToMDLRadical, IsCmpd2D,
153 IsCmpd3D, MDLBondStereoToInternalBondStereochemistry,
154 MDLBondTypeToInternalBondOrder, MDLChargeToInternalCharge,
155 MDLRadicalToInternalSpinMultiplicity, ParseCmpdAtomAliasPropertyLine,
156 ParseCmpdAtomLine, ParseCmpdBondLine, ParseCmpdChargePropertyLine,
157 ParseCmpdCommentsLine, ParseCmpdCountsLine, ParseCmpdIsotopePropertyLine,
158 ParseCmpdMiscInfoLine, ParseCmpdMolNameLine, ParseCmpdRadicalPropertyLine,
159 ReadCmpdString, RemoveCmpdDataHeaderLabelAndValue, WashCmpd
160 .SH "METHODS"
161 .IX Header "METHODS"
162 .IP "\fBGenerateCmpdAtomAliasPropertyLines\fR" 4
163 .IX Item "GenerateCmpdAtomAliasPropertyLines"
164 .Vb 1
165 \& @Lines = GenerateCmpdAtomAliasPropertyLines($AliasValuePairsRef);
166 .Ve
167 .Sp
168 Returns a formatted atom alias property lines corresponding to successive pairs
169 of atom number and alias values specified by a refernce to an array. Two lines
170 are generate for each atom number and alias value pairs: First line \- A <AtomNum>;
171 Second line:<AtomAlias>.
172 .IP "\fBGenerateCmpdAtomLine\fR" 4
173 .IX Item "GenerateCmpdAtomLine"
174 .Vb 2
175 \& $Line = GenerateCmpdAtomLine($AtomSymbol, $AtomX, $AtomY,
176 \& $AtomZ, [$MassDifference, $Charge, $StereoParity]);
177 .Ve
178 .Sp
179 Returns a formatted atom data line containing all the input values.
180 .IP "\fBGenerateCmpdBondLine\fR" 4
181 .IX Item "GenerateCmpdBondLine"
182 .Vb 2
183 \& $Line = GenerateCmpdBondLine($FirstAtomNum, $SecondAtomNum,
184 \& $BondType, [$BondStereo]);
185 .Ve
186 .Sp
187 Returns a formatted bond data line containing all the input values.
188 .IP "\fBGenerateCmpdChargePropertyLines\fR" 4
189 .IX Item "GenerateCmpdChargePropertyLines"
190 .Vb 1
191 \& @Lines = GenerateCmpdChargePropertyLines($ChargeValuePairsRef);
192 .Ve
193 .Sp
194 Returns a formatted M \s-1CHG\s0 property lines corresponding to successive pairs of
195 atom number and charge values specified by a refernce to an array.
196 .IP "\fBGenerateCmpdCommentsLine\fR" 4
197 .IX Item "GenerateCmpdCommentsLine"
198 .Vb 1
199 \& $Line = GenerateCmpdCommentsLine($Comments);
200 .Ve
201 .Sp
202 Returns a formatted comments data line.
203 .IP "\fBGenerateCmpdCountsLine\fR" 4
204 .IX Item "GenerateCmpdCountsLine"
205 .Vb 2
206 \& $Line = GenerateCmpdCountsLine($AtomCount, $BondCount,
207 \& $ChiralFlag, [$PropertyCount, $Version]);
208 .Ve
209 .Sp
210 Returns a formatted line containing all the input values. The default values of 999
211 and V2000 are used for \fIPropertyCount\fR and \fIVersion\fR.
212 .IP "\fBGenerateCmpdDataHeaderLabelsAndValuesLines\fR" 4
213 .IX Item "GenerateCmpdDataHeaderLabelsAndValuesLines"
214 .Vb 3
215 \& @Lines = GenerateCmpdDataHeaderLabelsAndValuesLines(
216 \& $DataHeaderLabelsRef, $DataHeaderLabelsAndValuesRef,
217 \& [$SortDataLabels]);
218 .Ve
219 .Sp
220 Returns formatted data lines containing header label and values lines corresponding to
221 all data header labels in array reference \fIDataHeaderLabelsRef\fR with values in hash
222 reference \fIDataHeaderLabelsAndValuesRef\fR. By default, data header labels are
223 not sorted and correspond to the label order in array reference \fIDataHeaderLabelsRef\fR.
224 .IP "\fBGenerateCmpdIsotopePropertyLines\fR" 4
225 .IX Item "GenerateCmpdIsotopePropertyLines"
226 .Vb 1
227 \& @Lines = GenerateCmpdIsotopePropertyLines($IsotopeValuePairsRef);
228 .Ve
229 .Sp
230 Returns a formatted M \s-1ISO\s0 property lines corresponding to successive pairs of
231 atom number and isotope values specified by a refernce to an array.
232 .IP "\fBGenerateCmpdMiscInfoLine\fR" 4
233 .IX Item "GenerateCmpdMiscInfoLine"
234 .Vb 2
235 \& $Line = GenerateCmpdMiscInfoLine([$ProgramName, $UserInitial,
236 \& $Code]);
237 .Ve
238 .Sp
239 Returns a formatted line containing specified user initial, program name, date and code.
240 Default values are: \fIProgramName \- MayaChem; UserInitial \- \s-1NULL\s0; Code \- 2D\fR.
241 .IP "\fBGenerateCmpdMolNameLine\fR" 4
242 .IX Item "GenerateCmpdMolNameLine"
243 .Vb 1
244 \& $Line = GenerateCmpdMolNameLine($MolName);
245 .Ve
246 .Sp
247 Returns a formatted molecule name data line.
248 .IP "\fBGenerateCmpdRadicalPropertyLines\fR" 4
249 .IX Item "GenerateCmpdRadicalPropertyLines"
250 .Vb 1
251 \& @Lines = GenerateCmpdRadicalPropertyLines($RadicalValuePairsRef);
252 .Ve
253 .Sp
254 Returns a formatted M \s-1CHG\s0 property lines corresponding to successive pairs of
255 atom number and multiplicity values specified by a refernce to an array.
256 .IP "\fBGenerateEmptyCtabBlockLines\fR" 4
257 .IX Item "GenerateEmptyCtabBlockLines"
258 .Vb 1
259 \& $Lines = GenerateCmpdMiscInfoLine([$Date]);
260 .Ve
261 .Sp
262 Returns formatted lines representing empty \s-1CTAB\s0 block.
263 .IP "\fBGenerateMiscLineDateStamp\fR" 4
264 .IX Item "GenerateMiscLineDateStamp"
265 .Vb 1
266 \& $Line = GenerateMiscLineDateStamp();
267 .Ve
268 .Sp
269 Returns date stamp for misc line.
270 .IP "\fBGetAllAndCommonCmpdDataHeaderLabels\fR" 4
271 .IX Item "GetAllAndCommonCmpdDataHeaderLabels"
272 .Vb 3
273 \& ($CmpdCount, $DataFieldLabelsArrayRef,
274 \& $CommonDataFieldLabelsArrayRef) =
275 \& GetAllAndCommonCmpdDataHeaderLabels(\e*SDFILE);
276 .Ve
277 .Sp
278 Returns number of comopunds, a reference to an array containing all unique data header
279 label and a reference to an array containing common data field labels for all compounds
280 in \s-1SD\s0 file.
281 .IP "\fBGetCmpdDataHeaderLabels\fR" 4
282 .IX Item "GetCmpdDataHeaderLabels"
283 .Vb 1
284 \& (@Labels) = GetCmpdDataHeaderLabels(\e@CmpdLines);
285 .Ve
286 .Sp
287 Returns an array containg data header labels for a compound
288 .IP "\fBGetCmpdDataHeaderLabelsAndValues\fR" 4
289 .IX Item "GetCmpdDataHeaderLabelsAndValues"
290 .Vb 1
291 \& (%DataValues) = GetCmpdDataHeaderLabelsAndValues(\e@CmpdLines);
292 .Ve
293 .Sp
294 Returns a hash conating data header labes and values for a compound.
295 .IP "\fBGetCmpdFragments\fR" 4
296 .IX Item "GetCmpdFragments"
297 .Vb 1
298 \& ($FragmentCount, $FragmentString) = GetCmpdFragments(\e@CmpLines);
299 .Ve
300 .Sp
301 Figures out the number of disconnected fragments and return their values along
302 with the atom numbers in a string delimited by new line character. Fragment data
303 in \fBFragmentString\fR is sorted on based on its size.
304 .IP "\fBGetCtabLinesCount\fR" 4
305 .IX Item "GetCtabLinesCount"
306 .Vb 1
307 \& $CtabLinesCount = GetCtabLinesCount(\e@CmpdLines);
308 .Ve
309 .Sp
310 Returns number of lines present between the 4th line and the line containg \*(L"M \s-1END\s0\*(R".
311 .IP "\fBGetInvalidAtomNumbers\fR" 4
312 .IX Item "GetInvalidAtomNumbers"
313 .Vb 2
314 \& ($InvalidAtomNumbersCount, $InvalidAtomNumbers, $InvalidAtomNumberLines) =
315 \& GetInvalidAtomNumbers(\e@CmpdLines);
316 .Ve
317 .Sp
318 Returns a list of values containing information about invalid atom numbers present
319 in block or atom property lines.
320 .IP "\fBGetUnknownAtoms\fR" 4
321 .IX Item "GetUnknownAtoms"
322 .Vb 2
323 \& ($UnknownAtomCount, $UnknownAtoms, $UnknownAtomLines) =
324 \& GetUnknownAtoms(\e@CmpdLines);
325 .Ve
326 .Sp
327 Returns a list of values containing information about atoms which contain special element
328 symbols not present in the periodic table.
329 .IP "\fBInternalBondOrderToMDLBondType\fR" 4
330 .IX Item "InternalBondOrderToMDLBondType"
331 .Vb 1
332 \& $MDLBondType = InternalBondOrderToMDLBondType($InternalBondOrder);
333 .Ve
334 .Sp
335 Returns value of \fIMDLBondType\fR corresponding to \fIInternalBondOrder\fR.
336 .Sp
337 .Vb 1
338 \& InternalBondOrder MDLBondType
339 \&
340 \& 1 1
341 \& 2 2
342 \& 3 3
343 \& 1.5 4
344 .Ve
345 .IP "\fBInternalBondStereochemistryToMDLBondStereo\fR" 4
346 .IX Item "InternalBondStereochemistryToMDLBondStereo"
347 .Vb 2
348 \& $MDLBondStereo = InternalBondStereochemistryToMDLBondStereo(
349 \& $InternalBondStereo);
350 .Ve
351 .Sp
352 Returns value of \fIMDLBondStereo\fR corresponding to \fIInternalBondStereo\fR using following
353 mapping:
354 .Sp
355 .Vb 1
356 \& InternalBondStereo MDLBondStereo
357 \&
358 \& Up 1
359 \& UpOrDown 4
360 \& Down 6
361 \& CisOrTrans 3
362 \& Other 0
363 .Ve
364 .IP "\fBInternalChargeToMDLCharge\fR" 4
365 .IX Item "InternalChargeToMDLCharge"
366 .Vb 1
367 \& $MDLCharge = InternalChargeToMDLCharge($InternalCharge);
368 .Ve
369 .Sp
370 Returns value of \fIMDLCharge\fR corresponding to \fIInternalCharge\fR using following
371 mapping:
372 .Sp
373 .Vb 1
374 \& InternalCharge MDLCharge
375 \&
376 \& 3 1
377 \& 2 2
378 \& 1 3
379 \& \-1 5
380 \& \-2 6
381 \& \-3 7
382 .Ve
383 .IP "\fBInternalSpinMultiplicityToMDLRadical\fR" 4
384 .IX Item "InternalSpinMultiplicityToMDLRadical"
385 .Vb 2
386 \& $MDLRadical = InternalSpinMultiplicityToMDLRadical(
387 \& $InternalSpinMultiplicity);
388 .Ve
389 .Sp
390 Returns value of \fIMDLRadical\fR corresponding to \fIInternalSpinMultiplicity\fR. These
391 value are equivalent.
392 .IP "\fBMDLBondStereoToInternalBondType\fR" 4
393 .IX Item "MDLBondStereoToInternalBondType"
394 .Vb 1
395 \& $InternalBondType = MDLBondStereoToInternalBondType($MDLBondStereo);
396 .Ve
397 .Sp
398 Returns value of \fIInternalBondType\fR corresponding to \fIMDLBondStereo\fR using
399 mapping shown for \fBInternalBondTypeToMDLBondStereo\fR function.
400 .IP "\fBIsCmpd2D\fR" 4
401 .IX Item "IsCmpd2D"
402 .Vb 1
403 \& $Status = IsCmpd2D();
404 .Ve
405 .Sp
406 Returns 1 or 0 based on whether z\-coordinate of any atom is non-zero.
407 .IP "\fBIsCmpd3D\fR" 4
408 .IX Item "IsCmpd3D"
409 .Vb 1
410 \& $Status = IsCmpd3D();
411 .Ve
412 .Sp
413 Returns 1 or 0 based on whether z\-coordinate of any atom is non-zero.
414 .IP "\fBMDLBondStereoToInternalBondStereochemistry\fR" 4
415 .IX Item "MDLBondStereoToInternalBondStereochemistry"
416 .Vb 2
417 \& $InternalBondStereo = MDLBondStereoToInternalBondStereochemistry(
418 \& $MDLBondStereo);
419 .Ve
420 .Sp
421 Returns value of \fIInternalBondStereo\fR corresponding to \fIMDLBondStereo\fR using
422 mapping shown for \fBInternalBondStereochemistryToMDLBondStereo\fR function.
423 .IP "\fBMDLBondTypeToInternalBondOrder\fR" 4
424 .IX Item "MDLBondTypeToInternalBondOrder"
425 .Vb 1
426 \& $InternalBondOrder = MDLBondTypeToInternalBondOrder($MDLBondType);
427 .Ve
428 .Sp
429 Returns value of \fIInternalBondOrder\fR corresponding to \fIMDLBondType\fR using
430 mapping shown for \fBInternalBondOrderToMDLBondType\fR function.
431 .IP "\fBMDLChargeToInternalCharge\fR" 4
432 .IX Item "MDLChargeToInternalCharge"
433 .Vb 1
434 \& $InternalCharge = MDLChargeToInternalCharge($MDLCharge);
435 .Ve
436 .Sp
437 Returns value of \fI\f(CI$InternalCharge\fI\fR corresponding to \fIMDLCharge\fR using
438 mapping shown for \fBInternalChargeToMDLCharge\fR function.
439 .IP "\fBMDLRadicalToInternalSpinMultiplicity\fR" 4
440 .IX Item "MDLRadicalToInternalSpinMultiplicity"
441 .Vb 2
442 \& $InternalSpinMultiplicity = MDLRadicalToInternalSpinMultiplicity(
443 \& $MDLRadical);
444 .Ve
445 .Sp
446 Returns value of \fIInternalSpinMultiplicity\fR corresponding to \fIMDLRadical\fR. These
447 value are equivalent.
448 .IP "\fBParseCmpdAtomAliasPropertyLine\fR" 4
449 .IX Item "ParseCmpdAtomAliasPropertyLine"
450 .Vb 2
451 \& @AtomNumAndValuePairs = ParseCmpdAtomAliasPropertyLine(
452 \& $CurrentLine, $NexLine);
453 .Ve
454 .Sp
455 Parses atom alias propery lines in \s-1CTAB\s0 generic properties block and returns an array
456 with successive pairs of values corresponding to atom number and its alias.
457 .IP "\fBParseCmpdAtomLine\fR" 4
458 .IX Item "ParseCmpdAtomLine"
459 .Vb 2
460 \& ($AtomSymbol, $AtomX, $AtomY, $AtomZ, $MassDifference, $Charge,
461 \& $StereoParity) = ParseCmpdAtomLine($AtomDataLine);
462 .Ve
463 .Sp
464 Parses compound data line containing atom information and returns a list
465 of values.
466 .IP "\fBParseCmpdBondLine\fR" 4
467 .IX Item "ParseCmpdBondLine"
468 .Vb 2
469 \& ($FirstAtomNum, $SecondAtomNum, $BondType) =
470 \& ParseCmpdBondLine($BondDataLine);
471 .Ve
472 .Sp
473 Parses compound data line containing bond information and returns a list of
474 values.
475 .IP "\fBParseCmpdCommentsLine\fR" 4
476 .IX Item "ParseCmpdCommentsLine"
477 .Vb 1
478 \& $Comments = ParseCmpdCommentsLine($CommentsDataLine);
479 .Ve
480 .Sp
481 Returns the comment string.
482 .IP "\fBParseCmpdChargePropertyLine\fR" 4
483 .IX Item "ParseCmpdChargePropertyLine"
484 .Vb 2
485 \& @AtomNumAndValuePairs = ParseCmpdChargePropertyLine(
486 \& $ChargeDataLine);
487 .Ve
488 .Sp
489 Parses charge propery line in \s-1CTAB\s0 generic properties block and returns an array
490 with successive pairs of values corresponding to atom number and its charge.
491 .IP "\fBParseCmpdCountsLine\fR" 4
492 .IX Item "ParseCmpdCountsLine"
493 .Vb 2
494 \& ($AtomCount, $BondCount, $ChiralFlag, $PropertyCount, $Version) =
495 \& ParseCmpdCountsLine(\e@CountDataLines);
496 .Ve
497 .Sp
498 Returns a list of values containing count information.
499 .IP "\fBParseCmpdMiscInfoLine\fR" 4
500 .IX Item "ParseCmpdMiscInfoLine"
501 .Vb 2
502 \& ($UserInitial, $ProgramName, $Date, $Code, $ScalingFactor1, $ScalingFactor2,
503 \& $Energy, $RegistryNum) = ParseCmpdMiscInfoLine($Line);
504 .Ve
505 .Sp
506 Returns a list of values containing miscellaneous information.
507 .IP "\fBParseCmpdIsotopePropertyLine\fR" 4
508 .IX Item "ParseCmpdIsotopePropertyLine"
509 .Vb 2
510 \& @AtomNumAndValuePairs = ParseCmpdIsotopePropertyLine(
511 \& $IsotopeDataLine);
512 .Ve
513 .Sp
514 Parses isotopic propery line in \s-1CTAB\s0 generic properties block and returns an array
515 with successive pairs of values corresponding to atom number and absolute mass of
516 atom isotope.
517 .IP "\fBParseCmpdMolNameLine\fR" 4
518 .IX Item "ParseCmpdMolNameLine"
519 .Vb 1
520 \& $MolName = ParseCmpdMolNameLine($Line);
521 .Ve
522 .Sp
523 Returns a string containing molecule name.
524 .IP "\fBParseCmpdRadicalPropertyLine\fR" 4
525 .IX Item "ParseCmpdRadicalPropertyLine"
526 .Vb 2
527 \& @AtomNumAndValuePairs = ParseCmpdRadicalPropertyLine(
528 \& $RadicalDataLine);
529 .Ve
530 .Sp
531 Parses radical propery line in \s-1CTAB\s0 generic properties block and returns an array
532 with successive pairs of values corresponding to atom number and radical number
533 value.
534 .IP "\fBRemoveCmpdDataHeaderLabelAndValue\fR" 4
535 .IX Item "RemoveCmpdDataHeaderLabelAndValue"
536 .Vb 2
537 \& $NewCmpdString = RemoveCmpdDataHeaderLabelAndValue($CmpdString,
538 \& $DataHeaderLabel);
539 .Ve
540 .Sp
541 Returns a \fBNewCmpdString\fR after removing \fIDataHeaderLabel\fR along with its
542 value from \fICmpdString\fR.
543 .IP "\fBReadCmpdString\fR" 4
544 .IX Item "ReadCmpdString"
545 .Vb 1
546 \& $CmpdString = ReadCmpdString(\e*SDFILEHANDLE);
547 .Ve
548 .Sp
549 Returns a string containing all the data lines for the next available compound
550 in an already open file indicated by \s-1SDFILEHANDLE\s0. A \s-1NULL\s0 string is returned
551 on \s-1EOF\s0.
552 .IP "\fBWashCmpd\fR" 4
553 .IX Item "WashCmpd"
554 .Vb 2
555 \& ($FragmentCount, $Fragments, $WashedCmpdString) =
556 \& WashCmpd(\e@CmpdLines);
557 .Ve
558 .Sp
559 Figures out the number of disconnected fragments and return their values along
560 with the atom numbers in a string delimited by new line character. Fragment data
561 in \fBFragmentString\fR is sorted on based on its size.
562 .SH "AUTHOR"
563 .IX Header "AUTHOR"
564 Manish Sud <msud@san.rr.com>
565 .SH "SEE ALSO"
566 .IX Header "SEE ALSO"
567 TextUtil.pm
568 .SH "COPYRIGHT"
569 .IX Header "COPYRIGHT"
570 Copyright (C) 2015 Manish Sud. All rights reserved.
571 .PP
572 This file is part of MayaChemTools.
573 .PP
574 MayaChemTools is free software; you can redistribute it and/or modify it under
575 the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free
576 Software Foundation; either version 3 of the License, or (at your option)
577 any later version.