8 * Created by Pat Schloss on 9/5/11.
9 * Copyright 2011 Patrick D. Schloss. All rights reserved.
14 #include "mothurout.h"
16 /**************************************************************************************************/
19 seqData(string name, string seq, int freq) : seqName(name), sequence(seq), frequency(freq) { }
21 bool operator<( seqData const& rhs ) const {
25 if(frequency < rhs.frequency){
28 else if(frequency == rhs.frequency){
29 verdict = (seqName > rhs.seqName);
39 /**************************************************************************************************/
41 pwModel(double m, double mm, double g): MATCH(m), MISMATCH(mm), GAP_OPEN(g) {;}
46 /**************************************************************************************************/
48 pwAlign(): query(""), reference(""){}
49 pwAlign(string q, string r): query(q), reference(r){}
54 /**************************************************************************************************/
58 Perseus() { m = MothurOut::getInstance(); }
61 vector<vector<double> > binomial(int);
62 double modeledPairwiseAlignSeqs(string, string, string&, string&, vector<vector<double> >&);
63 int getAlignments(int, vector<seqData>, vector<pwAlign>&, vector<vector<int> >& , vector<vector<int> >&, vector<vector<int> >&, vector<vector<int> >&, int&, int&, vector<bool>&);
64 int getChimera(vector<seqData>,vector<vector<int> >&, vector<vector<int> >&,int&, int&, int&,vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<bool>);
65 string stitchBimera(vector<pwAlign>&, int, int, int, vector<vector<int> >&, vector<vector<int> >&);
66 int getTrimera(vector<seqData>&, vector<vector<int> >&, int&, int&, int&, int&, int&, vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<bool>);
67 string stitchTrimera(vector<pwAlign>, int, int, int, int, int, vector<vector<int> >&, vector<vector<int> >&);
68 double calcLoonIndex(string, string, string, int, vector<vector<double> >&);
69 double classifyChimera(double, double, double, double, double);
74 double basicPairwiseAlignSeqs(string, string, string&, string&, pwModel);
75 int getDiffs(string, string, vector<int>&, vector<int>&, vector<int>&, vector<int>&);
76 int getLastMatch(char, vector<vector<char> >&, int, int, string&, string&);
77 int threeWayAlign(string, string, string, string&, string&, string&);
78 double calcBestDistance(string, string);
82 /**************************************************************************************************/