Title: | Conformational Manipulations of Protein Atomic Structures |
---|---|
Description: | Manipulate and analyze 3-D structural geometry of Protein Data Bank (PDB) files. |
Authors: | Samuel W.K. Wong, Dylan Shi, Megan Hazlett, Jasmine Cheng |
Maintainer: | Samuel W.K. Wong <[email protected]> |
License: | GPL-3 |
Version: | 0.1.1 |
Built: | 2024-11-06 04:26:03 UTC |
Source: | https://github.com/cran/compas |
List of the atom dependencies and typical bond parameters in protein structures for side chains of the 20 standard amino acid types.
atomdeps
atomdeps
A list for the 20 amino acid types, each having the attributes
"tangle": Dihedral angle defined by atoms A-B-C-D as described below. NA
's represent the free side chain dihedral angles chi for that amino acid.
"names": The component atoms of the amino acid side chain. Represents atom D in the dihedral.
"matx": The names of atoms A,B,C in the dihedral, with rows corresponding to the atoms in "names".
"bangle": Planar bond angle formed between B-C-D
"blength": Bond length between C-D
Engh, Richard A., and Robert Huber. "Accurate bond and angle parameters for X-ray protein structure refinement." Acta Crystallographica Section A 47.4 (1991): 392-400.
Table listing the 167 standard atom types in protein structures (amino acid type and atom identifier pairs). Hydrogen atoms are not considered.
atomtype
atomtype
A two-column data frame, with "resid" providing the 3-letter amino acid abbreviation and "atomid" providing the component atoms of each amino acid.
PDB ATOM entry: http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#ATOM
Consider atoms A-B-C-D forming a dihedral. Given coordinates for atoms A,B,C of the dihedral, the dihedral angle, bond angle, and bond length, calculate the Cartesian coordinates of atom D in the dihedral.
calCo(prev_atoms, length, bAngle, tAngle)
calCo(prev_atoms, length, bAngle, tAngle)
prev_atoms |
a 3x3 matrix of coordinates for atoms A-B-C in dihedral, listed by row |
length |
bond length between atoms C-D in dihedral |
bAngle |
planar bond angle between atoms B-C-D (in degrees) |
tAngle |
dihedral angle formed by atoms A-B-C-D (in degrees) |
Returns the vector of coordinates for the fourth atom in the dihedral
prevAtoms <- matrix(c(50.051, 37.144, -4.723, 50.044, 36.248, -3.559, 51.296, 35.369, -3.476), nrow=3, ncol=3, byrow=TRUE) calCo(prevAtoms, length=1.33, bAngle=116.8, tAngle=-25.3)
prevAtoms <- matrix(c(50.051, 37.144, -4.723, 50.044, 36.248, -3.559, 51.296, 35.369, -3.476), nrow=3, ncol=3, byrow=TRUE) calCo(prevAtoms, length=1.33, bAngle=116.8, tAngle=-25.3)
Rotates the free side chain dihedral angles of an amino acid to the specified values. Calculates the updated Cartesian coordinates of all the atoms of that amino acid side chain.
calscco(pdb, resno, chi)
calscco(pdb, resno, chi)
pdb |
A PDB object |
resno |
The residue number of the amino acid side chain to rotate |
chi |
A vector of dihedral angles (in degrees), with length matching the number of free side chain dihedral angles for that amino acid type. See atomdeps for definitions. |
Calls calCo successively for each atom in the amino acid side chain, using the bond parameters defined in atomdeps.
Returns a PDB object with updated coordinates of side chain atoms in "resno".
## Position 10 of nat879 is ASP with 2 side chain dihedrals chi1 and chi2 nat879$atom[nat879$atom$resno==10,] pdbn <- calscco(nat879,10,c(60.0,-80.0)) pdbn$atom[pdbn$atom$resno==10,]
## Position 10 of nat879 is ASP with 2 side chain dihedrals chi1 and chi2 nat879$atom[nat879$atom$resno==10,] pdbn <- calscco(nat879,10,c(60.0,-80.0)) pdbn$atom[pdbn$atom$resno==10,]
Calculates the energy of a protein conformation using the DFIRE potential.
dfireE(pdb)
dfireE(pdb)
pdb |
A PDB object, read using read.pdb. |
Returns the DFIRE energy.
Zhou, Hongyi, and Yaoqi Zhou. "Distance-scaled, finite ideal-gas reference state improves structure-derived potentials of mean force for structure selection and stability prediction." Protein science 11.11 (2002): 2714-2726.
dfireE(nat879)
dfireE(nat879)
A sample protein conformation in PDB format. Excerpted from the native structure of CASP12 target 879, residues 5-24
nat879
nat879
A PDB object, read using read.pdb
CASP12 data archive on Prediction Center: http://predictioncenter.org/download_area/CASP12/targets/casp12.targets_T0.releaseDec022016.tgz
RMSD calculation between the atoms of two PDB objects.
pdbrmsd(pdb1, pdb2, start, end, type='all', optimal=FALSE)
pdbrmsd(pdb1, pdb2, start, end, type='all', optimal=FALSE)
pdb1 |
PDB object containing reference coordinates of atoms in protein conformation. |
pdb2 |
PDB object containing coordinates of atoms in protein conformation to compare with pdb1. |
start |
The starting residue position for the RMSD calculation. If not supplied, defaults to first residue of chain. |
end |
The ending residue position for the RMSD calculation. If not supplied, defaults to final residue of chain. |
type |
Specifies atoms to be included in the calculation. Can be 'all', 'CA' (CA atoms only), or 'backbone' (CA, N, C, O). |
optimal |
Apply optimal rotation and superposition? As described in https://cnx.org/contents/HV-RsdwL@23/Molecular-Distance-Measures |
Similar to rmsd, but with implementation in C++.
Returns a list with calculated RMSD value and the optimal rotation matrix.
pdbrmsd(nat879, pred879, start=10, end=20, 'all', optimal=TRUE)
pdbrmsd(nat879, pred879, start=10, end=20, 'all', optimal=TRUE)
A sample protein conformation in PDB format. Excerpted from a structure prediction of CASP12 target 879, residues 5-24
pred879
pred879
A PDB object, read using read.pdb
CASP12 data archive on Prediction Center: http://predictioncenter.org/download_area/CASP12/targets/casp12.targets_TR.releaseDec022016.tgz
For Cartesian coordinates of atoms A-B-C-D, calculate the dihedral angle formed by viewing down the B-C axis.
torsion(a, b, c, d)
torsion(a, b, c, d)
a |
length 3 vector of coordinates of atom A |
b |
length 3 vector of coordinates of atom B |
c |
length 3 vector of coordinates of atom C |
d |
length 3 vector of coordinates of atom D |
Similar to torsion.xyz, but with implementation in C++.
Returns the dihedral angle (in degrees between -180 and 180).
torsion(c(50.051, 37.144, -4.723), c(50.044, 36.248, -3.559), c(51.296, 35.369, -3.476), c(51.930,35.119,-4.618))
torsion(c(50.051, 37.144, -4.723), c(50.044, 36.248, -3.559), c(51.296, 35.369, -3.476), c(51.930,35.119,-4.618))