annotate mayachemtools/docs/modules/txt/SDFileUtil.txt @ 9:ab29fa5c8c1f draft default tip

Uploaded
author deepakjadmin
date Thu, 15 Dec 2016 14:18:03 -0500
parents 73ae111cf86f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1 NAME
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2 SDFileUtil
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
3
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
4 SYNOPSIS
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
5 use SDFileUtil ;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
6
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
7 use SDFileUtil qw(:all);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
8
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
9 DESCRIPTION
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
10 SDFileUtil module provides the following functions:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
11
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
12 GenerateCmpdAtomAliasPropertyLines, GenerateCmpdAtomLine,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
13 GenerateCmpdBondLine, GenerateCmpdChargePropertyLines,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
14 GenerateCmpdCommentsLine, GenerateCmpdCountsLine,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
15 GenerateCmpdDataHeaderLabelsAndValuesLines,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
16 GenerateCmpdIsotopePropertyLines, GenerateCmpdMiscInfoLine,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
17 GenerateCmpdMolNameLine, GenerateCmpdRadicalPropertyLines,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
18 GenerateEmptyCtabBlockLines, GenerateMiscLineDateStamp,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
19 GetAllAndCommonCmpdDataHeaderLabels, GetCmpdDataHeaderLabels,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
20 GetCmpdDataHeaderLabelsAndValues, GetCmpdFragments, GetCtabLinesCount,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
21 GetInvalidAtomNumbers, GetUnknownAtoms, InternalBondOrderToMDLBondType,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
22 InternalBondStereochemistryToMDLBondStereo, InternalChargeToMDLCharge,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
23 InternalSpinMultiplicityToMDLRadical, IsCmpd2D, IsCmpd3D,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
24 MDLBondStereoToInternalBondStereochemistry,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
25 MDLBondTypeToInternalBondOrder, MDLChargeToInternalCharge,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
26 MDLRadicalToInternalSpinMultiplicity, ParseCmpdAtomAliasPropertyLine,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
27 ParseCmpdAtomLine, ParseCmpdBondLine, ParseCmpdChargePropertyLine,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
28 ParseCmpdCommentsLine, ParseCmpdCountsLine,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
29 ParseCmpdIsotopePropertyLine, ParseCmpdMiscInfoLine,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
30 ParseCmpdMolNameLine, ParseCmpdRadicalPropertyLine, ReadCmpdString,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
31 RemoveCmpdDataHeaderLabelAndValue, WashCmpd
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
32
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
33 METHODS
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
34 GenerateCmpdAtomAliasPropertyLines
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
35 @Lines = GenerateCmpdAtomAliasPropertyLines($AliasValuePairsRef);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
36
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
37 Returns a formatted atom alias property lines corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
38 successive pairs of atom number and alias values specified by a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
39 refernce to an array. Two lines are generate for each atom number
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
40 and alias value pairs: First line - A <AtomNum>; Second
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
41 line:<AtomAlias>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
42
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
43 GenerateCmpdAtomLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
44 $Line = GenerateCmpdAtomLine($AtomSymbol, $AtomX, $AtomY,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
45 $AtomZ, [$MassDifference, $Charge, $StereoParity]);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
46
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
47 Returns a formatted atom data line containing all the input values.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
48
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
49 GenerateCmpdBondLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
50 $Line = GenerateCmpdBondLine($FirstAtomNum, $SecondAtomNum,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
51 $BondType, [$BondStereo]);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
52
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
53 Returns a formatted bond data line containing all the input values.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
54
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
55 GenerateCmpdChargePropertyLines
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
56 @Lines = GenerateCmpdChargePropertyLines($ChargeValuePairsRef);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
57
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
58 Returns a formatted M CHG property lines corresponding to successive
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
59 pairs of atom number and charge values specified by a refernce to an
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
60 array.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
61
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
62 GenerateCmpdCommentsLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
63 $Line = GenerateCmpdCommentsLine($Comments);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
64
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
65 Returns a formatted comments data line.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
66
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
67 GenerateCmpdCountsLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
68 $Line = GenerateCmpdCountsLine($AtomCount, $BondCount,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
69 $ChiralFlag, [$PropertyCount, $Version]);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
70
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
71 Returns a formatted line containing all the input values. The
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
72 default values of 999 and V2000 are used for *PropertyCount* and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
73 *Version*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
74
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
75 GenerateCmpdDataHeaderLabelsAndValuesLines
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
76 @Lines = GenerateCmpdDataHeaderLabelsAndValuesLines(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
77 $DataHeaderLabelsRef, $DataHeaderLabelsAndValuesRef,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
78 [$SortDataLabels]);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
79
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
80 Returns formatted data lines containing header label and values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
81 lines corresponding to all data header labels in array reference
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
82 *DataHeaderLabelsRef* with values in hash reference
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
83 *DataHeaderLabelsAndValuesRef*. By default, data header labels are
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
84 not sorted and correspond to the label order in array reference
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
85 *DataHeaderLabelsRef*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
86
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
87 GenerateCmpdIsotopePropertyLines
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
88 @Lines = GenerateCmpdIsotopePropertyLines($IsotopeValuePairsRef);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
89
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
90 Returns a formatted M ISO property lines corresponding to successive
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
91 pairs of atom number and isotope values specified by a refernce to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
92 an array.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
93
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
94 GenerateCmpdMiscInfoLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
95 $Line = GenerateCmpdMiscInfoLine([$ProgramName, $UserInitial,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
96 $Code]);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
97
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
98 Returns a formatted line containing specified user initial, program
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
99 name, date and code. Default values are: *ProgramName - MayaChem;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
100 UserInitial - NULL; Code - 2D*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
101
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
102 GenerateCmpdMolNameLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
103 $Line = GenerateCmpdMolNameLine($MolName);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
104
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
105 Returns a formatted molecule name data line.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
106
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
107 GenerateCmpdRadicalPropertyLines
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
108 @Lines = GenerateCmpdRadicalPropertyLines($RadicalValuePairsRef);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
109
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
110 Returns a formatted M CHG property lines corresponding to successive
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
111 pairs of atom number and multiplicity values specified by a refernce
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
112 to an array.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
113
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
114 GenerateEmptyCtabBlockLines
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
115 $Lines = GenerateCmpdMiscInfoLine([$Date]);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
116
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
117 Returns formatted lines representing empty CTAB block.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
118
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
119 GenerateMiscLineDateStamp
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
120 $Line = GenerateMiscLineDateStamp();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
121
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
122 Returns date stamp for misc line.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
123
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
124 GetAllAndCommonCmpdDataHeaderLabels
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
125 ($CmpdCount, $DataFieldLabelsArrayRef,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
126 $CommonDataFieldLabelsArrayRef) =
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
127 GetAllAndCommonCmpdDataHeaderLabels(\*SDFILE);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
128
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
129 Returns number of comopunds, a reference to an array containing all
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
130 unique data header label and a reference to an array containing
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
131 common data field labels for all compounds in SD file.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
132
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
133 GetCmpdDataHeaderLabels
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
134 (@Labels) = GetCmpdDataHeaderLabels(\@CmpdLines);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
135
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
136 Returns an array containg data header labels for a compound
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
137
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
138 GetCmpdDataHeaderLabelsAndValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
139 (%DataValues) = GetCmpdDataHeaderLabelsAndValues(\@CmpdLines);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
140
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
141 Returns a hash conating data header labes and values for a compound.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
142
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
143 GetCmpdFragments
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
144 ($FragmentCount, $FragmentString) = GetCmpdFragments(\@CmpLines);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
145
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
146 Figures out the number of disconnected fragments and return their
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
147 values along with the atom numbers in a string delimited by new line
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
148 character. Fragment data in FragmentString is sorted on based on its
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
149 size.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
150
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
151 GetCtabLinesCount
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
152 $CtabLinesCount = GetCtabLinesCount(\@CmpdLines);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
153
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
154 Returns number of lines present between the 4th line and the line
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
155 containg "M END".
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
156
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
157 GetInvalidAtomNumbers
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
158 ($InvalidAtomNumbersCount, $InvalidAtomNumbers, $InvalidAtomNumberLines) =
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
159 GetInvalidAtomNumbers(\@CmpdLines);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
160
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
161 Returns a list of values containing information about invalid atom
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
162 numbers present in block or atom property lines.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
163
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
164 GetUnknownAtoms
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
165 ($UnknownAtomCount, $UnknownAtoms, $UnknownAtomLines) =
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
166 GetUnknownAtoms(\@CmpdLines);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
167
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
168 Returns a list of values containing information about atoms which
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
169 contain special element symbols not present in the periodic table.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
170
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
171 InternalBondOrderToMDLBondType
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
172 $MDLBondType = InternalBondOrderToMDLBondType($InternalBondOrder);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
173
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
174 Returns value of *MDLBondType* corresponding to *InternalBondOrder*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
175
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
176 InternalBondOrder MDLBondType
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
177
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
178 1 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
179 2 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
180 3 3
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
181 1.5 4
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
182
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
183 InternalBondStereochemistryToMDLBondStereo
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
184 $MDLBondStereo = InternalBondStereochemistryToMDLBondStereo(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
185 $InternalBondStereo);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
186
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
187 Returns value of *MDLBondStereo* corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
188 *InternalBondStereo* using following mapping:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
189
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
190 InternalBondStereo MDLBondStereo
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
191
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
192 Up 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
193 UpOrDown 4
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
194 Down 6
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
195 CisOrTrans 3
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
196 Other 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
197
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
198 InternalChargeToMDLCharge
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
199 $MDLCharge = InternalChargeToMDLCharge($InternalCharge);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
200
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
201 Returns value of *MDLCharge* corresponding to *InternalCharge* using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
202 following mapping:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
203
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
204 InternalCharge MDLCharge
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
205
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
206 3 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
207 2 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
208 1 3
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
209 -1 5
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
210 -2 6
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
211 -3 7
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
212
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
213 InternalSpinMultiplicityToMDLRadical
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
214 $MDLRadical = InternalSpinMultiplicityToMDLRadical(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
215 $InternalSpinMultiplicity);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
216
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
217 Returns value of *MDLRadical* corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
218 *InternalSpinMultiplicity*. These value are equivalent.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
219
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
220 MDLBondStereoToInternalBondType
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
221 $InternalBondType = MDLBondStereoToInternalBondType($MDLBondStereo);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
222
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
223 Returns value of *InternalBondType* corresponding to *MDLBondStereo*
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
224 using mapping shown for InternalBondTypeToMDLBondStereo function.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
225
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
226 IsCmpd2D
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
227 $Status = IsCmpd2D();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
228
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
229 Returns 1 or 0 based on whether z-coordinate of any atom is
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
230 non-zero.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
231
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
232 IsCmpd3D
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
233 $Status = IsCmpd3D();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
234
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
235 Returns 1 or 0 based on whether z-coordinate of any atom is
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
236 non-zero.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
237
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
238 MDLBondStereoToInternalBondStereochemistry
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
239 $InternalBondStereo = MDLBondStereoToInternalBondStereochemistry(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
240 $MDLBondStereo);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
241
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
242 Returns value of *InternalBondStereo* corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
243 *MDLBondStereo* using mapping shown for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
244 InternalBondStereochemistryToMDLBondStereo function.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
245
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
246 MDLBondTypeToInternalBondOrder
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
247 $InternalBondOrder = MDLBondTypeToInternalBondOrder($MDLBondType);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
248
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
249 Returns value of *InternalBondOrder* corresponding to *MDLBondType*
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
250 using mapping shown for InternalBondOrderToMDLBondType function.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
251
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
252 MDLChargeToInternalCharge
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
253 $InternalCharge = MDLChargeToInternalCharge($MDLCharge);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
254
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
255 Returns value of *$InternalCharge* corresponding to *MDLCharge*
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
256 using mapping shown for InternalChargeToMDLCharge function.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
257
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
258 MDLRadicalToInternalSpinMultiplicity
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
259 $InternalSpinMultiplicity = MDLRadicalToInternalSpinMultiplicity(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
260 $MDLRadical);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
261
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
262 Returns value of *InternalSpinMultiplicity* corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
263 *MDLRadical*. These value are equivalent.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
264
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
265 ParseCmpdAtomAliasPropertyLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
266 @AtomNumAndValuePairs = ParseCmpdAtomAliasPropertyLine(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
267 $CurrentLine, $NexLine);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
268
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
269 Parses atom alias propery lines in CTAB generic properties block and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
270 returns an array with successive pairs of values corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
271 atom number and its alias.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
272
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
273 ParseCmpdAtomLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
274 ($AtomSymbol, $AtomX, $AtomY, $AtomZ, $MassDifference, $Charge,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
275 $StereoParity) = ParseCmpdAtomLine($AtomDataLine);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
276
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
277 Parses compound data line containing atom information and returns a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
278 list of values.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
279
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
280 ParseCmpdBondLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
281 ($FirstAtomNum, $SecondAtomNum, $BondType) =
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
282 ParseCmpdBondLine($BondDataLine);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
283
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
284 Parses compound data line containing bond information and returns a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
285 list of values.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
286
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
287 ParseCmpdCommentsLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
288 $Comments = ParseCmpdCommentsLine($CommentsDataLine);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
289
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
290 Returns the comment string.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
291
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
292 ParseCmpdChargePropertyLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
293 @AtomNumAndValuePairs = ParseCmpdChargePropertyLine(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
294 $ChargeDataLine);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
295
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
296 Parses charge propery line in CTAB generic properties block and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
297 returns an array with successive pairs of values corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
298 atom number and its charge.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
299
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
300 ParseCmpdCountsLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
301 ($AtomCount, $BondCount, $ChiralFlag, $PropertyCount, $Version) =
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
302 ParseCmpdCountsLine(\@CountDataLines);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
303
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
304 Returns a list of values containing count information.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
305
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
306 ParseCmpdMiscInfoLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
307 ($UserInitial, $ProgramName, $Date, $Code, $ScalingFactor1, $ScalingFactor2,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
308 $Energy, $RegistryNum) = ParseCmpdMiscInfoLine($Line);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
309
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
310 Returns a list of values containing miscellaneous information.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
311
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
312 ParseCmpdIsotopePropertyLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
313 @AtomNumAndValuePairs = ParseCmpdIsotopePropertyLine(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
314 $IsotopeDataLine);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
315
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
316 Parses isotopic propery line in CTAB generic properties block and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
317 returns an array with successive pairs of values corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
318 atom number and absolute mass of atom isotope.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
319
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
320 ParseCmpdMolNameLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
321 $MolName = ParseCmpdMolNameLine($Line);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
322
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
323 Returns a string containing molecule name.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
324
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
325 ParseCmpdRadicalPropertyLine
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
326 @AtomNumAndValuePairs = ParseCmpdRadicalPropertyLine(
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
327 $RadicalDataLine);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
328
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
329 Parses radical propery line in CTAB generic properties block and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
330 returns an array with successive pairs of values corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
331 atom number and radical number value.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
332
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
333 RemoveCmpdDataHeaderLabelAndValue
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
334 $NewCmpdString = RemoveCmpdDataHeaderLabelAndValue($CmpdString,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
335 $DataHeaderLabel);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
336
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
337 Returns a NewCmpdString after removing *DataHeaderLabel* along with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
338 its value from *CmpdString*.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
339
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
340 ReadCmpdString
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
341 $CmpdString = ReadCmpdString(\*SDFILEHANDLE);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
342
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
343 Returns a string containing all the data lines for the next
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
344 available compound in an already open file indicated by
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
345 SDFILEHANDLE. A NULL string is returned on EOF.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
346
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
347 WashCmpd
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
348 ($FragmentCount, $Fragments, $WashedCmpdString) =
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
349 WashCmpd(\@CmpdLines);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
350
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
351 Figures out the number of disconnected fragments and return their
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
352 values along with the atom numbers in a string delimited by new line
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
353 character. Fragment data in FragmentString is sorted on based on its
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
354 size.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
355
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
356 AUTHOR
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
357 Manish Sud <msud@san.rr.com>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
358
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
359 SEE ALSO
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
360 TextUtil.pm
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
361
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
362 COPYRIGHT
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
363 Copyright (C) 2015 Manish Sud. All rights reserved.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
364
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
365 This file is part of MayaChemTools.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
366
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
367 MayaChemTools is free software; you can redistribute it and/or modify it
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
368 under the terms of the GNU Lesser General Public License as published by
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
369 the Free Software Foundation; either version 3 of the License, or (at
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
370 your option) any later version.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
371