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