// Author: Joseph Bertolami // Email: jbertola@uci.edu #ifndef _FILEIO_H_ // may be included more than once #define _FILEIO_H_ #include #include #include #include "dstring.h" using namespace std; class DFile { public: DFile() { buffer=NULL; } ~DFile() { if ( buffer ) delete buffer; } virtual int ReadFile(char *filename); int WriteFile(char *filename); DString data() { return *buffer; } protected: DString * buffer; }; typedef struct CGene { DString name; DString sequence; int neg_range; int pos_range; int size; CGene() : neg_range(0), pos_range(0), size(0) {} } CGene; class DGFile : public DFile { public: DGFile() : num_genes(0) {} ~DGFile() {} // will simply parse a genomic file int ReadGeneFile(char *filename); CGene * GetGene(int gene); DString * GetGeneData(int gene); public: CGene *genes; unsigned long num_genes; }; #endif