Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

trapperDNP.h

Go to the documentation of this file.
00001 #ifndef TRAPPERDNP_H
00002 #define TRAPPERDNP_H
00003 
00004 #include "MAl_addon.h"
00005 #include <vector>
00006 #include <map>
00007 
00008 class DNPclass{
00009 
00010 public:
00011   DNPclass( MAl_addon* mal, int minqual, int d_min = 3, double p_max = 0.001 );
00012   ~DNPclass();
00013   
00014   
00015 private:
00016 
00017   MAl_addon* m;
00018   int num_found;
00019   int num_pos;
00020 
00021   vector<int> confirmed_DNP_pos;
00022   vector <double> quality2error;
00023   
00024   map<char, char> base_trans;
00025   
00026   int num_candidates;
00027 
00028   int qualmin;
00029   int Dmin;
00030   double p_tot_max;
00031 
00032   vector<int> cand_vec;
00033   vector<char> cand_bases;
00034   vector<char> cons_bases;
00035   
00036   //Private member functions
00037   void look_for_corr(vector<char> &first_col, vector<char> &second_col, 
00038                      vector<int> &first_qual_col, vector<int> &second_qual_col, 
00039                      char cand_base_1, char cand_base_2, int &num_err_first, int &num_err_second, 
00040                      double &exp_err_first, double &exp_err_second, int &num_corr, double &expectation_val);
00041   void find_DNP_candidate_positions();
00042   int column_is_candidate(int col);
00043   void evaluate_DNP_candidate_positions();
00044   void set_DNPs( int col1, int col2,
00045                  char DNPbase1, char DNPbase2, 
00046                  vector<int> &rownum_vec, int ID1, int ID2,
00047                  char cons1, char cons2);
00048 
00049   double poisson_probability(double lambda, int obs);
00050   int find_DNP_base_candidates(int &a, int &t, int &c, int &g, int &gap, 
00051                                char seqbase, int &tot_seqbase, int &tot_others);
00052   void pick_base_row_and_qual_columns(int firstDNPindex, int secondDNPindex, 
00053                                       vector<char> &firstDNPvec, vector<char> &secondDNPvec,
00054                                       vector<int> &first_qual_vec, vector<int> &second_qual_vec,
00055                                       vector<int> &rownum_vec);
00056 
00057 };
00058 
00059 
00060 
00061 
00062 #endif//TRAPPERDNP_H

Generated on Fri Mar 17 17:44:24 2006 for trapper by  doxygen 1.4.4