00001 #ifndef _GFFFEATURE_H 00002 #define _GFFFEATURE_H 00003 00004 #include <string> 00005 #include <list> 00006 #include <ostream> 00007 00008 class DataSetAbstractProduct; 00009 00010 class GffFeature { 00011 public: 00012 GffFeature() { } 00013 GffFeature(const GffFeature&); 00014 void fillFromBuffer(const std::string&); 00015 int getEnd5() const { return _end5; } 00016 int getEnd3() const { return _end3; } 00017 void setCol(int,const std::string&); 00018 void setEnd5(int end5) { _end5 = end5; } 00019 void setEnd3(int end3) { _end3 = end3; } 00020 00021 const std::string& getType() const { return _c3; } 00022 char getStrnd() const { return _strnd; } 00023 int getFrame() const { return _frame; } 00024 const std::string& getCol3() const { return _c3; } 00025 const std::string& getCol8() const { return _c8; } 00026 void setCol5(const std::string& str) { _c5 = str; } 00027 void setCol8(const std::string& str) { _c8 = str; } 00028 00029 const std::string& getScore() const { return _c5; } 00030 static DataSetAbstractProduct* makeDataSet(const std::list<GffFeature*>&); 00031 static void 00032 printLst(const std::list<GffFeature*>&); 00033 00034 friend std::ostream& operator<<(std::ostream&, const GffFeature&); 00035 00036 private: 00037 std::string _c1, _c2, _c3; 00038 int _end5, _end3; 00039 std::string _c5; 00040 char _strnd; 00041 int _frame; 00042 std::string _c8; 00043 }; 00044 00045 00046 #endif // _GFFFEATURE_H