/usr/include/BALL/STRUCTURE/secondaryStructureProcessor.h is in libball1.4-dev 1.4.3~beta1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_STRUCTURE_SECONDARYSTRUCTUREPROCESSOR_H
#define BALL_STRUCTURE_SECONDARYSTRUCTUREPROCESSOR_H
#ifndef BALL_COMMON_H
#include <BALL/common.h>
#endif
#ifndef BALL_CONCEPT_COMPOSITE_H
# include <BALL/CONCEPT/composite.h>
#endif
#include <vector>
namespace BALL
{
class SecondaryStructure;
/** Secondary Structure Processor.
\brief Secondary structure extraction from 3D structure.
This class implements the DSSP algorithm described in
"Kabsch W & Sander C (1983).
Dictionary of protein secondary structure:
pattern recognition of hydrogen-bonded and geometrical features.
Biopolymers, 22, 2577-2637."
When applied to a protein, it removes the instances of SecondaryStructure
from the protein, predicts the secondary structure elements based
(mostly) on H-bond patterns and backbone torsions and reinserts the
appropriate secondary structure elements at the predicted positions.
\ingroup StructureMiscellaneous
*/
class BALL_EXPORT SecondaryStructureProcessor
: public UnaryProcessor<Composite>
{
public:
/** @name Constructors */
//@{
///
SecondaryStructureProcessor();
//@}
/** @name Processor-related methods */
//@{
///
virtual Processor::Result operator() (Composite& composite);
//@}
protected:
/// Compute the secondary structure
void compute_();
// helper function for finish()
char setSecondaryStructureType_(SecondaryStructure* ss, char type);
bool testString_(const String& s, Size offset, Size offset_2);
bool testString2_(const String& s, Size offset);
bool testString3_(const String& s, Size offset, char x);
void insertTurn_(int turn, int position);
void changeAllXToY_(char X, char Y, String& target);
// matrix to save the possible HBondPairs
std::vector<std::vector<Position> > HBonds_;
//vector to save the bridges
std::vector<std::vector<int> > posbridges_;
String sheet_;
String fiveturn_;
String fourturn_;
String threeturn_;
String summary_;
};
} //namespace BALL
#endif // BALL_STRUCTURE_SECONDARYSTRUCTUREPROCESSOR_H
|