This is a rewrite of DSSP, now offering full mmCIF support. The difference
with previous releases of DSSP is that it now writes out an annotated mmCIF
file by default, storing the secondary structure information in the
_struct_conf
category.
Another new feature in this version of DSSP is that it now defines Poly-Proline helices as well.
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.
DSSP does not predict secondary structure.
A good, modern compiler is needed to build the mkdssp program since it uses many new C++20 features.
The new makefile for dssp will take care of downloading and building all requirements automatically. So in theory, building is as simple as:
git clone https://github.com/PDB-REDO/dssp.git
cd dssp
cmake -S . -B build
cmake --build build
cmake --install build
Since version 4.5.2 it is possible to build a Python module to directy work with DSSP info inside your Python scripts. To build and install the Python module use the following commands instead:
git clone https://github.com/PDB-REDO/dssp.git
cd dssp
cmake -S . -B build -DBUILD_PYTHON_MODULE=ON
cmake --build build
sudo cmake --install build
After that you can use dssp in a python script, like this:
from mkdssp import dssp
import os
import gzip
file_path = os.path.join("..", "test", "1cbs.cif.gz")
with gzip.open(file_path, "rt") as f:
file_content = f.read()
dssp = dssp(file_content)
print("residues: ", dssp.statistics.residues)
for res in dssp:
print(res.asym_id, res.seq_id, res.compound_id, res.type)
See manual page for more info. Or even better, see the DSSP website.