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

Prediction.h

00001 
00002 // Copyright (c) 2003, The Institute for Genomic Research (TIGR), Rockville,
00003 // Maryland, U.S.A.  All rights reserved.
00005 #ifndef PREDICTION_H
00006 #define PREDICTION_H
00007 
00008 #include "SeqLoc.h"
00009 #include "AnnotationScore.h"
00010 #include <dsu.h>
00011 #include <list>
00012 
00013 class RegionPrediction;
00014 
00029 class Prediction : public SeqLoc {
00030 public:
00031   typedef std::list<Prediction*> DataStorageType;
00032 
00042   Prediction(const SeqLoc& sl, AnnotationScore d, int modelId, const string& str) : 
00043     SeqLoc(sl), _modelId(modelId), _source(str), _score(d) { }
00044 
00048   Prediction(const Prediction& pred) 
00049     : SeqLoc(pred), _modelId(pred._modelId), _source(pred._source), _score(pred._score) { }
00050 
00054   virtual ~Prediction() { }
00055 
00056   virtual void del() = 0;
00060   AnnotationScore getScore() const;
00061 
00065   void setScore(const AnnotationScore& s) { _score = s; }
00066 
00070   int getModelId() const { return _modelId; }
00071 
00075   const string& getDataSource() const { return _source; }
00076 
00081   virtual DataStorageType* makePlaceHolders() const  = 0;
00082 
00086   virtual void print(std::ostream& os, const string& str) const; 
00087 
00088 private:
00089   int _modelId;
00090   string _source;
00091   AnnotationScore _score;
00092 };
00093 
00094 #endif // PREDICTION_H