8 * Created by Sarah Westcott on 7/9/09.
9 * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
15 #include "sequence.hpp"
17 /***********************************************************************/
20 string leftParent; //keep the name of closest left
21 string rightParent; //keep the name of closest
22 float score; //preference score
23 float closestLeft; //keep the closest left
24 float closestRight; //keep the closest right
26 Preference() { name = ""; leftParent = ""; rightParent = ""; score = 0.0; closestLeft = 10000.0; closestRight = 10000.0; midpoint = 0; }
29 /***********************************************************************/
36 /***********************************************************************/
42 /***********************************************************************/
51 float queryToParentLocal;
54 /***********************************************************************/
60 //********************************************************************************************************************
61 //sorts lowest to highest
62 inline bool compareRegionStart(results left, results right){
63 return (left.nastRegionStart < right.nastRegionStart);
65 //********************************************************************************************************************
66 //sorts lowest to highest
67 inline bool compareSeqDist(SeqDist left, SeqDist right){
68 return (left.dist < right.dist);
70 //********************************************************************************************************************
80 unsigned long int start;
81 unsigned long int end;
82 linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
87 /***********************************************************************/
93 Chimera(){ m = MothurOut::getInstance(); length = 0; unaligned = false; }
94 virtual ~Chimera(){ for (int i = 0; i < templateSeqs.size(); i++) { delete templateSeqs[i]; } };
95 virtual bool getUnaligned() { return unaligned; }
96 virtual int getLength() { return length; }
97 virtual vector<Sequence*> readSeqs(string);
98 virtual void setMask(string);
99 virtual map<int, int> runFilter(Sequence*);
100 virtual string createFilter(vector<Sequence*>, float);
101 virtual void printHeader(ostream&){};
102 virtual int getChimeras(Sequence*){ return 0; }
103 virtual int getChimeras(){ return 0; }
104 virtual Sequence* print(ostream&, ostream&){ return NULL; }
105 virtual int print(ostream&, ostream&, string){ return 0; }
108 virtual Sequence* print(MPI_File&, MPI_File&){ return 0; }
109 virtual int print(MPI_File&, MPI_File&, string){ return 0; }
115 vector<Sequence*> templateSeqs;
116 bool filter, unaligned;
118 string seqMask, filterString, outputDir, templateFileName;
119 Sequence* getSequence(string); //find sequence from name
123 /***********************************************************************/