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

DataSetAbstractProduct.h

00001 
00002 // Copyright (c) 2003, The Institute for Genomic Research (TIGR), Rockville,
00003 // Maryland, U.S.A.  All rights reserved.
00005 /* Generated by Together */
00006 
00007 #ifndef DATASETABSTRACTPRODUCT_H
00008 #define DATASETABSTRACTPRODUCT_H
00009 #include <vector>
00010 #include <list>
00011 #include <pair.h>
00012 #include <assert.h>
00013 #include "Prediction.h"
00014 
00030 class DataSetAbstractProduct : public Prediction {
00031 public:
00032   friend std::ostream& operator<<(std::ostream&, const DataSetAbstractProduct&);
00033   typedef DataStorageType::iterator iterator;
00034   typedef DataStorageType::const_iterator const_iterator;
00041   DataSetAbstractProduct(const SeqLoc&, int, const string&, AnnotationScore); 
00042 
00043   void sort();
00044 
00051   virtual void del_temp() { }
00052 
00056   virtual ~DataSetAbstractProduct();
00057 
00061   virtual void del();
00062 
00063   DataStorageType* makePlaceHolders() const;
00064 
00068   const Prediction* getLast() const;
00072   iterator begin();
00073 
00077   const_iterator begin() const;
00078 
00082   const_iterator end() const;
00083 
00087   iterator end();
00088 
00092   unsigned size() const;
00093 
00097   bool empty() const { return lnkSeqLoc.empty(); }
00098 
00102   virtual void print(std::ostream&, const string&) const;
00103 
00107   void insert(Prediction*);
00108   void sort_insert(Prediction*);
00109 
00115   virtual void add_introns();
00116 
00117   const Prediction* getClosestEnd3Exon(int,int) const;
00118   int getClosestEnd5(int) const;
00119 
00125   const Prediction* getClosestEnd5Exon(int) const;
00126 
00133   void getRelatedPrediction(int,int,std::list<const Prediction*>&) const;
00137   void getRelatedPrediction5(int,std::list<const Prediction*>&) const;
00138 
00142   void getRelatedPrediction3(int,std::list<const Prediction*>&) const;
00143 
00144   /* not used right now */
00145   pair<const Prediction*,const Prediction*>
00146     getRelatedPredictionInterval(int,int) const;
00147 
00148   pair<const Prediction*,const Prediction*>
00149     getIntronBoundaries(int,int) const;
00150 
00151   const Prediction* getRelatedPrediction(int) const;
00152 
00153   int getListPos(const Prediction*) const;
00154 
00155 protected:
00156   virtual void add_introns_help();
00157 
00165     /*# DataSetAbstractFactory _dataSetAbstractFactory; */
00166 
00173     /*# AnonDataSet _anonDataSet; */
00174 
00177     DataStorageType lnkSeqLoc;
00178 };
00179 
00180 #endif //DATASETABSTRACTPRODUCT_H