This document is for OpenStructure version 1.6, the latest version is 2.7 !

dssp - Secondary structure assignment


DSSP is a program developed by Wolfgang Kabsch and Chris Sander to assign secondary structure states to protein structures. The assignment is based on hydrogen bonding patterns and geometric features.

The program can be downloaded from


The following example assigns secondary structure states to an entity by using the DSSP program.

from ost.bindings import dssp

Now we fetch structure information plus solvent accessibility for an entity using the mmCIF interface.

from ost.bindings import dssp
dssp.AssignDSSP(ent, extract_burial_status=True)
for chain in ent.chains:
  if chain.is_polypeptide:
    for res in chain.residues:
      print res.GetFloatProp('relative_solvent_accessibility')

DSSP bindings Usage

AssignDSSP(ent, pdb_path='', extract_burial_status=False, tmp_dir=None, dssp_bin=None)

Assign secondary structure states to peptide residues in the structure. This function uses the DSSP command line program.

If you already have a DSSP output file and would like to assign the secondary structure states to an entity, use LoadDSSP().

  • ent (EntityHandle or EntityView) – The entity for which the secondary structure should be calculated
  • extract_burial_status – If true, also extract burial status and store as float-property relative_solvent_accessibility at residue level
  • tmp_dir – If set, overrides the default tmp directory of the operating system
  • dssp_bin – The path to the DSSP executable

FileNotFound if the dssp executable is not in the path.


RuntimeError when dssp is executed with errors

LoadDSSP(file_name, model, extract_burial_status=False, entity_saved=False, calculate_relative_sa=True)

Loads DSSP output and assigns secondary structure states to the peptidic residues.

If you would like to run dssp and assign the secondary structure, use AssignDSSP() instead.

  • file_name – The filename of the DSSP output file
  • model – The entity to which the secondary structure states should be assigned
  • extract_burial_status – If true also calculates burial status of residues and assigns it to the burial_status string property.
  • calculate_relative_sa – If true also relative solvent accessibility and and assigns it to the relative_solvent_accessibility float property of the residue.
  • entity_save – Whether the entity was saved.


Enter search terms or a module, class or function name.


Documentation is available for the following OpenStructure versions:

dev / 2.7 / 2.6 / 2.5 / 2.4 / 2.3.1 / 2.3 / 2.2 / 2.1 / 2.0 / 1.9 / 1.8 / 1.7.1 / 1.7 / (Currently viewing 1.6) / 1.5 / 1.4 / 1.3 / 1.2 / 1.11 / 1.10 / 1.1

This documentation is still under heavy development!
If something is missing or if you need the C++ API description in doxygen style, check our old documentation for further information.