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"; }
32 string getDescription() { return "calculate the pairwaise distances between aligned sequences"; }
35 void help() { m->mothurOut(getHelpString()); }
48 string countends, output, fastafile, calc, outputDir, oldfastafile, column, compress;
50 int processors, numNewFasta;
52 vector<int> processIDS; //end line, processid
53 vector<distlinePair> lines;
56 vector<string> Estimators, outputNames; //holds estimators to be used
58 //void m->appendFiles(string, string);
59 void createProcesses(string);
60 int driver(/*Dist*, SequenceDB, */int, int, string, float);
61 int driver(int, int, string, string);
64 int driverMPI(int, int, MPI_File&, float);
65 int driverMPI(int, int, string, unsigned long int&);
66 int driverMPI(int, int, string, unsigned long int&, string);
69 //int convertMatrix(string);
71 //int convertToLowerTriangle(string);