1 #ifndef REFCHIMERATEST 2 #define REFCHIMERATEST 3 4 /* 5 * refchimeratest.h 6 * Mothur 7 * 8 * Created by Pat Schloss on 1/31/11. 9 * Copyright 2011 Schloss Lab. All rights reserved. 10 * 11 */ 12 13 #include "sequence.hpp" 14 15 class RefChimeraTest { 16 17 public: RefChimeraTest()18 RefChimeraTest(){}; ~RefChimeraTest()19 ~RefChimeraTest(){} 20 RefChimeraTest(vector<Sequence>&, bool); 21 string getHeader(); 22 int analyzeQuery(string, string, string&); 23 int getClosestRefIndex(); 24 string getClosestRefAlignment(); 25 string getQueryAlignment(); 26 27 private: 28 int getAlignedMismatches(string&, vector<vector<int> >&, vector<vector<int> >&, int&); 29 int analyzeAlignedQuery(string, string, string&); 30 int analyzeUnalignedQuery(string, string, string&); 31 double alignQueryToReferences(string, string, string&, string&, double&); 32 int getUnalignedDiffs(string, string, vector<int>&, vector<int>&, vector<int>&, vector<int>&); 33 34 int getChimera(vector<vector<int> >&, vector<vector<int> >&, int&, int&, int&, vector<int>&, vector<int>&, vector<int>&, vector<int>&); 35 int getTrimera(vector<vector<int> >&, vector<vector<int> >&, int&, int&, int&, int&, int&, vector<int>&, vector<int>&, vector<int>&, vector<int>&); 36 string stitchBimera(int, int, int); 37 string stitchTrimera(int, int, int, int, int); 38 double calcDistToChimera(string&, string&); 39 40 vector<string> referenceSeqs; 41 vector<string> referenceNames; 42 int numRefSeqs; 43 int alignLength; 44 int bestMatch; 45 string bestRefAlignment; 46 string bestQueryAlignment; 47 bool aligned; 48 49 MothurOut* m; 50 }; 51 52 #endif 53