Mercurial > repos > deepakjadmin > mayatool3_test2
comparison docs/modules/txt/PDBFileUtil.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 PDBFileUtil | |
3 | |
4 SYNOPSIS | |
5 use PDBFileUtil ; | |
6 | |
7 use PDBFileUtil qw(:all); | |
8 | |
9 DESCRIPTION | |
10 PDBFileUtil module provides the following functions: | |
11 | |
12 GenerateAtomOrHetatmRecordLine, GenerateAtomRecordLine, | |
13 GenerateConectRecordLine, GenerateEndRecordLine, | |
14 GenerateHeaderRecordLine, GenerateHeaderRecordTimeStamp, | |
15 GenerateHetatmRecordLine, GenerateTerRecordLine, GetAllResidues, | |
16 GetChainsAndResidues, GetConectRecordLines, GetExperimentalTechnique, | |
17 GetExperimentalTechniqueResolution, GetMinMaxCoords, GetPDBRecordType, | |
18 GetRecordTypesCount, IsAtomRecordType, IsConectRecordType, | |
19 IsEndmdlRecordType, IsHeaderRecordType, IsHetatmRecordType, | |
20 IsMasterRecordType, IsModelRecordType, IsPDBFile, IsSeqresRecordType, | |
21 IsTerRecordType, ParseAtomOrHetatmRecordLine, ParseAtomRecordLine, | |
22 ParseConectRecordLine, ParseExpdtaRecordLine, ParseHeaderRecordLine, | |
23 ParseHetatmRecordLine, ParseMasterRecordLine, | |
24 ParseRemark2ResolutionRecordLine, ParseSeqresRecordLine, | |
25 ParseTerRecordLine, ReadPDBFile | |
26 | |
27 METHODS | |
28 GenerateAtomOrHetatmRecordLine | |
29 $RecordLine = GenerateAtomOrHetatmRecordLine($RecordType, | |
30 $AtomNumber, $AtomName, $AlternateLocation, $ResidueName, | |
31 $ChainID, $ResidueNumber, $InsertionCode, $X, $Y, $Z, | |
32 $Occupancy, $TemperatureFactor, $SegmentID, | |
33 $ElementSymbol, $AtomCharge); | |
34 | |
35 Returns ATOM or HETATM record line. | |
36 | |
37 GenerateAtomRecordLine | |
38 $RecordLine = GenerateAtomRecordLine($AtomNumber, | |
39 $AtomName, $AlternateLocation, $ResidueName, $ChainID, | |
40 $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, | |
41 $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge); | |
42 | |
43 Returns ATOM record line. | |
44 | |
45 GenerateConectRecordLine | |
46 $RecordLine = GenerateConectRecordLine($AtomNum, $BondedAtomNum1, | |
47 $BondedAtomNum2, $BondedAtomNum3, $BondedAtomNum4, | |
48 $HBondedAtomNum1, $HBondedAtomNum2, $SaltBridgedAtomNum1, | |
49 $HBondedAtomNum3, $HBondedAtomNum4, $SaltBridgedAtomNum2); | |
50 | |
51 Returns CONECT record line. | |
52 | |
53 GenerateHeaderRecordLine | |
54 $RecordLine = GenerateHeaderRecordLine($IDCode, [$Classification, | |
55 $Date]); | |
56 | |
57 Returns HEADER record line. | |
58 | |
59 GenerateHeaderRecordTimeStamp | |
60 $Date = GenerateHeaderRecordTimeStamp(); | |
61 | |
62 Returns PDB header time stamp. | |
63 | |
64 GenerateHetatmRecordLine | |
65 $RecordLine = GenerateHetatmRecordLine($AtomNumber, $AtomName, | |
66 $AlternateLocation, $ResidueName, $ChainID, $ResidueNumber, | |
67 $InsertionCode, $X, $Y, $Z, $Occupancy, $TemperatureFactor, | |
68 $SegmentID, $ElementSymbol, $AtomCharge); | |
69 | |
70 Returns HETATM record line. | |
71 | |
72 GenerateEndRecordLine | |
73 $RecordLine = GenerateEndRecordLine(); | |
74 | |
75 Returns END record line. | |
76 | |
77 GenerateTerRecordLine | |
78 $RecordLine = GenerateTerRecordLine($SerialNumber, [$ResidueName, | |
79 $ChainID, $ResidueNumber, $InsertionCode]); | |
80 | |
81 Returns TER record line. | |
82 | |
83 GetAllResidues | |
84 $ResiduesDataRef = GetAllResidues($PDBRecordLinesRef); | |
85 | |
86 Gets residue information using ATOM/HETATM records and returns a | |
87 reference to a hash with following key/value pairs: | |
88 | |
89 $ResiduesDataRef->{ResidueNames} - Array of all the residues | |
90 $ResiduesDataRef->{ResidueCount}{$ResidueName} - Count of residues | |
91 $ResiduesDataRef->{AtomResidueNames}} - Array of all ATOM residues | |
92 $ResiduesDataRef->{AtomResidueCount}{$ResidueName} - Count of | |
93 residues in ATOM records | |
94 $ResiduesDataRef->{HetatomResidueNames} - List of all HETATM | |
95 residues | |
96 $ResiduesDataRef->{HetatmResidueCount}{$ResidueName} - Count of | |
97 residues HETATM records | |
98 | |
99 ATOM/HETATM records after the first ENDMDL records are simply | |
100 ingnored. | |
101 | |
102 GetChainsAndResidues | |
103 $ChainsDataRef = GetChainsAndResidues($PDBRecordLinesRef, | |
104 [$RecordsSource, $GetChainResiduesBeyondTERFlag, | |
105 $GetRecordLinesFlag]); | |
106 | |
107 Gets chains and residue information using ATOM/HETATM or SEQRES | |
108 records and returns a reference to a hash with these keys: | |
109 | |
110 $ChainsDataRef->{ChainIDs} - List of chain IDs with 'None' for | |
111 no IDs | |
112 $ChainsDataRef->{Residues}{$ChainID} - List of residues in order | |
113 of their appearance in a chain | |
114 $ChainsDataRef->{ResidueCount}{$ChainID}{$ResidueName} - Count of | |
115 residues in a chain | |
116 | |
117 Chains and residue data can be extacted using either ATOM/HETATM | |
118 records or SEQRES records. ATOM/HETATM records after the first | |
119 ENDMDL records are simply ingnored. | |
120 | |
121 GetConectRecordLines | |
122 $ConectRecordLinesRef = GetConectRecordLines($PDBRecordLinesRef, | |
123 $AtomNumbersMapRef); | |
124 | |
125 Collects CONECT record lines for specific atom number, modified | |
126 specified data to exclude any atom number not present in the list of | |
127 specified atom numbers and returns a reference to list of CONECT | |
128 record lines. | |
129 | |
130 GetExperimentalTechnique | |
131 $ExperimentalTechnique = GetExperimentalTechnique($PDBRecordLinesRef); | |
132 | |
133 Returns *ExperimentalTechnique* value retrieved from EXPDATA record | |
134 line. | |
135 | |
136 GetExperimentalTechniqueResolution | |
137 ($Resolution, $ResolutionUnits) = GetExperimentalTechniqueResolution( | |
138 $PDBRecordLinesRef); | |
139 | |
140 Returns *Resolution* and *ResolutionUnits* values from REMARK 2 | |
141 RESOLUTION record line. | |
142 | |
143 GetMinMaxCoords | |
144 ($XMin, $YMin, $ZMin, $XMax, $YMax, $ZMax) = | |
145 GetMinMaxCoords($PDBRecordLinesRef); | |
146 | |
147 Returns minimum and maximum XYZ coordinates for ATOM/HETATM records. | |
148 | |
149 GetPDBRecordType | |
150 $RecordType = GetPDBRecordType($RecordLine); | |
151 | |
152 Returns type of *RecordLine*. | |
153 | |
154 GetRecordTypesCount | |
155 $RecordTypeDataRef = GetRecordTypesCount($PDBRecordLinesRef, | |
156 [$SpecifiedRecordType, $GetRecordLinesFlag]); | |
157 | |
158 Counts the number of each record type or a $SpecifiedRecordType and | |
159 returns a reference to data type with following key/value pairs: | |
160 | |
161 $RecordTypeDataRef->{RecordTypes} - An array of unique record types | |
162 in order of their presence in the file | |
163 $RecordTypeDataRef->{Count}{$RecordType} - Count of each record type | |
164 $RecordTypeDataRef->{Lines}{$RecordType} - Optional lines data for a | |
165 specific record type. | |
166 | |
167 IsAtomRecordType | |
168 $Status = IsAtomRecordType($RecordLine); | |
169 | |
170 Returns 1 or 0 based on whether it's a ATOM record line. | |
171 | |
172 IsConectRecordType | |
173 $Status = IsAtomConectType($RecordLine); | |
174 | |
175 Returns 1 or 0 based on whether it's a CONECT record line. | |
176 | |
177 IsEndmdlRecordType | |
178 $Status = IsEndmdlRecordType($RecordLine); | |
179 | |
180 Returns 1 or 0 based on whether it's a ENDMDL a record line. | |
181 | |
182 IsHeaderRecordType | |
183 $Status = IsHeaderRecordType($RecordLine); | |
184 | |
185 Returns 1 or 0 based on whether it's a HEADER a record line. | |
186 | |
187 IsHetatmRecordType | |
188 $Status = IsHetatmRecordType($RecordLine); | |
189 | |
190 Returns 1 or 0 based on whether it's a HETATM a record line. | |
191 | |
192 IsMasterRecordType | |
193 $Status = IsMasterRecordType($RecordLine); | |
194 | |
195 Returns 1 or 0 based on whether it's a MASTER a record line. | |
196 | |
197 IsModelRecordType | |
198 $Status = IsModelRecordType($RecordLine); | |
199 | |
200 Returns 1 or 0 based on whether it's a MODEL record line. | |
201 | |
202 IsPDBFile | |
203 $Status = IsPDBFile($PDBFile); | |
204 | |
205 Returns 1 or 0 based on whether it's a PDB file. | |
206 | |
207 IsSeqresRecordType | |
208 $Status = IsSeqresRecordType($RecordLine); | |
209 | |
210 Returns 1 or 0 based on whether it's SEQRES a record line. | |
211 | |
212 IsTerRecordType | |
213 $Status = IsTerRecordType($RecordLine); | |
214 | |
215 Returns 1 or 0 based on whether it's a TER record line. | |
216 | |
217 ParseAtomOrHetatmRecordLine | |
218 ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, | |
219 $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, | |
220 $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = | |
221 ParseAtomOrHetatmRecordLine($RecordLine); | |
222 | |
223 Parses ATOM or HETATM record line. | |
224 | |
225 ParseAtomRecordLine | |
226 ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, | |
227 $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, | |
228 $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = | |
229 ParseAtomRecordLine($RecordLine); | |
230 | |
231 Parses ATOM record line. | |
232 | |
233 ParseConectRecordLine | |
234 ($AtomNum, $BondedAtomNum1, $BondedAtomNum2, $BondedAtomNum3, | |
235 $BondedAtomNum4, $HBondedAtomNum1, $HBondedAtomNum2, | |
236 $SaltBridgedAtomNum1, $HBondedAtomNum3, $HBondedAtomNum4, | |
237 $SaltBridgedAtomNum2) = ParseConectRecordLine($RecordLine); | |
238 | |
239 Parses CONECT record line. | |
240 | |
241 ParseExpdtaRecordLine | |
242 ($ContinuationNum, $ExperimentalTechnique) = ParseExpdtaRecordLine($Line); | |
243 | |
244 Parses EXPDTA record line. | |
245 | |
246 ParseHeaderRecordLine | |
247 ($Classification, $DepositionDate, $IDCode) = ParseHeaderRecordLine($RecordLine); | |
248 | |
249 Parses HEADER record line | |
250 | |
251 ParseHetatmRecordLine | |
252 ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, | |
253 $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, | |
254 $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = | |
255 ParseHetatmRecordLine($RecordLine); | |
256 | |
257 Parses HETATM record line. | |
258 | |
259 ParseMasterRecordLine | |
260 ($NumOfRemarkRecords, $NumOfHetRecords, $NumOfHelixRecords, | |
261 $NumOfSheetRecords, $NumOfTurnRecords, $NumOfSiteRecords, | |
262 $NumOfTransformationsRecords, $NumOfAtomAndHetatmRecords, | |
263 $NumOfTerRecords, $NumOfConectRecords, $NumOfSeqresRecords) = | |
264 ParseMasterRecordLine($RecordLine); | |
265 | |
266 Parses MASTER ecord line. | |
267 | |
268 ParseRemark2ResolutionRecordLine | |
269 ($Resolution, $ResolutionUnits) = ParseRemark2ResolutionRecordLine( | |
270 $RecordLine); | |
271 | |
272 Parses REMARK 2 RESOLUTION record line. | |
273 | |
274 ParseSeqresRecordLine | |
275 ($RecordSerialNumber, $ChainID, $NumOfResidues, $ResidueNames) = | |
276 ParseSeqresRecordLine($RecordLine); | |
277 | |
278 Parses SEQRES record line. | |
279 | |
280 ParseTerRecordLine | |
281 ($SerialNumber, $ResidueName, $ChainID, $ResidueNumber, $InsertionCode) = | |
282 ParseTerRecordLine($RecordLine); | |
283 | |
284 Parses TER record line. | |
285 | |
286 ReadPDBFile | |
287 $PDBRecordLinesRef = ReadPDBFile($PDBFile); | |
288 | |
289 Reads PDB file and returns reference to record lines. | |
290 | |
291 AUTHOR | |
292 Manish Sud <msud@san.rr.com> | |
293 | |
294 SEE ALSO | |
295 FileUtil.pm, SequenceFileUtil.pm, TextUtil.pm | |
296 | |
297 COPYRIGHT | |
298 Copyright (C) 2015 Manish Sud. All rights reserved. | |
299 | |
300 This file is part of MayaChemTools. | |
301 | |
302 MayaChemTools is free software; you can redistribute it and/or modify it | |
303 under the terms of the GNU Lesser General Public License as published by | |
304 the Free Software Foundation; either version 3 of the License, or (at | |
305 your option) any later version. | |
306 |