1 #ifndef DISTANCECOMMAND_H
2 #define DISTANCECOMMAND_H
8 * Created by Sarah Westcott on 5/7/09.
9 * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
14 #include "command.hpp"
15 #include "validcalculator.h"
17 #include "sequencedb.h"
20 class DistanceCommand : public Command {
23 DistanceCommand(string);
27 vector<string> setParameters();
28 string getCommandName() { return "dist.seqs"; }
29 string getCommandCategory() { return "Sequence Processing"; }
30 string getHelpString();
31 string getCitation() { return "Schloss PD (2010). The effects of alignment quality, distance calculation method, sequence filtering, and region on the analysis of 16S rRNA gene-based studies. PLoS Comput Biol 6: e1000844. \nhttp://www.mothur.org/wiki/Dist.seqs"; }
34 void help() { m->mothurOut(getHelpString()); }
47 string countends, output, fastafile, calc, outputDir, oldfastafile, column, compress;
49 int processors, numNewFasta;
51 vector<int> processIDS; //end line, processid
52 vector<distlinePair> lines;
55 vector<string> Estimators, outputNames; //holds estimators to be used
57 //void m->appendFiles(string, string);
58 void createProcesses(string);
59 int driver(/*Dist*, SequenceDB, */int, int, string, float);
60 int driver(int, int, string, string);
63 int driverMPI(int, int, MPI_File&, float);
64 int driverMPI(int, int, string, unsigned long int&);
65 int driverMPI(int, int, string, unsigned long int&, string);
68 //int convertMatrix(string);
70 //int convertToLowerTriangle(string);