1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#ifndef SPLITMATRIX_H
#define SPLITMATRIX_H
/*
* splitmatrix.h
* Mothur
*
* Created by westcott on 5/19/10.
* Copyright 2010 Schloss Lab. All rights reserved.
*
*/
#include "mothur.h"
#include "mothurout.h"
/******************************************************/
class SplitMatrix {
public:
SplitMatrix(string, string, string, float, string, bool); //column formatted distance file, namesfile, cutoff, method, large
SplitMatrix(string, string, string, float, float, string, int, string); //fastafile, namefile, taxFile, taxcutoff, cutoff, method, processors, outputDir
~SplitMatrix();
int split();
vector< map<string, string> > getDistanceFiles(); //returns map of distance files -> namefile sorted by distance file size
string getSingletonNames() { return singleton; } //returns namesfile containing singletons
private:
MothurOut* m;
string distFile, namefile, singleton, method, taxFile, fastafile, outputDir;
vector< map< string, string> > dists;
float cutoff, distCutoff;
bool large;
int processors;
int splitDistance();
int splitClassify();
int splitDistanceLarge();
int splitDistanceRAM();
int splitNames(vector<set<string> >& groups);
int splitDistanceFileByTax(map<string, int>&, int);
int createDistanceFilesFromTax(map<string, int>&, int);
};
/******************************************************/
#endif
|