
This toolkit is open source. Any third-party models, product names, or trademarks referenced are the property of their respective owners, and Proto is not affiliated with them.
Background
DSSP (Kabsch and Sander, 1983) is an assignment program that classifies each residue of a protein into a secondary-structure state by inspecting the geometry and the hydrogen-bond pattern of the protein backbone. Recurring turns are assigned as helices (statesH, G, and I for alpha, 3-10, and pi helices respectively), recurring bridges between residues form ladders that are assigned as strand (E), and isolated bridges, turns, bends, and unassigned residues form the remaining states. DSSP works only from atomic coordinates and does not predict secondary structure from sequence alone. The modern implementation (Hekkelman et al., 2025) is maintained by the PDB-REDO project at the Netherlands Cancer Institute and ships as the mkdssp command-line program with extended mmCIF support and FAIR annotation.
This toolkit collapses the per-residue DSSP states into a coarse three-class summary for the chain of interest. Helix percentage counts residues assigned H, G, or I. Sheet percentage counts residues assigned E. Loop percentage counts every other DSSP state (B, T, S, the unassigned state, and the P polyproline-II state introduced in DSSP 4). The three percentages sum to 100 for the counted residues of the selected chain.
Learning Resources
- PDB-REDO/dssp (PDB-REDO project, Netherlands Cancer Institute). Official repository and the source of the
mkdsspcommand-line program that this toolkit invokes. mkdsspcommand-line reference (PDB-REDO project). Reference documentation for the DSSP state alphabet and the command-line interface of the program that this toolkit invokes.
Tools
DSSP Secondary Structure (dssp-secondary-structure)
Assigns secondary structure with the mkdssp program for a selected chain in each input structure and returns the resulting helix, sheet, and loop percentages. Inputs are supplied as one or more DSSPStructureInput objects, each carrying a Structure (or a path / coordinate string accepted by Structure) plus the chain identifier to analyse. Multiple structures in one call are processed independently and the results are returned in input order.API Reference
Input: DSSPSecondaryStructureInput
Input: DSSPSecondaryStructureInput
Config: DSSPSecondaryStructureConfig
Config: DSSPSecondaryStructureConfig
True is coerced to 1 and False to 0.None waits indefinitely.BaseToolOutput.approx_equal), and the seed participates in cache keys. When None, cacheable seed-sensitive tools skip cache until seeded.Output: DSSPSecondaryStructureOutput
Output: DSSPSecondaryStructureOutput
results item)| Metric | Type | Range | Availability |
|---|---|---|---|
helix_pct | float | 0.0 to 100.0 | always |
sheet_pct | float | 0.0 to 100.0 | always |
loop_pct | float | 0.0 to 100.0 | always |
Applications
This tool is appropriate for filtering designed proteins by their secondary-structure composition, for summarising the helical or beta-sheet content of a predicted structure ensemble, and for any analysis that requires a DSSP-backed secondary-structure assignment as an upstream step in a larger pipeline. The collapsed three-class summary is the right shape for ranking or filtering large structure batches by composition.Usage Tips
- Select the chain to analyze, or leave
chainempty to analyze the first chain.chainis aSingleChainSelection(e.g."A"); each input structure yields one result row for its selected chain. The input validator hard-errors when the selected chain is not present and lists the available chains. Omittingchainanalyzes the first chain in the structure. - Structures with more than 62 chains are rejected. The DSSP standalone runs on PDB-format text, which represents a chain identifier as a single character from
A-Z,a-z, or0-9. Structures exceeding this limit cannot be dispatched through the wrapper. - Helix percentage counts DSSP states
H,G, andI. Sheet percentage counts stateE. Loop percentage counts every remaining state, includingB,T,S, the unassigned state, and thePpolyproline-II state introduced in DSSP 4. The three percentages sum to 100 for the counted residues of the selected chain. - The first model is used for multi-model structures. Only the first model parsed by Biopython contributes to the residue counts. To analyse a specific model in an NMR ensemble or a multi-state file, extract that model into its own
Structurebefore passing it in.
Toolkit Notes
These apply to every DSSP tool in this toolkit (dssp-secondary-structure).
- Structure inputs accept either typed
Structureobjects or a path / coordinate string. A field validator normalises raw paths andStructure-coercible values intoStructureinstances at input time. The wrapper writes each parsed structure to a temporary PDB file for the DSSP program and removes it after the call. - Outputs are returned as typed metric objects. Each
DSSPSecondaryStructureMetricsresult carries the analysed chain identifier and the three secondary-structure percentages, withhelix_pct,sheet_pct, andloop_pctconstrained to the range 0 to 100. Results serialise to CSV or JSON through the standard export interface.