bbq Implementation Documentation
Main Page | Namespace List | Class List | File List | Namespace Members | Class Members | File Members

footprint_detector.h

Go to the documentation of this file.
00001 // bbq - Copyright (C) 2005, Axel Mosig, University of Leipzig. See
00002 // main.cpp for details.
00003 
00004 #ifndef FOOTPRINT_DETECTOR_H
00005 #define FOOTPRINT_DETECTOR_H
00006 
00007 #include <set>
00008 #include "bitsets.h"
00009 
00010 
00011 namespace bbq {
00012         
00013 //typedef uint_bitset bit_set;
00014 //typedef uint64_bitset bit_set;
00015 typedef variable_bitset bit_set;
00016 
00028 class footprint_detector
00029 {
00030         
00031 public:
00032 
00033 
00034 private:
00035         
00037         int k;
00038 
00040         int K;
00041 
00043         char** s;
00044         
00046         char** T;
00047 
00049         int* n;
00050 
00052         int* N;
00053 
00054         int *** p;
00055         int ** lambda;
00056         int * Lambda;
00057         bit_set ** C;
00058         int ** P;
00059         
00060         int L;
00061 
00064         int overall_best_length;
00065 
00066         int* best_nu;
00067         
00068         bit_set best_intersection;
00069 
00070         
00071 public:
00072 
00073         footprint_detector();
00074         
00075         footprint_detector(int,int,char**,char**,int*,int*);
00076 
00077         ~footprint_detector();
00078 
00079         void init_arrangement_cells();
00080 
00081         void compute_intersections();
00082 
00083         void get_occurences(int i, int j);
00084         
00085         void run(int);
00086 
00087         int get_result();
00088 
00089         int print_result();
00090 
00091         int intersection_cardinality(unsigned int);
00092 
00093         bool increase(int*,int);
00094         
00095 };
00096 
00097 } // end namespace bbq
00098 
00099 
00100 #endif
bbq Implementation Documentation
Axel Mosig, Bioinformatics, University of Leipzig