7 * Created by westcott on 9/25/09.
8 * Copyright 2009 Schloss Lab. All rights reserved.
13 #include "sequence.hpp"
15 /***********************************************************************/
16 //This class was modeled after the chimeraSlayer written by the Broad Institute
17 /***********************************************************************/
18 struct data_struct { //this is crazy big...but follow original.
45 /***********************************************************************/
46 //sorts lowest to highest first by bsMax, then if tie by chimeraMax
47 inline bool compareDataStruct(data_struct left, data_struct right){
48 if (left.bsMax < right.bsMax) { return true; }
49 else if (left.bsMax == right.bsMax) {
50 return (left.chimeraMax < right.chimeraMax);
51 }else { return false; }
53 /***********************************************************************/
60 /***********************************************************************/
67 Slayer(int, int, int, float, int, int);
70 string getResults(Sequence*, vector<Sequence*>);
71 vector<data_struct> getOutput() { return outputResults; }
76 int windowSize, windowStep, parentFragmentThreshold, iters, percentSNPSample;
78 vector<data_struct> outputResults;
79 vector< map<int, int> > baseSpots;
81 map<int, int> verticalFilter(vector<Sequence*>);
82 float computePercentID(string, string, int, int);
84 vector<data_struct> runBellerophon(Sequence*, Sequence*, Sequence*, map<int, int>&);
85 vector<snps> getSNPS(string, string, string, int, int);
86 int bootstrapSNPS(vector<snps>, vector<snps>, float&, float&);
87 float snpQA(vector<snps>);
88 float snpQB(vector<snps>);
89 float snpAB(vector<snps>);
94 /***********************************************************************/