int nastRegionStart;
int nastRegionEnd;
string parent;
+ string parentAligned;
float queryToParent;
float queryToParentLocal;
float divR;
struct SeqDist {
Sequence* seq;
float dist;
+ int index;
};
//********************************************************************************************************************
//sorts lowest to highest
Chimera(){};
Chimera(string);
+ Chimera(string, bool, string);
Chimera(string, string);
- virtual ~Chimera(){};
+ virtual ~Chimera(){ for (int i = 0; i < templateSeqs.size(); i++) { delete templateSeqs[i]; } };
virtual void setFilter(bool f) { filter = f; }
virtual void setCorrection(bool c) { correction = c; }
virtual void setProcessors(int p) { processors = p; }
virtual void setMinBS(int b) { minBS = b; }
virtual void setMinSNP(int s) { minSNP = s; }
virtual void setIters(int i) { iters = i; }
- virtual void setTemplateSeqs(vector<Sequence*> t) { templateSeqs = t; }
virtual bool getUnaligned() { return unaligned; }
- virtual void setTemplateFile(string t) { templateFileName = t; }
+ virtual void setTemplateFile(string t) { templateFileName = t; templateSeqs = readSeqs(t); }
+ virtual int getLength() { return length; }
virtual void setCons(string){};
virtual void setQuantiles(string){};
virtual vector<Sequence*> readSeqs(string);
virtual vector< vector<float> > readQuantiles();
virtual void setMask(string);
- virtual void runFilter(Sequence*);
- virtual void createFilter(vector<Sequence*>);
+ virtual map<int, int> runFilter(Sequence*);
+ virtual string createFilter(vector<Sequence*>, float);
virtual void printHeader(ostream&){};
virtual int getChimeras(Sequence*){ return 0; }
virtual int getChimeras(){ return 0; }
- virtual void print(ostream&){};
+ virtual void print(ostream&, ostream&){};
protected:
vector<Sequence*> templateSeqs;
bool filter, correction, svg, unaligned;
- int processors, window, increment, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters;
+ int processors, window, increment, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, length;
float divR;
string seqMask, quanfile, filterString, name, outputDir, templateFileName;
Sequence* getSequence(string); //find sequence from name