1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 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<SharedRAbundVector*> 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]->get(i) == 0) { sharedByAll = false; }
}
//they are shared
if (sharedByAll ) { for (int j = 0; j < numGroups; j++) { data[j] += shared[j]->get(i); } }
}
return data;
}
string getCitation() { return "http://www.mothur.org/wiki/Nseqs"; }
};
/***********************************************************************/
#endif
|