Mercurial > repos > deepakjadmin > mayatool3_test3
diff mayachemtools/docs/modules/txt/PDBFileUtil.txt @ 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/txt/PDBFileUtil.txt Wed Jan 20 11:55:01 2016 -0500 @@ -0,0 +1,306 @@ +NAME + PDBFileUtil + +SYNOPSIS + use PDBFileUtil ; + + use PDBFileUtil qw(:all); + +DESCRIPTION + PDBFileUtil module provides the following functions: + + GenerateAtomOrHetatmRecordLine, GenerateAtomRecordLine, + GenerateConectRecordLine, GenerateEndRecordLine, + GenerateHeaderRecordLine, GenerateHeaderRecordTimeStamp, + GenerateHetatmRecordLine, GenerateTerRecordLine, GetAllResidues, + GetChainsAndResidues, GetConectRecordLines, GetExperimentalTechnique, + GetExperimentalTechniqueResolution, GetMinMaxCoords, GetPDBRecordType, + GetRecordTypesCount, IsAtomRecordType, IsConectRecordType, + IsEndmdlRecordType, IsHeaderRecordType, IsHetatmRecordType, + IsMasterRecordType, IsModelRecordType, IsPDBFile, IsSeqresRecordType, + IsTerRecordType, ParseAtomOrHetatmRecordLine, ParseAtomRecordLine, + ParseConectRecordLine, ParseExpdtaRecordLine, ParseHeaderRecordLine, + ParseHetatmRecordLine, ParseMasterRecordLine, + ParseRemark2ResolutionRecordLine, ParseSeqresRecordLine, + ParseTerRecordLine, ReadPDBFile + +METHODS + GenerateAtomOrHetatmRecordLine + $RecordLine = GenerateAtomOrHetatmRecordLine($RecordType, + $AtomNumber, $AtomName, $AlternateLocation, $ResidueName, + $ChainID, $ResidueNumber, $InsertionCode, $X, $Y, $Z, + $Occupancy, $TemperatureFactor, $SegmentID, + $ElementSymbol, $AtomCharge); + + Returns ATOM or HETATM record line. + + GenerateAtomRecordLine + $RecordLine = GenerateAtomRecordLine($AtomNumber, + $AtomName, $AlternateLocation, $ResidueName, $ChainID, + $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, + $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge); + + Returns ATOM record line. + + GenerateConectRecordLine + $RecordLine = GenerateConectRecordLine($AtomNum, $BondedAtomNum1, + $BondedAtomNum2, $BondedAtomNum3, $BondedAtomNum4, + $HBondedAtomNum1, $HBondedAtomNum2, $SaltBridgedAtomNum1, + $HBondedAtomNum3, $HBondedAtomNum4, $SaltBridgedAtomNum2); + + Returns CONECT record line. + + GenerateHeaderRecordLine + $RecordLine = GenerateHeaderRecordLine($IDCode, [$Classification, + $Date]); + + Returns HEADER record line. + + GenerateHeaderRecordTimeStamp + $Date = GenerateHeaderRecordTimeStamp(); + + Returns PDB header time stamp. + + GenerateHetatmRecordLine + $RecordLine = GenerateHetatmRecordLine($AtomNumber, $AtomName, + $AlternateLocation, $ResidueName, $ChainID, $ResidueNumber, + $InsertionCode, $X, $Y, $Z, $Occupancy, $TemperatureFactor, + $SegmentID, $ElementSymbol, $AtomCharge); + + Returns HETATM record line. + + GenerateEndRecordLine + $RecordLine = GenerateEndRecordLine(); + + Returns END record line. + + GenerateTerRecordLine + $RecordLine = GenerateTerRecordLine($SerialNumber, [$ResidueName, + $ChainID, $ResidueNumber, $InsertionCode]); + + Returns TER record line. + + GetAllResidues + $ResiduesDataRef = GetAllResidues($PDBRecordLinesRef); + + Gets residue information using ATOM/HETATM records and returns a + reference to a hash with following key/value pairs: + + $ResiduesDataRef->{ResidueNames} - Array of all the residues + $ResiduesDataRef->{ResidueCount}{$ResidueName} - Count of residues + $ResiduesDataRef->{AtomResidueNames}} - Array of all ATOM residues + $ResiduesDataRef->{AtomResidueCount}{$ResidueName} - Count of + residues in ATOM records + $ResiduesDataRef->{HetatomResidueNames} - List of all HETATM + residues + $ResiduesDataRef->{HetatmResidueCount}{$ResidueName} - Count of + residues HETATM records + + ATOM/HETATM records after the first ENDMDL records are simply + ingnored. + + GetChainsAndResidues + $ChainsDataRef = GetChainsAndResidues($PDBRecordLinesRef, + [$RecordsSource, $GetChainResiduesBeyondTERFlag, + $GetRecordLinesFlag]); + + Gets chains and residue information using ATOM/HETATM or SEQRES + records and returns a reference to a hash with these keys: + + $ChainsDataRef->{ChainIDs} - List of chain IDs with 'None' for + no IDs + $ChainsDataRef->{Residues}{$ChainID} - List of residues in order + of their appearance in a chain + $ChainsDataRef->{ResidueCount}{$ChainID}{$ResidueName} - Count of + residues in a chain + + 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. + + GetConectRecordLines + $ConectRecordLinesRef = GetConectRecordLines($PDBRecordLinesRef, + $AtomNumbersMapRef); + + 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. + + GetExperimentalTechnique + $ExperimentalTechnique = GetExperimentalTechnique($PDBRecordLinesRef); + + Returns *ExperimentalTechnique* value retrieved from EXPDATA record + line. + + GetExperimentalTechniqueResolution + ($Resolution, $ResolutionUnits) = GetExperimentalTechniqueResolution( + $PDBRecordLinesRef); + + Returns *Resolution* and *ResolutionUnits* values from REMARK 2 + RESOLUTION record line. + + GetMinMaxCoords + ($XMin, $YMin, $ZMin, $XMax, $YMax, $ZMax) = + GetMinMaxCoords($PDBRecordLinesRef); + + Returns minimum and maximum XYZ coordinates for ATOM/HETATM records. + + GetPDBRecordType + $RecordType = GetPDBRecordType($RecordLine); + + Returns type of *RecordLine*. + + GetRecordTypesCount + $RecordTypeDataRef = GetRecordTypesCount($PDBRecordLinesRef, + [$SpecifiedRecordType, $GetRecordLinesFlag]); + + Counts the number of each record type or a $SpecifiedRecordType and + returns a reference to data type with following key/value pairs: + + $RecordTypeDataRef->{RecordTypes} - An array of unique record types + in order of their presence in the file + $RecordTypeDataRef->{Count}{$RecordType} - Count of each record type + $RecordTypeDataRef->{Lines}{$RecordType} - Optional lines data for a + specific record type. + + IsAtomRecordType + $Status = IsAtomRecordType($RecordLine); + + Returns 1 or 0 based on whether it's a ATOM record line. + + IsConectRecordType + $Status = IsAtomConectType($RecordLine); + + Returns 1 or 0 based on whether it's a CONECT record line. + + IsEndmdlRecordType + $Status = IsEndmdlRecordType($RecordLine); + + Returns 1 or 0 based on whether it's a ENDMDL a record line. + + IsHeaderRecordType + $Status = IsHeaderRecordType($RecordLine); + + Returns 1 or 0 based on whether it's a HEADER a record line. + + IsHetatmRecordType + $Status = IsHetatmRecordType($RecordLine); + + Returns 1 or 0 based on whether it's a HETATM a record line. + + IsMasterRecordType + $Status = IsMasterRecordType($RecordLine); + + Returns 1 or 0 based on whether it's a MASTER a record line. + + IsModelRecordType + $Status = IsModelRecordType($RecordLine); + + Returns 1 or 0 based on whether it's a MODEL record line. + + IsPDBFile + $Status = IsPDBFile($PDBFile); + + Returns 1 or 0 based on whether it's a PDB file. + + IsSeqresRecordType + $Status = IsSeqresRecordType($RecordLine); + + Returns 1 or 0 based on whether it's SEQRES a record line. + + IsTerRecordType + $Status = IsTerRecordType($RecordLine); + + Returns 1 or 0 based on whether it's a TER record line. + + ParseAtomOrHetatmRecordLine + ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, + $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, + $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = + ParseAtomOrHetatmRecordLine($RecordLine); + + Parses ATOM or HETATM record line. + + ParseAtomRecordLine + ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, + $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, + $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = + ParseAtomRecordLine($RecordLine); + + Parses ATOM record line. + + ParseConectRecordLine + ($AtomNum, $BondedAtomNum1, $BondedAtomNum2, $BondedAtomNum3, + $BondedAtomNum4, $HBondedAtomNum1, $HBondedAtomNum2, + $SaltBridgedAtomNum1, $HBondedAtomNum3, $HBondedAtomNum4, + $SaltBridgedAtomNum2) = ParseConectRecordLine($RecordLine); + + Parses CONECT record line. + + ParseExpdtaRecordLine + ($ContinuationNum, $ExperimentalTechnique) = ParseExpdtaRecordLine($Line); + + Parses EXPDTA record line. + + ParseHeaderRecordLine + ($Classification, $DepositionDate, $IDCode) = ParseHeaderRecordLine($RecordLine); + + Parses HEADER record line + + ParseHetatmRecordLine + ($AtomNumber, $AtomName, $AlternateLocation, $ResidueName, $ChainID, + $ResidueNumber, $InsertionCode, $X, $Y, $Z, $Occupancy, + $TemperatureFactor, $SegmentID, $ElementSymbol, $AtomCharge) = + ParseHetatmRecordLine($RecordLine); + + Parses HETATM record line. + + ParseMasterRecordLine + ($NumOfRemarkRecords, $NumOfHetRecords, $NumOfHelixRecords, + $NumOfSheetRecords, $NumOfTurnRecords, $NumOfSiteRecords, + $NumOfTransformationsRecords, $NumOfAtomAndHetatmRecords, + $NumOfTerRecords, $NumOfConectRecords, $NumOfSeqresRecords) = + ParseMasterRecordLine($RecordLine); + + Parses MASTER ecord line. + + ParseRemark2ResolutionRecordLine + ($Resolution, $ResolutionUnits) = ParseRemark2ResolutionRecordLine( + $RecordLine); + + Parses REMARK 2 RESOLUTION record line. + + ParseSeqresRecordLine + ($RecordSerialNumber, $ChainID, $NumOfResidues, $ResidueNames) = + ParseSeqresRecordLine($RecordLine); + + Parses SEQRES record line. + + ParseTerRecordLine + ($SerialNumber, $ResidueName, $ChainID, $ResidueNumber, $InsertionCode) = + ParseTerRecordLine($RecordLine); + + Parses TER record line. + + ReadPDBFile + $PDBRecordLinesRef = ReadPDBFile($PDBFile); + + Reads PDB file and returns reference to record lines. + +AUTHOR + Manish Sud <msud@san.rr.com> + +SEE ALSO + FileUtil.pm, SequenceFileUtil.pm, TextUtil.pm + +COPYRIGHT + Copyright (C) 2015 Manish Sud. All rights reserved. + + This file is part of MayaChemTools. + + 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. +