+}
+
+/***********************************************************************/
+RAbundVector* InputData::getRAbundVector(){
+ try {
+ if(fileHandle){
+ if (format == "list") {
+ input = new ListVector(fileHandle);
+ }
+ else if (format == "shared") {
+ input = new SharedListVector(fileHandle);
+ }
+ else if(format == "rabund"){
+ input = new RAbundVector(fileHandle);
+ }
+ else if(format == "order"){
+ input = new OrderVector(fileHandle);
+ }
+ else if(format == "sabund"){
+ input = new SAbundVector(fileHandle);
+ }
+
+ m->gobble(fileHandle);
+
+ rabund = new RAbundVector();
+ *rabund = (input->getRAbundVector());
+
+ return rabund;
+ }
+ else{
+ return NULL;
+ }
+ }
+ catch(exception& e) {
+ m->errorOut(e, "InputData", "getRAbundVector");
+ exit(1);
+ }
+}
+/***********************************************************************/
+RAbundVector* InputData::getRAbundVector(string label){
+ try {
+
+ ifstream in;
+ string thisLabel;
+ m->openInputFile(filename, in);
+
+ if(in){
+ if (format == "list") {
+
+ while (in.eof() != true) {
+
+ input = new ListVector(in);
+ thisLabel = input->getLabel();
+
+ //if you are at the last label
+ if (thisLabel == label) { break; }
+ //so you don't loose this memory
+ else { delete input; }
+ m->gobble(in);
+ }
+ }
+ else if (format == "shared") {
+
+ while (in.eof() != true) {
+
+ input = new SharedListVector(in);
+ thisLabel = input->getLabel();
+
+ //if you are at the last label
+ if (thisLabel == label) { break; }
+ //so you don't loose this memory
+ else { delete input; }
+ m->gobble(in);
+ }
+
+ }
+ else if(format == "rabund"){
+
+ while (in.eof() != true) {
+
+ input = new RAbundVector(in);
+ thisLabel = input->getLabel();
+
+ //if you are at the last label
+ if (thisLabel == label) { break; }
+ //so you don't loose this memory
+ else { delete input; }
+ m->gobble(in);
+ }
+
+ }
+ else if(format == "order"){
+
+ while (in.eof() != true) {
+
+ input = new OrderVector(in);
+ thisLabel = input->getLabel();
+
+ //if you are at the last label
+ if (thisLabel == label) { break; }
+ //so you don't loose this memory
+ else { delete input; }
+ m->gobble(in);
+ }
+
+ }
+ else if(format == "sabund"){
+
+ while (in.eof() != true) {
+
+ input = new SAbundVector(in);
+ thisLabel = input->getLabel();
+
+ //if you are at the last label
+ if (thisLabel == label) { break; }
+ //so you don't loose this memory
+ else { delete input; }
+ m->gobble(in);
+
+ }
+
+ }
+
+
+ in.close();
+
+ rabund = new RAbundVector();
+ *rabund = (input->getRAbundVector());
+
+ return rabund;
+ }
+ else{
+ return NULL;
+ }
+ }
+ catch(exception& e) {
+ m->errorOut(e, "InputData", "getRAbundVector");