#include "maligner.h"
#include "slayer.h"
-/***********************************************************************/
+//***********************************************************************/
//This class was modeled after the chimeraSlayer written by the Broad Institute
/***********************************************************************/
class ChimeraSlayer : public Chimera {
public:
- ChimeraSlayer(string, string);
+ ChimeraSlayer(string, string, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool);
~ChimeraSlayer();
- void getChimeras();
- void print(ostream&);
-
- void setCons(string){};
- void setQuantiles(string q) {};
+ int getChimeras(Sequence*);
+ int print(ostream&, ostream&);
+ void printHeader(ostream&);
+ int doPrep();
+ #ifdef USE_MPI
+ int print(MPI_File&, MPI_File&);
+ #endif
private:
+ Sequence* querySeq;
DeCalculator* decalc;
Maligner* maligner;
Slayer* slayer;
- vector<linePair*> lines;
- vector<Sequence*> querySeqs;
- vector<Sequence*> templateSeqs;
+ map<int, int> spotMap;
+ Database* databaseRight;
+ Database* databaseLeft;
- vector< vector<data_struct> > chimeraResults;
- vector<string> chimeraFlags;
-
- string fastafile, templateFile;
+ vector<data_struct> chimeraResults;
+ string chimeraFlags, searchMethod, fastafile;
+ bool realign;
+ int window, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, increment;
+ float divR;
+
+ void printBlock(data_struct, string, ostream&);
+ string getBlock(data_struct, string);
- Sequence* getSequence(string); //find sequence from name
-
-
};
/************************************************************************/