dssp {bio3d} | R Documentation |
Secondary Structure Analysis with DSSP or STRIDE
Description
Secondary structure assignment according to the method of Kabsch and Sander (DSSP) or the method of Frishman and Argos (STRIDE).
Usage
dssp(...)
## S3 method for class 'pdb'
dssp(pdb, exefile = "dssp", resno=TRUE, full=FALSE, verbose=FALSE, ...)
## S3 method for class 'pdbs'
dssp(pdbs, ...)
## S3 method for class 'xyz'
dssp(xyz, pdb, ...)
stride(pdb, exefile = "stride", resno=TRUE)
## S3 method for class 'sse'
print(x, ...)
Arguments
pdb |
a structure object of class |
exefile |
file path to the ‘DSSP’ or ‘STRIDE’ program on your system (i.e. how is ‘DSSP’ or ‘STRIDE’ invoked). |
resno |
logical, if TRUE output is in terms of residue numbers rather than residue index (position in sequence). |
full |
logical, if TRUE bridge pairs and hbonds columns are parsed. |
verbose |
logical, if TRUE ‘DSSP’ warning and error messages are printed. |
pdbs |
a list object of class |
xyz |
a trajectory object of class |
x |
|
... |
additional arguments to and from functions. |
Details
This function calls the ‘DSSP’ or ‘STRIDE’ program to define secondary structure and psi and phi torsion angles.
Value
Returns a list with the following components:
helix |
‘start’, ‘end’, ‘length’, ‘chain’ and ‘type’ of helix, where start and end are residue numbers or residue index positions depending on the value of “resno” input argument. |
sheet |
‘start’, ‘end’ and ‘length’ of E type sse, where start and end are residue numbers “resno”. |
turn |
‘start’, ‘end’ and ‘length’ of T type sse, where start and end are residue numbers “resno”. |
phi |
a numeric vector of phi angles. |
psi |
a numeric vector of psi angles. |
acc |
a numeric vector of solvent accessibility. |
sse |
a character vector of secondary structure type per residue. |
hbonds |
a 10 or 16 column matrix containing the bridge pair
records as well as backbone NH–>O and O–>NH H-bond records.
(Only available for |
Note
A system call is made to the ‘DSSP’ or ‘STRIDE’ program, which must be installed on your system and in the search path for executables. See http://thegrantlab.org/bio3d/articles/online/install_vignette/Bio3D_install.html for instructions of how to install these programs.
For the hbonds
list component the column names can be
used as a convenient means of data access, namely:
Bridge pair 1 “BP1”,
Bridge pair 2 “BP2”,
Backbone H-bond (NH–>O) “NH-O.1”,
H-bond energy of NH–>O “E1”,
Backbone H-bond (O–>NH) “O-HN.1”,
H-bond energy of O–>NH “E2”,
Backbone H-bond (NH–>O) “NH-O.2”,
H-bond energy of NH–>O “E3”,
Backbone H-bond (O–>NH) “O-HN.2”,
H-bond energy of O–>NH “E4”.
If ‘resno=TRUE’ the following additional columns are included:
Chain ID of resno “BP1”: “ChainBP1”,
Chain ID of resno “BP2”: “ChainBP2”,
Chain ID of resno “O-HN.1”: “Chain1”,
Chain ID of resno “NH-O.2”: “Chain2”,
Chain ID of resno “O-HN.1”: “Chain3”,
Chain ID of resno “NH-O.2”: “Chain4”.
Author(s)
Barry Grant, Lars Skjaerven (dssp.pdbs)
References
Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.
‘DSSP’ is the work of Kabsch and Sander: Kabsch and Sander (1983) Biopolymers. 12, 2577–2637.
For information on obtaining ‘DSSP’, see:
https://swift.cmbi.umcn.nl/gv/dssp/.
‘STRIDE’ is the work of Frishman and Argos: Frishman and Argos (1995) Proteins. 3, 566–579.
For information on obtaining the ‘STRIDE’ program, see:
http://webclu.bio.wzw.tum.de/stride/,
or copy it from an installation of VMD.
See Also
read.pdb
,
torsion.pdb
, torsion.xyz
,
plot.bio3d
,
read.ncdf
, read.dcd
,
read.prmtop
, read.crd
,
Examples
## Not run:
##- PDB example
# Read a PDB file
pdb <- read.pdb("1bg2")
sse <- dssp(pdb)
sse2 <- stride(pdb)
## Short summary
sse
sse2
# Helix data
sse$helix
# Precent SSE content
sum(sse$helix$length)/sum(pdb$calpha) * 100
sum(sse$sheet$length)/sum(pdb$calpha) * 100
##- PDBs example
aln <- read.fasta( system.file("examples/kif1a.fa",package="bio3d") )
pdbs <- read.fasta.pdb( aln )
## Aligned PDB defined secondary structure
pdbs$sse
## Aligned DSSP defined secondary structure
sse <- dssp(pdbs)
##- XYZ Trajectory
pdb <- read.pdb("2mda", multi=TRUE)
dssp.xyz(pdb$xyz, pdb)
## Note. for large MD trajectories you may want to skip some frames, e.g.
xyz <- rbind(pdb$xyz, pdb$xyz) ## dummy trajectory
frames <- seq(1, to=nrow(xyz), by=4) ## frame numbers to examine
ss <- dssp.xyz(xyz[frames, ], pdb) ## matrix of sse frame x residue
## End(Not run)