A747E79C1163442A00FB9042 /* chimeracheckcommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chimeracheckcommand.cpp; sourceTree = "<group>"; };
A747E81C116365E000FB9042 /* chimeraslayercommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chimeraslayercommand.h; sourceTree = "<group>"; };
A747E81D116365E000FB9042 /* chimeraslayercommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chimeraslayercommand.cpp; sourceTree = "<group>"; };
+ A7639F8D1175DF35008F5578 /* makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = makefile; sourceTree = "<group>"; };
A78254461164D7790002E2DD /* chimerapintailcommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chimerapintailcommand.h; sourceTree = "<group>"; };
A78254471164D7790002E2DD /* chimerapintailcommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chimerapintailcommand.cpp; sourceTree = "<group>"; };
A7825502116519F70002E2DD /* chimerabellerophoncommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chimerabellerophoncommand.h; sourceTree = "<group>"; };
08FB7794FE84155DC02AAC07 /* mothur */ = {
isa = PBXGroup;
children = (
+ A7639F8D1175DF35008F5578 /* makefile */,
A7DA1FF0113FECD400BF472F /* alignment.cpp */,
A7DA1FF1113FECD400BF472F /* alignment.hpp */,
A7DA1FF6113FECD400BF472F /* averagelinkage.cpp */,
/************calculate the probablity that each word will be in a specific taxonomy*************/
ofstream out;
- string probFileName = tempFile.substr(0,tempFile.find_last_of(".")+1) + char('0'+ kmerSize) + "mer.prob";
+ string probFileName = tfile.substr(0,tfile.find_last_of(".")+1) + tempFile.substr(0,tempFile.find_last_of(".")+1) + char('0'+ kmerSize) + "mer.prob";
ifstream probFileTest(probFileName.c_str());
ofstream out2;
- string probFileName2 = tempFile.substr(0,tempFile.find_last_of(".")+1) + char('0'+ kmerSize) + "mer.numNonZero";
+ string probFileName2 = tfile.substr(0,tfile.find_last_of(".")+1) + tempFile.substr(0,tempFile.find_last_of(".")+1) + char('0'+ kmerSize) + "mer.numNonZero";
ifstream probFileTest2(probFileName2.c_str());
int start = time(NULL);
//get words contained in query
//getKmerString returns a string where the index in the string is hte kmer number
//and the character at that index can be converted to be the number of times that kmer was seen
+
string queryKmerString = kmer.getKmerString(seq->getUnaligned());
+
vector<int> queryKmers;
for (int i = 0; i < queryKmerString.length(); i++) {
if (queryKmerString[i] != '!') { //this kmer is in the query
queryKmers.push_back(i);
+
}
}
-
+
+ if (queryKmers.size() == 0) { m->mothurOut(seq->getName() + "is bad."); m->mothurOutEndLine(); return "bad seq"; }
+
int index = getMostProbableTaxonomy(queryKmers);
+
if (m->control_pressed) { return tax; }
}else{
confidenceScores[taxonomy.level][taxonomy.name]++;
}
-
+
taxonomy = phyloTree->get(taxonomy.parent);
}
+
}
string confidenceTax = "";
TaxNode seqTax = phyloTree->get(tax);
while (seqTax.level != 0) { //while you are not at the root
-
+
itBoot2 = confidenceScores[seqTax.level].find(seqTax.name); //is this a classification we already have a count on
int confidence = 0;
seqTax = phyloTree->get(seqTax.parent);
}
+ if (confidenceTax == "") { confidenceTax = "unclassified;"; simpleTax = "unclassified;"; }
return confidenceTax;
}
/**************************************************************************************************/
int Bayesian::getMostProbableTaxonomy(vector<int> queryKmer) {
try {
- int indexofGenus;
+ int indexofGenus = 0;
double maxProbability = -1000000.0;
//find taxonomy with highest probability that this sequence is from it
for (int k = 0; k < genusNodes.size(); k++) {
-
//for each taxonomy calc its probability
double prob = 1.0;
for (int i = 0; i < queryKmer.size(); i++) {
#else
ifstream inFASTA;
- openInputFile(candidateFileNames[s], inFASTA);
+ openInputFile(fastafile, inFASTA);
numSeqs=count(istreambuf_iterator<char>(inFASTA),istreambuf_iterator<char>(), '>');
inFASTA.close();
lines.push_back(new linePair(0, numSeqs));
#else
ifstream inFASTA;
- openInputFile(candidateFileNames[s], inFASTA);
+ openInputFile(fastafile, inFASTA);
numSeqs=count(istreambuf_iterator<char>(inFASTA),istreambuf_iterator<char>(), '>');
inFASTA.close();
lines.push_back(new linePair(0, numSeqs));
else {
//valid paramters for this command
- string Array[] = {"fasta","filter","processors","window" "increment","template","conservation","quantile","mask","outputdir","inputdir"};
+ string Array[] = {"fasta","filter","processors","window" ,"increment","template","conservation","quantile","mask","outputdir","inputdir"};
vector<string> myArray (Array, Array+(sizeof(Array)/sizeof(string)));
OptionParser parser(option);
#else
ifstream inFASTA;
- openInputFile(candidateFileNames[s], inFASTA);
+ openInputFile(fastafile, inFASTA);
numSeqs=count(istreambuf_iterator<char>(inFASTA),istreambuf_iterator<char>(), '>');
inFASTA.close();
lines.push_back(new linePair(0, numSeqs));
#else
ifstream inFASTA;
- openInputFile(candidateFileNames[s], inFASTA);
+ openInputFile(fastafile, inFASTA);
numSeqs=count(istreambuf_iterator<char>(inFASTA),istreambuf_iterator<char>(), '>');
inFASTA.close();
lines.push_back(new linePair(0, numSeqs));
for (int i = 0; i < lines.size(); i++) { delete lines[i]; } lines.clear();
#ifdef USE_MPI
+
int pid, end, numSeqsPerProcessor;
int tag = 2001;
vector<long> MPIPos;
MPI_File_close(&outMPITempTax);
#else
+
//read namefile
if(namefile != "") {
nameMap.clear(); //remove old names
driver(lines[0], newTaxonomyFile, tempTaxonomyFile, fastaFileNames[s]);
#endif
#endif
-
+
+ delete classify;
+
#ifdef USE_MPI
if (pid == 0) { //this part does not need to be paralellized
#endif
//read in users taxonomy file and add sequences to tree
string name, taxon;
+
while(!in.eof()){
in >> name >> taxon; gobble(in);
m->mothurOut("It took " + toString(time(NULL) - start) + " secs to classify " + toString(numFastaSeqs) + " sequences."); m->mothurOutEndLine(); m->mothurOutEndLine();
}
- delete classify;
return 0;
}
catch(exception& e) {
if (m->control_pressed) { return 0; }
Sequence* candidateSeq = new Sequence(inFASTA);
-
+
if (candidateSeq->getName() != "") {
taxonomy = classify->getTaxonomy(candidateSeq);
if (m->control_pressed) { delete candidateSeq; return 0; }
- if (taxonomy != "bad seq") {
+ if ((taxonomy != "bad seq") && (taxonomy != "")) {
//output confidence scores or not
if (probs) {
outTax << candidateSeq->getName() << '\t' << taxonomy << endl;
}
outTaxSimple << candidateSeq->getName() << '\t' << classify->getSimpleTax() << endl;
- }
+ }else{ m->mothurOut("Sequence: " + candidateSeq->getName() + " is bad."); m->mothurOutEndLine(); }
}
delete candidateSeq;
if (candidateSeq->getName() != "") {
taxonomy = classify->getTaxonomy(candidateSeq);
- if (taxonomy != "bad seq") {
+ if ((taxonomy != "bad seq") && (taxonomy != "")) {
//output confidence scores or not
if (probs) {
outputString = candidateSeq->getName() + "\t" + taxonomy + "\n";
strcpy(buf, outputString.c_str());
MPI_File_write_shared(tempFile, buf, length, MPI_CHAR, &statusTemp);
- }
+ }else{ cout << "Sequence: " << candidateSeq->getName() << " is bad." << endl; }
}
delete candidateSeq;
// a list contains pointers (iterators) to the all distances related
// to a certain sequence. The Vector is accessed via the index of a
// sequence in the distance matrix.
-
-
+//ofstream outtemp;
+//string temp = "temp";
+//openOutputFile(temp, outtemp);
+//cout << lv->size() << endl;
seqVec = vector<MatVec>(lv->size());
for (MatData currentCell = dMatrix->begin(); currentCell != dMatrix->end(); currentCell++) {
+//outtemp << currentCell->row << '\t' << currentCell->column << '\t' << currentCell->dist << endl;
seqVec[currentCell->row].push_back(currentCell);
seqVec[currentCell->column].push_back(currentCell);
}
-
+//outtemp.close();
mapWanted = false; //set to true by mgcluster to speed up overlap merge
//save so you can modify as it changes in average neighbor
smallRow = smallCell->row; // get its row
smallCol = smallCell->column; // get its column
smallDist = smallCell->dist; // get the smallest distance
-
+ //cout << "small row = " << smallRow << "small col = " << smallCol << "small dist = " << smallDist << endl;
+
rowCells = seqVec[smallRow]; // all distances related to the row index
colCells = seqVec[smallCol]; // all distances related to the column index
nRowCells = rowCells.size();
nColCells = colCells.size();
+//cout << "num rows = " << nRowCells << "num col = " << nColCells << endl;
+
+ //for (int i = 0; i < nColCells; i++) { cout << colCells[i]->row << '\t' << colCells[i]->column << endl; }
+ //for (int i = 0; i < nRowCells; i++) { cout << rowCells[i]->row << '\t' << rowCells[i]->column << endl; }
}
catch(exception& e) {
m->errorOut(e, "Cluster", "getRowColCells");
seqVec[dcol].erase(seqVec[dcol].begin()+vcol);
if (rmMatrix) {
+ //cout << " removing = " << cell->row << '\t' << cell->column << '\t' << cell->dist << endl;
dMatrix->rmCell(cell);
+ // cout << "done" << endl;
}
}
void Cluster::update(double& cutOFF){
try {
getRowColCells();
+//cout << "got rowcells" << endl;
vector<int> foundCol(nColCells, 0);
double saveCutoff = cutoff;
while (matrix->getSmallDist() < cutoff && matrix->getNNodes() > 0){
-
+
if (m->control_pressed) { //clean up
delete globaldata->gSparseMatrix; globaldata->gSparseMatrix = NULL;
delete globaldata->gListVector; globaldata->gListVector = NULL;
MPI_Status status;
MPI_Comm_rank(MPI_COMM_WORLD, &pid);
- if (pid == 0) { //only one process should output the filter
- vector<int> temp; temp.resize(alignmentLength+1);
-
- //get the frequencies from the child processes
- for(int i = 0; i < ((processors-1)*5); i++) {
- MPI_Recv(&temp[0], (alignmentLength+1), MPI_INT, MPI_ANY_SOURCE, 2001, MPI_COMM_WORLD, &status);
- int receiveTag = temp[temp.size()-1]; //child process added a int to the end to indicate what letter count this is for
-
- if (receiveTag == Atag) { //you are recieveing the A frequencies
- for (int k = 0; k < alignmentLength; k++) { F.a[k] += temp[k]; }
- }else if (receiveTag == Ttag) { //you are recieveing the T frequencies
- for (int k = 0; k < alignmentLength; k++) { F.t[k] += temp[k]; }
- }else if (receiveTag == Ctag) { //you are recieveing the C frequencies
- for (int k = 0; k < alignmentLength; k++) { F.c[k] += temp[k]; }
- }else if (receiveTag == Gtag) { //you are recieveing the G frequencies
- for (int k = 0; k < alignmentLength; k++) { F.g[k] += temp[k]; }
- }else if (receiveTag == Gaptag) { //you are recieveing the gap frequencies
- for (int k = 0; k < alignmentLength; k++) { F.gap[k] += temp[k]; }
- }
- }
- }else{
-
- //send my fequency counts
- F.a.push_back(Atag);
- int ierr = MPI_Send(&(F.a[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
- F.t.push_back(Ttag);
- ierr = MPI_Send (&(F.t[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
- F.c.push_back(Ctag);
- ierr = MPI_Send(&(F.c[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
- F.g.push_back(Gtag);
- ierr = MPI_Send(&(F.g[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
- F.gap.push_back(Gaptag);
- ierr = MPI_Send(&(F.gap[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
+ if(trump != '*' || isTrue(vertical) || soft != 0){
+
+ if (pid == 0) { //only one process should output the filter
+
+ vector<int> temp; temp.resize(alignmentLength+1);
+
+ //get the frequencies from the child processes
+ for(int i = 0; i < ((processors-1)*5); i++) {
+ MPI_Recv(&temp[0], (alignmentLength+1), MPI_INT, MPI_ANY_SOURCE, 2001, MPI_COMM_WORLD, &status);
+ int receiveTag = temp[temp.size()-1]; //child process added a int to the end to indicate what letter count this is for
+
+ if (receiveTag == Atag) { //you are recieveing the A frequencies
+ for (int k = 0; k < alignmentLength; k++) { F.a[k] += temp[k]; }
+ }else if (receiveTag == Ttag) { //you are recieveing the T frequencies
+ for (int k = 0; k < alignmentLength; k++) { F.t[k] += temp[k]; }
+ }else if (receiveTag == Ctag) { //you are recieveing the C frequencies
+ for (int k = 0; k < alignmentLength; k++) { F.c[k] += temp[k]; }
+ }else if (receiveTag == Gtag) { //you are recieveing the G frequencies
+ for (int k = 0; k < alignmentLength; k++) { F.g[k] += temp[k]; }
+ }else if (receiveTag == Gaptag) { //you are recieveing the gap frequencies
+ for (int k = 0; k < alignmentLength; k++) { F.gap[k] += temp[k]; }
+ }
+ }
+ }else{
+
+ //send my fequency counts
+ F.a.push_back(Atag);
+ int ierr = MPI_Send(&(F.a[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
+ F.t.push_back(Ttag);
+ ierr = MPI_Send (&(F.t[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
+ F.c.push_back(Ctag);
+ ierr = MPI_Send(&(F.c[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
+ F.g.push_back(Gtag);
+ ierr = MPI_Send(&(F.g[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
+ F.gap.push_back(Gaptag);
+ ierr = MPI_Send(&(F.gap[0]), (alignmentLength+1), MPI_INT, 0, 2001, MPI_COMM_WORLD);
+ }
+
}
if (pid == 0) { //only one process should output the filter
-#ifndef FILTERSEQSCOMMAND_H
-#define FILTERSEQSCOMMAND_H
-
-/*
- * filterseqscommand.h
- * Mothur
- *
- * Created by Thomas Ryabin on 5/4/09.
- * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
- *
- */
-
-#include "command.hpp"
-#include "filters.h"
-#include "mpi.h"
-
-class Sequence;
-class FilterSeqsCommand : public Command {
-
-public:
- FilterSeqsCommand(string);
- ~FilterSeqsCommand() {};
- int execute();
- void help();
-
-private:
- struct linePair {
- int start;
- int num;
- linePair(long int i, long int j) : start(i), num(j) {}
- };
- vector<linePair*> lines;
- vector<int> processIDS;
-
- string vertical, filter, fasta, hard, outputDir, filterFileName;
- vector<string> fastafileNames;
- int alignmentLength, processors;
- vector<int> bufferSizes;
- vector<string> outputNames;
-
- char trump;
- bool abort;
- float soft;
- int numSeqs;
-
- string createFilter();
- int filterSequences();
- int createProcessesCreateFilter(Filters&, string);
- int createProcessesRunFilter(string, string);
- int driverRunFilter(string, string, string, linePair*);
- int driverCreateFilter(Filters& F, string filename, linePair* line);
- #ifdef USE_MPI
- int driverMPIRun(int, int, MPI_File&, MPI_File&, vector<long>&);
- int MPICreateFilter(int, int, Filters&, MPI_File&, vector<long>&);
- #endif
- int setLines(string);
-
-
-};
-
-#endif
+#ifndef FILTERSEQSCOMMAND_H\r
+#define FILTERSEQSCOMMAND_H\r
+\r
+/*\r
+ * filterseqscommand.h\r
+ * Mothur\r
+ *\r
+ * Created by Thomas Ryabin on 5/4/09.\r
+ * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.\r
+ *\r
+ */\r
+\r
+#include "command.hpp"\r
+#include "filters.h"\r
+\r
+class Sequence;\r
+class FilterSeqsCommand : public Command {\r
+\r
+public:\r
+ FilterSeqsCommand(string);\r
+ ~FilterSeqsCommand() {};\r
+ int execute(); \r
+ void help();\r
+ \r
+private:\r
+ struct linePair {\r
+ int start;\r
+ int num;\r
+ linePair(long int i, long int j) : start(i), num(j) {}\r
+ };\r
+ vector<linePair*> lines;\r
+ vector<int> processIDS;\r
+\r
+ string vertical, filter, fasta, hard, outputDir, filterFileName;\r
+ vector<string> fastafileNames; \r
+ int alignmentLength, processors;\r
+ vector<int> bufferSizes;\r
+ vector<string> outputNames;\r
+\r
+ char trump;\r
+ bool abort;\r
+ float soft;\r
+ int numSeqs;\r
+ \r
+ string createFilter();\r
+ int filterSequences();\r
+ int createProcessesCreateFilter(Filters&, string);\r
+ int createProcessesRunFilter(string, string);\r
+ int driverRunFilter(string, string, string, linePair*);\r
+ int driverCreateFilter(Filters& F, string filename, linePair* line);\r
+ #ifdef USE_MPI\r
+ int driverMPIRun(int, int, MPI_File&, MPI_File&, vector<long>&);\r
+ int MPICreateFilter(int, int, Filters&, MPI_File&, vector<long>&); \r
+ #endif\r
+ int setLines(string);\r
+ \r
+ \r
+};\r
+\r
+#endif\r
set<string> processedLabels;
set<string> userLabels = labels;
- if (m->control_pressed) { out.close(); remove(filename.c_str()); delete read; delete input; delete list; globaldata->gListVector = NULL; return 0; }
+ if (m->control_pressed) { out.close(); remove(filename.c_str()); delete list; globaldata->gListVector = NULL; return 0; }
while((list != NULL) && ((allLines == 1) || (userLabels.size() != 0))) {
rabund = new RAbundVector();
*rabund = (list->getRAbundVector());
- if (m->control_pressed) { out.close(); remove(filename.c_str()); delete read; delete input; delete list; delete rabund; globaldata->gListVector = NULL; return 0; }
+ if (m->control_pressed) { out.close(); remove(filename.c_str()); delete list; delete rabund; globaldata->gListVector = NULL; return 0; }
if(sorted) { rabund->print(out); }
rabund = new RAbundVector();
*rabund = (list->getRAbundVector());
- if (m->control_pressed) { out.close(); remove(filename.c_str()); delete read; delete input; delete list; delete rabund; globaldata->gListVector = NULL; return 0; }
+ if (m->control_pressed) { out.close(); remove(filename.c_str()); delete list; delete rabund; globaldata->gListVector = NULL; return 0; }
if(sorted) { rabund->print(out); }
else { rabund->nonSortedPrint(out); }
rabund = new RAbundVector();
*rabund = (list->getRAbundVector());
- if (m->control_pressed) { out.close(); remove(filename.c_str()); delete read; delete input; delete list; delete rabund; globaldata->gListVector = NULL; return 0; }
+ if (m->control_pressed) { out.close(); remove(filename.c_str()); delete list; delete rabund; globaldata->gListVector = NULL; return 0; }
if(sorted) { rabund->print(out); }
else { rabund->nonSortedPrint(out); }
m->mothurOut("Output File Name: "); m->mothurOutEndLine();
m->mothurOut(filename); m->mothurOutEndLine();
m->mothurOutEndLine();
-
out.close();
- delete read; delete input;
- globaldata->gListVector = NULL;
+
+ globaldata->gListVector = NULL;
return 0;
}
set<string> processedLabels;
set<string> userLabels = labels;
- if (m->control_pressed) { out.close(); remove(filename.c_str()); delete read; delete input; delete order; globaldata->gorder = NULL; return 0; }
+ if (m->control_pressed) { out.close(); remove(filename.c_str()); delete order; globaldata->gorder = NULL; return 0; }
while((order != NULL) && ((allLines == 1) || (userLabels.size() != 0))) {
sabund->print(out);
delete sabund;
- if (m->control_pressed) { out.close(); remove(filename.c_str()); delete read; delete input; delete order; globaldata->gorder = NULL; return 0; }
+ if (m->control_pressed) { out.close(); remove(filename.c_str()); delete order; globaldata->gorder = NULL; return 0; }
processedLabels.insert(order->getLabel());
userLabels.erase(order->getLabel());
sabund->print(out);
delete sabund;
- if (m->control_pressed) { out.close(); remove(filename.c_str()); delete read; delete input; delete order; globaldata->gorder = NULL; return 0; }
+ if (m->control_pressed) { out.close(); remove(filename.c_str()); delete order; globaldata->gorder = NULL; return 0; }
processedLabels.insert(order->getLabel());
userLabels.erase(order->getLabel());
sabund->print(out);
delete sabund;
- if (m->control_pressed) { out.close(); remove(filename.c_str()); delete read; delete input; delete order; globaldata->gorder = NULL; return 0; }
+ if (m->control_pressed) { out.close(); remove(filename.c_str()); delete order; globaldata->gorder = NULL; return 0; }
delete order;
}
globaldata->gorder = NULL;
- delete read; delete input;
out.close();
// fastafile = ""; //do we need this?
treefile = "";
sharedfile = "";
+ format = "";
}
time_t estart = time(NULL);
if (!sorted) {
- read = new ReadCluster(distfile, cutoff);
+ read = new ReadCluster(distfile, cutoff, outputDir);
read->setFormat(format);
read->read(globaldata->nameMap);
lastLabel = lookup[0]->getLabel();
//prevent memory leak
- for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; }
+ for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; lookup[i] = NULL; }
//get next line to process
lookup = input->getSharedRAbundVectors();
--- /dev/null
+###################################################\r
+#\r
+# Makefile for mothur\r
+# Creator [Xcode -> Makefile Ver: Feb 14 2007 09:18:41]\r
+# Created: [Thu Mar 4 08:31:03 2010]\r
+#\r
+###################################################\r
+\r
+#\r
+# Macros\r
+#\r
+\r
+CC = mpic++\r
+CC_OPTIONS = -O3\r
+LNK_OPTIONS = \r
+\r
+# if you do not want to use the readline library set to no, default yes.\r
+# make sure you have the library installed\r
+\r
+USEREADLINE ?= yes\r
+\r
+ifeq ($(strip $(USEREADLINE)),yes)\r
+ CC_OPTIONS += -DUSE_READLINE\r
+ LNK_OPTIONS += \\r
+ -lreadline\\r
+ -lncurses\\r
+ -L../readline-6.0\r
+endif\r
+\r
+USEMPI ?= no\r
+\r
+ifeq ($(strip $(USEMPI)),yes)\r
+ CC_OPTIONS += -DUSE_MPI\r
+endif\r
+\r
+#\r
+# INCLUDE directories for mothur\r
+#\r
+
+ INCLUDE = -I.
+\r
+#\r
+# Build mothur\r
+#\r
+\r
+mothur : \\r
+ ./sharedutilities.o\\r
+ ./treegroupscommand.o\\r
+ ./bootstrapsharedcommand.o\\r
+ ./matrixoutputcommand.o\\r
+ ./getoturepcommand.o\\r
+ ./screenseqscommand.o\\r
+ ./chimera.o\\r
+ ./decalc.o\\r
+ ./readotucommand.o\\r
+ ./readdistcommand.o\\r
+ ./commandfactory.o\\r
+ ./alignment.o\\r
+ ./alignmentcell.o\\r
+ ./gotohoverlap.o\\r
+ ./overlap.o\\r
+ ./needlemanoverlap.o\\r
+ ./blastalign.o\\r
+ ./noalign.o\\r
+ ./suffixdb.o\\r
+ ./suffixnodes.o\\r
+ ./suffixtree.o\\r
+ ./blastdb.o\\r
+ ./nast.o\\r
+ ./nastreport.o\\r
+ ./boneh.o\\r
+ ./efron.o\\r
+ ./solow.o\\r
+ ./unifracweightedcommand.o\\r
+ ./weighted.o\\r
+ ./unweighted.o\\r
+ ./unifracunweightedcommand.o\\r
+ ./getsabundcommand.o\\r
+ ./getrabundcommand.o\\r
+ ./bellerophon.o\\r
+ ./pintail.o\\r
+ ./sharedanderbergs.o\\r
+ ./venncommand.o\\r
+ ./venn.o\\r
+ ./fullmatrix.o\\r
+ ./heatmap.o\\r
+ ./heatmapcommand.o\\r
+ ./libshuffcommand.o\\r
+ ./nocommands.o\\r
+ ./sharedbraycurtis.o\\r
+ ./sharedkulczynski.o\\r
+ ./sharedlennon.o\\r
+ ./sharedkulczynskicody.o\\r
+ ./sharedmorisitahorn.o\\r
+ ./sharedochiai.o\\r
+ ./readcolumn.o\\r
+ ./readotu.o\\r
+ ./readphylip.o\\r
+ ./consensuscommand.o\\r
+ ./heatmapsimcommand.o\\r
+ ./heatmapsim.o\\r
+ ./optionparser.o\\r
+ ./filterseqscommand.o\\r
+ ./goodscoverage.o\\r
+ ./sequencedb.o\\r
+ ./sharedjackknife.o\\r
+ ./sharedmarczewski.o\\r
+ ./aligncommand.o\\r
+ ./treemap.o\\r
+ ./parsimonycommand.o\\r
+ ./parsimony.o\\r
+ ./seqsummarycommand.o\\r
+ ./chimeraccodecommand.o\\r
+ ./chimerabellerophoncommand.o\\r
+ ./chimeracheckcommand.o\\r
+ ./chimeraslayercommand.o\\r
+ ./chimerapintailcommand.o\\r
+ ./chimeraseqscommand.o\\r
+ ./sharedlistvector.o\\r
+ ./tree.o\\r
+ ./readtree.o\\r
+ ./sharedsobscollectsummary.o\\r
+ ./deconvolutecommand.o\\r
+ ./listseqscommand.o\\r
+ ./getseqscommand.o\\r
+ ./removeseqscommand.o\\r
+ ./systemcommand.o\\r
+ ./binsequencecommand.o\\r
+ ./distancecommand.o\\r
+ ./ace.o\\r
+ ./averagelinkage.o\\r
+ ./bootstrap.o\\r
+ ./calculator.o\\r
+ ./chao1.o\\r
+ ./cluster.o\\r
+ ./clustercommand.o\\r
+ ./collect.o\\r
+ ./collectcommand.o\\r
+ ./collectsharedcommand.o\\r
+ ./commandoptionparser.o\\r
+ ./completelinkage.o\\r
+ ./database.o\\r
+ ./engine.o\\r
+ ./fastamap.o\\r
+ ./fileoutput.o\\r
+ ./globaldata.o\\r
+ ./groupmap.o\\r
+ ./helpcommand.o\\r
+ ./inputdata.o\\r
+ ./jackknife.o\\r
+ ./kmer.o\\r
+ ./kmerdb.o\\r
+ ./listvector.o\\r
+ ./mothur.o\\r
+ ./nameassignment.o\\r
+ ./npshannon.o\\r
+ ./ordervector.o\\r
+ ./progress.o\\r
+ ./quitcommand.o\\r
+ ./rabundvector.o\\r
+ ./rarecalc.o\\r
+ ./raredisplay.o\\r
+ ./rarefact.o\\r
+ ./rarefactcommand.o\\r
+ ./rarefactsharedcommand.o\\r
+ ./sabundvector.o\\r
+ ./sequence.o\\r
+ ./shannon.o\\r
+ ./sharedace.o\\r
+ ./sharedchao1.o\\r
+ ./sharedcommand.o\\r
+ ./sharedjabund.o\\r
+ ./sharedjclass.o\\r
+ ./sharedjest.o\\r
+ ./sharedordervector.o\\r
+ ./sharedrabundvector.o\\r
+ ./sharedsabundvector.o\\r
+ ./sharedsobs.o\\r
+ ./sharedsorabund.o\\r
+ ./sharedsorclass.o\\r
+ ./sharedsorest.o\\r
+ ./sharedthetan.o\\r
+ ./sharedthetayc.o\\r
+ ./simpson.o\\r
+ ./singlelinkage.o\\r
+ ./sparsematrix.o\\r
+ ./summarycommand.o\\r
+ ./summarysharedcommand.o\\r
+ ./uvest.o\\r
+ ./validcalculator.o\\r
+ ./validparameter.o\\r
+ ./treenode.o\\r
+ ./readtreecommand.o\\r
+ ./reversecommand.o\\r
+ ./trimseqscommand.o\\r
+ ./slibshuff.o\\r
+ ./libshuff.o\\r
+ ./dlibshuff.o\\r
+ ./mergefilecommand.o\\r
+ ./coverage.o\\r
+ ./whittaker.o\\r
+ ./preclustercommand.o\\r
+ ./otuhierarchycommand.o\\r
+ ./setdircommand.o\\r
+ ./getgroupcommand.o\\r
+ ./getlabelcommand.o\\r
+ ./secondarystructurecommand.o\\r
+ ./mothurout.o\\r
+ ./parselistscommand.o\\r
+ ./readblast.o\\r
+ ./chimeracheckrdp.o\\r
+ ./hclustercommand.o\\r
+ ./hcluster.o\\r
+ ./getlistcountcommand.o\\r
+ ./readcluster.o\\r
+ ./ccode.o\\r
+ ./taxonomyequalizer.o\\r
+ ./phylotypecommand.o\\r
+ ./classifyseqscommand.o\\r
+ ./parsesffcommand.o\\r
+ ./classify.o\\r
+ ./phylotree.o\\r
+ ./bayesian.o\\r
+ ./alignmentdb.o\\r
+ ./knn.o\\r
+ ./distancedb.o\\r
+ ./chimeraslayer.o\\r
+ ./slayer.o\\r
+ ./pcacommand.o\\r
+ ./formatcolumn.o\\r
+ ./formatphylip.o\\r
+ ./mgclustercommand.o\\r
+ ./getsharedotucommand.o\\r
+ ./maligner.o\\r
+ ./chimerarealigner.o\\r
+ ./bergerparker.o\\r
+ ./bstick.o\\r
+ ./sharedkstest.o\\r
+ ./qstat.o\\r
+ ./shen.o\\r
+ ./logsd.o\\r
+ ./geom.o\r
+ $(CC) $(LNK_OPTIONS) \\r
+ ./sharedutilities.o\\r
+ ./treegroupscommand.o\\r
+ ./bootstrapsharedcommand.o\\r
+ ./matrixoutputcommand.o\\r
+ ./getoturepcommand.o\\r
+ ./screenseqscommand.o\\r
+ ./chimera.o\\r
+ ./decalc.o\\r
+ ./readotucommand.o\\r
+ ./readdistcommand.o\\r
+ ./commandfactory.o\\r
+ ./alignment.o\\r
+ ./alignmentcell.o\\r
+ ./gotohoverlap.o\\r
+ ./overlap.o\\r
+ ./needlemanoverlap.o\\r
+ ./blastalign.o\\r
+ ./noalign.o\\r
+ ./suffixdb.o\\r
+ ./suffixnodes.o\\r
+ ./suffixtree.o\\r
+ ./blastdb.o\\r
+ ./nast.o\\r
+ ./nastreport.o\\r
+ ./boneh.o\\r
+ ./efron.o\\r
+ ./solow.o\\r
+ ./unifracweightedcommand.o\\r
+ ./weighted.o\\r
+ ./unweighted.o\\r
+ ./unifracunweightedcommand.o\\r
+ ./getsabundcommand.o\\r
+ ./getrabundcommand.o\\r
+ ./bellerophon.o\\r
+ ./pintail.o\\r
+ ./sharedanderbergs.o\\r
+ ./venncommand.o\\r
+ ./venn.o\\r
+ ./fullmatrix.o\\r
+ ./heatmap.o\\r
+ ./heatmapcommand.o\\r
+ ./libshuffcommand.o\\r
+ ./nocommands.o\\r
+ ./sharedbraycurtis.o\\r
+ ./sharedkulczynski.o\\r
+ ./sharedlennon.o\\r
+ ./sharedkulczynskicody.o\\r
+ ./sharedmorisitahorn.o\\r
+ ./sharedochiai.o\\r
+ ./readcolumn.o\\r
+ ./readotu.o\\r
+ ./readphylip.o\\r
+ ./consensuscommand.o\\r
+ ./heatmapsimcommand.o\\r
+ ./heatmapsim.o\\r
+ ./optionparser.o\\r
+ ./filterseqscommand.o\\r
+ ./goodscoverage.o\\r
+ ./sequencedb.o\\r
+ ./sharedjackknife.o\\r
+ ./sharedmarczewski.o\\r
+ ./aligncommand.o\\r
+ ./treemap.o\\r
+ ./parsimonycommand.o\\r
+ ./parsimony.o\\r
+ ./seqsummarycommand.o\\r
+ ./chimeraccodecommand.o\\r
+ ./chimerabellerophoncommand.o\\r
+ ./chimeracheckcommand.o\\r
+ ./chimeraslayercommand.o\\r
+ ./chimerapintailcommand.o\\r
+ ./chimeraseqscommand.o\\r
+ ./sharedlistvector.o\\r
+ ./tree.o\\r
+ ./readtree.o\\r
+ ./sharedsobscollectsummary.o\\r
+ ./deconvolutecommand.o\\r
+ ./listseqscommand.o\\r
+ ./getseqscommand.o\\r
+ ./removeseqscommand.o\\r
+ ./systemcommand.o\\r
+ ./binsequencecommand.o\\r
+ ./distancecommand.o\\r
+ ./ace.o\\r
+ ./averagelinkage.o\\r
+ ./bootstrap.o\\r
+ ./calculator.o\\r
+ ./chao1.o\\r
+ ./cluster.o\\r
+ ./clustercommand.o\\r
+ ./collect.o\\r
+ ./collectcommand.o\\r
+ ./collectsharedcommand.o\\r
+ ./commandoptionparser.o\\r
+ ./completelinkage.o\\r
+ ./database.o\\r
+ ./engine.o\\r
+ ./fastamap.o\\r
+ ./fileoutput.o\\r
+ ./globaldata.o\\r
+ ./groupmap.o\\r
+ ./helpcommand.o\\r
+ ./inputdata.o\\r
+ ./jackknife.o\\r
+ ./kmer.o\\r
+ ./kmerdb.o\\r
+ ./listvector.o\\r
+ ./mothur.o\\r
+ ./nameassignment.o\\r
+ ./npshannon.o\\r
+ ./ordervector.o\\r
+ ./progress.o\\r
+ ./quitcommand.o\\r
+ ./rabundvector.o\\r
+ ./rarecalc.o\\r
+ ./raredisplay.o\\r
+ ./rarefact.o\\r
+ ./rarefactcommand.o\\r
+ ./rarefactsharedcommand.o\\r
+ ./sabundvector.o\\r
+ ./sequence.o\\r
+ ./shannon.o\\r
+ ./sharedace.o\\r
+ ./sharedchao1.o\\r
+ ./sharedcommand.o\\r
+ ./sharedjabund.o\\r
+ ./sharedjclass.o\\r
+ ./sharedjest.o\\r
+ ./sharedordervector.o\\r
+ ./sharedrabundvector.o\\r
+ ./sharedsabundvector.o\\r
+ ./sharedsobs.o\\r
+ ./sharedsorabund.o\\r
+ ./sharedsorclass.o\\r
+ ./sharedsorest.o\\r
+ ./sharedthetan.o\\r
+ ./sharedthetayc.o\\r
+ ./simpson.o\\r
+ ./singlelinkage.o\\r
+ ./sparsematrix.o\\r
+ ./summarycommand.o\\r
+ ./summarysharedcommand.o\\r
+ ./uvest.o\\r
+ ./validcalculator.o\\r
+ ./validparameter.o\\r
+ ./treenode.o\\r
+ ./readtreecommand.o\\r
+ ./reversecommand.o\\r
+ ./trimseqscommand.o\\r
+ ./slibshuff.o\\r
+ ./libshuff.o\\r
+ ./dlibshuff.o\\r
+ ./mergefilecommand.o\\r
+ ./coverage.o\\r
+ ./whittaker.o\\r
+ ./preclustercommand.o\\r
+ ./otuhierarchycommand.o\\r
+ ./setdircommand.o\\r
+ ./getgroupcommand.o\\r
+ ./getlabelcommand.o\\r
+ ./secondarystructurecommand.o\\r
+ ./mothurout.o\\r
+ ./parselistscommand.o\\r
+ ./readblast.o\\r
+ ./chimeracheckrdp.o\\r
+ ./hclustercommand.o\\r
+ ./hcluster.o\\r
+ ./getlistcountcommand.o\\r
+ ./readcluster.o\\r
+ ./ccode.o\\r
+ ./taxonomyequalizer.o\\r
+ ./phylotypecommand.o\\r
+ ./classifyseqscommand.o\\r
+ ./parsesffcommand.o\\r
+ ./classify.o\\r
+ ./phylotree.o\\r
+ ./bayesian.o\\r
+ ./alignmentdb.o\\r
+ ./knn.o\\r
+ ./distancedb.o\\r
+ ./chimeraslayer.o\\r
+ ./slayer.o\\r
+ ./pcacommand.o\\r
+ ./formatcolumn.o\\r
+ ./formatphylip.o\\r
+ ./mgclustercommand.o\\r
+ ./getsharedotucommand.o\\r
+ ./maligner.o\\r
+ ./chimerarealigner.o\\r
+ ./bergerparker.o\\r
+ ./bstick.o\\r
+ ./sharedkstest.o\\r
+ ./qstat.o\\r
+ ./shen.o\\r
+ ./logsd.o\\r
+ ./geom.o\\r
+ -o ../Release/mothur\r
+\r
+clean : \r
+ rm \\r
+ ./sharedutilities.o\\r
+ ./treegroupscommand.o\\r
+ ./bootstrapsharedcommand.o\\r
+ ./matrixoutputcommand.o\\r
+ ./getoturepcommand.o\\r
+ ./screenseqscommand.o\\r
+ ./chimera.o\\r
+ ./decalc.o\\r
+ ./readotucommand.o\\r
+ ./readdistcommand.o\\r
+ ./commandfactory.o\\r
+ ./alignment.o\\r
+ ./alignmentcell.o\\r
+ ./gotohoverlap.o\\r
+ ./overlap.o\\r
+ ./needlemanoverlap.o\\r
+ ./blastalign.o\\r
+ ./noalign.o\\r
+ ./suffixdb.o\\r
+ ./suffixnodes.o\\r
+ ./suffixtree.o\\r
+ ./blastdb.o\\r
+ ./nast.o\\r
+ ./nastreport.o\\r
+ ./boneh.o\\r
+ ./efron.o\\r
+ ./solow.o\\r
+ ./unifracweightedcommand.o\\r
+ ./weighted.o\\r
+ ./unweighted.o\\r
+ ./unifracunweightedcommand.o\\r
+ ./getsabundcommand.o\\r
+ ./getrabundcommand.o\\r
+ ./bellerophon.o\\r
+ ./pintail.o\\r
+ ./sharedanderbergs.o\\r
+ ./venncommand.o\\r
+ ./venn.o\\r
+ ./fullmatrix.o\\r
+ ./heatmap.o\\r
+ ./heatmapcommand.o\\r
+ ./libshuffcommand.o\\r
+ ./nocommands.o\\r
+ ./sharedbraycurtis.o\\r
+ ./sharedkulczynski.o\\r
+ ./sharedlennon.o\\r
+ ./sharedkulczynskicody.o\\r
+ ./sharedmorisitahorn.o\\r
+ ./sharedochiai.o\\r
+ ./readcolumn.o\\r
+ ./readotu.o\\r
+ ./readphylip.o\\r
+ ./consensuscommand.o\\r
+ ./heatmapsimcommand.o\\r
+ ./heatmapsim.o\\r
+ ./optionparser.o\\r
+ ./filterseqscommand.o\\r
+ ./goodscoverage.o\\r
+ ./sequencedb.o\\r
+ ./sharedjackknife.o\\r
+ ./sharedmarczewski.o\\r
+ ./aligncommand.o\\r
+ ./treemap.o\\r
+ ./parsimonycommand.o\\r
+ ./parsimony.o\\r
+ ./seqsummarycommand.o\\r
+ ./chimeraccodecommand.o\\r
+ ./chimerabellerophoncommand.o\\r
+ ./chimeracheckcommand.o\\r
+ ./chimeraslayercommand.o\\r
+ ./chimerapintailcommand.o\\r
+ ./chimeraseqscommand.o\\r
+ ./sharedlistvector.o\\r
+ ./tree.o\\r
+ ./readtree.o\\r
+ ./sharedsobscollectsummary.o\\r
+ ./deconvolutecommand.o\\r
+ ./listseqscommand.o\\r
+ ./getseqscommand.o\\r
+ ./removeseqscommand.o\\r
+ ./systemcommand.o\\r
+ ./binsequencecommand.o\\r
+ ./distancecommand.o\\r
+ ./ace.o\\r
+ ./averagelinkage.o\\r
+ ./bootstrap.o\\r
+ ./calculator.o\\r
+ ./chao1.o\\r
+ ./cluster.o\\r
+ ./clustercommand.o\\r
+ ./collect.o\\r
+ ./collectcommand.o\\r
+ ./collectsharedcommand.o\\r
+ ./commandoptionparser.o\\r
+ ./completelinkage.o\\r
+ ./database.o\\r
+ ./engine.o\\r
+ ./fastamap.o\\r
+ ./fileoutput.o\\r
+ ./globaldata.o\\r
+ ./groupmap.o\\r
+ ./helpcommand.o\\r
+ ./inputdata.o\\r
+ ./jackknife.o\\r
+ ./kmer.o\\r
+ ./kmerdb.o\\r
+ ./listvector.o\\r
+ ./mothur.o\\r
+ ./nameassignment.o\\r
+ ./npshannon.o\\r
+ ./ordervector.o\\r
+ ./progress.o\\r
+ ./quitcommand.o\\r
+ ./rabundvector.o\\r
+ ./rarecalc.o\\r
+ ./raredisplay.o\\r
+ ./rarefact.o\\r
+ ./rarefactcommand.o\\r
+ ./rarefactsharedcommand.o\\r
+ ./sabundvector.o\\r
+ ./sequence.o\\r
+ ./shannon.o\\r
+ ./sharedace.o\\r
+ ./sharedchao1.o\\r
+ ./sharedcommand.o\\r
+ ./sharedjabund.o\\r
+ ./sharedjclass.o\\r
+ ./sharedjest.o\\r
+ ./sharedordervector.o\\r
+ ./sharedrabundvector.o\\r
+ ./sharedsabundvector.o\\r
+ ./sharedsobs.o\\r
+ ./sharedsorabund.o\\r
+ ./sharedsorclass.o\\r
+ ./sharedsorest.o\\r
+ ./sharedthetan.o\\r
+ ./sharedthetayc.o\\r
+ ./simpson.o\\r
+ ./singlelinkage.o\\r
+ ./sparsematrix.o\\r
+ ./summarycommand.o\\r
+ ./summarysharedcommand.o\\r
+ ./uvest.o\\r
+ ./validcalculator.o\\r
+ ./validparameter.o\\r
+ ./treenode.o\\r
+ ./readtreecommand.o\\r
+ ./reversecommand.o\\r
+ ./trimseqscommand.o\\r
+ ./slibshuff.o\\r
+ ./libshuff.o\\r
+ ./dlibshuff.o\\r
+ ./mergefilecommand.o\\r
+ ./coverage.o\\r
+ ./whittaker.o\\r
+ ./preclustercommand.o\\r
+ ./otuhierarchycommand.o\\r
+ ./setdircommand.o\\r
+ ./getgroupcommand.o\\r
+ ./getlabelcommand.o\\r
+ ./secondarystructurecommand.o\\r
+ ./mothurout.o\\r
+ ./parselistscommand.o\\r
+ ./readblast.o\\r
+ ./chimeracheckrdp.o\\r
+ ./hclustercommand.o\\r
+ ./hcluster.o\\r
+ ./getlistcountcommand.o\\r
+ ./readcluster.o\\r
+ ./ccode.o\\r
+ ./taxonomyequalizer.o\\r
+ ./phylotypecommand.o\\r
+ ./classifyseqscommand.o\\r
+ ./parsesffcommand.o\\r
+ ./classify.o\\r
+ ./phylotree.o\\r
+ ./bayesian.o\\r
+ ./alignmentdb.o\\r
+ ./knn.o\\r
+ ./distancedb.o\\r
+ ./chimeraslayer.o\\r
+ ./slayer.o\\r
+ ./pcacommand.o\\r
+ ./formatcolumn.o\\r
+ ./formatphylip.o\\r
+ ./mgclustercommand.o\\r
+ ./getsharedotucommand.o\\r
+ ./maligner.o\\r
+ ./chimerarealigner.o\\r
+ ./bergerparker.o\\r
+ ./bstick.o\\r
+ ./sharedkstest.o\\r
+ ./qstat.o\\r
+ ./shen.o\\r
+ ./logsd.o\\r
+ ./geom.o\\r
+ mothur\r
+\r
+install : mothur\r
+ #cp mothur ../Release/mothur\r
+\r
+#\r
+# Build the parts of mothur\r
+#\r
+\r
+\r
+# Item # 1 -- sharedutilities --\r
+./sharedutilities.o : sharedutilities.cpp\r
+ $(CC) $(CC_OPTIONS) sharedutilities.cpp -c $(INCLUDE) -o ./sharedutilities.o\r
+\r
+\r
+# Item # 2 -- treegroupscommand --\r
+./treegroupscommand.o : treegroupscommand.cpp\r
+ $(CC) $(CC_OPTIONS) treegroupscommand.cpp -c $(INCLUDE) -o ./treegroupscommand.o\r
+\r
+\r
+# Item # 3 -- bootstrapsharedcommand --\r
+./bootstrapsharedcommand.o : bootstrapsharedcommand.cpp\r
+ $(CC) $(CC_OPTIONS) bootstrapsharedcommand.cpp -c $(INCLUDE) -o ./bootstrapsharedcommand.o\r
+\r
+\r
+# Item # 4 -- matrixoutputcommand --\r
+./matrixoutputcommand.o : matrixoutputcommand.cpp\r
+ $(CC) $(CC_OPTIONS) matrixoutputcommand.cpp -c $(INCLUDE) -o ./matrixoutputcommand.o\r
+\r
+\r
+# Item # 5 -- getoturepcommand --\r
+./getoturepcommand.o : getoturepcommand.cpp\r
+ $(CC) $(CC_OPTIONS) getoturepcommand.cpp -c $(INCLUDE) -o ./getoturepcommand.o\r
+\r
+\r
+# Item # 6 -- screenseqscommand --\r
+./screenseqscommand.o : screenseqscommand.cpp\r
+ $(CC) $(CC_OPTIONS) screenseqscommand.cpp -c $(INCLUDE) -o ./screenseqscommand.o\r
+\r
+\r
+# Item # 7 -- chimera --\r
+./chimera.o : chimera.cpp\r
+ $(CC) $(CC_OPTIONS) chimera.cpp -c $(INCLUDE) -o ./chimera.o\r
+\r
+\r
+# Item # 8 -- decalc --\r
+./decalc.o : decalc.cpp\r
+ $(CC) $(CC_OPTIONS) decalc.cpp -c $(INCLUDE) -o ./decalc.o\r
+\r
+\r
+# Item # 9 -- readotucommand --\r
+./readotucommand.o : readotucommand.cpp\r
+ $(CC) $(CC_OPTIONS) readotucommand.cpp -c $(INCLUDE) -o ./readotucommand.o\r
+\r
+\r
+# Item # 10 -- readdistcommand --\r
+./readdistcommand.o : readdistcommand.cpp\r
+ $(CC) $(CC_OPTIONS) readdistcommand.cpp -c $(INCLUDE) -o ./readdistcommand.o\r
+\r
+\r
+# Item # 11 -- commandfactory --\r
+./commandfactory.o : commandfactory.cpp\r
+ $(CC) $(CC_OPTIONS) commandfactory.cpp -c $(INCLUDE) -o ./commandfactory.o\r
+\r
+\r
+# Item # 12 -- alignment --\r
+./alignment.o : alignment.cpp\r
+ $(CC) $(CC_OPTIONS) alignment.cpp -c $(INCLUDE) -o ./alignment.o\r
+\r
+\r
+# Item # 13 -- alignmentcell --\r
+./alignmentcell.o : alignmentcell.cpp\r
+ $(CC) $(CC_OPTIONS) alignmentcell.cpp -c $(INCLUDE) -o ./alignmentcell.o\r
+\r
+\r
+# Item # 14 -- gotohoverlap --\r
+./gotohoverlap.o : gotohoverlap.cpp\r
+ $(CC) $(CC_OPTIONS) gotohoverlap.cpp -c $(INCLUDE) -o ./gotohoverlap.o\r
+\r
+\r
+# Item # 15 -- overlap --\r
+./overlap.o : overlap.cpp\r
+ $(CC) $(CC_OPTIONS) overlap.cpp -c $(INCLUDE) -o ./overlap.o\r
+\r
+\r
+# Item # 16 -- needlemanoverlap --\r
+./needlemanoverlap.o : needlemanoverlap.cpp\r
+ $(CC) $(CC_OPTIONS) needlemanoverlap.cpp -c $(INCLUDE) -o ./needlemanoverlap.o\r
+\r
+\r
+# Item # 17 -- blastalign --\r
+./blastalign.o : blastalign.cpp\r
+ $(CC) $(CC_OPTIONS) blastalign.cpp -c $(INCLUDE) -o ./blastalign.o\r
+\r
+\r
+# Item # 18 -- noalign --\r
+./noalign.o : noalign.cpp\r
+ $(CC) $(CC_OPTIONS) noalign.cpp -c $(INCLUDE) -o ./noalign.o\r
+\r
+\r
+# Item # 19 -- suffixdb --\r
+./suffixdb.o : suffixdb.cpp\r
+ $(CC) $(CC_OPTIONS) suffixdb.cpp -c $(INCLUDE) -o ./suffixdb.o\r
+\r
+\r
+# Item # 20 -- suffixnodes --\r
+./suffixnodes.o : suffixnodes.cpp\r
+ $(CC) $(CC_OPTIONS) suffixnodes.cpp -c $(INCLUDE) -o ./suffixnodes.o\r
+\r
+\r
+# Item # 21 -- suffixtree --\r
+./suffixtree.o : suffixtree.cpp\r
+ $(CC) $(CC_OPTIONS) suffixtree.cpp -c $(INCLUDE) -o ./suffixtree.o\r
+\r
+\r
+# Item # 22 -- blastdb --\r
+./blastdb.o : blastdb.cpp\r
+ $(CC) $(CC_OPTIONS) blastdb.cpp -c $(INCLUDE) -o ./blastdb.o\r
+\r
+\r
+# Item # 23 -- nast --\r
+./nast.o : nast.cpp\r
+ $(CC) $(CC_OPTIONS) nast.cpp -c $(INCLUDE) -o ./nast.o\r
+\r
+\r
+# Item # 24 -- nastreport --\r
+./nastreport.o : nastreport.cpp\r
+ $(CC) $(CC_OPTIONS) nastreport.cpp -c $(INCLUDE) -o ./nastreport.o\r
+\r
+\r
+# Item # 25 -- boneh --\r
+./boneh.o : boneh.cpp\r
+ $(CC) $(CC_OPTIONS) boneh.cpp -c $(INCLUDE) -o ./boneh.o\r
+\r
+\r
+# Item # 26 -- efron --\r
+./efron.o : efron.cpp\r
+ $(CC) $(CC_OPTIONS) efron.cpp -c $(INCLUDE) -o ./efron.o\r
+\r
+\r
+# Item # 27 -- solow --\r
+./solow.o : solow.cpp\r
+ $(CC) $(CC_OPTIONS) solow.cpp -c $(INCLUDE) -o ./solow.o\r
+\r
+\r
+# Item # 28 -- unifracweightedcommand --\r
+./unifracweightedcommand.o : unifracweightedcommand.cpp\r
+ $(CC) $(CC_OPTIONS) unifracweightedcommand.cpp -c $(INCLUDE) -o ./unifracweightedcommand.o\r
+\r
+\r
+# Item # 29 -- weighted --\r
+./weighted.o : weighted.cpp\r
+ $(CC) $(CC_OPTIONS) weighted.cpp -c $(INCLUDE) -o ./weighted.o\r
+\r
+\r
+# Item # 30 -- unweighted --\r
+./unweighted.o : unweighted.cpp\r
+ $(CC) $(CC_OPTIONS) unweighted.cpp -c $(INCLUDE) -o ./unweighted.o\r
+\r
+\r
+# Item # 31 -- unifracunweightedcommand --\r
+./unifracunweightedcommand.o : unifracunweightedcommand.cpp\r
+ $(CC) $(CC_OPTIONS) unifracunweightedcommand.cpp -c $(INCLUDE) -o ./unifracunweightedcommand.o\r
+\r
+\r
+# Item # 32 -- getsabundcommand --\r
+./getsabundcommand.o : getsabundcommand.cpp\r
+ $(CC) $(CC_OPTIONS) getsabundcommand.cpp -c $(INCLUDE) -o ./getsabundcommand.o\r
+\r
+\r
+# Item # 33 -- getrabundcommand --\r
+./getrabundcommand.o : getrabundcommand.cpp\r
+ $(CC) $(CC_OPTIONS) getrabundcommand.cpp -c $(INCLUDE) -o ./getrabundcommand.o\r
+\r
+\r
+# Item # 34 -- bellerophon --\r
+./bellerophon.o : bellerophon.cpp\r
+ $(CC) $(CC_OPTIONS) bellerophon.cpp -c $(INCLUDE) -o ./bellerophon.o\r
+\r
+\r
+# Item # 35 -- pintail --\r
+./pintail.o : pintail.cpp\r
+ $(CC) $(CC_OPTIONS) pintail.cpp -c $(INCLUDE) -o ./pintail.o\r
+\r
+\r
+# Item # 36 -- sharedanderbergs --\r
+./sharedanderbergs.o : sharedanderbergs.cpp\r
+ $(CC) $(CC_OPTIONS) sharedanderbergs.cpp -c $(INCLUDE) -o ./sharedanderbergs.o\r
+\r
+\r
+# Item # 37 -- venncommand --\r
+./venncommand.o : venncommand.cpp\r
+ $(CC) $(CC_OPTIONS) venncommand.cpp -c $(INCLUDE) -o ./venncommand.o\r
+\r
+\r
+# Item # 38 -- venn --\r
+./venn.o : venn.cpp\r
+ $(CC) $(CC_OPTIONS) venn.cpp -c $(INCLUDE) -o ./venn.o\r
+\r
+\r
+# Item # 39 -- fullmatrix --\r
+./fullmatrix.o : fullmatrix.cpp\r
+ $(CC) $(CC_OPTIONS) fullmatrix.cpp -c $(INCLUDE) -o ./fullmatrix.o\r
+\r
+\r
+# Item # 40 -- heatmap --\r
+./heatmap.o : heatmap.cpp\r
+ $(CC) $(CC_OPTIONS) heatmap.cpp -c $(INCLUDE) -o ./heatmap.o\r
+\r
+\r
+# Item # 41 -- heatmapcommand --\r
+./heatmapcommand.o : heatmapcommand.cpp\r
+ $(CC) $(CC_OPTIONS) heatmapcommand.cpp -c $(INCLUDE) -o ./heatmapcommand.o\r
+\r
+\r
+# Item # 42 -- libshuffcommand --\r
+./libshuffcommand.o : libshuffcommand.cpp\r
+ $(CC) $(CC_OPTIONS) libshuffcommand.cpp -c $(INCLUDE) -o ./libshuffcommand.o\r
+\r
+\r
+# Item # 43 -- nocommands --\r
+./nocommands.o : nocommands.cpp\r
+ $(CC) $(CC_OPTIONS) nocommands.cpp -c $(INCLUDE) -o ./nocommands.o\r
+\r
+\r
+# Item # 44 -- sharedbraycurtis --\r
+./sharedbraycurtis.o : sharedbraycurtis.cpp\r
+ $(CC) $(CC_OPTIONS) sharedbraycurtis.cpp -c $(INCLUDE) -o ./sharedbraycurtis.o\r
+\r
+\r
+# Item # 45 -- sharedkulczynski --\r
+./sharedkulczynski.o : sharedkulczynski.cpp\r
+ $(CC) $(CC_OPTIONS) sharedkulczynski.cpp -c $(INCLUDE) -o ./sharedkulczynski.o\r
+\r
+\r
+# Item # 46 -- sharedlennon --\r
+./sharedlennon.o : sharedlennon.cpp\r
+ $(CC) $(CC_OPTIONS) sharedlennon.cpp -c $(INCLUDE) -o ./sharedlennon.o\r
+\r
+\r
+# Item # 47 -- sharedkulczynskicody --\r
+./sharedkulczynskicody.o : sharedkulczynskicody.cpp\r
+ $(CC) $(CC_OPTIONS) sharedkulczynskicody.cpp -c $(INCLUDE) -o ./sharedkulczynskicody.o\r
+\r
+\r
+# Item # 48 -- sharedmorisitahorn --\r
+./sharedmorisitahorn.o : sharedmorisitahorn.cpp\r
+ $(CC) $(CC_OPTIONS) sharedmorisitahorn.cpp -c $(INCLUDE) -o ./sharedmorisitahorn.o\r
+\r
+\r
+# Item # 49 -- sharedochiai --\r
+./sharedochiai.o : sharedochiai.cpp\r
+ $(CC) $(CC_OPTIONS) sharedochiai.cpp -c $(INCLUDE) -o ./sharedochiai.o\r
+\r
+\r
+# Item # 50 -- readcolumn --\r
+./readcolumn.o : readcolumn.cpp\r
+ $(CC) $(CC_OPTIONS) readcolumn.cpp -c $(INCLUDE) -o ./readcolumn.o\r
+\r
+\r
+# Item # 51 -- readotu --\r
+./readotu.o : readotu.cpp\r
+ $(CC) $(CC_OPTIONS) readotu.cpp -c $(INCLUDE) -o ./readotu.o\r
+\r
+\r
+# Item # 52 -- readphylip --\r
+./readphylip.o : readphylip.cpp\r
+ $(CC) $(CC_OPTIONS) readphylip.cpp -c $(INCLUDE) -o ./readphylip.o\r
+\r
+\r
+# Item # 53 -- consensuscommand --\r
+./consensuscommand.o : consensuscommand.cpp\r
+ $(CC) $(CC_OPTIONS) consensuscommand.cpp -c $(INCLUDE) -o ./consensuscommand.o\r
+\r
+\r
+# Item # 54 -- heatmapsimcommand --\r
+./heatmapsimcommand.o : heatmapsimcommand.cpp\r
+ $(CC) $(CC_OPTIONS) heatmapsimcommand.cpp -c $(INCLUDE) -o ./heatmapsimcommand.o\r
+\r
+\r
+# Item # 55 -- heatmapsim --\r
+./heatmapsim.o : heatmapsim.cpp\r
+ $(CC) $(CC_OPTIONS) heatmapsim.cpp -c $(INCLUDE) -o ./heatmapsim.o\r
+\r
+\r
+# Item # 56 -- optionparser --\r
+./optionparser.o : optionparser.cpp\r
+ $(CC) $(CC_OPTIONS) optionparser.cpp -c $(INCLUDE) -o ./optionparser.o\r
+\r
+\r
+# Item # 57 -- filterseqscommand --\r
+./filterseqscommand.o : filterseqscommand.cpp\r
+ $(CC) $(CC_OPTIONS) filterseqscommand.cpp -c $(INCLUDE) -o ./filterseqscommand.o\r
+\r
+\r
+# Item # 58 -- goodscoverage --\r
+./goodscoverage.o : goodscoverage.cpp\r
+ $(CC) $(CC_OPTIONS) goodscoverage.cpp -c $(INCLUDE) -o ./goodscoverage.o\r
+\r
+\r
+# Item # 59 -- sequencedb --\r
+./sequencedb.o : sequencedb.cpp\r
+ $(CC) $(CC_OPTIONS) sequencedb.cpp -c $(INCLUDE) -o ./sequencedb.o\r
+\r
+\r
+# Item # 60 -- sharedjackknife --\r
+./sharedjackknife.o : sharedjackknife.cpp\r
+ $(CC) $(CC_OPTIONS) sharedjackknife.cpp -c $(INCLUDE) -o ./sharedjackknife.o\r
+\r
+\r
+# Item # 61 -- sharedmarczewski --\r
+./sharedmarczewski.o : sharedmarczewski.cpp\r
+ $(CC) $(CC_OPTIONS) sharedmarczewski.cpp -c $(INCLUDE) -o ./sharedmarczewski.o\r
+\r
+\r
+# Item # 62 -- aligncommand --\r
+./aligncommand.o : aligncommand.cpp\r
+ $(CC) $(CC_OPTIONS) aligncommand.cpp -c $(INCLUDE) -o ./aligncommand.o\r
+\r
+\r
+# Item # 63 -- treemap --\r
+./treemap.o : treemap.cpp\r
+ $(CC) $(CC_OPTIONS) treemap.cpp -c $(INCLUDE) -o ./treemap.o\r
+\r
+\r
+# Item # 64 -- parsimonycommand --\r
+./parsimonycommand.o : parsimonycommand.cpp\r
+ $(CC) $(CC_OPTIONS) parsimonycommand.cpp -c $(INCLUDE) -o ./parsimonycommand.o\r
+\r
+\r
+# Item # 65 -- parsimony --\r
+./parsimony.o : parsimony.cpp\r
+ $(CC) $(CC_OPTIONS) parsimony.cpp -c $(INCLUDE) -o ./parsimony.o\r
+\r
+\r
+# Item # 66 -- seqsummarycommand --\r
+./seqsummarycommand.o : seqsummarycommand.cpp\r
+ $(CC) $(CC_OPTIONS) seqsummarycommand.cpp -c $(INCLUDE) -o ./seqsummarycommand.o\r
+\r
+\r
+# Item # 67 -- chimeraseqscommand --\r
+./chimeraseqscommand.o : chimeraseqscommand.cpp\r
+ $(CC) $(CC_OPTIONS) chimeraseqscommand.cpp -c $(INCLUDE) -o ./chimeraseqscommand.o\r
+\r
+\r
+# Item # 68 -- sharedlistvector --\r
+./sharedlistvector.o : sharedlistvector.cpp\r
+ $(CC) $(CC_OPTIONS) sharedlistvector.cpp -c $(INCLUDE) -o ./sharedlistvector.o\r
+\r
+\r
+# Item # 69 -- tree --\r
+./tree.o : tree.cpp\r
+ $(CC) $(CC_OPTIONS) tree.cpp -c $(INCLUDE) -o ./tree.o\r
+\r
+\r
+# Item # 70 -- readtree --\r
+./readtree.o : readtree.cpp\r
+ $(CC) $(CC_OPTIONS) readtree.cpp -c $(INCLUDE) -o ./readtree.o\r
+\r
+\r
+# Item # 71 -- sharedsobscollectsummary --\r
+./sharedsobscollectsummary.o : sharedsobscollectsummary.cpp\r
+ $(CC) $(CC_OPTIONS) sharedsobscollectsummary.cpp -c $(INCLUDE) -o ./sharedsobscollectsummary.o\r
+\r
+\r
+# Item # 72 -- deconvolutecommand --\r
+./deconvolutecommand.o : deconvolutecommand.cpp\r
+ $(CC) $(CC_OPTIONS) deconvolutecommand.cpp -c $(INCLUDE) -o ./deconvolutecommand.o\r
+\r
+\r
+# Item # 73 -- listseqscommand --\r
+./listseqscommand.o : listseqscommand.cpp\r
+ $(CC) $(CC_OPTIONS) listseqscommand.cpp -c $(INCLUDE) -o ./listseqscommand.o\r
+\r
+\r
+# Item # 74 -- getseqscommand --\r
+./getseqscommand.o : getseqscommand.cpp\r
+ $(CC) $(CC_OPTIONS) getseqscommand.cpp -c $(INCLUDE) -o ./getseqscommand.o\r
+\r
+\r
+# Item # 75 -- removeseqscommand --\r
+./removeseqscommand.o : removeseqscommand.cpp\r
+ $(CC) $(CC_OPTIONS) removeseqscommand.cpp -c $(INCLUDE) -o ./removeseqscommand.o\r
+\r
+\r
+# Item # 76 -- systemcommand --\r
+./systemcommand.o : systemcommand.cpp\r
+ $(CC) $(CC_OPTIONS) systemcommand.cpp -c $(INCLUDE) -o ./systemcommand.o\r
+\r
+\r
+# Item # 77 -- binsequencecommand --\r
+./binsequencecommand.o : binsequencecommand.cpp\r
+ $(CC) $(CC_OPTIONS) binsequencecommand.cpp -c $(INCLUDE) -o ./binsequencecommand.o\r
+\r
+\r
+# Item # 78 -- distancecommand --\r
+./distancecommand.o : distancecommand.cpp\r
+ $(CC) $(CC_OPTIONS) distancecommand.cpp -c $(INCLUDE) -o ./distancecommand.o\r
+\r
+\r
+# Item # 79 -- ace --\r
+./ace.o : ace.cpp\r
+ $(CC) $(CC_OPTIONS) ace.cpp -c $(INCLUDE) -o ./ace.o\r
+\r
+\r
+# Item # 80 -- averagelinkage --\r
+./averagelinkage.o : averagelinkage.cpp\r
+ $(CC) $(CC_OPTIONS) averagelinkage.cpp -c $(INCLUDE) -o ./averagelinkage.o\r
+\r
+\r
+# Item # 81 -- bootstrap --\r
+./bootstrap.o : bootstrap.cpp\r
+ $(CC) $(CC_OPTIONS) bootstrap.cpp -c $(INCLUDE) -o ./bootstrap.o\r
+\r
+\r
+# Item # 82 -- calculator --\r
+./calculator.o : calculator.cpp\r
+ $(CC) $(CC_OPTIONS) calculator.cpp -c $(INCLUDE) -o ./calculator.o\r
+\r
+\r
+# Item # 83 -- chao1 --\r
+./chao1.o : chao1.cpp\r
+ $(CC) $(CC_OPTIONS) chao1.cpp -c $(INCLUDE) -o ./chao1.o\r
+\r
+\r
+# Item # 84 -- cluster --\r
+./cluster.o : cluster.cpp\r
+ $(CC) $(CC_OPTIONS) cluster.cpp -c $(INCLUDE) -o ./cluster.o\r
+\r
+\r
+# Item # 85 -- clustercommand --\r
+./clustercommand.o : clustercommand.cpp\r
+ $(CC) $(CC_OPTIONS) clustercommand.cpp -c $(INCLUDE) -o ./clustercommand.o\r
+\r
+\r
+# Item # 86 -- collect --\r
+./collect.o : collect.cpp\r
+ $(CC) $(CC_OPTIONS) collect.cpp -c $(INCLUDE) -o ./collect.o\r
+\r
+\r
+# Item # 87 -- collectcommand --\r
+./collectcommand.o : collectcommand.cpp\r
+ $(CC) $(CC_OPTIONS) collectcommand.cpp -c $(INCLUDE) -o ./collectcommand.o\r
+\r
+\r
+# Item # 88 -- collectsharedcommand --\r
+./collectsharedcommand.o : collectsharedcommand.cpp\r
+ $(CC) $(CC_OPTIONS) collectsharedcommand.cpp -c $(INCLUDE) -o ./collectsharedcommand.o\r
+\r
+\r
+# Item # 89 -- commandoptionparser --\r
+./commandoptionparser.o : commandoptionparser.cpp\r
+ $(CC) $(CC_OPTIONS) commandoptionparser.cpp -c $(INCLUDE) -o ./commandoptionparser.o\r
+\r
+\r
+# Item # 90 -- completelinkage --\r
+./completelinkage.o : completelinkage.cpp\r
+ $(CC) $(CC_OPTIONS) completelinkage.cpp -c $(INCLUDE) -o ./completelinkage.o\r
+\r
+\r
+# Item # 91 -- database --\r
+./database.o : database.cpp\r
+ $(CC) $(CC_OPTIONS) database.cpp -c $(INCLUDE) -o ./database.o\r
+\r
+\r
+# Item # 92 -- engine --\r
+./engine.o : engine.cpp\r
+ $(CC) $(CC_OPTIONS) engine.cpp -c $(INCLUDE) -o ./engine.o\r
+\r
+\r
+# Item # 93 -- fastamap --\r
+./fastamap.o : fastamap.cpp\r
+ $(CC) $(CC_OPTIONS) fastamap.cpp -c $(INCLUDE) -o ./fastamap.o\r
+\r
+\r
+# Item # 94 -- fileoutput --\r
+./fileoutput.o : fileoutput.cpp\r
+ $(CC) $(CC_OPTIONS) fileoutput.cpp -c $(INCLUDE) -o ./fileoutput.o\r
+\r
+\r
+# Item # 95 -- globaldata --\r
+./globaldata.o : globaldata.cpp\r
+ $(CC) $(CC_OPTIONS) globaldata.cpp -c $(INCLUDE) -o ./globaldata.o\r
+\r
+\r
+# Item # 96 -- groupmap --\r
+./groupmap.o : groupmap.cpp\r
+ $(CC) $(CC_OPTIONS) groupmap.cpp -c $(INCLUDE) -o ./groupmap.o\r
+\r
+\r
+# Item # 97 -- helpcommand --\r
+./helpcommand.o : helpcommand.cpp\r
+ $(CC) $(CC_OPTIONS) helpcommand.cpp -c $(INCLUDE) -o ./helpcommand.o\r
+\r
+\r
+# Item # 98 -- inputdata --\r
+./inputdata.o : inputdata.cpp\r
+ $(CC) $(CC_OPTIONS) inputdata.cpp -c $(INCLUDE) -o ./inputdata.o\r
+\r
+\r
+# Item # 99 -- jackknife --\r
+./jackknife.o : jackknife.cpp\r
+ $(CC) $(CC_OPTIONS) jackknife.cpp -c $(INCLUDE) -o ./jackknife.o\r
+\r
+\r
+# Item # 100 -- kmer --\r
+./kmer.o : kmer.cpp\r
+ $(CC) $(CC_OPTIONS) kmer.cpp -c $(INCLUDE) -o ./kmer.o\r
+\r
+\r
+# Item # 101 -- kmerdb --\r
+./kmerdb.o : kmerdb.cpp\r
+ $(CC) $(CC_OPTIONS) kmerdb.cpp -c $(INCLUDE) -o ./kmerdb.o\r
+\r
+\r
+# Item # 102 -- listvector --\r
+./listvector.o : listvector.cpp\r
+ $(CC) $(CC_OPTIONS) listvector.cpp -c $(INCLUDE) -o ./listvector.o\r
+\r
+\r
+# Item # 103 -- mothur --\r
+./mothur.o : mothur.cpp\r
+ $(CC) $(CC_OPTIONS) mothur.cpp -c $(INCLUDE) -o ./mothur.o\r
+\r
+\r
+# Item # 104 -- nameassignment --\r
+./nameassignment.o : nameassignment.cpp\r
+ $(CC) $(CC_OPTIONS) nameassignment.cpp -c $(INCLUDE) -o ./nameassignment.o\r
+\r
+\r
+# Item # 105 -- npshannon --\r
+./npshannon.o : npshannon.cpp\r
+ $(CC) $(CC_OPTIONS) npshannon.cpp -c $(INCLUDE) -o ./npshannon.o\r
+\r
+\r
+# Item # 106 -- ordervector --\r
+./ordervector.o : ordervector.cpp\r
+ $(CC) $(CC_OPTIONS) ordervector.cpp -c $(INCLUDE) -o ./ordervector.o\r
+\r
+\r
+# Item # 107 -- progress --\r
+./progress.o : progress.cpp\r
+ $(CC) $(CC_OPTIONS) progress.cpp -c $(INCLUDE) -o ./progress.o\r
+\r
+\r
+# Item # 108 -- quitcommand --\r
+./quitcommand.o : quitcommand.cpp\r
+ $(CC) $(CC_OPTIONS) quitcommand.cpp -c $(INCLUDE) -o ./quitcommand.o\r
+\r
+\r
+# Item # 109 -- rabundvector --\r
+./rabundvector.o : rabundvector.cpp\r
+ $(CC) $(CC_OPTIONS) rabundvector.cpp -c $(INCLUDE) -o ./rabundvector.o\r
+\r
+\r
+# Item # 110 -- rarecalc --\r
+./rarecalc.o : rarecalc.cpp\r
+ $(CC) $(CC_OPTIONS) rarecalc.cpp -c $(INCLUDE) -o ./rarecalc.o\r
+\r
+\r
+# Item # 111 -- raredisplay --\r
+./raredisplay.o : raredisplay.cpp\r
+ $(CC) $(CC_OPTIONS) raredisplay.cpp -c $(INCLUDE) -o ./raredisplay.o\r
+\r
+\r
+# Item # 112 -- rarefact --\r
+./rarefact.o : rarefact.cpp\r
+ $(CC) $(CC_OPTIONS) rarefact.cpp -c $(INCLUDE) -o ./rarefact.o\r
+\r
+\r
+# Item # 113 -- rarefactcommand --\r
+./rarefactcommand.o : rarefactcommand.cpp\r
+ $(CC) $(CC_OPTIONS) rarefactcommand.cpp -c $(INCLUDE) -o ./rarefactcommand.o\r
+\r
+\r
+# Item # 114 -- rarefactsharedcommand --\r
+./rarefactsharedcommand.o : rarefactsharedcommand.cpp\r
+ $(CC) $(CC_OPTIONS) rarefactsharedcommand.cpp -c $(INCLUDE) -o ./rarefactsharedcommand.o\r
+\r
+\r
+# Item # 115 -- sabundvector --\r
+./sabundvector.o : sabundvector.cpp\r
+ $(CC) $(CC_OPTIONS) sabundvector.cpp -c $(INCLUDE) -o ./sabundvector.o\r
+\r
+\r
+# Item # 116 -- sequence --\r
+./sequence.o : sequence.cpp\r
+ $(CC) $(CC_OPTIONS) sequence.cpp -c $(INCLUDE) -o ./sequence.o\r
+\r
+\r
+# Item # 117 -- shannon --\r
+./shannon.o : shannon.cpp\r
+ $(CC) $(CC_OPTIONS) shannon.cpp -c $(INCLUDE) -o ./shannon.o\r
+\r
+\r
+# Item # 118 -- sharedace --\r
+./sharedace.o : sharedace.cpp\r
+ $(CC) $(CC_OPTIONS) sharedace.cpp -c $(INCLUDE) -o ./sharedace.o\r
+\r
+\r
+# Item # 119 -- sharedchao1 --\r
+./sharedchao1.o : sharedchao1.cpp\r
+ $(CC) $(CC_OPTIONS) sharedchao1.cpp -c $(INCLUDE) -o ./sharedchao1.o\r
+\r
+\r
+# Item # 120 -- sharedcommand --\r
+./sharedcommand.o : sharedcommand.cpp\r
+ $(CC) $(CC_OPTIONS) sharedcommand.cpp -c $(INCLUDE) -o ./sharedcommand.o\r
+\r
+\r
+# Item # 121 -- sharedjabund --\r
+./sharedjabund.o : sharedjabund.cpp\r
+ $(CC) $(CC_OPTIONS) sharedjabund.cpp -c $(INCLUDE) -o ./sharedjabund.o\r
+\r
+\r
+# Item # 122 -- sharedjclass --\r
+./sharedjclass.o : sharedjclass.cpp\r
+ $(CC) $(CC_OPTIONS) sharedjclass.cpp -c $(INCLUDE) -o ./sharedjclass.o\r
+\r
+\r
+# Item # 123 -- sharedjest --\r
+./sharedjest.o : sharedjest.cpp\r
+ $(CC) $(CC_OPTIONS) sharedjest.cpp -c $(INCLUDE) -o ./sharedjest.o\r
+\r
+\r
+# Item # 124 -- sharedordervector --\r
+./sharedordervector.o : sharedordervector.cpp\r
+ $(CC) $(CC_OPTIONS) sharedordervector.cpp -c $(INCLUDE) -o ./sharedordervector.o\r
+\r
+\r
+# Item # 125 -- sharedrabundvector --\r
+./sharedrabundvector.o : sharedrabundvector.cpp\r
+ $(CC) $(CC_OPTIONS) sharedrabundvector.cpp -c $(INCLUDE) -o ./sharedrabundvector.o\r
+\r
+\r
+# Item # 126 -- sharedsabundvector --\r
+./sharedsabundvector.o : sharedsabundvector.cpp\r
+ $(CC) $(CC_OPTIONS) sharedsabundvector.cpp -c $(INCLUDE) -o ./sharedsabundvector.o\r
+\r
+\r
+# Item # 127 -- sharedsobs --\r
+./sharedsobs.o : sharedsobs.cpp\r
+ $(CC) $(CC_OPTIONS) sharedsobs.cpp -c $(INCLUDE) -o ./sharedsobs.o\r
+\r
+\r
+# Item # 128 -- sharedsorabund --\r
+./sharedsorabund.o : sharedsorabund.cpp\r
+ $(CC) $(CC_OPTIONS) sharedsorabund.cpp -c $(INCLUDE) -o ./sharedsorabund.o\r
+\r
+\r
+# Item # 129 -- sharedsorclass --\r
+./sharedsorclass.o : sharedsorclass.cpp\r
+ $(CC) $(CC_OPTIONS) sharedsorclass.cpp -c $(INCLUDE) -o ./sharedsorclass.o\r
+\r
+\r
+# Item # 130 -- sharedsorest --\r
+./sharedsorest.o : sharedsorest.cpp\r
+ $(CC) $(CC_OPTIONS) sharedsorest.cpp -c $(INCLUDE) -o ./sharedsorest.o\r
+\r
+\r
+# Item # 131 -- sharedthetan --\r
+./sharedthetan.o : sharedthetan.cpp\r
+ $(CC) $(CC_OPTIONS) sharedthetan.cpp -c $(INCLUDE) -o ./sharedthetan.o\r
+\r
+\r
+# Item # 132 -- sharedthetayc --\r
+./sharedthetayc.o : sharedthetayc.cpp\r
+ $(CC) $(CC_OPTIONS) sharedthetayc.cpp -c $(INCLUDE) -o ./sharedthetayc.o\r
+\r
+\r
+# Item # 133 -- simpson --\r
+./simpson.o : simpson.cpp\r
+ $(CC) $(CC_OPTIONS) simpson.cpp -c $(INCLUDE) -o ./simpson.o\r
+\r
+\r
+# Item # 134 -- singlelinkage --\r
+./singlelinkage.o : singlelinkage.cpp\r
+ $(CC) $(CC_OPTIONS) singlelinkage.cpp -c $(INCLUDE) -o ./singlelinkage.o\r
+\r
+\r
+# Item # 135 -- sparsematrix --\r
+./sparsematrix.o : sparsematrix.cpp\r
+ $(CC) $(CC_OPTIONS) sparsematrix.cpp -c $(INCLUDE) -o ./sparsematrix.o\r
+\r
+\r
+# Item # 136 -- summarycommand --\r
+./summarycommand.o : summarycommand.cpp\r
+ $(CC) $(CC_OPTIONS) summarycommand.cpp -c $(INCLUDE) -o ./summarycommand.o\r
+\r
+\r
+# Item # 137 -- summarysharedcommand --\r
+./summarysharedcommand.o : summarysharedcommand.cpp\r
+ $(CC) $(CC_OPTIONS) summarysharedcommand.cpp -c $(INCLUDE) -o ./summarysharedcommand.o\r
+\r
+\r
+# Item # 138 -- uvest --\r
+./uvest.o : uvest.cpp\r
+ $(CC) $(CC_OPTIONS) uvest.cpp -c $(INCLUDE) -o ./uvest.o\r
+\r
+\r
+# Item # 139 -- validcalculator --\r
+./validcalculator.o : validcalculator.cpp\r
+ $(CC) $(CC_OPTIONS) validcalculator.cpp -c $(INCLUDE) -o ./validcalculator.o\r
+\r
+\r
+# Item # 140 -- validparameter --\r
+./validparameter.o : validparameter.cpp\r
+ $(CC) $(CC_OPTIONS) validparameter.cpp -c $(INCLUDE) -o ./validparameter.o\r
+\r
+\r
+# Item # 141 -- treenode --\r
+./treenode.o : treenode.cpp\r
+ $(CC) $(CC_OPTIONS) treenode.cpp -c $(INCLUDE) -o ./treenode.o\r
+\r
+\r
+# Item # 142 -- readtreecommand --\r
+./readtreecommand.o : readtreecommand.cpp\r
+ $(CC) $(CC_OPTIONS) readtreecommand.cpp -c $(INCLUDE) -o ./readtreecommand.o\r
+\r
+\r
+# Item # 143 -- reversecommand --\r
+./reversecommand.o : reversecommand.cpp\r
+ $(CC) $(CC_OPTIONS) reversecommand.cpp -c $(INCLUDE) -o ./reversecommand.o\r
+\r
+\r
+# Item # 144 -- trimseqscommand --\r
+./trimseqscommand.o : trimseqscommand.cpp\r
+ $(CC) $(CC_OPTIONS) trimseqscommand.cpp -c $(INCLUDE) -o ./trimseqscommand.o\r
+\r
+\r
+# Item # 145 -- slibshuff --\r
+./slibshuff.o : slibshuff.cpp\r
+ $(CC) $(CC_OPTIONS) slibshuff.cpp -c $(INCLUDE) -o ./slibshuff.o\r
+\r
+\r
+# Item # 146 -- libshuff --\r
+./libshuff.o : libshuff.cpp\r
+ $(CC) $(CC_OPTIONS) libshuff.cpp -c $(INCLUDE) -o ./libshuff.o\r
+\r
+\r
+# Item # 147 -- dlibshuff --\r
+./dlibshuff.o : dlibshuff.cpp\r
+ $(CC) $(CC_OPTIONS) dlibshuff.cpp -c $(INCLUDE) -o ./dlibshuff.o\r
+\r
+\r
+# Item # 148 -- mergefilecommand --\r
+./mergefilecommand.o : mergefilecommand.cpp\r
+ $(CC) $(CC_OPTIONS) mergefilecommand.cpp -c $(INCLUDE) -o ./mergefilecommand.o\r
+\r
+\r
+# Item # 149 -- coverage --\r
+./coverage.o : coverage.cpp\r
+ $(CC) $(CC_OPTIONS) coverage.cpp -c $(INCLUDE) -o ./coverage.o\r
+\r
+\r
+# Item # 150 -- whittaker --\r
+./whittaker.o : whittaker.cpp\r
+ $(CC) $(CC_OPTIONS) whittaker.cpp -c $(INCLUDE) -o ./whittaker.o\r
+\r
+\r
+# Item # 151 -- preclustercommand --\r
+./preclustercommand.o : preclustercommand.cpp\r
+ $(CC) $(CC_OPTIONS) preclustercommand.cpp -c $(INCLUDE) -o ./preclustercommand.o\r
+\r
+\r
+# Item # 152 -- otuhierarchycommand --\r
+./otuhierarchycommand.o : otuhierarchycommand.cpp\r
+ $(CC) $(CC_OPTIONS) otuhierarchycommand.cpp -c $(INCLUDE) -o ./otuhierarchycommand.o\r
+\r
+\r
+# Item # 153 -- setdircommand --\r
+./setdircommand.o : setdircommand.cpp\r
+ $(CC) $(CC_OPTIONS) setdircommand.cpp -c $(INCLUDE) -o ./setdircommand.o\r
+\r
+\r
+# Item # 154 -- getgroupcommand --\r
+./getgroupcommand.o : getgroupcommand.cpp\r
+ $(CC) $(CC_OPTIONS) getgroupcommand.cpp -c $(INCLUDE) -o ./getgroupcommand.o\r
+\r
+\r
+# Item # 155 -- getlabelcommand --\r
+./getlabelcommand.o : getlabelcommand.cpp\r
+ $(CC) $(CC_OPTIONS) getlabelcommand.cpp -c $(INCLUDE) -o ./getlabelcommand.o\r
+\r
+\r
+# Item # 156 -- secondarystructurecommand --\r
+./secondarystructurecommand.o : secondarystructurecommand.cpp\r
+ $(CC) $(CC_OPTIONS) secondarystructurecommand.cpp -c $(INCLUDE) -o ./secondarystructurecommand.o\r
+\r
+\r
+# Item # 157 -- mothurout --\r
+./mothurout.o : mothurout.cpp\r
+ $(CC) $(CC_OPTIONS) mothurout.cpp -c $(INCLUDE) -o ./mothurout.o\r
+\r
+\r
+# Item # 158 -- parselistscommand --\r
+./parselistscommand.o : parselistscommand.cpp\r
+ $(CC) $(CC_OPTIONS) parselistscommand.cpp -c $(INCLUDE) -o ./parselistscommand.o\r
+\r
+\r
+# Item # 159 -- readblast --\r
+./readblast.o : readblast.cpp\r
+ $(CC) $(CC_OPTIONS) readblast.cpp -c $(INCLUDE) -o ./readblast.o\r
+\r
+\r
+# Item # 160 -- chimeracheckrdp --\r
+./chimeracheckrdp.o : chimeracheckrdp.cpp\r
+ $(CC) $(CC_OPTIONS) chimeracheckrdp.cpp -c $(INCLUDE) -o ./chimeracheckrdp.o\r
+\r
+\r
+# Item # 161 -- hclustercommand --\r
+./hclustercommand.o : hclustercommand.cpp\r
+ $(CC) $(CC_OPTIONS) hclustercommand.cpp -c $(INCLUDE) -o ./hclustercommand.o\r
+\r
+\r
+# Item # 162 -- hcluster --\r
+./hcluster.o : hcluster.cpp\r
+ $(CC) $(CC_OPTIONS) hcluster.cpp -c $(INCLUDE) -o ./hcluster.o\r
+\r
+\r
+# Item # 163 -- getlistcountcommand --\r
+./getlistcountcommand.o : getlistcountcommand.cpp\r
+ $(CC) $(CC_OPTIONS) getlistcountcommand.cpp -c $(INCLUDE) -o ./getlistcountcommand.o\r
+\r
+\r
+# Item # 164 -- readcluster --\r
+./readcluster.o : readcluster.cpp\r
+ $(CC) $(CC_OPTIONS) readcluster.cpp -c $(INCLUDE) -o ./readcluster.o\r
+\r
+\r
+# Item # 165 -- ccode --\r
+./ccode.o : ccode.cpp\r
+ $(CC) $(CC_OPTIONS) ccode.cpp -c $(INCLUDE) -o ./ccode.o\r
+\r
+\r
+# Item # 166 -- taxonomyequalizer --\r
+./taxonomyequalizer.o : taxonomyequalizer.cpp\r
+ $(CC) $(CC_OPTIONS) taxonomyequalizer.cpp -c $(INCLUDE) -o ./taxonomyequalizer.o\r
+\r
+\r
+# Item # 167 -- phylotypecommand --\r
+./phylotypecommand.o : phylotypecommand.cpp\r
+ $(CC) $(CC_OPTIONS) phylotypecommand.cpp -c $(INCLUDE) -o ./phylotypecommand.o\r
+\r
+\r
+# Item # 168 -- classifyseqscommand --\r
+./classifyseqscommand.o : classifyseqscommand.cpp\r
+ $(CC) $(CC_OPTIONS) classifyseqscommand.cpp -c $(INCLUDE) -o ./classifyseqscommand.o\r
+\r
+\r
+# Item # 169 -- classify --\r
+./classify.o : classify.cpp\r
+ $(CC) $(CC_OPTIONS) classify.cpp -c $(INCLUDE) -o ./classify.o\r
+\r
+\r
+# Item # 170 -- phylotree --\r
+./phylotree.o : phylotree.cpp\r
+ $(CC) $(CC_OPTIONS) phylotree.cpp -c $(INCLUDE) -o ./phylotree.o\r
+\r
+\r
+# Item # 171 -- bayesian --\r
+./bayesian.o : bayesian.cpp\r
+ $(CC) $(CC_OPTIONS) bayesian.cpp -c $(INCLUDE) -o ./bayesian.o\r
+\r
+\r
+# Item # 172 -- alignmentdb --\r
+./alignmentdb.o : alignmentdb.cpp\r
+ $(CC) $(CC_OPTIONS) alignmentdb.cpp -c $(INCLUDE) -o ./alignmentdb.o\r
+\r
+\r
+# Item # 173 -- knn --\r
+./knn.o : knn.cpp\r
+ $(CC) $(CC_OPTIONS) knn.cpp -c $(INCLUDE) -o ./knn.o\r
+\r
+\r
+# Item # 174 -- distancedb --\r
+./distancedb.o : distancedb.cpp\r
+ $(CC) $(CC_OPTIONS) distancedb.cpp -c $(INCLUDE) -o ./distancedb.o\r
+\r
+\r
+# Item # 175 -- chimeraslayer --\r
+./chimeraslayer.o : chimeraslayer.cpp\r
+ $(CC) $(CC_OPTIONS) chimeraslayer.cpp -c $(INCLUDE) -o ./chimeraslayer.o\r
+\r
+\r
+# Item # 176 -- slayer --\r
+./slayer.o : slayer.cpp\r
+ $(CC) $(CC_OPTIONS) slayer.cpp -c $(INCLUDE) -o ./slayer.o\r
+\r
+\r
+# Item # 177 -- pcacommand --\r
+./pcacommand.o : pcacommand.cpp\r
+ $(CC) $(CC_OPTIONS) pcacommand.cpp -c $(INCLUDE) -o ./pcacommand.o\r
+\r
+\r
+# Item # 178 -- formatcolumn --\r
+./formatcolumn.o : formatcolumn.cpp\r
+ $(CC) $(CC_OPTIONS) formatcolumn.cpp -c $(INCLUDE) -o ./formatcolumn.o\r
+\r
+\r
+# Item # 179 -- formatphylip --\r
+./formatphylip.o : formatphylip.cpp\r
+ $(CC) $(CC_OPTIONS) formatphylip.cpp -c $(INCLUDE) -o ./formatphylip.o\r
+\r
+\r
+# Item # 180 -- mgclustercommand --\r
+./mgclustercommand.o : mgclustercommand.cpp\r
+ $(CC) $(CC_OPTIONS) mgclustercommand.cpp -c $(INCLUDE) -o ./mgclustercommand.o\r
+\r
+\r
+# Item # 181 -- getsharedotucommand --\r
+./getsharedotucommand.o : getsharedotucommand.cpp\r
+ $(CC) $(CC_OPTIONS) getsharedotucommand.cpp -c $(INCLUDE) -o ./getsharedotucommand.o\r
+\r
+\r
+# Item # 182 -- maligner --\r
+./maligner.o : maligner.cpp\r
+ $(CC) $(CC_OPTIONS) maligner.cpp -c $(INCLUDE) -o ./maligner.o\r
+\r
+\r
+# Item # 183 -- chimerarealigner --\r
+./chimerarealigner.o : chimerarealigner.cpp\r
+ $(CC) $(CC_OPTIONS) chimerarealigner.cpp -c $(INCLUDE) -o ./chimerarealigner.o\r
+\r
+\r
+# Item # 184 -- bergerparker --\r
+./bergerparker.o : bergerparker.cpp\r
+ $(CC) $(CC_OPTIONS) bergerparker.cpp -c $(INCLUDE) -o ./bergerparker.o\r
+\r
+\r
+# Item # 185 -- bstick --\r
+./bstick.o : bstick.cpp\r
+ $(CC) $(CC_OPTIONS) bstick.cpp -c $(INCLUDE) -o ./bstick.o\r
+\r
+\r
+# Item # 186 -- sharedkstest --\r
+./sharedkstest.o : sharedkstest.cpp\r
+ $(CC) $(CC_OPTIONS) sharedkstest.cpp -c $(INCLUDE) -o ./sharedkstest.o\r
+\r
+\r
+# Item # 187 -- qstat --\r
+./qstat.o : qstat.cpp\r
+ $(CC) $(CC_OPTIONS) qstat.cpp -c $(INCLUDE) -o ./qstat.o\r
+\r
+\r
+# Item # 188 -- shen --\r
+./shen.o : shen.cpp\r
+ $(CC) $(CC_OPTIONS) shen.cpp -c $(INCLUDE) -o ./shen.o\r
+\r
+\r
+# Item # 189 -- logsd --\r
+./logsd.o : logsd.cpp\r
+ $(CC) $(CC_OPTIONS) logsd.cpp -c $(INCLUDE) -o ./logsd.o\r
+\r
+\r
+# Item # 190 -- geom --\r
+./geom.o : geom.cpp\r
+ $(CC) $(CC_OPTIONS) geom.cpp -c $(INCLUDE) -o ./geom.o\r
+\r
+# Item # 191 -- parsesffcommand --\r
+./parsesffcommand.o : parsesffcommand.cpp\r
+ $(CC) $(CC_OPTIONS) parsesffcommand.cpp -c $(INCLUDE) -o ./parsesffcommand.o\r
+\r
+# Item # 192 -- chimeraccodecommand --\r
+./chimeraccodecommand.o : chimeraccodecommand.cpp\r
+ $(CC) $(CC_OPTIONS) chimeraccodecommand.cpp -c $(INCLUDE) -o ./chimeraccodecommand.o\r
+\r
+# Item # 193 -- chimeracheckcommand --\r
+./chimeracheckcommand.o : chimeracheckcommand.cpp\r
+ $(CC) $(CC_OPTIONS) chimeracheckcommand.cpp -c $(INCLUDE) -o ./chimeracheckcommand.o\r
+\r
+\r
+# Item # 194 -- chimeraslayercommand --\r
+./chimeraslayercommand.o : chimeraslayercommand.cpp\r
+ $(CC) $(CC_OPTIONS) chimeraslayercommand.cpp -c $(INCLUDE) -o ./chimeraslayercommand.o\r
+\r
+# Item # 195 -- chimerapintailcommand --\r
+./chimerapintailcommand.o : chimerapintailcommand.cpp\r
+ $(CC) $(CC_OPTIONS) chimerapintailcommand.cpp -c $(INCLUDE) -o ./chimerapintailcommand.o\r
+\r
+# Item # 196 -- chimerabellerophoncommand --\r
+./chimerabellerophoncommand.o : chimerabellerophoncommand.cpp\r
+ $(CC) $(CC_OPTIONS) chimerabellerophoncommand.cpp -c $(INCLUDE) -o ./chimerabellerophoncommand.o\r
+\r
+\r
+##### END RUN ####\r
void MGClusterCommand::sortHclusterFiles(string unsortedDist, string unsortedOverlap) {
try {
//sort distFile
- string sortedDistFile = sortFile(unsortedDist);
+ string sortedDistFile = sortFile(unsortedDist, outputDir);
remove(unsortedDist.c_str()); //delete unsorted file
distFile = sortedDistFile;
//sort overlap file
- string sortedOverlapFile = sortFile(unsortedOverlap);
+ string sortedOverlapFile = sortFile(unsortedOverlap, outputDir);
remove(unsortedOverlap.c_str()); //delete unsorted file
overlapFile = sortedOverlapFile;
}
-/*
- * interface.cpp
- *
- *
- * Created by Pat Schloss on 8/14/08.
- * Copyright 2008 Patrick D. Schloss. All rights reserved.
- *
- */
-
-#include "mothur.h"
-#include "engine.hpp"
-#include "globaldata.hpp"
-#include "mothurout.h"
-
-
-/**************************************************************************************************/
-
-GlobalData* GlobalData::_uniqueInstance = 0;
-CommandFactory* CommandFactory::_uniqueInstance = 0;
-MothurOut* MothurOut::_uniqueInstance = 0;
-
-/***********************************************************************/
-volatile int ctrlc_pressed = 0;
-void ctrlc_handler ( int sig ) {
- MothurOut* m = MothurOut::getInstance();
- ctrlc_pressed = 1;
- m->control_pressed = ctrlc_pressed;
-
- if (m->executing) { //if mid command quit execution, else quit mothur
- m->mothurOutEndLine(); m->mothurOut("quitting command..."); m->mothurOutEndLine();
- }else{
- m->mothurOut("quitting mothur"); m->mothurOutEndLine();
- exit(1);
- }
-}
-/***********************************************************************/
-int main(int argc, char *argv[]){
- MothurOut* m = MothurOut::getInstance();
- try {
-
- signal(SIGINT, ctrlc_handler );
-
- time_t ltime = time(NULL); /* calendar time */
- string logFileName = "mothur." + toString(ltime) + ".logfile";
-
- #ifdef USE_MPI
- MPI_Init(&argc, &argv);
- #endif
-
- m->setFileName(logFileName);
-
-
- //version
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
- system("clear");
- #if defined (__APPLE__) || (__MACH__)
- m->mothurOutJustToLog("Mac version");
- m->mothurOutEndLine(); m->mothurOutEndLine();
- #else
- m->mothurOutJustToLog("Linux version");
- >m->mothurOutEndLine(); m->mothurOutEndLine();
- #endif
-
- #else
- system("CLS");
- m->mothurOutJustToLog("Windows version");
- m->mothurOutEndLine(); m->mothurOutEndLine();
- #endif
-
- #ifdef USE_READLINE
- m->mothurOutJustToLog("Using ReadLine");
- m->mothurOutEndLine(); m->mothurOutEndLine();
- #endif
-
- //header
- m->mothurOut("mothur v.1.8");
- m->mothurOutEndLine();
- m->mothurOut("Last updated: 2/02/2010");
- m->mothurOutEndLine();
- m->mothurOutEndLine();
- m->mothurOut("by");
- m->mothurOutEndLine();
- m->mothurOut("Patrick D. Schloss");
- m->mothurOutEndLine();
- m->mothurOutEndLine();
- m->mothurOut("Department of Microbiology & Immunology");
- m->mothurOutEndLine();
- m->mothurOut("University of Michigan");
- m->mothurOutEndLine();
- m->mothurOut("pschloss@umich.edu");
- m->mothurOutEndLine();
- m->mothurOut("http://www.mothur.org");
- m->mothurOutEndLine();
- m->mothurOutEndLine();
- m->mothurOut("When using, please cite:");
- m->mothurOutEndLine();
- m->mothurOut("Schloss, P.D., et al., Introducing mothur: Open-source, platform-independent, community-supported software for describing and comparing microbial communities. Appl Environ Microbiol, 2009. 75(23):7537-41.");
- m->mothurOutEndLine();
- m->mothurOutEndLine();
- m->mothurOut("Distributed under the GNU General Public License");
- m->mothurOutEndLine();
- m->mothurOutEndLine();
- m->mothurOut("Type 'help()' for information on the commands that are available");
- m->mothurOutEndLine();
- m->mothurOutEndLine();
- m->mothurOut("Type 'quit()' to exit program");
- m->mothurOutEndLine();
-
- #ifdef USE_MPI
- m->mothurOutJustToLog("Using MPI\tversion ");
- int version, subversion;
- MPI_Get_version(&version, &subversion);
- m->mothurOutJustToLog(toString(version) + "." + toString(subversion) + "\n");
- #endif
-
- //srand(54321);
- srand( (unsigned)time( NULL ) );
-
- Engine* mothur;
- bool bail = 0;
- string input;
-
- if(argc>1){
- input = argv[1];
-
- if (input[0] == '#') {
- m->mothurOutJustToLog("Script Mode");
- m->mothurOutEndLine(); m->mothurOutEndLine();
-
- mothur = new ScriptEngine(argv[0], argv[1]);
- }else{
- m->mothurOutJustToLog("Batch Mode");
- m->mothurOutEndLine(); m->mothurOutEndLine();
-
- mothur = new BatchEngine(argv[0], argv[1]);
- }
- }
- else{
- m->mothurOutJustToLog("Interactive Mode");
- m->mothurOutEndLine(); m->mothurOutEndLine();
-
- mothur = new InteractEngine(argv[0]);
- }
-
- while(bail == 0) { bail = mothur->getInput(); }
-
- string outputDir = mothur->getOutputDir();
- string newlogFileName = outputDir + logFileName;
-
- //need this because m->mothurOut makes the logfile, but doesn't know where to put it
- rename(logFileName.c_str(), newlogFileName.c_str()); //logfile with timestamp
-
- delete mothur;
-
- #ifdef USE_MPI
- MPI_Finalize();
- #endif
-
- return 0;
- }
- catch(exception& e) {
- m->errorOut(e, "mothur", "main");
- exit(1);
- }
-}
-
-/**************************************************************************************************/
-
+/*\r
+ * interface.cpp\r
+ * \r
+ *\r
+ * Created by Pat Schloss on 8/14/08.\r
+ * Copyright 2008 Patrick D. Schloss. All rights reserved.\r
+ *\r
+ */\r
+ \r
+#include "mothur.h"\r
+#include "engine.hpp"\r
+#include "globaldata.hpp"\r
+#include "mothurout.h"\r
+\r
+\r
+/**************************************************************************************************/\r
+\r
+GlobalData* GlobalData::_uniqueInstance = 0;\r
+CommandFactory* CommandFactory::_uniqueInstance = 0;\r
+MothurOut* MothurOut::_uniqueInstance = 0;\r
+\r
+/***********************************************************************/\r
+volatile int ctrlc_pressed = 0;\r
+void ctrlc_handler ( int sig ) {\r
+ MothurOut* m = MothurOut::getInstance();\r
+ ctrlc_pressed = 1;\r
+ m->control_pressed = ctrlc_pressed;\r
+ \r
+ if (m->executing) { //if mid command quit execution, else quit mothur\r
+ m->mothurOutEndLine(); m->mothurOut("quitting command..."); m->mothurOutEndLine();\r
+ }else{\r
+ m->mothurOut("quitting mothur"); m->mothurOutEndLine();\r
+ exit(1);\r
+ }\r
+}\r
+/***********************************************************************/\r
+int main(int argc, char *argv[]){\r
+ MothurOut* m = MothurOut::getInstance();\r
+ try {\r
+ \r
+ signal(SIGINT, ctrlc_handler );\r
+ \r
+ time_t ltime = time(NULL); /* calendar time */ \r
+ string logFileName = "mothur." + toString(ltime) + ".logfile";\r
+ \r
+ #ifdef USE_MPI\r
+ MPI_Init(&argc, &argv); \r
+ #endif\r
+\r
+ m->setFileName(logFileName);\r
+ \r
+ \r
+ //version\r
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)\r
+ system("clear");\r
+ #if defined (__APPLE__) || (__MACH__)\r
+ m->mothurOutJustToLog("Mac version");\r
+ m->mothurOutEndLine(); m->mothurOutEndLine();\r
+ #else\r
+ m->mothurOutJustToLog("Linux version");\r
+ >m->mothurOutEndLine(); m->mothurOutEndLine();\r
+ #endif\r
+\r
+ #else\r
+ system("CLS");\r
+ m->mothurOutJustToLog("Windows version");\r
+ m->mothurOutEndLine(); m->mothurOutEndLine();\r
+ #endif \r
+ \r
+ #ifdef USE_READLINE\r
+ m->mothurOutJustToLog("Using ReadLine");\r
+ m->mothurOutEndLine(); m->mothurOutEndLine();\r
+ #endif\r
+ \r
+ //header\r
+ m->mothurOut("mothur v.1.9");\r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("Last updated: 4/09/2010");\r
+ m->mothurOutEndLine(); \r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("by");\r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("Patrick D. Schloss");\r
+ m->mothurOutEndLine();\r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("Department of Microbiology & Immunology");\r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("University of Michigan");\r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("pschloss@umich.edu");\r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("http://www.mothur.org");\r
+ m->mothurOutEndLine();\r
+ m->mothurOutEndLine();\r
+ m->mothurOut("When using, please cite:");\r
+ m->mothurOutEndLine();\r
+ m->mothurOut("Schloss, P.D., et al., Introducing mothur: Open-source, platform-independent, community-supported software for describing and comparing microbial communities. Appl Environ Microbiol, 2009. 75(23):7537-41.");\r
+ m->mothurOutEndLine(); \r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("Distributed under the GNU General Public License");\r
+ m->mothurOutEndLine();\r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("Type 'help()' for information on the commands that are available");\r
+ m->mothurOutEndLine();\r
+ m->mothurOutEndLine(); \r
+ m->mothurOut("Type 'quit()' to exit program");\r
+ m->mothurOutEndLine(); \r
+ \r
+ #ifdef USE_MPI\r
+ m->mothurOutJustToLog("Using MPI\tversion ");\r
+ int version, subversion;\r
+ MPI_Get_version(&version, &subversion);\r
+ m->mothurOutJustToLog(toString(version) + "." + toString(subversion) + "\n");\r
+ #endif\r
+ \r
+ //srand(54321);\r
+ srand( (unsigned)time( NULL ) );\r
+ \r
+ Engine* mothur;\r
+ bool bail = 0;\r
+ string input;\r
+\r
+ if(argc>1){\r
+ input = argv[1];\r
+\r
+ if (input[0] == '#') {\r
+ m->mothurOutJustToLog("Script Mode");\r
+ m->mothurOutEndLine(); m->mothurOutEndLine();\r
+\r
+ mothur = new ScriptEngine(argv[0], argv[1]);\r
+ }else{\r
+ m->mothurOutJustToLog("Batch Mode");\r
+ m->mothurOutEndLine(); m->mothurOutEndLine();\r
+ \r
+ mothur = new BatchEngine(argv[0], argv[1]);\r
+ }\r
+ }\r
+ else{\r
+ m->mothurOutJustToLog("Interactive Mode");\r
+ m->mothurOutEndLine(); m->mothurOutEndLine();\r
+ \r
+ mothur = new InteractEngine(argv[0]); \r
+ }\r
+ \r
+ while(bail == 0) { bail = mothur->getInput(); }\r
+ \r
+ string outputDir = mothur->getOutputDir();\r
+ string newlogFileName = outputDir + logFileName;\r
+ \r
+ //closes logfile so we can rename\r
+ m->closeLog();\r
+ \r
+ //need this because m->mothurOut makes the logfile, but doesn't know where to put it\r
+ rename(logFileName.c_str(), newlogFileName.c_str()); //logfile with timestamp\r
+ \r
+ delete mothur;\r
+ \r
+ #ifdef USE_MPI\r
+ MPI_Finalize();\r
+ #endif\r
+ \r
+ return 0;\r
+ }\r
+ catch(exception& e) {\r
+ m->errorOut(e, "mothur", "main");\r
+ exit(1);\r
+ }\r
+}\r
+\r
+/**************************************************************************************************/\r
+\r
int index = dirs.size()-1;
-
+
while((pos = path.rfind("./")) != -1) { //while you don't have a complete path
- if (path[(pos-1)] == '.') { //you want your parent directory ../
+ if (pos == 0) { break; //you are at the end
+ }else if (path[(pos-1)] == '.') { //you want your parent directory ../
path = path.substr(0, pos-1);
index--;
if (index == 0) { break; }
}else if (path[(pos-1)] == '/') { //you want the current working dir ./
path = path.substr(0, pos);
- }else if (pos == 1) { break;
+ }else if (pos == 1) { break; //you are at the end
}else { cout << "cannot resolve path for " << fileName << endl; return fileName; }
}
int index = dirs.size()-1;
while((pos = path.rfind(".\\")) != -1) { //while you don't have a complete path
- if (path[(pos-1)] == '.') { //you want your parent directory ../
+ if (pos == 0) { break; //you are at the end
+ }else if (path[(pos-1)] == '.') { //you want your parent directory ../
path = path.substr(0, pos-1);
index--;
if (index == 0) { break; }
}else if (path[(pos-1)] == '\\') { //you want the current working dir ./
path = path.substr(0, pos);
- }else if (pos == 1) { break;
- }else { cout << "cannot resolve path for " << fileName << endl; return fileName; }
+ }else if (pos == 1) { break; //you are at the end
+ }else { cout << "cannot resolve path for " << fileName << endl; return fileName; }
}
for (int i = index; i >= 0; i--) {
}
/**************************************************************************************************/
-inline string sortFile(string distFile){
+inline string sortFile(string distFile, string outputDir){
try {
+
+ //if (outputDir == "") { outputDir += hasPath(distFile); }
string outfile = getRootName(distFile) + "sorted.dist";
+
//if you can, use the unix sort since its been optimized for years
#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
-/*
- * m->mothurOut.cpp
- * Mothur
- *
- * Created by westcott on 2/25/10.
- * Copyright 2010 Schloss Lab. All rights reserved.
- *
- */
-
-#include "mothurout.h"
-
-/******************************************************/
-MothurOut* MothurOut::getInstance() {
- if( _uniqueInstance == 0) {
- _uniqueInstance = new MothurOut();
- }
- return _uniqueInstance;
-}
-/*********************************************************************************************/
-void MothurOut::setFileName(string filename) {
- try {
- logFileName = filename;
-
- #ifdef USE_MPI
- int pid;
- MPI_Comm_rank(MPI_COMM_WORLD, &pid);
-
- if (pid == 0) { //only one process should output to screen
- #endif
-
- openOutputFile(filename, out);
-
- #ifdef USE_MPI
- }
- #endif
- }
- catch(exception& e) {
- errorOut(e, "MothurOut", "setFileName");
- exit(1);
- }
-}
-/*********************************************************************************************/
-MothurOut::~MothurOut() {
- try {
- _uniqueInstance = 0;
-
- #ifdef USE_MPI
- int pid;
- MPI_Comm_rank(MPI_COMM_WORLD, &pid);
-
- if (pid == 0) { //only one process should output to screen
- #endif
-
- out.close();
-
- #ifdef USE_MPI
- }
- #endif
- }
- catch(exception& e) {
- errorOut(e, "MothurOut", "MothurOut");
- exit(1);
- }
-}
-
-/*********************************************************************************************/
-void MothurOut::mothurOut(string output) {
- try {
-
- #ifdef USE_MPI
- int pid;
- MPI_Comm_rank(MPI_COMM_WORLD, &pid);
-
- if (pid == 0) { //only one process should output to screen
- #endif
-
- cout << output;
- out << output;
-
- #ifdef USE_MPI
- }
- #endif
- }
- catch(exception& e) {
- errorOut(e, "MothurOut", "MothurOut");
- exit(1);
- }
-}
-/*********************************************************************************************/
-void MothurOut::mothurOutEndLine() {
- try {
- #ifdef USE_MPI
- int pid;
- MPI_Comm_rank(MPI_COMM_WORLD, &pid);
-
- if (pid == 0) { //only one process should output to screen
- #endif
-
- cout << endl;
- out << endl;
-
- #ifdef USE_MPI
- }
- #endif
- }
- catch(exception& e) {
- errorOut(e, "MothurOut", "MothurOutEndLine");
- exit(1);
- }
-}
-/*********************************************************************************************/
-void MothurOut::mothurOutJustToLog(string output) {
- try {
- #ifdef USE_MPI
- int pid;
- MPI_Comm_rank(MPI_COMM_WORLD, &pid);
-
- if (pid == 0) { //only one process should output to screen
- #endif
-
- out << output;
-
- #ifdef USE_MPI
- }
- #endif
- }
- catch(exception& e) {
- errorOut(e, "MothurOut", "MothurOutJustToLog");
- exit(1);
- }
-}
-/*********************************************************************************************/
-void MothurOut::errorOut(exception& e, string object, string function) {
- mothurOut("Error: ");
- mothurOut(toString(e.what()));
- mothurOut(" has occurred in the " + object + " class function " + function + ". Please contact Pat Schloss at mothur.bugs@gmail.com, and be sure to include the mothur.logFile with your inquiry.");
- mothurOutEndLine();
-}
-/*********************************************************************************************/
-
-
-
-
-
+/*\r
+ * m->mothurOut.cpp\r
+ * Mothur\r
+ *\r
+ * Created by westcott on 2/25/10.\r
+ * Copyright 2010 Schloss Lab. All rights reserved.\r
+ *\r
+ */\r
+\r
+#include "mothurout.h"\r
+\r
+/******************************************************/\r
+MothurOut* MothurOut::getInstance() {\r
+ if( _uniqueInstance == 0) {\r
+ _uniqueInstance = new MothurOut();\r
+ }\r
+ return _uniqueInstance;\r
+}\r
+/*********************************************************************************************/\r
+void MothurOut::setFileName(string filename) {\r
+ try {\r
+ logFileName = filename;\r
+ \r
+ #ifdef USE_MPI\r
+ int pid;\r
+ MPI_Comm_rank(MPI_COMM_WORLD, &pid); \r
+ \r
+ if (pid == 0) { //only one process should output to screen\r
+ #endif\r
+ \r
+ openOutputFile(filename, out);\r
+ \r
+ #ifdef USE_MPI\r
+ }\r
+ #endif\r
+ }\r
+ catch(exception& e) {\r
+ errorOut(e, "MothurOut", "setFileName");\r
+ exit(1);\r
+ }\r
+}\r
+/*********************************************************************************************/\r
+void MothurOut::closeLog() {\r
+ try {\r
+ \r
+ #ifdef USE_MPI\r
+ int pid;\r
+ MPI_Comm_rank(MPI_COMM_WORLD, &pid); \r
+ \r
+ if (pid == 0) { //only one process should output to screen\r
+ #endif\r
+ \r
+ out.close();\r
+ \r
+ #ifdef USE_MPI\r
+ }\r
+ #endif\r
+ }\r
+ catch(exception& e) {\r
+ errorOut(e, "MothurOut", "closeLog");\r
+ exit(1);\r
+ }\r
+}\r
+\r
+/*********************************************************************************************/\r
+MothurOut::~MothurOut() {\r
+ try {\r
+ _uniqueInstance = 0;\r
+ \r
+ }\r
+ catch(exception& e) {\r
+ errorOut(e, "MothurOut", "MothurOut");\r
+ exit(1);\r
+ }\r
+}\r
+/*********************************************************************************************/\r
+void MothurOut::mothurOut(string output) {\r
+ try {\r
+ \r
+ #ifdef USE_MPI\r
+ int pid;\r
+ MPI_Comm_rank(MPI_COMM_WORLD, &pid); \r
+ \r
+ if (pid == 0) { //only one process should output to screen\r
+ #endif\r
+ \r
+ cout << output;\r
+ out << output;\r
+ \r
+ #ifdef USE_MPI\r
+ }\r
+ #endif\r
+ }\r
+ catch(exception& e) {\r
+ errorOut(e, "MothurOut", "MothurOut");\r
+ exit(1);\r
+ }\r
+}\r
+/*********************************************************************************************/\r
+void MothurOut::mothurOutEndLine() {\r
+ try {\r
+ #ifdef USE_MPI\r
+ int pid;\r
+ MPI_Comm_rank(MPI_COMM_WORLD, &pid); \r
+ \r
+ if (pid == 0) { //only one process should output to screen\r
+ #endif\r
+ \r
+ cout << endl;\r
+ out << endl;\r
+ \r
+ #ifdef USE_MPI\r
+ }\r
+ #endif\r
+ }\r
+ catch(exception& e) {\r
+ errorOut(e, "MothurOut", "MothurOutEndLine");\r
+ exit(1);\r
+ }\r
+}\r
+/*********************************************************************************************/\r
+void MothurOut::mothurOutJustToLog(string output) {\r
+ try {\r
+ #ifdef USE_MPI\r
+ int pid;\r
+ MPI_Comm_rank(MPI_COMM_WORLD, &pid); \r
+ \r
+ if (pid == 0) { //only one process should output to screen\r
+ #endif\r
+ \r
+ out << output;\r
+ \r
+ #ifdef USE_MPI\r
+ }\r
+ #endif\r
+ }\r
+ catch(exception& e) {\r
+ errorOut(e, "MothurOut", "MothurOutJustToLog");\r
+ exit(1);\r
+ }\r
+}\r
+/*********************************************************************************************/\r
+void MothurOut::errorOut(exception& e, string object, string function) {\r
+ mothurOut("Error: ");\r
+ mothurOut(toString(e.what()));\r
+ mothurOut(" has occurred in the " + object + " class function " + function + ". Please contact Pat Schloss at mothur.bugs@gmail.com, and be sure to include the mothur.logFile with your inquiry.");\r
+ mothurOutEndLine();\r
+}\r
+/*********************************************************************************************/\r
+\r
+\r
+\r
+\r
+\r
-#ifndef MOTHUROUT_H
-#define MOTHUROUT_H
-
-/*
- * m->mothurOut.h
- * Mothur
- *
- * Created by westcott on 2/25/10.
- * Copyright 2010 Schloss Lab. All rights reserved.
- *
- */
-
-#include "mothur.h"
-
-/***********************************************/
-
-class MothurOut {
-
- public:
- static MothurOut* getInstance();
- void setFileName(string);
-
- void mothurOut(string);
- void mothurOutEndLine();
- void mothurOutJustToLog(string);
- void errorOut(exception&, string, string);
- int control_pressed;
- bool executing;
-
- private:
- static MothurOut* _uniqueInstance;
- MothurOut( const MothurOut& ); // Disable copy constructor
- void operator=( const MothurOut& ); // Disable assignment operator
- MothurOut() {};
- ~MothurOut();
-
- string logFileName;
- ofstream out;
-
-};
-/***********************************************/
-
-#endif
-
+#ifndef MOTHUROUT_H\r
+#define MOTHUROUT_H\r
+\r
+/*\r
+ * mothurOut.h\r
+ * Mothur\r
+ *\r
+ * Created by westcott on 2/25/10.\r
+ * Copyright 2010 Schloss Lab. All rights reserved.\r
+ *\r
+ */\r
+\r
+#include "mothur.h"\r
+\r
+/***********************************************/\r
+\r
+class MothurOut {\r
+ \r
+ public:\r
+ static MothurOut* getInstance();\r
+ void setFileName(string);\r
+ \r
+ void mothurOut(string);\r
+ void mothurOutEndLine();\r
+ void mothurOutJustToLog(string);\r
+ void errorOut(exception&, string, string);\r
+ void closeLog();\r
+\r
+ int control_pressed;\r
+ bool executing;\r
+\r
+ private:\r
+ static MothurOut* _uniqueInstance;\r
+ MothurOut( const MothurOut& ); // Disable copy constructor\r
+ void operator=( const MothurOut& ); // Disable assignment operator\r
+ MothurOut() { control_pressed = false; };\r
+ ~MothurOut();\r
+\r
+ string logFileName;\r
+ ofstream out;\r
+\r
+};\r
+/***********************************************/\r
+\r
+#endif\r
+\r
string firstCol, secondCol, skip;
// int index = 0;
-
-// map<string, string> data;
+
+ map<string, int>::iterator itData;
int rowIndex = 0;
-
+
while(fileHandle){
fileHandle >> firstCol; //read from first column
fileHandle >> secondCol; //read from second column
+
+ itData = (*this).find(firstCol);
+ if (itData == (*this).end()) {
+
+ (*this)[firstCol] = rowIndex++;
+ list.push_back(secondCol); //adds data's value to list
+ reverse[rowIndex] = firstCol;
+
+ }else{ m->mothurOut(firstCol + " is already in namesfile. I will use first definition."); m->mothurOutEndLine(); }
-// data[firstCol] = secondCol; //store data in map
-
- list.push_back(secondCol); //adds data's value to list
- reverse[rowIndex] = firstCol;
- (*this)[firstCol] = rowIndex++;
gobble(fileHandle);
}
fileHandle.close();
//**********************************************************************************************************************
void ParseListCommand::help(){
try {
- m->mothurOut("The parse.list command reads a list and group file and generates a list file for each group in the groupfile \n");
+ m->mothurOut("The parse.list command reads a list and group file and generates a list file for each group in the groupfile. \n");
m->mothurOut("The parse.list command parameters are list, group and label.\n");
m->mothurOut("The list and group parameters are required.\n");
m->mothurOut("The label parameter is used to read specific labels in your input you want to use.\n");
}
}
-
int fPrimer = 1;
for(int i=0;i<numFPrimers;i++){
if(compareDNASeq(forPrimer[i], sequence.substr(barcodeLength,forPrimer[i].length()))){
fPrimer = 0;
}
}
-
+
int rPrimer = 1;
for(int i=0;i<numRPrimers;i++){
if(compareDNASeq(revPrimer[i], sequence.substr(sequence.length()-revPrimer[i].length(),revPrimer[i].length()))){
PhyloTree::PhyloTree(string tfile){
try {
+ m = MothurOut::getInstance();
numNodes = 1;
numSeqs = 0;
tree.push_back(TaxNode("Root"));
try {
string currentLevel = "";
if(heirarchy != ""){
- currentLevel=heirarchy.substr(0,heirarchy.find_first_of(';'));
- heirarchy=heirarchy.substr(heirarchy.find_first_of(';')+1);
+ int pos = heirarchy.find_first_of(';');
+ currentLevel=heirarchy.substr(0,pos);
+ if (pos != (heirarchy.length()-1)) { heirarchy=heirarchy.substr(pos+1); }
+ else { heirarchy = ""; }
}
return currentLevel;
}
/**************************************************************************************************/
-void PhyloTree::addSeqToTree(string seqName, string seqTaxonomy){
+int PhyloTree::addSeqToTree(string seqName, string seqTaxonomy){
try {
numSeqs++;
level++;
+ if (m->control_pressed) { return 0; }
+
//somehow the parent is getting one too many accnos
//use print to reassign the taxa id
taxon = getNextTaxon(seqTaxonomy);
tree[it->second].heirarchyID = tree[index].heirarchyID + '.' + toString(counter);
counter++;
tree[it->second].level = tree[index].level + 1;
-
+
//save maxLevel for binning the unclassified seqs
if (tree[it->second].level > maxLevel) { maxLevel = tree[it->second].level; }
PhyloTree();
PhyloTree(string); //pass it a taxonomy file and it makes the tree
~PhyloTree() {};
- void addSeqToTree(string, string);
+ int addSeqToTree(string, string);
void assignHeirarchyIDs(int);
void print(ofstream&);
vector<int> getGenusNodes();
//reads in taxonomy file and makes all the taxonomies the same length
//by appending the last taxon to a given taxonomy as many times as needed to
//make it as long as the longest taxonomy in the file
- TaxEqualizer* taxEqual = new TaxEqualizer(taxonomyFileName, cutoff);
+ TaxEqualizer* taxEqual = new TaxEqualizer(taxonomyFileName, cutoff, outputDir);
if (m->control_pressed) { delete taxEqual; return 0; }
/***********************************************************************/
-ReadCluster::ReadCluster(string distfile, float c){
+ReadCluster::ReadCluster(string distfile, float c, string o){
globaldata = GlobalData::getInstance();
m = MothurOut::getInstance();
distFile = distfile;
cutoff = c;
+ outputDir = o;
}
/***********************************************************************/
if (m->control_pressed) { return 0; }
- OutPutFile = sortFile(distFile);
+ OutPutFile = sortFile(distFile, outputDir);
return 0;
class ReadCluster {
public:
- ReadCluster(string, float);
+ ReadCluster(string, float, string);
~ReadCluster();
int read(NameAssignment*);
string getOutputFile() { return OutPutFile; }
private:
GlobalData* globaldata;
- string distFile;
+ string distFile, outputDir;
string OutPutFile, format;
ListVector* list;
float cutoff;
if(itB == nameMap->end()){
cerr << "ABError: Sequence '" << secondName << "' was not found in the names file, please correct\n"; exit(1);
}
+//if (((itA->second == 8) && (itB->second == 1588)) || ((itA->second == 1588) && (itB->second == 8))) { cout << "found it" << endl; }
if (distance == -1) { distance = 1000000; }
else if (globaldata->sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
for (it = parameters.begin(); it != parameters.end(); it++) {
if (validParameter.isValidParameter(it->first, myArray, it->second) != true) { abort = true; }
}
-
+
globaldata->newRead();
//if the user changes the input directory command factory will send this info to us in the output parameter
}
globaldata->allLines = allLines;
-
+
orderfile = validParameter.validFile(parameters, "order", true);
if (orderfile == "not open") { abort = true; }
else if (orderfile == "not found") { orderfile = ""; }
else { globaldata->setOrderFile(orderfile); }
-
+
if (abort == false) {
//gets whichever one of the above is set
filename = globaldata->inputFileName;
}
-
}
}
//**********************************************************************************************************************
-
-ReadOtuCommand::~ReadOtuCommand(){
- }
-
+ReadOtuCommand::~ReadOtuCommand(){}
//**********************************************************************************************************************
int ReadOtuCommand::execute(){
try {
if (abort == true) { return 0; }
-
+
if (globaldata->getFormat() == "shared") {
shared = new SharedCommand(outputDir);
globaldata->setListFile("");
globaldata->setGroupFile("");
globaldata->setSharedFile("");
- }else {
- m->mothurOutEndLine();
- m->mothurOut("Output File Name: "); m->mothurOutEndLine();
- m->mothurOut(globaldata->getSharedFile()); m->mothurOutEndLine();
- m->mothurOutEndLine();
+ }else { //shared command outputs the filenames
+ //m->mothurOutEndLine();
+ //m->mothurOut("Output File Name: "); m->mothurOutEndLine();
+ //m->mothurOut(globaldata->getSharedFile()); m->mothurOutEndLine();
+ //m->mothurOutEndLine();
}
delete shared;
int RemoveSeqsCommand::readFasta(){
try {
if (outputDir == "") { outputDir += hasPath(fastafile); }
- string outputFileName = getRootName(fastafile) + "pick" + getExtension(fastafile);
+ string outputFileName = outputDir + getRootName(getSimpleName(fastafile)) + "pick" + getExtension(fastafile);
ofstream out;
openOutputFile(outputFileName, out);
int RemoveSeqsCommand::readList(){
try {
if (outputDir == "") { outputDir += hasPath(listfile); }
- string outputFileName = getRootName(listfile) + "pick" + getExtension(listfile);
+ string outputFileName = outputDir + getRootName(getSimpleName(listfile)) + "pick" + getExtension(listfile);
ofstream out;
openOutputFile(outputFileName, out);
int RemoveSeqsCommand::readName(){
try {
if (outputDir == "") { outputDir += hasPath(namefile); }
- string outputFileName = getRootName(namefile) + "pick" + getExtension(namefile);
- string outputFileName2 = getRootName(namefile) + "dups.accnos";
+ string outputFileName = outputDir + getRootName(getSimpleName(namefile)) + "pick" + getExtension(namefile);
+ string outputFileName2 = outputDir + getRootName(getSimpleName(namefile)) + "dups.accnos";
ofstream out2;
if (dups) { openOutputFile(outputFileName2, out2); }
int RemoveSeqsCommand::readGroup(){
try {
if (outputDir == "") { outputDir += hasPath(groupfile); }
- string outputFileName = getRootName(groupfile) + "pick" + getExtension(groupfile);
+ string outputFileName = outputDir + getRootName(getSimpleName(groupfile)) + "pick" + getExtension(groupfile);
ofstream out;
openOutputFile(outputFileName, out);
int RemoveSeqsCommand::readAlign(){
try {
if (outputDir == "") { outputDir += hasPath(alignfile); }
- string outputFileName = getRootName(getRootName(alignfile)) + "pick.align.report";
+ string outputFileName = outputDir + getRootName(getSimpleName(alignfile)) + "pick.align.report";
ofstream out;
openOutputFile(outputFileName, out);
commandFactory = CommandFactory::getInstance();
-
//redirect output
if ((output == "clear") || (output == "")) { output = ""; commandFactory->setOutputDirectory(output); }
else {
string holdLabel, nextLabel, groupN;
individual newguy;
- for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; }
+ for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; lookup[i] = NULL; }
lookup.clear();
//read in first row since you know there is at least 1 group.
lookup[0]->push_back(inputData, groupN); //abundance, bin, group
push_back(inputData, groupN);
- numSeqs += inputData;
- numBins++;
+ //numSeqs += inputData;
+ //numBins++;
if (inputData > maxRank) { maxRank = inputData; }
}
for (int i = 0; i < lookup.size(); i++) {
//if this sharedrabund is not from a group the user wants then delete it.
if (util->isValidGroup(lookup[i]->getGroup(), globaldata->Groups) == false) {
- delete lookup[i];
+ delete lookup[i]; lookup[i] = NULL;
lookup.erase(lookup.begin()+i);
i--;
}
// if the mins vector is empty go here...
if(mins.empty()){
mins.clear();
-
+
smallDist = begin()->dist; //set the first candidate small distance
for(MatData currentCell=begin();currentCell!=end();currentCell++){
#include "taxonomyequalizer.h"
/**************************************************************************************************/
-TaxEqualizer::TaxEqualizer(string tfile, int c) : cutoff(c) {
+TaxEqualizer::TaxEqualizer(string tfile, int c, string o) : cutoff(c), outputDir(o) {
try {
m = MothurOut::getInstance();
containsConfidence = false;
openInputFile(tfile, in);
ofstream out;
- equalizedFile = getRootName(tfile) + "equalized.taxonomy";
+ equalizedFile = outputDir + getRootName(getSimpleName(tfile)) + "equalized.taxonomy";
openOutputFile(equalizedFile, out);
class TaxEqualizer {
public:
- TaxEqualizer(string, int);
+ TaxEqualizer(string, int, string);
~TaxEqualizer() {};
string getEqualizedTaxFile() { return equalizedFile; }
private:
- string equalizedFile, testTax;
+ string equalizedFile, testTax, outputDir;
bool containsConfidence;
int cutoff, highestLevel;
map<string, int> seqLevels; //maps name to level of taxonomy
#endif
ableToOpen = openInputFile(it->second, in);
-
- if (ableToOpen == 1) { return "not open"; }
in.close();
-
+
#ifdef USE_MPI
+ MPI_Bcast(&ableToOpen, 1, MPI_INT, 0, MPI_COMM_WORLD); //send ableToOPen
+ }else {
+ MPI_Bcast(&ableToOpen, 1, MPI_INT, 0, MPI_COMM_WORLD); //get ableToOPen
}
#endif
-
+
+ if (ableToOpen == 1) { return "not open"; }
}
}else { return "not found"; }