Mercurial > repos > deepakjadmin > mayatool3_test3
diff mayachemtools/docs/modules/html/PDBFileUtil.html @ 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/html/PDBFileUtil.html Wed Jan 20 11:55:01 2016 -0500 @@ -0,0 +1,370 @@ +<html> +<head> +<title>MayaChemTools:Documentation:PDBFileUtil.pm</title> +<meta http-equiv="content-type" content="text/html;charset=utf-8"> +<link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css"> +</head> +<body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10"> +<br/> +<center> +<a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a> +</center> +<br/> +<div class="DocNav"> +<table width="100%" border=0 cellpadding=0 cellspacing=2> +<tr align="left" valign="top"><td width="33%" align="left"><a href="./YYLexer.html" title="YYLexer.html">Previous</a> <a href="./index.html" title="Table of Contents">TOC</a> <a href="./PeriodicTable.html" title="PeriodicTable.html">Next</a></td><td width="34%" align="middle"><strong>PDBFileUtil.pm</strong></td><td width="33%" align="right"><a href="././code/PDBFileUtil.html" title="View source code">Code</a> | <a href="./../pdf/PDBFileUtil.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/PDBFileUtil.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/PDBFileUtil.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/PDBFileUtil.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr> +</table> +</div> +<p> +</p> +<h2>NAME</h2> +<p>PDBFileUtil</p> +<p> +</p> +<h2>SYNOPSIS</h2> +<p>use PDBFileUtil ;</p> +<p>use PDBFileUtil qw(:all);</p> +<p> +</p> +<h2>DESCRIPTION</h2> +<p><strong>PDBFileUtil</strong> module provides the following functions:</p> +<p> <a href="#generateatomorhetatmrecordline">GenerateAtomOrHetatmRecordLine</a>, <a href="#generateatomrecordline">GenerateAtomRecordLine</a>, <a href="#generateconectrecordline">GenerateConectRecordLine</a> +, <a href="#generateendrecordline">GenerateEndRecordLine</a>, <a href="#generateheaderrecordline">GenerateHeaderRecordLine</a>, <a href="#generateheaderrecordtimestamp">GenerateHeaderRecordTimeStamp</a> +, <a href="#generatehetatmrecordline">GenerateHetatmRecordLine</a>, <a href="#generateterrecordline">GenerateTerRecordLine</a>, <a href="#getallresidues">GetAllResidues</a> +, <a href="#getchainsandresidues">GetChainsAndResidues</a>, <a href="#getconectrecordlines">GetConectRecordLines</a>, <a href="#getexperimentaltechnique">GetExperimentalTechnique</a> +, <a href="#getexperimentaltechniqueresolution">GetExperimentalTechniqueResolution</a>, <a href="#getminmaxcoords">GetMinMaxCoords</a>, <a href="#getpdbrecordtype">GetPDBRecordType</a> +, <a href="#getrecordtypescount">GetRecordTypesCount</a>, <a href="#isatomrecordtype">IsAtomRecordType</a>, <a href="#isconectrecordtype">IsConectRecordType</a>, <a href="#isendmdlrecordtype">IsEndmdlRecordType</a> +, <a href="#isheaderrecordtype">IsHeaderRecordType</a>, <a href="#ishetatmrecordtype">IsHetatmRecordType</a>, <a href="#ismasterrecordtype">IsMasterRecordType</a>, <a href="#ismodelrecordtype">IsModelRecordType</a> +, <a href="#ispdbfile">IsPDBFile</a>, <a href="#isseqresrecordtype">IsSeqresRecordType</a>, <a href="#isterrecordtype">IsTerRecordType</a>, <a href="#parseatomorhetatmrecordline">ParseAtomOrHetatmRecordLine</a> +, <a href="#parseatomrecordline">ParseAtomRecordLine</a>, <a href="#parseconectrecordline">ParseConectRecordLine</a>, <a href="#parseexpdtarecordline">ParseExpdtaRecordLine</a> +, <a href="#parseheaderrecordline">ParseHeaderRecordLine</a>, <a href="#parsehetatmrecordline">ParseHetatmRecordLine</a>, <a href="#parsemasterrecordline">ParseMasterRecordLine</a> +, <a href="#parseremark2resolutionrecordline">ParseRemark2ResolutionRecordLine</a>, <a href="#parseseqresrecordline">ParseSeqresRecordLine</a>, <a href="#parseterrecordline">ParseTerRecordLine</a> +, <a href="#readpdbfile">ReadPDBFile</a> +</p><p> +</p> +<h2>METHODS</h2> +<dl> +<dt><strong><a name="generateatomorhetatmrecordline" class="item"><strong>GenerateAtomOrHetatmRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordLine = GenerateAtomOrHetatmRecordLine($RecordType, + $AtomNumber, $AtomName, $AlternateLocation, $ResidueName, + $ChainID, $ResidueNumber, $InsertionCode, $X, $Y, $Z, + $Occupancy, $TemperatureFactor, $SegmentID, + $ElementSymbol, $AtomCharge);</div> +<p>Returns ATOM or HETATM record line.</p> +</dd> +<dt><strong><a name="generateatomrecordline" class="item"><strong>GenerateAtomRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordLine = GenerateAtomRecordLine($AtomNumber, + $AtomName, $AlternateLocation, $ResidueName, $ChainID, + $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, + $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge);</div> +<p>Returns ATOM record line.</p> +</dd> +<dt><strong><a name="generateconectrecordline" class="item"><strong>GenerateConectRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordLine = GenerateConectRecordLine($AtomNum, $BondedAtomNum1, + $BondedAtomNum2, $BondedAtomNum3, $BondedAtomNum4, + $HBondedAtomNum1, $HBondedAtomNum2, $SaltBridgedAtomNum1, + $HBondedAtomNum3, $HBondedAtomNum4, $SaltBridgedAtomNum2);</div> +<p>Returns CONECT record line.</p> +</dd> +<dt><strong><a name="generateheaderrecordline" class="item"><strong>GenerateHeaderRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordLine = GenerateHeaderRecordLine($IDCode, [$Classification, + $Date]);</div> +<p>Returns HEADER record line.</p> +</dd> +<dt><strong><a name="generateheaderrecordtimestamp" class="item"><strong>GenerateHeaderRecordTimeStamp</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Date = GenerateHeaderRecordTimeStamp();</div> +<p>Returns PDB header time stamp.</p> +</dd> +<dt><strong><a name="generatehetatmrecordline" class="item"><strong>GenerateHetatmRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordLine = GenerateHetatmRecordLine($AtomNumber, $AtomName, +<br/> $AlternateLocation, $ResidueName, $ChainID, $ResidueNumber, +<br/> $InsertionCode, $X, $Y, $Z, $Occupancy, $TemperatureFactor, +<br/> $SegmentID, $ElementSymbol, $AtomCharge);</div> +<p>Returns HETATM record line.</p> +</dd> +<dt><strong><a name="generateendrecordline" class="item"><strong>GenerateEndRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordLine = GenerateEndRecordLine();</div> +<p>Returns END record line.</p> +</dd> +<dt><strong><a name="generateterrecordline" class="item"><strong>GenerateTerRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordLine = GenerateTerRecordLine($SerialNumber, [$ResidueName, + $ChainID, $ResidueNumber, $InsertionCode]);</div> +<p>Returns TER record line.</p> +</dd> +<dt><strong><a name="getallresidues" class="item"><strong>GetAllResidues</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $ResiduesDataRef = GetAllResidues($PDBRecordLinesRef);</div> +<p>Gets residue information using ATOM/HETATM records and returns a reference to a hash with +following key/value pairs:</p> +<div class="OptionsBox"> + $ResiduesDataRef->{ResidueNames} - Array of all the residues +<br/> $ResiduesDataRef->{ResidueCount}{$ResidueName} - Count of residues +<br/> $ResiduesDataRef->{AtomResidueNames}} - Array of all ATOM residues +<br/> $ResiduesDataRef->{AtomResidueCount}{$ResidueName} - Count of + residues in ATOM records +<br/> $ResiduesDataRef->{HetatomResidueNames} - List of all HETATM + residues +<br/> $ResiduesDataRef->{HetatmResidueCount}{$ResidueName} - Count of + residues HETATM records</div> +<p>ATOM/HETATM records after the first ENDMDL records are simply ingnored.</p> +</dd> +<dt><strong><a name="getchainsandresidues" class="item"><strong>GetChainsAndResidues</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $ChainsDataRef = GetChainsAndResidues($PDBRecordLinesRef, + [$RecordsSource, $GetChainResiduesBeyondTERFlag, + $GetRecordLinesFlag]);</div> +<p>Gets chains and residue information using ATOM/HETATM or SEQRES records and returns a reference to a +hash with these keys:</p> +<div class="OptionsBox"> + $ChainsDataRef->{ChainIDs} - List of chain IDs with 'None' for + no IDs +<br/> $ChainsDataRef->{Residues}{$ChainID} - List of residues in order + of their appearance in a chain +<br/> $ChainsDataRef->{ResidueCount}{$ChainID}{$ResidueName} - Count of + residues in a chain</div> +<p>Chains and residue data can be extacted using either ATOM/HETATM records or SEQRES records. +ATOM/HETATM records after the first ENDMDL records are simply ingnored.</p> +</dd> +<dt><strong><a name="getconectrecordlines" class="item"><strong>GetConectRecordLines</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $ConectRecordLinesRef = GetConectRecordLines($PDBRecordLinesRef, + $AtomNumbersMapRef);</div> +<p>Collects CONECT record lines for specific atom number, modified specified data to exclude any atom +number not present in the list of specified atom numbers and returns a reference to list of +CONECT record lines.</p> +</dd> +<dt><strong><a name="getexperimentaltechnique" class="item"><strong>GetExperimentalTechnique</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $ExperimentalTechnique = GetExperimentalTechnique($PDBRecordLinesRef);</div> +<p>Returns <em>ExperimentalTechnique</em> value retrieved from EXPDATA record line.</p> +</dd> +<dt><strong><a name="getexperimentaltechniqueresolution" class="item"><strong>GetExperimentalTechniqueResolution</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($Resolution, $ResolutionUnits) = GetExperimentalTechniqueResolution( + $PDBRecordLinesRef);</div> +<p>Returns <em>Resolution</em> and <em>ResolutionUnits</em> values from REMARK 2 RESOLUTION +record line.</p> +</dd> +<dt><strong><a name="getminmaxcoords" class="item"><strong>GetMinMaxCoords</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($XMin, $YMin, $ZMin, $XMax, $YMax, $ZMax) = + GetMinMaxCoords($PDBRecordLinesRef);</div> +<p>Returns minimum and maximum XYZ coordinates for ATOM/HETATM records.</p> +</dd> +<dt><strong><a name="getpdbrecordtype" class="item"><strong>GetPDBRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordType = GetPDBRecordType($RecordLine);</div> +<p>Returns type of <em>RecordLine</em>.</p> +</dd> +<dt><strong><a name="getrecordtypescount" class="item"><strong>GetRecordTypesCount</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $RecordTypeDataRef = GetRecordTypesCount($PDBRecordLinesRef, + [$SpecifiedRecordType, $GetRecordLinesFlag]);</div> +<p>Counts the number of each record type or a $SpecifiedRecordType and returns a reference to data +type with following key/value pairs:</p> +<div class="OptionsBox"> + $RecordTypeDataRef->{RecordTypes} - An array of unique record types + in order of their presence in the file +<br/> $RecordTypeDataRef->{Count}{$RecordType} - Count of each record type +<br/> $RecordTypeDataRef->{Lines}{$RecordType} - Optional lines data for a + specific record type.</div> +</dd> +<dt><strong><a name="isatomrecordtype" class="item"><strong>IsAtomRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsAtomRecordType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's a ATOM record line.</p> +</dd> +<dt><strong><a name="isconectrecordtype" class="item"><strong>IsConectRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsAtomConectType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's a CONECT record line.</p> +</dd> +<dt><strong><a name="isendmdlrecordtype" class="item"><strong>IsEndmdlRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsEndmdlRecordType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's a ENDMDL a record line.</p> +</dd> +<dt><strong><a name="isheaderrecordtype" class="item"><strong>IsHeaderRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsHeaderRecordType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's a HEADER a record line.</p> +</dd> +<dt><strong><a name="ishetatmrecordtype" class="item"><strong>IsHetatmRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsHetatmRecordType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's a HETATM a record line.</p> +</dd> +<dt><strong><a name="ismasterrecordtype" class="item"><strong>IsMasterRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsMasterRecordType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's a MASTER a record line.</p> +</dd> +<dt><strong><a name="ismodelrecordtype" class="item"><strong>IsModelRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsModelRecordType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's a MODEL record line.</p> +</dd> +<dt><strong><a name="ispdbfile" class="item"><strong>IsPDBFile</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsPDBFile($PDBFile);</div> +<p>Returns 1 or 0 based on whether it's a PDB file.</p> +</dd> +<dt><strong><a name="isseqresrecordtype" class="item"><strong>IsSeqresRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsSeqresRecordType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's SEQRES a record line.</p> +</dd> +<dt><strong><a name="isterrecordtype" class="item"><strong>IsTerRecordType</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $Status = IsTerRecordType($RecordLine);</div> +<p>Returns 1 or 0 based on whether it's a TER record line.</p> +</dd> +<dt><strong><a name="parseatomorhetatmrecordline" class="item"><strong>ParseAtomOrHetatmRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, + $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, + $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = + ParseAtomOrHetatmRecordLine($RecordLine);</div> +<p>Parses ATOM or HETATM record line.</p> +</dd> +<dt><strong><a name="parseatomrecordline" class="item"><strong>ParseAtomRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, + $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, + $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = + ParseAtomRecordLine($RecordLine);</div> +<p>Parses ATOM record line.</p> +</dd> +<dt><strong><a name="parseconectrecordline" class="item"><strong>ParseConectRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($AtomNum, $BondedAtomNum1, $BondedAtomNum2, $BondedAtomNum3, + $BondedAtomNum4, $HBondedAtomNum1, $HBondedAtomNum2, + $SaltBridgedAtomNum1, $HBondedAtomNum3, $HBondedAtomNum4, + $SaltBridgedAtomNum2) = ParseConectRecordLine($RecordLine);</div> +<p>Parses CONECT record line.</p> +</dd> +<dt><strong><a name="parseexpdtarecordline" class="item"><strong>ParseExpdtaRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($ContinuationNum, $ExperimentalTechnique) = ParseExpdtaRecordLine($Line);</div> +<p>Parses EXPDTA record line.</p> +</dd> +<dt><strong><a name="parseheaderrecordline" class="item"><strong>ParseHeaderRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($Classification, $DepositionDate, $IDCode) = ParseHeaderRecordLine($RecordLine);</div> +<p>Parses HEADER record line</p> +</dd> +<dt><strong><a name="parsehetatmrecordline" class="item"><strong>ParseHetatmRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, + $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, + $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = + ParseHetatmRecordLine($RecordLine);</div> +<p>Parses HETATM record line.</p> +</dd> +<dt><strong><a name="parsemasterrecordline" class="item"><strong>ParseMasterRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($NumOfRemarkRecords, $NumOfHetRecords, $NumOfHelixRecords, + $NumOfSheetRecords, $NumOfTurnRecords, $NumOfSiteRecords, + $NumOfTransformationsRecords, $NumOfAtomAndHetatmRecords, + $NumOfTerRecords, $NumOfConectRecords, $NumOfSeqresRecords) = + ParseMasterRecordLine($RecordLine);</div> +<p>Parses MASTER ecord line.</p> +</dd> +<dt><strong><a name="parseremark2resolutionrecordline" class="item"><strong>ParseRemark2ResolutionRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($Resolution, $ResolutionUnits) = ParseRemark2ResolutionRecordLine( + $RecordLine);</div> +<p>Parses REMARK 2 RESOLUTION record line.</p> +</dd> +<dt><strong><a name="parseseqresrecordline" class="item"><strong>ParseSeqresRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($RecordSerialNumber, $ChainID, $NumOfResidues, $ResidueNames) = + ParseSeqresRecordLine($RecordLine);</div> +<p>Parses SEQRES record line.</p> +</dd> +<dt><strong><a name="parseterrecordline" class="item"><strong>ParseTerRecordLine</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + ($SerialNumber, $ResidueName, $ChainID, $ResidueNumber, $InsertionCode) = + ParseTerRecordLine($RecordLine);</div> +<p>Parses TER record line.</p> +</dd> +<dt><strong><a name="readpdbfile" class="item"><strong>ReadPDBFile</strong></a></strong></dt> +<dd> +<div class="OptionsBox"> + $PDBRecordLinesRef = ReadPDBFile($PDBFile);</div> +<p>Reads PDB file and returns reference to record lines.</p> +</dd> +</dl> +<p> +</p> +<h2>AUTHOR</h2> +<p><a href="mailto:msud@san.rr.com">Manish Sud</a></p> +<p> +</p> +<h2>SEE ALSO</h2> +<p><a href="./FileUtil.html">FileUtil.pm</a>, <a href="./SequenceFileUtil.html">SequenceFileUtil.pm</a>, <a href="./TextUtil.html">TextUtil.pm</a> +</p> +<p> +</p> +<h2>COPYRIGHT</h2> +<p>Copyright (C) 2015 Manish Sud. All rights reserved.</p> +<p>This file is part of MayaChemTools.</p> +<p>MayaChemTools is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free +Software Foundation; either version 3 of the License, or (at your option) +any later version.</p> +<p> </p><p> </p><div class="DocNav"> +<table width="100%" border=0 cellpadding=0 cellspacing=2> +<tr align="left" valign="top"><td width="33%" align="left"><a href="./YYLexer.html" title="YYLexer.html">Previous</a> <a href="./index.html" title="Table of Contents">TOC</a> <a href="./PeriodicTable.html" title="PeriodicTable.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>PDBFileUtil.pm</strong></td></tr> +</table> +</div> +<br /> +<center> +<img src="../../images/h2o2.png"> +</center> +</body> +</html>