#include "chimera.h"
#include "filterseqscommand.h"
+#include "sparsematrix.hpp"
#include "sequence.hpp"
#include "dist.h"
-struct Preference {
- string name;
- vector<string> leftParent; //keep the name of closest left associated with the two scores
- vector<string> rightParent; //keep the name of closest right associated with the two scores
- vector<float> score; //so you can keep last score and calc this score and keep whichever is bigger.
- vector<float> closestLeft; //keep the closest left associated with the two scores
- vector<float> closestRight; //keep the closest right associated with the two scores
- int midpoint;
-
-};
-
+typedef list<PCell>::iterator MatData;
+typedef map<int, float> SeqMap; //maps sequence to all distance for that seqeunce
/***********************************************************/
class Bellerophon : public Chimera {
public:
- Bellerophon(string);
+ Bellerophon(string, string);
~Bellerophon() {};
- void getChimeras();
- void print(ostream&);
-
- void setCons(string){};
- void setQuantiles(string) {};
-
+ int getChimeras();
+ int print(ostream&, ostream&);
private:
Dist* distCalculator;
FilterSeqsCommand* filterSeqs;
- vector<Sequence> seqs;
+ vector<Sequence*> seqs;
vector<Preference> pref;
string fastafile;
int iters;
- void readSeqs();
- void generatePreferences(vector<SeqMap>, vector<SeqMap>, int);
+ int generatePreferences(vector<SeqMap>, vector<SeqMap>, int);
int createSparseMatrix(int, int, SparseMatrix*, vector<Sequence>);
-
-
-
-
};
/***********************************************************/