X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=nseqs.h;fp=nseqs.h;h=c0f9549c87584bbf99e503388ff737c9f5343e8e;hb=0caf3fbabaa3ece404f8ce77f4c883dc5b1bf1dc;hp=0000000000000000000000000000000000000000;hpb=1b73ff67c83892a025e597dabd9df6fe7b58206a;p=mothur.git diff --git a/nseqs.h b/nseqs.h new file mode 100644 index 0000000..c0f9549 --- /dev/null +++ b/nseqs.h @@ -0,0 +1,52 @@ +#ifndef NSEQS_H +#define NSEQS_H + +/* + * nseqs.h + * Mothur + * + * Created by Sarah Westcott on 3/16/09. + * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved. + * + */ + + + +#include "calculator.h" + +/***********************************************************************/ + +class NSeqs : public Calculator { + +public: + NSeqs() : Calculator("nseqs", 1, false) {}; + EstOutput getValues(SAbundVector* rank){ + data.resize(1,0); + data[0] = (double)rank->getNumSeqs(); + return data; + } + + EstOutput getValues(vector shared) { //return number of sequences in the sharedotus + + int numGroups = shared.size(); + data.clear(); data.resize(numGroups,0); + + for (int i = 0; i < shared[0]->getNumBins(); i++) { + //get bin values and set sharedByAll + bool sharedByAll = true; + for (int j = 0; j < numGroups; j++) { + if (shared[j]->getAbundance(i) == 0) { sharedByAll = false; } + } + + //they are shared + if (sharedByAll == true) { for (int j = 0; j < numGroups; j++) { data[j] += shared[j]->getAbundance(i); } } + } + + return data; + } + string getCitation() { return "http://www.mothur.org/wiki/Nseqs"; } +}; + +/***********************************************************************/ + +#endif