ESTCombined.h
Go to the documentation of this file.00001 #ifndef ESTCOMBINED_H
00002 #define ESTCOMBINED_H
00003
00004 #include "GenModel.h"
00005 #include <string>
00006 #include "bioseq.h"
00007
00008 using namespace std;
00009
00014 class ESTCombined {
00015 public:
00016 ESTCombined() { }
00017 ESTCombined(const Noschain &seg, int count, const string &chrom)
00018 : ex(&seg), gid(chrom), numest(count) { }
00019 void write(ostream& mod, ostream &exon, ostream &track, char sep='\t') const;
00020
00021 static int id;
00022 static int exonid;
00023 static const char modelheader[];
00024 static const char exonheader[];
00025 static const char trackheader[];
00026
00027 private:
00028 const Noschain *ex;
00029 string gid;
00030 int numest;
00031 };
00032
00037 class ESTModel : public Noschain {
00038 public:
00039 explicit ESTModel(const Noschain &seg, int nume, const string &chrom)
00040 : Noschain(seg), numest(nume), gid(chrom) { }
00047 explicit ESTModel(const Noschain &seg, int nume, const string &chrom, const string &gs, int cngid);
00048 void setGenomic(const string &gs) { gseq=&gs; }
00050 void write(ostream& mod, ostream &exon, ostream &track,
00051 ostream &ousest, ostream &ouspep, char sep='\t') const;
00052 const DNA& getseq() const { return estseq; }
00053 const Protein& getpep() const { return pep; }
00058
00059
00060 static const char modelheader[];
00061 static const char exonheader[];
00062 static const char trackheader[];
00063
00064 private:
00065 string gid;
00066 int congid;
00067 int numest;
00068 const string *gseq;
00069 DNA estseq;
00073 int orfb, orfe;
00074 Protein pep;
00075
00076 static int id;
00077 static int exonid;
00078 static int shortestorf;
00079 };
00080
00081 #endif