head.h
Go to the documentation of this file.00001 #ifndef GBHEAD_H
00002 #define GBHEAD_H
00003 #include <iostream>
00004 #include "seqinfo.h"
00005 #include "date.h"
00006
00007 #ifndef LINE
00008 #define LINE 84
00009 #endif
00010
00011
00012
00013
00014
00015
00016 class head
00017 {
00018 public:
00019 head();
00020 head(const head& hd);
00021 ~head();
00022
00023
00024 void getHead(istream &ins, char ln[]);
00025
00026
00027
00028 void loadSeqInfo(seqinfo &si, Date &gd);
00029
00030
00031
00032 bool isseg() const {return seg[0] != '\0';}
00033
00034
00035 bool firstSeg() const;
00036
00037
00038 void segmentOut(ostream &SOUF, char ss[], const seqinfo &mseq) const;
00039
00040 char *phylogeny() const;
00041
00042
00043 inline char* getSource() const { return source; }
00044
00045 inline char* getOrganism() const { return org; }
00046
00047
00048 void dump(ostream &SOUF, seqinfo &si) const;
00049 friend ostream &operator<<(ostream &ous, const head &h);
00050
00051
00052 private:
00053 void outAcc(ostream &so) const;
00054 char locus[LINE+1];
00055 char ver[35];
00056 char seg[12];
00057
00058
00059
00060
00061
00062
00063 char *source;
00064
00065 char *def, *acess, *keywd, *org, *phyl;
00066
00067
00068
00069 };
00070 #endif