]> git.donarmstrong.com Git - mothur.git/blobdiff - inputdata.cpp
finishing the container classes, combining read.otu and read.list commands. some...
[mothur.git] / inputdata.cpp
index 2ecebe34bd0d38ce54006c25cf4ebf4449970892..e5513ab99610f79762f0809c886cf326ad2cda5e 100644 (file)
@@ -63,7 +63,7 @@ InputData::InputData(string fName, string orderFileName, string f) : format(f){
 ListVector* InputData::getListVector(){
        try {
                if(fileHandle){
-                       if((format == "list") || (format == "shared")){
+                       if(format == "list") {
                                list = new ListVector(fileHandle);
                        }
                                        
@@ -84,6 +84,31 @@ ListVector* InputData::getListVector(){
        }       
 }
 
+/***********************************************************************/
+
+SharedListVector* InputData::getSharedListVector(){
+       try {
+               if(fileHandle){
+                       if (format == "shared"){
+                               SharedList = new SharedListVector(fileHandle);
+                       }
+                                       
+                       gobble(fileHandle);
+                       return SharedList;
+               }
+               else{
+                       return 0;
+               }
+       }
+       catch(exception& e) {
+               cout << "Standard Error: " << e.what() << " has occurred in the InputData class Function getOrderVector. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               exit(1);
+       }
+       catch(...) {
+               cout << "An unknown error has occurred in the InputData class function getOrderVector. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               exit(1);
+       }       
+}
 
 
 /***********************************************************************/
@@ -91,9 +116,12 @@ ListVector* InputData::getListVector(){
 OrderVector* InputData::getOrderVector(){
        try {
                if(fileHandle){
-                       if((format == "list") || (format == "shared")){
+                       if(format == "list") {
                                input = new ListVector(fileHandle);
                        }
+                       else if(format == "shared") {
+                               input = new SharedListVector(fileHandle);
+                       }
                        else if(format == "rabund"){
                                input = new RAbundVector(fileHandle);
                        }
@@ -132,9 +160,12 @@ OrderVector* InputData::getOrderVector(){
 SAbundVector* InputData::getSAbundVector(){
        try {
                if(fileHandle){
-                       if((format == "list") || (format == "shared")){
+                       if (format == "list") {
                                input = new ListVector(fileHandle);
                        }
+                       else if(format == "shared") {
+                               input = new SharedListVector(fileHandle);
+                       }
                        else if(format == "rabund"){
                                input = new RAbundVector(fileHandle);
                        }