Gromacs  2026.0-dev-20241113-4b16639
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations | Variables
#include "gmxpre.h"
#include "dssp.h"
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <bitset>
#include <filesystem>
#include <fstream>
#include <initializer_list>
#include <iostream>
#include <memory>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include "gromacs/analysisdata/analysisdata.h"
#include "gromacs/analysisdata/modules/plot.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
#include "gromacs/options/ioptionscontainer.h"
#include "gromacs/options/optionfiletype.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/selection/nbsearch.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selectionoption.h"
#include "gromacs/topology/atoms.h"
#include "gromacs/trajectory/trajectoryframe.h"
#include "gromacs/trajectoryanalysis/analysissettings.h"
#include "gromacs/trajectoryanalysis/topologyinformation.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/enumerationhelpers.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/futil.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/pleasecite.h"
#include "gromacs/utility/real.h"
+ Include dependency graph for dssp.cpp:

Description

Implements gmx::analysismodules::Dssp.

Author
Sergey Gorelov gorel.nosp@m.ov_s.nosp@m.v@pnp.nosp@m.i.nr.nosp@m.cki.r.nosp@m.u
Anatoly Titov titov.nosp@m._ai@.nosp@m.pnpi..nosp@m.nrck.nosp@m.i.ru
Alexey Shvetsov alexx.nosp@m.yum@.nosp@m.gmail.nosp@m..com

Classes

struct  gmx::analysismodules::anonymous_namespace{dssp.cpp}::DsspStorageFrame
 Structure that contains storage information from different frames. More...
 
class  gmx::analysismodules::anonymous_namespace{dssp.cpp}::DsspStorage
 Class that stores frame information in storage and, upon request, can return it. More...
 
struct  gmx::analysismodules::anonymous_namespace{dssp.cpp}::ResInfo
 Structure of residues' information that can operate with atoms' indices. More...
 
class  gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructuresData
 Describes and manipulates secondary structure attributes of a residue. More...
 
class  gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructures
 Class that provides search of specific h-bond patterns within residues. More...
 

Enumerations

enum  gmx::analysismodules::anonymous_namespace{dssp.cpp}::BackboneAtomTypes : std::size_t {
  AtomCA, AtomC, AtomO, AtomN,
  AtomH, AtomHN, Count
}
 Enum of backbone atoms' types.
 
enum  gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes : std::size_t {
  Loop = 0, gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Break, gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Bend, gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Turn,
  gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Helix_PP, gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Helix_5, gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Helix_3, gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Strand,
  gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Bridge, gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Helix_4, gmx::analysismodules::anonymous_namespace{dssp.cpp}::SecondaryStructureTypes::Count
}
 Enum of secondary structures' types. More...
 
enum  gmx::analysismodules::anonymous_namespace{dssp.cpp}::TurnsTypes : std::size_t {
  Turn_3 = 0, Turn_4, Turn_5, Turn_PP,
  Count
}
 Enum of turns' types.
 
enum  gmx::analysismodules::anonymous_namespace{dssp.cpp}::HelixPositions : std::size_t {
  None = 0, Start, Middle, End,
  StartAndEnd, Count
}
 Enum of different possible helix positions' types.
 
enum  gmx::analysismodules::anonymous_namespace{dssp.cpp}::BridgeTypes : std::size_t { None = 0, AntiParallelBridge, ParallelBridge, Count }
 Enum of bridges' types.
 
enum  gmx::analysismodules::anonymous_namespace{dssp.cpp}::HydrogenMode : std::size_t { Gromacs = 0, Dssp, Count }
 Enum of various modes of use of hydrogen atoms. Gromacs mode strictly uses hydrogen atoms from the protein structure, while Dssp mode exclusively uses non-existent hydrogen atoms with coordinates calculated from the positions of carbon and oxygen atoms in residues.
 
enum  gmx::analysismodules::anonymous_namespace{dssp.cpp}::PPStretches : std::size_t { Shortened = 0, Default, Count }
 Enum of various size of stretch of polyproline helices.
 
enum  gmx::analysismodules::anonymous_namespace{dssp.cpp}::HBondDefinition : std::size_t { Energy = 0, Geometry, Count }
 Enum of various modes of hydrogen bond definition.
 

Variables

const gmx::EnumerationArray
< BackboneAtomTypes, const
char * > 
gmx::analysismodules::anonymous_namespace{dssp.cpp}::c_backboneAtomTypeNames
 String values corresponding to backbone atom types. More...
 
const gmx::EnumerationArray
< SecondaryStructureTypes,
const char > 
gmx::analysismodules::anonymous_namespace{dssp.cpp}::c_secondaryStructureTypeNames
 String values (symbols) corresponding to secondary structures' types. More...
 
const gmx::EnumerationArray
< SecondaryStructureTypes,
const char * > 
gmx::analysismodules::anonymous_namespace{dssp.cpp}::c_secondaryStructureTypeNamesFull
 String values (full) corresponding to secondary structures' types. More...
 
const gmx::EnumerationArray
< HydrogenMode, const char * > 
gmx::analysismodules::anonymous_namespace{dssp.cpp}::c_HydrogenModeNames
 String values corresponding to hydrogen-assignment modes. More...
 
const gmx::EnumerationArray
< PPStretches, const char * > 
gmx::analysismodules::anonymous_namespace{dssp.cpp}::c_PPStretchesNames
 String values corresponding to neighbor-search modes. More...
 
const gmx::EnumerationArray
< HBondDefinition, const char * > 
gmx::analysismodules::anonymous_namespace{dssp.cpp}::c_HBondDefinition
 String values corresponding to hydrogen bond definition modes. More...