Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / clustalw / src / tree / NJTree.h
1 /**
2  * Author: Mark Larkin
3  * 
4  * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
5  */
6 #ifndef NJTREE_H
7 #define NJTREE_H
8
9 #include <vector>
10 #include <iomanip>
11 #include "ClusterTreeAlgorithm.h"
12 #include "../general/userparams.h"
13
14 namespace clustalw
15 {
16
17 class NJTree : public ClusterTreeAlgorithm
18 {
19     public:
20         NJTree(): verbose(false){};
21         virtual ~NJTree(){};
22
23         /** calculate an NJ tree
24          *
25          * @param phyTree the tree structure
26          * @param distMat distance matrix
27          * @param seqInfo holding sequence number info
28          * @param log ofstream to log info to (used by -outputtree)
29          *
30          */
31         virtual void generateTree(clustalw::PhyloTree* phyTree,
32                                   clustalw::DistMatrix* distMat,
33                                   clustalw::SeqInfo* seqInfo,
34                                   ofstream* log = 0);
35         /** be verbose during tree generation
36          *
37          *  if set to true, generateTree will need a log ofstream
38          */
39         virtual void setVerbose(bool choice){verbose = choice;};
40     private:
41         vector<double> av;
42         vector<int> tkill;
43         bool verbose;
44 };
45
46 }
47 #endif