BioInt  1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
BioData.h
Go to the documentation of this file.
00001 #ifndef BIODATA_H
00002 #define BIODATA_H
00003 
00004 #include "BioStatistics.h"
00005 #include "BioUtilities.h"
00006 
00007 using namespace std;
00008 
00009 class BioData
00010 {
00011         friend bool operator >(const BioData& , const BioData&);
00012         friend bool operator <(const BioData& , const BioData&);
00013         friend bool operator ==(const BioData& , const BioData&);
00014 
00015         vector< vector < double > > yDataSets_;
00016         vector< string > xDataSet_;
00017 
00018         long numberOfColumns_;
00019         long numberOfRows_;
00020 
00021   void checkNumberOfColumns(const string& file);
00022   bool checkDouble(const string&);
00023   bool checkInt(const string&);
00024   vector<int> processStringForColumns( string );
00025         
00026         public:
00027                 BioData(); 
00028                 // This Constructor Takes the 1st Column
00029                 // as X_Data_Set and all the Remaining Columns as Y_Data_Sets.
00030                 // All Y_Data_Sets ****SHOULD**** be NUMERICAL Values.
00031                 BioData (const string& filename);
00032                 BioData ( const string& filename, const int& x_column, const int& y_column);
00033                 BioData ( const string& filename, const int& x_column, string& y_columns);
00034 
00035  BioData(const vector < string >& xDataSet, const vector < double >& yDataSet);
00036  BioData(const vector < double >& xDataSet, const vector < double >& yDataSet);
00037 
00038  //BioData constructors overloaded w.r.t dataTypes
00039  BioData(const vector < string >& xDataSet, const vector < int >& yDataSet);
00040  BioData(const vector < int >& xDataSet, const vector < int >& yDataSet);
00041  BioData(const vector < int >& xDataSet, const vector < double >& yDataSet);
00042  BioData(const vector < double >& xDataSet, const vector < int >& yDataSet);
00043 
00044 
00045                 void setData(const string& file );
00046                 void setData( const string& filename, const  int& x_column, const int& y_column);
00047                 void setData (const  string& filename,const  int& x_column,  string& y_columns);
00048 
00049                 void setData(const vector < string >& xDataSet, const vector < double >& yDataSet);
00050                 void setData(const vector < double >& xDataSet,const vector < double >& yDataSet);
00051 
00052 // set functions overloaded w.r.t dataTypes          
00053                 void setData(const vector < string >& xDataSet, const vector < int >& yDataSet);
00054                 void setData(const vector < int >& xDataSet, const vector < int >& yDataSet);
00055                 void setData(const vector < int >& xDataSet, const vector < double >& yDataSet);
00056                 void setData(const vector < double >& xDataSet, const vector < int >& yDataSet);
00057 
00058                 long getNumberOfRows();
00059 
00060                 vector < string > getXDataSet();
00061                 vector < double > getDoubleXDataSet();
00062 
00063                 double getMaximumOfYDataSets();
00064                 double getMinimumOfYDataSets();
00065                 
00066                 vector < double > getYDataSet(const unsigned int& index );
00067                 int getNumberOfYDataSets();
00068  
00069  void pushYDataSet(const vector < double >& yDataSet);
00070  //overloaded pushYDataSet w.r.t dataType
00071  void pushYDataSet(const vector < int >& yDataSet);
00072  
00073  BioData getData(const long& startingRowNumber, const long& endingRowNumber);  
00074  BioData getData(const long& startingRowNumber, const long& endingRowNumber, const int& yColumnNumber);  
00075  BioData getData(const long& startingRowNumber, const long& endingRowNumber, string& yColumnNumber);  
00076  friend BioData operator+(BioData d1, BioData d2);
00077  void showData(ostream & os = cout );
00078 
00079 };
00080 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines