Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

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 DnpData;
00010 class DnaStrData;
00011 class ChromatData;
00012 class QualityData;
00013 
00014 
00015 /** \brief Base class for displaying info about reads and features.
00016    
00017 */
00018 
00019 class FeatureInfo
00020 {
00021 public:
00022   FeatureInfo( FeatureData* data) : m_data(data) {}
00023   virtual ~FeatureInfo() {}
00024   std::string getPosInfo( TR_DNA pos );
00025   std::string getRangeInfo( TR_DNA begin, TR_DNA end );
00026   
00027 protected:
00028   FeatureData* m_data;
00029   
00030   virtual std::string myInfoPos( TR_DNA pos );
00031   virtual std::string myInfoRange( TR_DNA begin, TR_DNA end );
00032   
00033 };
00034 
00035 //DnpData
00036 class DnpInfo : public FeatureInfo
00037 {
00038 public:
00039   DnpInfo( FeatureData* data ) : FeatureInfo(data) {}
00040 
00041   std::string myInfoPos( TR_DNA pos );
00042   std::string myInfoRange( TR_DNA begin, TR_DNA end );
00043   
00044 private:
00045   DnpData* dnpData();
00046   
00047 };
00048 
00049 
00050 //DnaStrData
00051 class DnaStrInfo : public FeatureInfo
00052 {
00053 public:
00054   DnaStrInfo( FeatureData* data ) : FeatureInfo(data) {}
00055 
00056   std::string myInfoPos( TR_DNA pos );
00057   
00058 private:
00059   DnaStrData* dnaStrData();
00060   
00061 };
00062 
00063 //QualityData
00064 class QualityInfo : public FeatureInfo
00065 {
00066 public:
00067   QualityInfo( FeatureData* data ) : FeatureInfo(data) {}
00068 
00069   std::string myInfoPos( TR_DNA pos );
00070   
00071 private:
00072   QualityData* qualityData();
00073   
00074 };
00075 
00076 
00077 #endif //TRAPPER_DATA_INFO_H

Generated on Fri Mar 17 17:44:24 2006 for trapper by  doxygen 1.4.4