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