#include "command.hpp"
#include "chimera.h"
#include "chimeraslayer.h"
+#include "sequenceparser.h"
/***********************************************************/
vector<int> processIDS; //processid
vector<linePair*> lines;
- map<string, int> priority;
int driver(linePair*, string, string, string, string);
int createProcesses(string, string, string, string);
int divideInHalf(Sequence, string&, string&);
map<string, int> sortFastaFile(string, string);
+ map<string, int> sortFastaFile(vector<Sequence>&, map<string, string>&, string newFile);
+ string getNamesFile(string&);
+ int setupChimera(string, map<string, int>&);
+ int MPIExecute(string, string, string, string);
+ int deconvoluteResults(SequenceParser*, string, string, string);
+ map<string, int> priority;
+
#ifdef USE_MPI
int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long long>&);
#endif
bool abort, realign, trim, trimera, save;
- string fastafile, templatefile, outputDir, search, namefile, blastlocation;
+ string fastafile, groupfile, templatefile, outputDir, search, namefile, blastlocation;
int processors, window, iters, increment, numwanted, ksize, match, mismatch, parents, minSimilarity, minCoverage, minBS, minSNP, numSeqs, templateSeqsLength;
float divR;
Chimera* chimera;
vector<string> outputNames;
vector<string> fastaFileNames;
vector<string> nameFileNames;
+ vector<string> groupFileNames;
};
//custom data structure for threads to use.
// This is passed by void pointer so it can be any data type
// that can be passed using a single void pointer (LPVOID).
-typedef struct slayerData {
+struct slayerData {
string outputFName;
string fasta;
string accnos;