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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
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 "pdb", obtained from read.pdb.

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 "pdbs" (obtained with pdbaln or read.fasta.pdb).

xyz

a trajectory object of class "xyz", obtained from read.ncdf, read.dcd, read.crd.

x

an sse object obtained from dssp.pdb or stride.

...

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 dssp

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/tutorials/installing-bio3d 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:
http://swift.cmbi.ru.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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
## 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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.