view mayachemtools/docs/modules/man3/SDFileUtil.3 @ 9:ab29fa5c8c1f draft default tip

Uploaded
author deepakjadmin
date Thu, 15 Dec 2016 14:18:03 -0500
parents 73ae111cf86f
children
line wrap: on
line source

.\" 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.