BALL  1.4.2
 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 
111 
114  };
115 }
116 
117 #endif //BALL_STRUCTURE_NUCLEOTIDEMAPPING_H
118