1 #ifndef CHIMERASLAYER_H
2 #define CHIMERASLAYER_H
8 * Created by westcott on 9/25/09.
9 * Copyright 2009 Schloss Lab. All rights reserved.
18 //***********************************************************************/
19 //This class was modeled after the chimeraSlayer written by the Broad Institute
20 /***********************************************************************/
22 class ChimeraSlayer : public Chimera {
25 ChimeraSlayer(string, string, bool, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool);
26 ChimeraSlayer(string, string, bool, string, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool);
30 int getChimeras(Sequence*);
31 Sequence* print(ostream&, ostream&);
32 Sequence* print(ostream&, ostream&, data_results, data_results);
33 void printHeader(ostream&);
35 data_results getResults() { return printResults; }
38 Sequence* print(MPI_File&, MPI_File&);
39 Sequence* print(MPI_File&, MPI_File&, data_results, data_results);
46 map<int, int> spotMap;
47 Database* databaseRight;
48 Database* databaseLeft;
49 vector<Sequence*> userTemplate; //when template=self, the query file is sorted from most abundance to least abundant
50 //userTemplate grows as the query file is processed by adding sequences that are not chimeric
51 set<string> namesOfChimericSeqs; //only used when template=self
53 vector<data_struct> chimeraResults;
54 data_results printResults;
55 string chimeraFlags, searchMethod, fastafile;
56 bool realign, trimChimera;
57 int window, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, increment;
60 void printBlock(data_struct, string, ostream&);
61 void printBlock(data_results, data_results, bool, bool, string, ostream&);
62 string getBlock(data_struct, string);
63 string getBlock(data_results, data_results, bool, bool, string);
64 //int readNameFile(string);
65 int getTemplate(Sequence*);
69 /************************************************************************/