LocARNA-1.9.2
src/LocARNA/alignment_impl.hh
00001 #ifndef LOCARNA_ALIGNMENT_IMPL_HH
00002 #define LOCARNA_ALIGNMENT_IMPL_HH
00003 
00004 #ifdef HAVE_CONFIG_H
00005 #include <config.h>
00006 #endif
00007 
00008 #include <iosfwd>
00009 #include <vector>
00010 
00011 namespace LocARNA {
00012 
00013     template <class T>
00014     class plusvector;
00015     class Alignment;
00016     class Sequence;
00017     class RnaData;
00018     class Scoring;
00019 
00023     class AlignmentImpl {
00024     public:
00025         Alignment *self_; 
00026 
00027         const Sequence &seqA_; 
00028         const Sequence &seqB_; 
00029 
00042         Alignment::edge_ends_t a_;
00043 
00056         Alignment::edge_ends_t b_;
00057 
00058         std::string strA_; 
00059         std::string strB_; 
00060 
00068         AlignmentImpl(Alignment *self,
00069                       const Sequence &seqA,
00070                       const Sequence &seqB)
00071             : self_(self),
00072               seqA_(seqA),
00073               seqB_(seqB),
00074               a_(),
00075               b_(),
00076               strA_(),
00077               strB_() {}
00078 
00084         void
00085         write_debug(std::ostream &out) const;
00086 
00093         static void
00094         write_debug(std::ostream &out, const Alignment::edge_ends_t &ends);
00095 
00104         static std::string
00105         dot_bracket_structure(const std::string &str,
00106                               const Alignment::edge_ends_t &x);
00107     };
00108 
00109 } // end namespace LocARNA
00110 
00111 #endif // LOCARNA_ALIGNMENT_IMPL_HH
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends