DSSP
v4.5.8Assign helices, sheets, turns, bends, and PPII structure from atomic coordinates.
DSSP stands for Dictionary of Secondary Structure in Proteins, and the name is also often expanded as Define Secondary Structure of Proteins. It reads the atomic coordinates of a protein and gives every residue one of eight secondary-structure codes, such as H for an alpha helix or E for a beta strand. Run it on ubiquitin (PDB 1UBQ) and it returns a 76-character string in which residues 23 to 34 are H and five stretches of E make up the beta sheet.
The dictionary form is the one the DSSP maintainers use on their own server, and it follows the title of the 1983 paper in which Wolfgang Kabsch and Christian Sander described the method, "Dictionary of protein secondary structure". They wrote the program at a time when each PDB entry's helix and sheet records were drawn up by that structure's own authors.
Both names refer to one method, which classifies residues from backbone hydrogen bonds and local geometry. DSSP assigns secondary structure; it does not predict it, so the same coordinates always give the same string. Estimating helices and strands from sequence alone is a separate problem, handled by methods such as Chou-Fasman, and the protein secondary structure prediction workflow compares the two.
The ProteinIQ DSSP server runs mkdssp 4.5.8, the maintained DSSP 4 implementation, on one PDB or mmCIF structure per job. It returns a residue-level assignment table, structure statistics, an annotated mmCIF, a 3D view colored by secondary structure, CSV tables and, by default, the fixed-width legacy .dssp file.
Every DSSP job costs 3 credits per structure. The price does not depend on structure size, the number of models in the file, the settings or a custom dictionary, and the exact quote appears before submission. In a batch, each structure runs as its own job at 3 credits.
| Input | Accepted values | Notes |
|---|---|---|
Protein structure | PDB, ENT, CIF, mmCIF, PDBx, or a gzip-compressed variant | One structure per job, up to 50 MB after decompression. A batch can collect up to 10 structures. |
RCSB PDB ID | A structure identifier such as 1CRN | ProteinIQ fetches the corresponding mmCIF coordinates from RCSB. |
mmCIF dictionary | Optional DIC, CIF, or mmCIF dictionary file | Up to 50 MB. DSSP reads the supplied dictionary for both annotated mmCIF and legacy output; the default dictionary is used when omitted. |
Supply a custom dictionary only when your coordinates require it. DSSP validates the dictionary itself and reports native parsing errors. The provenance file records the supplied filename and SHA-256 checksum, and in a batch the same dictionary is used for each structure.
DSSP analyzes one model and all its chains together, preserving inter-chain hydrogen bonds and sheets. When you upload a PDB containing multiple models, choose Model to analyze in the structure controls, then select Apply trim. Model 1 is selected by default, and Reset returns to the original file.
mmCIF inputs and API submissions use model 1. PDB files must be valid coordinate files; a CRYST1 record is not required. Residues without the backbone atoms needed for assignment may be absent from the residue table.
Some programs, including Discovery Studio and FASPR, start their PDB files with free-text REMARK lines that have no remark number in columns 8 to 10. mkdssp refuses a file with such a line before the coordinates, so ProteinIQ removes those lines before the run. The run log and provenance file list each removed line, and the assignment is the same as for the file without them.
PHENIX and some other programs end chains with a TER line that has nothing after TER. mkdssp ignores a TER written this way but also skips the line after it, which can drop a chain's first atom or make it refuse the file. ProteinIQ removes these short TER lines before the run and lists them in the run log and provenance file. Full TER records are kept.
| Parameter | Type | Default | Description |
|---|---|---|---|
Minimum PPII stretch | enum | 3 | Minimum run of residues for a polyproline II helix (P). DSSP 4.5.8 accepts 2 or 3. |
Calculate accessibility | boolean | false | Calculates per-residue solvent-accessible surface for the annotated mmCIF and the Residues table. The legacy DSSP file always includes accessibility. |
Write loop annotations | boolean | false | Writes unassigned stretches as OTHER records in the mmCIF _struct_conf category. It does not change which residues DSSP recognizes. |
Suppress detailed DSSP categories | boolean | false | Omits the detailed dssp_ residue, bridge, ladder and statistics categories and keeps the standard mmCIF secondary-structure records. Residues and Statistics are empty when enabled. |
Include legacy DSSP file | boolean | true | Also returns the fixed-width .dssp file. Large structures or long identifiers may not fit that format; the annotated mmCIF is still returned and the run records a warning. |
| View | What it contains |
|---|---|
Residues | The main result. One row per assigned residue with the DSSP code, helix and bridge markers, sheet topology, accessibility, backbone geometry and Cα coordinates. |
Viewer | The submitted coordinates with DSSP's helix, sheet, turn, bend and PPII annotations. Select the Structure color mode to color the model by secondary structure. |
Statistics | Structure-level counts, accessible surface, disulfide-bridge counts and hydrogen-bond classes, with values per 100 residues where DSSP reports them. |
Files | Annotated mmCIF, optional legacy .dssp, CSV tables, provenance, run log and native diagnostics when present. |
The CSV files are _dssp_residues.csv, _dssp_bridge_pairs.csv, _dssp_ladders.csv, _dssp_statistics.csv, _dssp_hbond_statistics.csv and _dssp_histograms.csv, each taken from one dssp_ category of the annotated mmCIF. The viewer does not show a new conformation: DSSP leaves the atoms in place and rewrites the standard _struct_conf, _struct_sheet and _struct_sheet_range records that molecular viewers read.
From a finished job, the input structure can be sent to the SASA Calculator or to MolProbity without uploading it again.
DSSP condenses each residue's hydrogen-bond pattern and local geometry into one character. Seven codes come from the original method of Kabsch and Sander (1983); DSSP 4 added P for the polyproline II helix, which its authors also call the κ-helix (Hekkelman et al., 2025).
| Code | Name | Assigned when | Three-state |
|---|---|---|---|
H | Alpha helix | Two consecutive 4-turns, hydrogen bonds from C=O of to N-H of . | Helix |
G | 3₁₀ helix | Two consecutive 3-turns, from to . | Helix |
I | Pi helix | Two consecutive 5-turns, from to . | Helix |
P | Polyproline II helix | within and within over the minimum stretch, 3 residues by default. | Coil |
E | Extended strand | Two or more consecutive beta bridges of the same type, forming a ladder. | Strand |
B | Isolated beta bridge | A single beta bridge with no neighbor to extend it. | Strand |
T | Turn | Inside a 3-, 4- or 5-turn that does not pair with a neighbor to form a helix. | Coil |
S | Bend | Virtual Cα angle κ over residues , , above 70°. | Coil |
| blank | Loop or irregular | None of the above. Other programs often print -, C or L. | Coil |
A blank code is not an error. It marks a residue whose backbone makes none of the regular patterns, which is normal in loops, termini and flexible linkers.
Most sequence-based predictors and accuracy benchmarks use three states: helix, strand and coil. The usual reduction maps H, G and I to helix, E and B to strand, and everything else, including T, S, P and blank, to coil. Some studies count only H as helix and only E as strand, which lowers both fractions, so check which mapping a paper or predictor used before comparing percentages.
For ubiquitin, with blanks written as -, the two strings line up like this:
8-state -EEEEEETTS-EEEEE--TTSBHHHHHHHHHHHH---GGGEEEEETTEEPPTTSBTGGGTPPTT-EEEEEE--S--
3-state CEEEEEECCCCEEEEECCCCCEHHHHHHHHHHHHCCCHHHEEEEECCEECCCCCECHHHCCCCCCEEEEEECCCCCThe usual reduction gives 18 helix, 26 strand and 32 coil residues, or 24% helix and 34% strand. The two B residues at 22 and 55 become strand even though they form one isolated bridge rather than part of a sheet, and the two short 3₁₀ helices at 38 to 40 and 57 to 59 become helix.
Every hydrogen-bond code starts from an electrostatic energy. Kabsch and Sander placed partial charges of on the carbonyl C, on O, on the amide H and on N, and calculated
with in kcal/mol and the four interatomic distances in Å. A backbone hydrogen bond exists when is below kcal/mol. DSSP ignores any hydrogen atoms in the file and places each amide hydrogen 1 Å from N, parallel to the preceding residue's C=O bond and pointing away from its oxygen, so models with and without explicit hydrogens give the same assignment. DSSP 4.5.8 floors the energy at kcal/mol for very close contacts.
Writing for a bond from the C=O of residue to the N-H of residue , the codes follow from a few patterns:
| Pattern | Rule | Resulting code |
|---|---|---|
| -turn at | with or | T on residues to |
| Minimal helix | -turns at both and ; residues to become helical | G (), H (), I () |
| Parallel bridge | and , or and | B, or E in a ladder |
| Antiparallel bridge | and , or and | B, or E in a ladder |
| Ladder | Two or more consecutive bridges of the same type; a bulge of up to one residue on one strand and four on the other does not break it | E |
| Bend | κ above 70° | S |
| Polyproline II | and inside the PPII window for the minimum stretch | P |
Ladders that share residues form one sheet, and DSSP labels each sheet with a letter. The PPII window sits in the polyproline region of the Ramachandran plot, in the upper-left quadrant just to the right of the beta region. Unlike the other helix codes, P needs no hydrogen bonds, and three-state reductions count it as coil.
A residue can satisfy more than one pattern, and DSSP keeps a single code. In DSSP 4.5.8, alpha helices override bridges, pi helices override alpha helices, and G, T, S and P only fill residues that are still unassigned, in that order. A residue that is both a bend and part of a PPII stretch is therefore reported as S.
The legacy .dssp file starts with structure statistics and histograms, then lists one residue per line under a header that names the columns #, RESIDUE, AA, STRUCTURE, BP1, BP2, ACC, N-H-->O and O-->H-N. These are residues 18 to 28 of ubiquitin, truncated after the first pair of hydrogen-bond columns:
18 18 A E > - 0 0 108 -2,-0.3 3,-2.7
19 19 A P T 3 S+ 0 0 47 0, 0.0 38,-2.8
20 20 A S T 3 S+ 0 0 86 36,-0.2 2,-0.2
21 21 A D S < S- 0 0 37 -3,-2.7 35,-2.0
22 22 A T B > -E 55 0B 47 33,-0.2 4,-1.8
23 23 A I H > S+ 0 0 0 31,-2.5 4,-2.4
24 24 A E H > S+ 0 0 130 28,-2.4 4,-1.6
25 25 A N H > S+ 0 0 55 27,-0.3 4,-2.2
26 26 A V H X S+ 0 0 0 -4,-1.8 4,-2.2
27 27 A K H X S+ 0 0 13 -4,-2.4 4,-2.0
28 28 A A H X S+ 0 0 44 -4,-1.6 4,-2.8The first # column is DSSP's own sequential number, which counts chain breaks as extra residues; the second is the residue number and chain from the model. In the AA column, cysteines in a disulfide bridge are written as lowercase letters, with both partners sharing a letter.
The STRUCTURE field starts with the DSSP code, then the PPII flag and one column each for 3-, 4- and 5-turns: > means this residue's C=O starts a turn, < means its N-H closes one, X means both, and a digit marks a residue inside the turn. After the turn columns come S for a bend, the sign of the Cα torsion, and bridge labels, lowercase for parallel and uppercase for antiparallel.
BP1 and BP2 give bridge partners with the sheet label, and ACC is the water-exposed surface in Ų. Each hydrogen-bond entry is an offset and an energy in kcal/mol: -3,-2.7 on residue 21 means its N-H is bonded to the O of residue 18 with an energy of kcal/mol.
The file has two columns for each direction so that bifurcated bonds fit, holding the best and second-best candidates, and even the best can be too weak to count. Only energies below kcal/mol are hydrogen bonds, so residue 18's -2,-0.3 is not one, while the to helix bonds of residues 23 to 28 lie between and kcal/mol.
Residue 18 starts a 3-turn: its O-->H-N entry 3,-2.7 is the same bond that residue 21 reports as -3,-2.7. No neighboring residue starts a second 3-turn, so residues 19 and 20 become T rather than a 3₁₀ helix. Residues 22 and 23 both start 4-turns (4,-1.8 and 4,-2.4), the minimal helix that makes residue 23 the first H. Residue 22 keeps B because it bridges residue 55, as BP1 shows.
The Residues table splits the same per-residue fields into named columns from the annotated mmCIF dssp_ categories. Hydrogen-bond partners and energies are not table columns; read them from the legacy file or the annotated mmCIF.
| Column or group | Interpretation |
|---|---|
Label asym ID, Label seq ID, Residue | The mmCIF label chain, label sequence position and residue name of each assigned residue. Label identifiers can differ from the author chain IDs and residue numbers in PDB files and most viewers; for PDB input DSSP generates them. The legacy DSSP file and the annotated mmCIF keep the author numbering. |
DSSP code | The one-character summary shown in the code table above. |
| Helix, bend, chirality, bridge, sheet, strand, and ladder fields | The same turn, bend, chirality and bridge markers as the legacy STRUCTURE field, used to describe helical patterns and beta-sheet topology. |
Accessibility | Water-exposed surface area in Ų, filled when Calculate accessibility is on. This is absolute accessibility, not a residue-normalized fraction. |
TCO | Cosine of the angle between the C=O of residue and the C=O of residue . Values are near +1 in alpha helices and near -1 in beta sheets. TCO is descriptive and is not used to define the assignment. |
Kappa | Virtual Cα bend angle defined from residues , , and . DSSP uses it to assign bends. |
Alpha | Virtual Cα torsion angle over residues to , which gives the chirality sign. |
Phi, Psi | Standard peptide-backbone torsion angles in degrees. |
Cα X, Cα Y, Cα Z | A copy of the residue's Cα coordinates from the submitted model. |
Accessibility depends on the complete coordinate context. In a multichain complex it is calculated for the whole assembly, so neighboring chains bury surface that would be exposed in an isolated monomer. DSSP ignores water and other hetero atoms such as a heme or metal ions, which makes nearby residues look more exposed.
Incomplete or unusual residues can also give unexpected values. For a dedicated surface-area calculation, compare the result with SASA Calculator.
The Statistics view keeps the categories and units DSSP reports rather than collapsing them into one score. A coordinate gap that breaks a peptide chain can raise the DSSP chain-segment count even when residues keep the same mmCIF chain identifier.
Hydrogen-bond rows give raw counts and, where available, counts per 100 residues, so structures of different sizes can be compared. Helix-length, bridges-per-ladder and ladders-per-sheet histograms are in _dssp_histograms.csv and the legacy file header rather than in this view.
Secondary-structure differences are most meaningful when the structures were prepared consistently and analyzed with the same DSSP version and settings. A code change near a missing residue or unresolved loop may reflect model completeness rather than a biological transition. MolProbity can find geometry and model-quality problems before interpretation, and PDB Fixer can repair missing atoms or residues before rerunning the analysis.
For sequence-only secondary-structure estimates, use Chou-Fasman. If no coordinate model exists yet, ESMFold can generate a structure that DSSP can then classify. These methods answer different questions: prediction proposes structure from sequence, while DSSP assigns states to coordinates that already exist.
DSSP 4 is maintained by Maarten Hekkelman, Anastassis Perrakis and Robbie Joosten at the Netherlands Cancer Institute in Amsterdam, who run the official DSSP server on PDB-REDO. The same site offers ready-made DSSP annotations for PDB entries and a download of the whole databank.
The server retrieves annotations for a PDB ID or accepts uploaded PDB or mmCIF coordinates, optionally gzip-compressed, and returns one file in the format you choose: annotated mmCIF, or legacy DSSP, which may fail on larger structures. ProteinIQ runs the same mkdssp program on your coordinates and returns both formats from one run.
On top of the files, ProteinIQ adds the Residues and Statistics tables, the 3D view colored by secondary structure and a CSV file for each dssp_ category. Its settings cover the PPII stretch, accessibility, loop annotations, detailed categories and a custom dictionary, and a multi-model PDB file can be trimmed to one model.
Every run is a saved job, a batch takes up to 10 structures, the structure can be sent straight to the next analysis, and paid plans can submit jobs through the ProteinIQ API. ProteinIQ has no precomputed databank: each job runs DSSP on the submitted structure.
Kabsch W, Sander C. (1983). Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers 22(12): 2577-2637. DOI: 10.1002/bip.360221211
Hekkelman ML, Salmoral DÁ, Perrakis A, Joosten RP. (2025). DSSP 4: FAIR annotation of protein secondary structure. Protein Science 34(8): e70208. DOI: 10.1002/pro.70208
Validate protein structures with clashscore, Ramachandran, rotamer, and geometry checks.
Generate structural summary reports and diagrams for a single protein PDB structure.
Pairwise RMSD matrices for PDB structure ensembles
Calculate the radius of gyration (Rg) for protein structures from PDB files.
Calculate RMSD between protein structures with automatic alignment
Calculate solvent accessible surface area for protein structures
Predict metal and water binding sites in proteins with 3D CNN models.
Score every protein interface with ESM-2 and a graph neural network
Assess docking quality between model and native structures
Score interprotein interactions in AlphaFold and Boltz predictions