]> git.donarmstrong.com Git - mothur.git/blob - bellerophon.h
changed sequence class so that when constructor is called aligned and unaligned value...
[mothur.git] / bellerophon.h
1 #ifndef BELLEROPHON_H
2 #define BELLEROPHON_H
3
4 /*
5  *  bellerophon.h
6  *  Mothur
7  *
8  *  Created by Sarah Westcott on 7/9/09.
9  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
10  *
11  */
12
13
14 #include "chimera.h"
15 #include "filterseqscommand.h"
16 #include "sequence.hpp"
17 #include "dist.h"
18
19 struct Preference {
20                 string name;
21                 vector<string> leftParent; //keep the name of closest left associated with the two scores
22                 vector<string> rightParent; //keep the name of closest right associated with the two scores
23                 vector<float> score;  //so you can keep last score and calc this score and keep whichever is bigger.
24                 vector<float> closestLeft;  //keep the closest left associated with the two scores
25                 vector<float> closestRight; //keep the closest right associated with the two scores
26                 int midpoint;
27
28 };
29
30
31 /***********************************************************/
32
33 class Bellerophon : public Chimera {
34         
35         public:
36                 Bellerophon(string);    
37                 ~Bellerophon() {};
38                 
39                 void getChimeras();
40                 void print(ostream&);
41                 
42                 void setCons(string){};
43                 void setQuantiles(string) {};
44                 
45                 
46         private:
47                 Dist* distCalculator;
48                 FilterSeqsCommand* filterSeqs;
49                 vector<Sequence> seqs;
50                 vector<Preference> pref;
51                 string fastafile;
52                 int iters;
53                 
54                 void readSeqs();
55                 void generatePreferences(vector<SeqMap>, vector<SeqMap>, int);
56                 int createSparseMatrix(int, int, SparseMatrix*, vector<Sequence>);
57         
58
59                 
60
61 };
62
63 /***********************************************************/
64
65 #endif
66