class ChimeraSlayer : public Chimera {
public:
- ChimeraSlayer(string, string, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool);
+ ChimeraSlayer(string, string, bool, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool);
+ ChimeraSlayer(string, string, bool, string, string, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool);
+
~ChimeraSlayer();
int getChimeras(Sequence*);
- int print(ostream&, ostream&);
+ Sequence* print(ostream&, ostream&);
void printHeader(ostream&);
int doPrep();
#ifdef USE_MPI
- int print(MPI_File&, MPI_File&);
+ Sequence* print(MPI_File&, MPI_File&);
#endif
private:
Sequence* querySeq;
+ Sequence* trimQuery;
DeCalculator* decalc;
- Maligner* maligner;
- Slayer* slayer;
map<int, int> spotMap;
Database* databaseRight;
Database* databaseLeft;
+ map<string, vector<string> > nameMapRank; //sequence name to rank so you can construct a template of the abundant sequences if the user uses itself as template
vector<data_struct> chimeraResults;
- string chimeraFlags, searchMethod, fastafile;
- bool realign;
+ string chimeraFlags, searchMethod, fastafile, includeAbunds;
+ bool realign, trimChimera;
int window, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, increment;
float divR;
- void printBlock(data_struct, ostream&);
- string getBlock(data_struct);
+ void printBlock(data_struct, string, ostream&);
+ string getBlock(data_struct, string);
+ int readNameFile(string);
+ vector<Sequence*> getTemplate(Sequence*);
};