class Chem::Protein::DSSP
Overview
Pure Crystal implementation of the Dictionary of Protein Secondary Structure (DSSP) algorithm (Kabsch, W.; Sander, C. Biopolymers 1983, 22 (12), 2577–2637. [doi:10.1002/bip.360221211]1).
This implementation is based on the mkdssp
program, version 3.0.5, written by
Maarten L. Hekkelman, currently maintained by Coos Baakman, Jon Black, and Wouter
Touw, and distributed under the Boost Software license at the
[github.com/cmbi/xssp]2 repository.
Consider that, according to the algorithm, residues that do not contain backbone atoms, namely, "N", "CA", "C", and "O", are ignored. Therefore, non-standard amino acids are considered during the assignment as long as they contain such atoms. Otherwise, they will be considered as protein gaps, which may alter the secondary structure of surrounding residues.
Note that some differences may be expected with the output of mkdssp
due to:
mkdssp
does not handle well alternate conformations in PDB files, sometimes discarding entire aminoacids.mkdssp
detects chain breaks by checking non-consecutive numbers of neighboring residues. This may fail when residues i and i + 1 are not actually bonded, or when residue numbers are not consecutive. This implementation instead uses atom connectivity to check whether C(i)–N(i+1) are bonded.
FIXME it does not work correctly for periodic structures that have bonds between atoms at opposite ends.
NOTE This implementation of DSSP is currently 50% slower than pure C++ solutions, so keep this in mind when assigning the secondary structure of many structures.
Defined in:
chem/protein/dssp.crConstant Summary
-
HBOND_COUPLING_FACTOR =
-27.888
-
HBOND_ENERGY_CUTOFF =
-0.5
-
HBOND_MIN_ENERGY =
-9.9
-
MIN_CA_SQUARED_DIST =
81