eXpress “1.5”

src/mismatchmodel.h

00001 #ifndef MISMATCH_H
00002 #define MISMATCH_H
00003 
00012 #include "frequencymatrix.h"
00013 
00014 class FragHit;
00015 class Target;
00016 
00029 class MismatchTable {
00034   std::vector<FrequencyMatrix<double> > _first_read_mm;
00039   std::vector<FrequencyMatrix<double> > _second_read_mm;
00043   FrequencyMatrix<double> _insert_params;
00047   FrequencyMatrix<double> _delete_params;
00051   size_t _max_len;
00057   bool _active;
00058 
00059  public:
00066   MismatchTable(double alpha);
00072   MismatchTable(std::string param_file_name);
00079   void activate(bool active = true) { _active = active; }
00096   void get_indices(const FragHit& f,
00097                    std::vector<char>& left_indices,
00098                    std::vector<char>& left_seq,
00099                    std::vector<char>& left_ref,
00100                    std::vector<char>& right_indices,
00101                    std::vector<char>& right_seq,
00102                    std::vector<char>& right_ref) const;
00110   double log_likelihood(const FragHit& f) const;
00119   void update(const FragHit&, double p, double mass);
00124   void fix();
00132   void append_output(std::ofstream& outfile) const;
00133 };
00134 
00135 #endif
 All Classes Functions Variables