#include "decalc.h"
#include "chimera.h"
+#include "database.hpp"
/***********************************************************************/
//This class was modeled after the chimeraMaligner written by the Broad Institute
public:
- Maligner(vector<Sequence*>, int, int, int, float, int, int, string);
+ Maligner(vector<Sequence*>, int, int, float, int, int); //int, int, int, , string, Database*, Database*
~Maligner() {};
string getResults(Sequence*, DeCalculator*);
Sequence* query;
vector<Sequence*> refSeqs;
vector<Sequence*> db;
- int numWanted, matchScore, misMatchPenalty, minCoverage, minSimilarity;
- string searchMethod;
+ int minCoverage, minSimilarity, matchScore, misMatchPenalty;
float minDivR, percentIdenticalQueryChimera;
vector<results> outputResults;
map<int, int> spotMap;
-
+ vector<int> unalignedMap;
vector<Sequence*> minCoverageFilter(vector<Sequence*>); //removes top matches that do not have minimum coverage with query.
int computeChimeraPenalty();
void verticalFilter(vector<Sequence*>);
vector<score_struct> extractHighestPath(vector<vector<score_struct> >);
vector<trace_struct> mapTraceRegionsToAlignment(vector<score_struct>, vector<Sequence*>);
string constructChimericSeq(vector<trace_struct>, vector<Sequence*>);
+ string constructAntiChimericSeq(vector<trace_struct>, vector<Sequence*>);
float computePercentID(string, string);
string chimeraMaligner(int, DeCalculator*);
- vector<Sequence*> getBlastSeqs(Sequence*, int);
+ MothurOut* m;
};