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:

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.cr

Constant Summary

HBOND_COUPLING_FACTOR = -27.888
HBOND_ENERGY_CUTOFF = -0.5
HBOND_MIN_ENERGY = -9.9
MIN_CA_SQUARED_DIST = 81

Constructors

Instance Method Summary

Instance methods inherited from class Chem::Protein::SecondaryStructureCalculator

assign : Nil assign

Constructor methods inherited from class Chem::Protein::SecondaryStructureCalculator

new(structure : Structure) new

Class methods inherited from class Chem::Protein::SecondaryStructureCalculator

assign(structure : Structure, **options) : Nil assign

Constructor Detail

def self.new(structure : Structure) #

[View source]

Instance Method Detail

def assign : Nil #

[View source]