struct data_results {
vector<data_struct> results;
string flag;
- map<int, int> spotMap;
Sequence trimQuery;
+ //results malignerResults;
- data_results(vector<data_struct> d, string f, map<int, int> s, Sequence t) : results(d), flag(f), spotMap(s), trimQuery(t) {}
+ data_results(vector<data_struct> d, string f, map<int, int> s, Sequence t) : results(d), flag(f), trimQuery(t) {}
data_results() {}
};
/***********************************************************************/
int score;
int row;
int col;
+// int mismatches;
};
/***********************************************************************/
struct trace_struct {
float dist;
int index;
};
+/***********************************************************************/
+struct SeqCompare {
+ Sequence seq;
+ float dist;
+ int index;
+};
//********************************************************************************************************************
//sorts lowest to highest
inline bool compareRegionStart(results left, results 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;
};
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(){}
};
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; }
+ 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<Sequence*> readSeqs(string);
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){ Sequence temp; return temp; }
virtual int print(MPI_File&, MPI_File&, string){ return 0; }
#endif
protected:
vector<Sequence*> templateSeqs;
+ vector<Sequence*> filteredTemplateSeqs;
bool filter, unaligned;
int length;
string seqMask, filterString, outputDir, templateFileName;