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

ScoreInterval.h

00001 #ifndef _SCOREINTERVAL_H
00002 #define _SCOREINTERVAL_H
00003 
00004 #include "AnnotationScore.h"
00005 #include "dsu.h"
00006 
00007 class AnnotationItem;
00008 class RegionPrediction;
00009 class MatrixIdx;
00010 
00011 class ScoreInterval {
00012  public:
00013   static AnnotationScore 
00014     score(const AnnotationItem&, const MatrixIdx&, 
00015           const AnnotationItem&, const MatrixIdx&, 
00016           const int, const AnnotationScore&);
00017   
00018   static AnnotationScore 
00019     scorePartial1ToRight(const AnnotationItem& rItem, const MatrixIdx& rIdx,
00020                          const int type, const AnnotationScore& inv);
00021 
00022   static AnnotationScore 
00023     scorePartialToEnd(const AnnotationItem&, const MatrixIdx&,
00024                       const int, const AnnotationScore&); 
00025 
00026   static AnnotationScore 
00027     intronPenalty(const int,  const int, const AnnotationScore&); 
00028 
00029   static AnnotationScore 
00030     scoreOne(const AnnotationItem&, const AnnotationItem&, const int, dsu::Strand_t, const AnnotationScore&);
00031 
00032  private:
00033   static AnnotationScore 
00034     igrPenalty(const RegionPrediction&, const RegionPrediction&, const AnnotationScore&); 
00035 
00036   static AnnotationScore 
00037     intronPenalty(const RegionPrediction&, const RegionPrediction&, const AnnotationScore&); 
00038 
00039   
00040 
00041 };
00042 
00043 #endif // _SCOREINTERVAL_H