Ksdssp is an implementation of the Kabsch and Sander algorithm for defining the secondary structure of proteins, as described in:
W. Kabsch and C. Sander, "Dictionary of Protein Secondary Structure: Pattern Recognition of Hydrogen-Bonded and Geometrical Features" Biopolymers 22:2577 (1983).Many PDB files have secondary structure information supplied in HELIX and SHEET records (see the Intro to PDB Format (PDF)), but some do not. When a peptide or protein structure lacking secondary structure records is read, ksdssp is automatically invoked to generate helix and sheet information. The parameter settings used are reported in the Reply Log. Secondary structure can be redefined with different parameter settings using the command-line options described below.
Ksdssp uses the coordinates of the backbone atoms (N, CA, C, O, and optionally H) of a protein to determine which residues are in alpha helices and beta strands. If an amide hydrogen is missing, it is placed 1.01 angstroms from N along the bisector of (1) the vector opposite the bisector of C-N-CA, and (2) the vector opposite the C-O vector from the previous amino acid.
The calculation is applied to the models containing atom-spec, and a blank atom-spec is interpreted as "all." Models that do not appear to contain amino acids (that is, nonpeptide molecules and nonmolecular objects) are ignored.
Ksdssp estimates the energy of each candidate hydrogen-bonding interaction and classifies it as a hydrogen bond if the energy is no greater than (at least as favorable as) cutoff. The default is -0.5 kcal/mol, as recommended by Kabsch and Sander, who add that "A good H-bond has about -3 kcal/mol binding energy."
HELIX records are only generated for alpha helices at least helix_min residues long; the default is 3.
SHEET records are only generated for beta strands at least strand_min residues long; the default is 3. Reducing strand_min to 1 is not recommended, as there are bridges in many structures that confuse the algorithm for defining sheets.
Save the hydrogen-bonding information in file rather than discarding it (the default). The notation in the file is similar to that used by Kabsch and Sander, but is in a vertical instead of horizontal format.
In most cases, the default parameter values are reasonable for computing secondary structure.
See also: ribbon, ribbonjr, the PipesAndPlanks tool