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