00001
00002
00003
00005 #ifndef EVSCORES_H
00006 #define EVSCORES_H
00007
00008 #include "AnnotationScore.h"
00009 #include "dsu.h"
00010 #include <assert.h>
00011 #include <vector>
00012 #include <list>
00013 #include <iostream>
00014 class AnnotationItem;
00015 class RegionPrediction;
00016
00017 class EvScores {
00018 public:
00022 enum Bnd_t { eAcc = 0,
00023 eDon,
00024 eCoding,
00025 eStart,
00026 eStop,
00027 eIntron,
00028 eNumBnd ,
00029 eNonCoding,
00030 eAccH = 0x8,
00031 eDonH = 0x10,
00032 eCodingH = 0x20,
00033 eStartH = 0x40,
00034 eStopH = 0x80,
00035 eIgr = 0x100,
00036 eIntr = 0x200,
00037 eErr = 0x400
00038 };
00039 friend std::ostream& operator<<(std::ostream&, const EvScores&);
00040
00041 public:
00042 EvScores();
00043 EvScores(const EvScores&);
00044 EvScores& operator=(const EvScores&);
00045 const AnnotationScore& operator[](int idx) const {
00046 assert(idx >= 0 && idx < eNumBnd);
00047 return _score[idx];
00048 }
00049 AnnotationScore& operator[](int idx) {
00050 assert(idx >= 0 && idx < eNumBnd);
00051 return _score[idx];
00052 }
00053
00054 private:
00055 AnnotationScore _score[eNumBnd];
00056
00057 };
00058
00059 #endif // EVIDENCESCORES_H
00060