BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
nucleotideMapping.h
Go to the documentation of this file.
1 #ifndef BALL_STRUCTURE_NUCLEOTIDEMAPPING_H
2 #define BALL_STRUCTURE_NUCLEOTIDEMAPPING_H
3 
4 #include <string>
5 
7 
8 namespace BALL
9 {
10  class Chain;
11  class Residue;
12 
22  {
23  public:
24  typedef std::pair<const std::string, const std::string> Alignment;
25 
27 
30 
40  static NucleotideMapping assignNaively(Chain& a, Chain& b, unsigned int offset_a = 0, unsigned int offset_b = 0);
41 
49  static NucleotideMapping assignFromDistances(Chain& a, Chain& b);
50 
67  static NucleotideMapping assignFromAlignment(Chain& a, Chain& b, const Alignment& alignment);
68 
70 
73 
77  Chain* getFirstStrand() const;
78 
82  Chain* getSecondStrand() const;
83 
92  Residue* firstToSecond(Residue* a) const;
93 
102  Residue* secondToFirst(Residue* b) const;
103 
105  private:
107  NucleotideMapping(Chain& a, Chain& b, const NucleotideMap& a_to_b, const NucleotideMap& b_to_a);
108 
109  Chain* a_;
110  Chain* b_;
111 
112  NucleotideMap a_to_b_;
113  NucleotideMap b_to_a_;
114  };
115 }
116 
117 #endif //BALL_STRUCTURE_NUCLEOTIDEMAPPING_H
118 
std::pair< const std::string, const std::string > Alignment
#define BALL_EXPORT
Definition: COMMON/global.h:50