source: tags/ms_ra2q2/RNACMA/Analyser.h

Last change on this file was 15513, checked in by westram, 8 years ago
File size: 1.7 KB
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
33class Analyser FINAL_TYPE : virtual Noncopyable {
34
35private:
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
46public:
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.