The DSSP program was designed by Wolfgang Kabsch and Chris Sander to standardize secondary structure assignment. DSSP is a database of secondary structure assignments (and much more) for all protein entries in the Protein Data Bank (PDB). DSSP is also the program that calculates DSSP entries from PDB entries.

The above means there are actually two ways of looking at DSSP. First of all there are the precalculated DSSP files for each PDB entry. And then there's the application called DSSP that can create these files.


The DSSP program works by calculating the most likely secondary structure assignment given the 3D structure of a protein. It does this by reading the position of the atoms in a protein (the ATOM records in a PDB file) followed by calculation of the H-bond energy between all atoms. The best two H-bonds for each atom are then used to determine the most likely class of secondary structure for each residue in the protein.

This means you do need to have a full and valid 3D structure for a protein to be able to calculate the secondary structure. There's no magic in DSSP, so e.g. it cannot guess the secondary structure for a mutated protein for which you don't have the 3D structure.


The DSSP as a databank is maintained by the CMBI. You can access individual files using our search system MRS at If you want to download all the DSSP files your best choice is to use rsync. To download all the DSSP files to the local directory /data/dssp you would use the command:

rsync -a rsync:// /data/dssp

You can also download all files directly using ftp from but we prefer you use rsync since it is a much more efficient protocol.

Web server & service

We've created a web server to calculate DSSP files from PDB files. You can find the server at or you can use this form:


Paste the contents of a PDB file in the box below or select a file and press 'Calculate DSSP'

Of course, this web server can be used as a web service as well. Here is the WSDL.


The current version of DSSP is available as a prebuilt binary for Windows and for Linux. You can download the binaries from

Using the application is as simple as opening a terminal window (on Windows this is called the Command Prompt, you can find it under the Start menu, Desk Accessories). Then, in the terminal you type the command to execute dssp and the file to operate on, e.g.:

dssp-2 my-pdb.ent my-ss.dssp

In this example the PDB file called my-pdb.ent will be used as input and the file my-ss.dssp will be created containing the resulting DSSP output. If you omit this last parameter, the output will be written to your terminal instead.

DSSP File Format

The header part of each DSSP file is self explaining, it contains some of the information copied over from the PDB file and there are some statistics gathered while calculating the secondary structure.

The second half of the file contains the calculated secondary structure information per residue. What follows is a brief explanation for each column.

Column name Description
#The residue number as counted by DSSP
RESIDUEThe residue number as specified by the PDB file followed by a chain identifier.
AAThe one letter code for the amino acid. If this letter is lower case this means this is a cysteine that form a sulfur bridge with the other amino acid in this column with the same lower case letter.
STRUCTURE This is a complex column containing multiple sub columns. The first column contains a letter indicating the secondary structure assigned to this residue. Valid values are:
HAlpha helix
BBeta bridge

What follows are three column indicating for each of the three helix types (3, 4 and 5) whether this residue is a candidate in forming this helix. A > character indicates it starts a helix, a number indicates it is inside such a helix and a < character means it ends the helix.

The next column contains a S character if this residue is a possible bend.

Then there's a column indicating the chirality and this can either be positive or negative (i.e. the alpha torsion is either positive or negative).

The last two column contain beta bridge labels. Lower case here means parallel bridge and thus upper case means anti parallel.

BP1 and BP2The first and second bridge pair candidate, this is followed by a letter indicating the sheet.
ACCThe accessibility of this residue, this is the surface area expressed in square Ã…ngstrom that can be accessed by a water molecule.
N-H-->O .. O-->H-NFour columns, they give for each residue the H-bond energy with another residue where the current residue is either acceptor or donor. Each column contains two numbers, the first is an offset from the current residue to the partner residue in this H-bond (in DSSP numbering), the second number is the calculated energy for this H-bond.
TCOThe cosine of the angle between C=O of the current residue and C=O of previous residue. For alpha-helices, TCO is near +1, for beta-sheets TCO is near -1. Not used for structure definition
KappaThe virtual bond angle (bend angle) defined by the three C-alpha atoms of the residues current - 2, current and current + 2. Used to define bend (structure code 'S').
PHI and PSIIUPAC peptide backbone torsion angles.
X-CA, Y-CA and Z-CAThe C-alpha coordinates

Source code

The source code for DSSP 2.0 is released under a Boost license. You can get it from For more information send me an e-mail at


The original DSSP application was written between 1983 and 1988 in the programming language Pascal. This Pascal code was automatically converted into C code but maintaining this proved to be a lot of trouble. That's why we decided to rewrite the application from scratch in C++. This also allows us to improve the algorithms, something we plan to do in the near future.