BALL
1.4.1
|
00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 00005 #ifndef BALL_SECONDARY_STRUCTURE_PROCESSOR_H 00006 #define BALL_SECONDARY_STRUCTURE_PROCESSOR_H 00007 00008 #ifndef BALL_COMMON_H 00009 #include <BALL/common.h> 00010 #endif 00011 00012 #ifndef BALL_CONCEPT_COMPOSITE_H 00013 # include <BALL/CONCEPT/composite.h> 00014 #endif 00015 00016 #include <vector> 00017 00018 namespace BALL 00019 { 00020 class SecondaryStructure; 00021 00038 class BALL_EXPORT SecondaryStructureProcessor 00039 : public UnaryProcessor<Composite> 00040 { 00041 public: 00042 00045 00046 SecondaryStructureProcessor(); 00048 00051 00052 virtual Processor::Result operator() (Composite& composite); 00054 00055 protected: 00056 00058 void compute_(); 00059 00060 // helper function for finish() 00061 char setSecondaryStructureType_(SecondaryStructure* ss, char type); 00062 00063 bool testString_(const String& s, Size offset, Size offset_2); 00064 bool testString2_(const String& s, Size offset); 00065 bool testString3_(const String& s, Size offset, char x); 00066 00067 void insertTurn_(int turn, int position); 00068 void changeAllXToY_(char X, char Y, String& target); 00069 00070 // matrix to save the possible HBondPairs 00071 std::vector<std::vector<Position> > HBonds_; 00072 00073 //vector to save the bridges 00074 std::vector<std::vector<int> > posbridges_; 00075 00076 String sheet_; 00077 String fiveturn_; 00078 String fourturn_; 00079 String threeturn_; 00080 String summary_; 00081 }; 00082 00083 } //namespace BALL 00084 00085 #endif // BALL_STRUCTURE_SECONDARYSTRUCTUREPROCESSOR_H