File: ClusterTreeOutput.h

package info (click to toggle)
clustalx 2.1%2Blgpl-9
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 3,324 kB
  • sloc: cpp: 40,050; sh: 163; xml: 102; makefile: 16
file content (43 lines) | stat: -rw-r--r-- 1,488 bytes parent folder | download | duplicates (12)
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
/**
 * Author: Mark Larkin
 * 
 * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
 */
#ifndef CLUSTERTREEOUTPUT_H
#define CLUSTERTREEOUTPUT_H

#include <memory>
#include <fstream>
#include "../alignment/Alignment.h"
#include "../general/clustalw.h"

namespace clustalw
{

class ClusterTreeOutput
{
    public:
        ClusterTreeOutput(clustalw::SeqInfo* seqInfo, int boot);
        void printNexusTree(clustalw::PhyloTree* phyloTree, ofstream* tree,
                   clustalw::Alignment *alignPtr, clustalw::DistMatrix* distMat, vector<int>* bootTotals);
        void printTree(clustalw::PhyloTree* phyloTree, ofstream* tree, vector<int>* totals);
        void printPhylipTree(clustalw::PhyloTree* phyloTree, ofstream* tree,
                   clustalw::Alignment *alignPtr, clustalw::DistMatrix* distMat, vector<int>* bootTotals);
        void printTreeDesc(clustalw::PhyloTree* phyloTree);
          
    private:
        ClusterTreeOutput(); // Dont allow contruction with default!!!!
        int twoWaySplit(clustalw::PhyloTree* phyloTree, ofstream* tree, int startRow, 
                    int flag, clustalw::Alignment *alignPtr, vector<int>* bootTotals);
        int twoWaySplitNexus(clustalw::PhyloTree* phyloTree, ofstream* tree, int startRow,
                    int flag, clustalw::Alignment *alignPtr, vector<int>* bootTotals);
        /* Attributes! */
        int firstSeq;
        int lastSeq;
        int numSeqs;
        int bootstrap;
};

}

#endif