X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=chimera.h;h=e187bfc60d8d504d80561d4347f9a838f1ddabee;hp=e37d9f9af93cdbc808a6eb7bc7fe7f1ebe4df20a;hb=df7e3ff9f68ef157b0328a2d353c3258c5d45d89;hpb=7b80945ef716dd72d00563a5a4d692394f7f84c3 diff --git a/chimera.h b/chimera.h index e37d9f9..e187bfc 100644 --- a/chimera.h +++ b/chimera.h @@ -45,10 +45,10 @@ struct data_struct { struct data_results { vector results; string flag; - map spotMap; Sequence trimQuery; + //results malignerResults; - data_results(vector d, string f, map s, Sequence t) : results(d), flag(f), spotMap(s), trimQuery(t) {} + data_results(vector d, string f, map s, Sequence t) : results(d), flag(f), trimQuery(t) {} data_results() {} }; /***********************************************************************/ @@ -77,6 +77,7 @@ struct score_struct { int score; int row; int col; +// int mismatches; }; /***********************************************************************/ struct trace_struct { @@ -102,6 +103,12 @@ struct SeqDist { float dist; int index; }; +/***********************************************************************/ +struct SeqCompare { + Sequence seq; + float dist; + int index; +}; //******************************************************************************************************************** //sorts lowest to highest inline bool compareRegionStart(results left, results right){ @@ -113,7 +120,11 @@ inline bool compareSeqDist(SeqDist left, SeqDist right){ return (left.dist < right.dist); } //******************************************************************************************************************** - +//sorts lowest to highest +inline bool compareSeqCompare(SeqCompare left, SeqCompare right){ + return (left.dist < right.dist); +} +//******************************************************************************************************************** struct sim { string leftParent; string rightParent; @@ -122,9 +133,9 @@ struct sim { }; struct linePair { - unsigned long int start; - unsigned long int end; - linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {} + unsigned long long start; + unsigned long long end; + linePair(unsigned long long i, unsigned long long j) : start(i), end(j) {} linePair(){} }; @@ -135,8 +146,8 @@ class Chimera { public: - Chimera(){ m = MothurOut::getInstance(); length = 0; unaligned = false; } - virtual ~Chimera(){ for (int i = 0; i < templateSeqs.size(); i++) { delete templateSeqs[i]; } }; + Chimera(){ m = MothurOut::getInstance(); length = 0; unaligned = false; byGroup = false; } + virtual ~Chimera(){ for (int i = 0; i < templateSeqs.size(); i++) { delete templateSeqs[i]; } for (int i = 0; i < filteredTemplateSeqs.size(); i++) { delete filteredTemplateSeqs[i]; } }; virtual bool getUnaligned() { return unaligned; } virtual int getLength() { return length; } virtual vector readSeqs(string); @@ -146,13 +157,15 @@ class Chimera { virtual void printHeader(ostream&){}; virtual int getChimeras(Sequence*){ return 0; } virtual int getChimeras(){ return 0; } - virtual Sequence* print(ostream&, ostream&){ return NULL; } - virtual Sequence* print(ostream&, ostream&, data_results, data_results) { return NULL; } + virtual Sequence print(ostream&, ostream&){ Sequence temp; return temp; } + virtual Sequence print(ostream&, ostream&, data_results, data_results) { Sequence temp; return temp; } virtual int print(ostream&, ostream&, string){ return 0; } + virtual int getNumNoParents(){ return 0; } virtual data_results getResults() { data_results results; return results; } #ifdef USE_MPI - virtual Sequence* print(MPI_File&, MPI_File&){ return 0; } + virtual Sequence print(MPI_File&, MPI_File&){ Sequence temp; return temp; } + virtual Sequence print(MPI_File&, MPI_File&, data_results, data_results, bool&){ Sequence temp; return temp; } virtual int print(MPI_File&, MPI_File&, string){ return 0; } #endif @@ -160,7 +173,8 @@ class Chimera { protected: vector templateSeqs; - bool filter, unaligned; + vector filteredTemplateSeqs; + bool filter, unaligned, byGroup; int length; string seqMask, filterString, outputDir, templateFileName; Sequence* getSequence(string); //find sequence from name