featureinfo.h

Go to the documentation of this file.
00001 #ifndef TRAPPER_DATA_INFO_H
00002 #define TRAPPER_DATA_INFO_H
00003 
00004 #include "trappertypes.h"
00005 #include <string>
00006 
00007 //Fwd stuff...
00008 class FeatureData;
00009 class SpatialFeatureData;
00010 class DnpData;
00011 class DnaStrData;
00012 class ChromatData;
00013 class QualityData;
00014 class TagData;
00015 
00016 
00017 /** \brief Base class for displaying info about reads and features.
00018    
00019 */
00020 
00021 class FeatureInfo
00022 {
00023 public:
00024   FeatureInfo( SpatialFeatureData* data) : m_data(data) {}
00025   virtual ~FeatureInfo() {}
00026   std::string getPosInfo( TR_DNA pos );
00027   std::string getRangeInfo( TR_DNA begin, TR_DNA end );
00028   
00029 protected:
00030   SpatialFeatureData* m_data;
00031   
00032   virtual std::string myInfoPos( TR_DNA pos );
00033   virtual std::string myInfoRange( TR_DNA begin, TR_DNA end );
00034   
00035 };
00036 
00037 //DnpData
00038 class DnpInfo : public FeatureInfo
00039 {
00040 public:
00041   DnpInfo( SpatialFeatureData* data ) : FeatureInfo(data) {}
00042 
00043   std::string myInfoPos( TR_DNA pos );
00044   std::string myInfoRange( TR_DNA begin, TR_DNA end );
00045   
00046 private:
00047   DnpData* dnpData();
00048   
00049 };
00050 
00051 
00052 //DnaStrData
00053 class DnaStrInfo : public FeatureInfo
00054 {
00055 public:
00056   DnaStrInfo( SpatialFeatureData* data ) : FeatureInfo(data) {}
00057 
00058   std::string myInfoPos( TR_DNA pos );
00059   
00060 private:
00061   DnaStrData* dnaStrData();
00062   
00063 };
00064 
00065 //QualityData
00066 class QualityInfo : public FeatureInfo
00067 {
00068 public:
00069   QualityInfo( SpatialFeatureData* data ) : FeatureInfo(data) {}
00070 
00071   std::string myInfoPos( TR_DNA pos );
00072   
00073 private:
00074   QualityData* qualityData();
00075   
00076 };
00077 
00078 //TagData
00079 class TagInfo : public FeatureInfo
00080 {
00081 public:
00082   TagInfo( SpatialFeatureData* data ) : FeatureInfo(data) {}
00083 
00084   std::string myInfoPos( TR_DNA pos );
00085 
00086   
00087 private:
00088   TagData* tagData();
00089   
00090 };
00091 
00092 
00093 #endif //TRAPPER_DATA_INFO_H

Generated on Fri Jul 17 20:19:29 2009 for ngsview by  doxygen 1.5.1