diff mayachemtools/docs/modules/man3/SDFileUtil.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/SDFileUtil.3	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,577 @@
+.\" 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 "SDFILEUTIL 1"
+.TH SDFILEUTIL 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"
+SDFileUtil
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+use SDFileUtil ;
+.PP
+use SDFileUtil qw(:all);
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBSDFileUtil\fR module provides the following functions:
+.PP
+GenerateCmpdAtomAliasPropertyLines, GenerateCmpdAtomLine, GenerateCmpdBondLine,
+GenerateCmpdChargePropertyLines, GenerateCmpdCommentsLine, GenerateCmpdCountsLine,
+GenerateCmpdDataHeaderLabelsAndValuesLines, GenerateCmpdIsotopePropertyLines,
+GenerateCmpdMiscInfoLine, GenerateCmpdMolNameLine,
+GenerateCmpdRadicalPropertyLines, GenerateEmptyCtabBlockLines,
+GenerateMiscLineDateStamp, GetAllAndCommonCmpdDataHeaderLabels,
+GetCmpdDataHeaderLabels, GetCmpdDataHeaderLabelsAndValues, GetCmpdFragments,
+GetCtabLinesCount, GetInvalidAtomNumbers, GetUnknownAtoms,
+InternalBondOrderToMDLBondType, InternalBondStereochemistryToMDLBondStereo,
+InternalChargeToMDLCharge, InternalSpinMultiplicityToMDLRadical, IsCmpd2D,
+IsCmpd3D, MDLBondStereoToInternalBondStereochemistry,
+MDLBondTypeToInternalBondOrder, MDLChargeToInternalCharge,
+MDLRadicalToInternalSpinMultiplicity, ParseCmpdAtomAliasPropertyLine,
+ParseCmpdAtomLine, ParseCmpdBondLine, ParseCmpdChargePropertyLine,
+ParseCmpdCommentsLine, ParseCmpdCountsLine, ParseCmpdIsotopePropertyLine,
+ParseCmpdMiscInfoLine, ParseCmpdMolNameLine, ParseCmpdRadicalPropertyLine,
+ReadCmpdString, RemoveCmpdDataHeaderLabelAndValue, WashCmpd
+.SH "METHODS"
+.IX Header "METHODS"
+.IP "\fBGenerateCmpdAtomAliasPropertyLines\fR" 4
+.IX Item "GenerateCmpdAtomAliasPropertyLines"
+.Vb 1
+\&    @Lines = GenerateCmpdAtomAliasPropertyLines($AliasValuePairsRef);
+.Ve
+.Sp
+Returns a formatted atom alias property lines corresponding to successive pairs
+of atom number and alias values specified by a refernce to an array. Two lines
+are generate for each atom number and alias value pairs: First line \- A  <AtomNum>;
+Second line:<AtomAlias>.
+.IP "\fBGenerateCmpdAtomLine\fR" 4
+.IX Item "GenerateCmpdAtomLine"
+.Vb 2
+\&    $Line = GenerateCmpdAtomLine($AtomSymbol, $AtomX, $AtomY,
+\&            $AtomZ, [$MassDifference, $Charge, $StereoParity]);
+.Ve
+.Sp
+Returns a formatted atom data line containing all the input values.
+.IP "\fBGenerateCmpdBondLine\fR" 4
+.IX Item "GenerateCmpdBondLine"
+.Vb 2
+\&    $Line = GenerateCmpdBondLine($FirstAtomNum, $SecondAtomNum,
+\&            $BondType, [$BondStereo]);
+.Ve
+.Sp
+Returns a formatted bond data line containing all the input values.
+.IP "\fBGenerateCmpdChargePropertyLines\fR" 4
+.IX Item "GenerateCmpdChargePropertyLines"
+.Vb 1
+\&    @Lines = GenerateCmpdChargePropertyLines($ChargeValuePairsRef);
+.Ve
+.Sp
+Returns a formatted M  \s-1CHG\s0 property lines corresponding to successive pairs of
+atom number and charge values specified by a refernce to an array.
+.IP "\fBGenerateCmpdCommentsLine\fR" 4
+.IX Item "GenerateCmpdCommentsLine"
+.Vb 1
+\&    $Line = GenerateCmpdCommentsLine($Comments);
+.Ve
+.Sp
+Returns a formatted comments data line.
+.IP "\fBGenerateCmpdCountsLine\fR" 4
+.IX Item "GenerateCmpdCountsLine"
+.Vb 2
+\&    $Line = GenerateCmpdCountsLine($AtomCount, $BondCount,
+\&            $ChiralFlag, [$PropertyCount, $Version]);
+.Ve
+.Sp
+Returns a formatted line containing all the input values. The default values of 999
+and  V2000 are used for \fIPropertyCount\fR and \fIVersion\fR.
+.IP "\fBGenerateCmpdDataHeaderLabelsAndValuesLines\fR" 4
+.IX Item "GenerateCmpdDataHeaderLabelsAndValuesLines"
+.Vb 3
+\&    @Lines = GenerateCmpdDataHeaderLabelsAndValuesLines(
+\&             $DataHeaderLabelsRef, $DataHeaderLabelsAndValuesRef,
+\&             [$SortDataLabels]);
+.Ve
+.Sp
+Returns formatted data lines containing header label and values lines corresponding to
+all data header labels in array reference \fIDataHeaderLabelsRef\fR with values in hash
+reference \fIDataHeaderLabelsAndValuesRef\fR. By default, data header labels are
+not sorted and correspond to the label order in array reference \fIDataHeaderLabelsRef\fR.
+.IP "\fBGenerateCmpdIsotopePropertyLines\fR" 4
+.IX Item "GenerateCmpdIsotopePropertyLines"
+.Vb 1
+\&    @Lines = GenerateCmpdIsotopePropertyLines($IsotopeValuePairsRef);
+.Ve
+.Sp
+Returns a formatted M \s-1ISO\s0 property lines corresponding to successive pairs of
+atom number and isotope values specified by a refernce to an array.
+.IP "\fBGenerateCmpdMiscInfoLine\fR" 4
+.IX Item "GenerateCmpdMiscInfoLine"
+.Vb 2
+\&    $Line = GenerateCmpdMiscInfoLine([$ProgramName, $UserInitial,
+\&            $Code]);
+.Ve
+.Sp
+Returns a formatted line containing specified user initial, program name, date and code.
+Default values are: \fIProgramName \- MayaChem; UserInitial \- \s-1NULL\s0; Code \- 2D\fR.
+.IP "\fBGenerateCmpdMolNameLine\fR" 4
+.IX Item "GenerateCmpdMolNameLine"
+.Vb 1
+\&    $Line = GenerateCmpdMolNameLine($MolName);
+.Ve
+.Sp
+Returns a formatted molecule name data line.
+.IP "\fBGenerateCmpdRadicalPropertyLines\fR" 4
+.IX Item "GenerateCmpdRadicalPropertyLines"
+.Vb 1
+\&    @Lines = GenerateCmpdRadicalPropertyLines($RadicalValuePairsRef);
+.Ve
+.Sp
+Returns a formatted M  \s-1CHG\s0 property lines corresponding to successive pairs of
+atom number and multiplicity values specified by a refernce to an array.
+.IP "\fBGenerateEmptyCtabBlockLines\fR" 4
+.IX Item "GenerateEmptyCtabBlockLines"
+.Vb 1
+\&    $Lines = GenerateCmpdMiscInfoLine([$Date]);
+.Ve
+.Sp
+Returns formatted lines representing empty \s-1CTAB\s0 block.
+.IP "\fBGenerateMiscLineDateStamp\fR" 4
+.IX Item "GenerateMiscLineDateStamp"
+.Vb 1
+\&    $Line = GenerateMiscLineDateStamp();
+.Ve
+.Sp
+Returns date stamp for misc line.
+.IP "\fBGetAllAndCommonCmpdDataHeaderLabels\fR" 4
+.IX Item "GetAllAndCommonCmpdDataHeaderLabels"
+.Vb 3
+\&    ($CmpdCount, $DataFieldLabelsArrayRef,
+\&       $CommonDataFieldLabelsArrayRef) =
+\&          GetAllAndCommonCmpdDataHeaderLabels(\e*SDFILE);
+.Ve
+.Sp
+Returns number of comopunds, a reference to an array containing all unique data header
+label and a reference to an array containing common data field labels for all compounds
+in \s-1SD\s0 file.
+.IP "\fBGetCmpdDataHeaderLabels\fR" 4
+.IX Item "GetCmpdDataHeaderLabels"
+.Vb 1
+\&    (@Labels) = GetCmpdDataHeaderLabels(\e@CmpdLines);
+.Ve
+.Sp
+Returns an array containg data header labels for a compound
+.IP "\fBGetCmpdDataHeaderLabelsAndValues\fR" 4
+.IX Item "GetCmpdDataHeaderLabelsAndValues"
+.Vb 1
+\&    (%DataValues) = GetCmpdDataHeaderLabelsAndValues(\e@CmpdLines);
+.Ve
+.Sp
+Returns a hash conating data header labes and values for a compound.
+.IP "\fBGetCmpdFragments\fR" 4
+.IX Item "GetCmpdFragments"
+.Vb 1
+\&    ($FragmentCount, $FragmentString) = GetCmpdFragments(\e@CmpLines);
+.Ve
+.Sp
+Figures out the number of disconnected fragments and return their values along
+with the atom numbers in a string delimited by new line character. Fragment data
+in \fBFragmentString\fR is sorted on based on its size.
+.IP "\fBGetCtabLinesCount\fR" 4
+.IX Item "GetCtabLinesCount"
+.Vb 1
+\&    $CtabLinesCount = GetCtabLinesCount(\e@CmpdLines);
+.Ve
+.Sp
+Returns number of lines present between the 4th line and the line containg \*(L"M \s-1END\s0\*(R".
+.IP "\fBGetInvalidAtomNumbers\fR" 4
+.IX Item "GetInvalidAtomNumbers"
+.Vb 2
+\&    ($InvalidAtomNumbersCount, $InvalidAtomNumbers, $InvalidAtomNumberLines) =
+\&       GetInvalidAtomNumbers(\e@CmpdLines);
+.Ve
+.Sp
+Returns a list of values containing information about invalid atom numbers present
+in block or atom property lines.
+.IP "\fBGetUnknownAtoms\fR" 4
+.IX Item "GetUnknownAtoms"
+.Vb 2
+\&    ($UnknownAtomCount, $UnknownAtoms, $UnknownAtomLines) =
+\&       GetUnknownAtoms(\e@CmpdLines);
+.Ve
+.Sp
+Returns a list of values containing information about atoms which contain special element
+symbols not present in the periodic table.
+.IP "\fBInternalBondOrderToMDLBondType\fR" 4
+.IX Item "InternalBondOrderToMDLBondType"
+.Vb 1
+\&    $MDLBondType = InternalBondOrderToMDLBondType($InternalBondOrder);
+.Ve
+.Sp
+Returns value of \fIMDLBondType\fR corresponding to \fIInternalBondOrder\fR.
+.Sp
+.Vb 1
+\&    InternalBondOrder  MDLBondType
+\&
+\&     1                  1
+\&     2                  2
+\&     3                  3
+\&     1.5                4
+.Ve
+.IP "\fBInternalBondStereochemistryToMDLBondStereo\fR" 4
+.IX Item "InternalBondStereochemistryToMDLBondStereo"
+.Vb 2
+\&    $MDLBondStereo = InternalBondStereochemistryToMDLBondStereo(
+\&                     $InternalBondStereo);
+.Ve
+.Sp
+Returns value of \fIMDLBondStereo\fR corresponding to \fIInternalBondStereo\fR using following
+mapping:
+.Sp
+.Vb 1
+\&    InternalBondStereo  MDLBondStereo
+\&
+\&     Up          1
+\&     UpOrDown    4
+\&     Down        6
+\&     CisOrTrans  3
+\&     Other       0
+.Ve
+.IP "\fBInternalChargeToMDLCharge\fR" 4
+.IX Item "InternalChargeToMDLCharge"
+.Vb 1
+\&    $MDLCharge = InternalChargeToMDLCharge($InternalCharge);
+.Ve
+.Sp
+Returns value of \fIMDLCharge\fR corresponding to \fIInternalCharge\fR using following
+mapping:
+.Sp
+.Vb 1
+\&    InternalCharge  MDLCharge
+\&
+\&     3               1
+\&     2               2
+\&     1               3
+\&    \-1              5
+\&    \-2              6
+\&    \-3              7
+.Ve
+.IP "\fBInternalSpinMultiplicityToMDLRadical\fR" 4
+.IX Item "InternalSpinMultiplicityToMDLRadical"
+.Vb 2
+\&    $MDLRadical = InternalSpinMultiplicityToMDLRadical(
+\&                  $InternalSpinMultiplicity);
+.Ve
+.Sp
+Returns value of \fIMDLRadical\fR corresponding to \fIInternalSpinMultiplicity\fR. These
+value are equivalent.
+.IP "\fBMDLBondStereoToInternalBondType\fR" 4
+.IX Item "MDLBondStereoToInternalBondType"
+.Vb 1
+\&    $InternalBondType = MDLBondStereoToInternalBondType($MDLBondStereo);
+.Ve
+.Sp
+Returns value of \fIInternalBondType\fR corresponding to \fIMDLBondStereo\fR using
+mapping shown for \fBInternalBondTypeToMDLBondStereo\fR function.
+.IP "\fBIsCmpd2D\fR" 4
+.IX Item "IsCmpd2D"
+.Vb 1
+\&    $Status = IsCmpd2D();
+.Ve
+.Sp
+Returns 1 or 0 based on whether z\-coordinate of any atom is non-zero.
+.IP "\fBIsCmpd3D\fR" 4
+.IX Item "IsCmpd3D"
+.Vb 1
+\&    $Status = IsCmpd3D();
+.Ve
+.Sp
+Returns 1 or 0 based on whether z\-coordinate of any atom is non-zero.
+.IP "\fBMDLBondStereoToInternalBondStereochemistry\fR" 4
+.IX Item "MDLBondStereoToInternalBondStereochemistry"
+.Vb 2
+\&    $InternalBondStereo = MDLBondStereoToInternalBondStereochemistry(
+\&                          $MDLBondStereo);
+.Ve
+.Sp
+Returns value of \fIInternalBondStereo\fR corresponding to \fIMDLBondStereo\fR using
+mapping shown for \fBInternalBondStereochemistryToMDLBondStereo\fR function.
+.IP "\fBMDLBondTypeToInternalBondOrder\fR" 4
+.IX Item "MDLBondTypeToInternalBondOrder"
+.Vb 1
+\&    $InternalBondOrder = MDLBondTypeToInternalBondOrder($MDLBondType);
+.Ve
+.Sp
+Returns value of \fIInternalBondOrder\fR corresponding to \fIMDLBondType\fR using
+mapping shown for \fBInternalBondOrderToMDLBondType\fR function.
+.IP "\fBMDLChargeToInternalCharge\fR" 4
+.IX Item "MDLChargeToInternalCharge"
+.Vb 1
+\&    $InternalCharge = MDLChargeToInternalCharge($MDLCharge);
+.Ve
+.Sp
+Returns value of \fI\f(CI$InternalCharge\fI\fR corresponding to \fIMDLCharge\fR using
+mapping shown for \fBInternalChargeToMDLCharge\fR function.
+.IP "\fBMDLRadicalToInternalSpinMultiplicity\fR" 4
+.IX Item "MDLRadicalToInternalSpinMultiplicity"
+.Vb 2
+\&    $InternalSpinMultiplicity = MDLRadicalToInternalSpinMultiplicity(
+\&                                $MDLRadical);
+.Ve
+.Sp
+Returns value of \fIInternalSpinMultiplicity\fR corresponding to \fIMDLRadical\fR. These
+value are equivalent.
+.IP "\fBParseCmpdAtomAliasPropertyLine\fR" 4
+.IX Item "ParseCmpdAtomAliasPropertyLine"
+.Vb 2
+\&    @AtomNumAndValuePairs = ParseCmpdAtomAliasPropertyLine(
+\&                            $CurrentLine, $NexLine);
+.Ve
+.Sp
+Parses atom alias propery lines in \s-1CTAB\s0 generic properties block and returns an array
+with successive pairs of values corresponding to atom number and its alias.
+.IP "\fBParseCmpdAtomLine\fR" 4
+.IX Item "ParseCmpdAtomLine"
+.Vb 2
+\&    ($AtomSymbol, $AtomX, $AtomY, $AtomZ, $MassDifference, $Charge,
+\&       $StereoParity) = ParseCmpdAtomLine($AtomDataLine);
+.Ve
+.Sp
+Parses compound data line containing atom information and returns a list
+of values.
+.IP "\fBParseCmpdBondLine\fR" 4
+.IX Item "ParseCmpdBondLine"
+.Vb 2
+\&    ($FirstAtomNum, $SecondAtomNum, $BondType) =
+\&       ParseCmpdBondLine($BondDataLine);
+.Ve
+.Sp
+Parses compound data line containing bond information and returns a list of
+values.
+.IP "\fBParseCmpdCommentsLine\fR" 4
+.IX Item "ParseCmpdCommentsLine"
+.Vb 1
+\&    $Comments = ParseCmpdCommentsLine($CommentsDataLine);
+.Ve
+.Sp
+Returns the comment string.
+.IP "\fBParseCmpdChargePropertyLine\fR" 4
+.IX Item "ParseCmpdChargePropertyLine"
+.Vb 2
+\&    @AtomNumAndValuePairs = ParseCmpdChargePropertyLine(
+\&                            $ChargeDataLine);
+.Ve
+.Sp
+Parses charge propery line in \s-1CTAB\s0 generic properties block and returns an array
+with successive pairs of values corresponding to atom number and its charge.
+.IP "\fBParseCmpdCountsLine\fR" 4
+.IX Item "ParseCmpdCountsLine"
+.Vb 2
+\&    ($AtomCount, $BondCount, $ChiralFlag, $PropertyCount, $Version) =
+\&       ParseCmpdCountsLine(\e@CountDataLines);
+.Ve
+.Sp
+Returns a list of values containing count information.
+.IP "\fBParseCmpdMiscInfoLine\fR" 4
+.IX Item "ParseCmpdMiscInfoLine"
+.Vb 2
+\&    ($UserInitial, $ProgramName, $Date, $Code, $ScalingFactor1, $ScalingFactor2,
+\&       $Energy, $RegistryNum) =  ParseCmpdMiscInfoLine($Line);
+.Ve
+.Sp
+Returns a list of values containing miscellaneous information.
+.IP "\fBParseCmpdIsotopePropertyLine\fR" 4
+.IX Item "ParseCmpdIsotopePropertyLine"
+.Vb 2
+\&    @AtomNumAndValuePairs = ParseCmpdIsotopePropertyLine(
+\&                            $IsotopeDataLine);
+.Ve
+.Sp
+Parses isotopic propery line in \s-1CTAB\s0 generic properties block and returns an array
+with successive pairs of values corresponding to atom number and absolute mass of
+atom isotope.
+.IP "\fBParseCmpdMolNameLine\fR" 4
+.IX Item "ParseCmpdMolNameLine"
+.Vb 1
+\&    $MolName = ParseCmpdMolNameLine($Line);
+.Ve
+.Sp
+Returns a string containing molecule name.
+.IP "\fBParseCmpdRadicalPropertyLine\fR" 4
+.IX Item "ParseCmpdRadicalPropertyLine"
+.Vb 2
+\&    @AtomNumAndValuePairs = ParseCmpdRadicalPropertyLine(
+\&                            $RadicalDataLine);
+.Ve
+.Sp
+Parses radical propery line in \s-1CTAB\s0 generic properties block and returns an array
+with successive pairs of values corresponding to atom number and radical number
+value.
+.IP "\fBRemoveCmpdDataHeaderLabelAndValue\fR" 4
+.IX Item "RemoveCmpdDataHeaderLabelAndValue"
+.Vb 2
+\&    $NewCmpdString = RemoveCmpdDataHeaderLabelAndValue($CmpdString,
+\&                                                       $DataHeaderLabel);
+.Ve
+.Sp
+Returns a \fBNewCmpdString\fR after removing  \fIDataHeaderLabel\fR along with its
+value from \fICmpdString\fR.
+.IP "\fBReadCmpdString\fR" 4
+.IX Item "ReadCmpdString"
+.Vb 1
+\&    $CmpdString = ReadCmpdString(\e*SDFILEHANDLE);
+.Ve
+.Sp
+Returns a string containing all the data lines for the next available compound
+in an already open file indicated by \s-1SDFILEHANDLE\s0. A \s-1NULL\s0 string is returned
+on \s-1EOF\s0.
+.IP "\fBWashCmpd\fR" 4
+.IX Item "WashCmpd"
+.Vb 2
+\&    ($FragmentCount, $Fragments, $WashedCmpdString) = 
+\&       WashCmpd(\e@CmpdLines);
+.Ve
+.Sp
+Figures out the number of disconnected fragments and return their values along
+with the atom numbers in a string delimited by new line character. Fragment data
+in \fBFragmentString\fR is sorted on based on its size.
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Manish Sud <msud@san.rr.com>
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+TextUtil.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.