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

featureinfo.cc

Go to the documentation of this file.
00001 #include "featureinfo.h"
00002 #include "featuredata.h"
00003 #include <cassert>
00004 #include <sstream>
00005 
00006 std::string FeatureInfo::getPosInfo( TR_DNA pos )
00007 {
00008   if ( pos < m_data->startPos() || pos > m_data->endPos() )
00009     return std::string();
00010   
00011   return myInfoPos(pos);
00012 }
00013 
00014 std::string FeatureInfo::getRangeInfo( TR_DNA begin, TR_DNA end )
00015 {
00016   if ( end < m_data->startPos() || begin > m_data->endPos() )
00017     return std::string();
00018   
00019   return myInfoRange(begin, end);
00020 }
00021 
00022 std::string FeatureInfo::myInfoPos( TR_DNA pos )
00023 {
00024   return std::string();
00025 }
00026 
00027 std::string FeatureInfo::myInfoRange( TR_DNA begin, TR_DNA end )
00028 {
00029   return std::string();
00030 }
00031 
00032 //DnpData
00033 std::string DnpInfo::myInfoPos( TR_DNA pos ) 
00034 {
00035   assert( pos == dnpData()->startPos() );
00036   assert( pos == dnpData()->endPos() );
00037   
00038   ostringstream os;
00039   
00040   os<<"DNP ID: "<<dnpData()->get_dnpID();
00041   
00042   return os.str();
00043 }
00044 
00045 std::string DnpInfo::myInfoRange( TR_DNA begin, TR_DNA end ) 
00046 {
00047   //Sanity check
00048   assert( dnpData()->startPos() == dnpData()->endPos() );
00049   ostringstream os;
00050   os.str("");
00051   if ( dnpData()->startPos() >= begin && dnpData()->startPos() <= end) {
00052     os<<"DNP ID: "<<dnpData()->get_dnpID()<<" at pos "<<dnpData()->startPos();
00053 
00054   }
00055   
00056   return os.str();
00057 }
00058 
00059 DnpData * DnpInfo::dnpData()
00060 {
00061     return dynamic_cast<DnpData *>( m_data );
00062 }
00063 
00064 //DnaStrData
00065 std::string DnaStrInfo::myInfoPos( TR_DNA pos ) 
00066 {
00067   assert( pos >= 0 );
00068   
00069   assert( pos < dnaStrData()->dnaVector.stlVector().size() );
00070 
00071   ostringstream os;
00072   
00073   os<<"Base: "<<dnaStrData()->dnaVector.stlVector()[ pos ];
00074   
00075   return os.str();
00076 }
00077 
00078 DnaStrData * DnaStrInfo::dnaStrData()
00079 {
00080     return dynamic_cast<DnaStrData *>( m_data );
00081 }
00082 
00083 //QualityData
00084 std::string QualityInfo::myInfoPos( TR_DNA pos ) 
00085 {
00086   assert( pos >= 0 );
00087   
00088   assert( pos < qualityData()->qualityVector.stlVector().size() );
00089 
00090   ostringstream os;
00091   
00092   os<<"Qual: "<<qualityData()->qualityVector.stlVector()[ pos ];
00093   
00094   return os.str();
00095 }
00096 
00097 QualityData * QualityInfo::qualityData()
00098 {
00099     return dynamic_cast<QualityData *>( m_data );
00100 }

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