Line | |
---|
1 | /** |
---|
2 | * Analyser.h |
---|
3 | * |
---|
4 | * This class is the main entry point to this package. |
---|
5 | * The analyser object is responsible for interacting with the Cma code and Arb. |
---|
6 | * |
---|
7 | * The alphabet used is also defined in this class. Please check the implementation |
---|
8 | * of the constructor. |
---|
9 | * |
---|
10 | * If you are looking for information on Cma computations, please check the |
---|
11 | * comments in the Cma class. |
---|
12 | * |
---|
13 | * Created on: Feb 15, 2010 |
---|
14 | * Author: Breno Faria |
---|
15 | * |
---|
16 | * Institute of Microbiology (Technical University Munich) |
---|
17 | * http://www.arb-home.de/ |
---|
18 | */ |
---|
19 | |
---|
20 | #ifndef ANALYSER_H |
---|
21 | #define ANALYSER_H |
---|
22 | |
---|
23 | #ifndef ARBDBT_H |
---|
24 | #include <arbdbt.h> |
---|
25 | #endif |
---|
26 | #ifndef ALIGNEDSEQUENCELOADER_H |
---|
27 | #include "AlignedSequenceLoader.h" |
---|
28 | #endif |
---|
29 | #ifndef CMA_H |
---|
30 | #include "Cma.h" |
---|
31 | #endif |
---|
32 | |
---|
33 | class Analyser FINAL_TYPE : virtual Noncopyable { |
---|
34 | |
---|
35 | private: |
---|
36 | /** |
---|
37 | * The sequence loader. This object is an interface to Arb's DB. |
---|
38 | */ |
---|
39 | AlignedSequenceLoader *loader; |
---|
40 | |
---|
41 | /** |
---|
42 | * The correlated mutation analysis computation is done by this object. |
---|
43 | */ |
---|
44 | Cma *cma; |
---|
45 | |
---|
46 | public: |
---|
47 | /** |
---|
48 | * Returns a reference to the Cma object. |
---|
49 | */ |
---|
50 | Cma* getCma(); |
---|
51 | |
---|
52 | /** |
---|
53 | * Saves the clustering result as SAI in the ARB DB. |
---|
54 | */ |
---|
55 | GB_ERROR saveSAI(vector<size_t> clusters, double threshold); |
---|
56 | static const char *getSAIname() { return "cma_clusters"; } |
---|
57 | |
---|
58 | /** |
---|
59 | * Gives the clusters sensible names. |
---|
60 | */ |
---|
61 | vector<char> normalizeClusters(vector<size_t> clusters); |
---|
62 | |
---|
63 | /** |
---|
64 | * Returns reference to the loader object. |
---|
65 | */ |
---|
66 | AlignedSequenceLoader* getLoader(); |
---|
67 | |
---|
68 | /** |
---|
69 | * Constructor. |
---|
70 | */ |
---|
71 | Analyser(); |
---|
72 | |
---|
73 | /** |
---|
74 | * Desctructor. |
---|
75 | */ |
---|
76 | virtual ~Analyser(); |
---|
77 | |
---|
78 | }; |
---|
79 | |
---|
80 | #else |
---|
81 | #error Analyser.h included twice |
---|
82 | #endif // ANALYSER_H |
---|
Note: See
TracBrowser
for help on using the repository browser.