1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
/*
* GffRecord.h
*
* Created on: Nov 13, 2012
* Author: nek3d
*/
#ifndef GFF_RECORD_H_
#define GFF_RECORD_H_
#include "Bed6Interval.h"
class SingleLineDelimTextFileReader;
class GffRecord : public Bed6Interval {
public:
friend class FreeList<GffRecord>;
GffRecord();
virtual ~GffRecord();
virtual bool initFromFile(SingleLineDelimTextFileReader *);
virtual void clear();
virtual void print(string &outBuf) const;
virtual void print(string &outBuf, int start, int end) const;
virtual void print(string &outBuf, const string & start, const string & end) const;
virtual void printNull(string &outBuf) const;
virtual FileRecordTypeChecker::RECORD_TYPE getType() const { return FileRecordTypeChecker::GFF_RECORD_TYPE; }
virtual const string &getSource() const { return _source; }
virtual const string &getFrame() const { return _frame; }
virtual const string &getGroup() const { return _group; }
virtual int getNumFields() const { return _numFields; }
virtual void setNumFields(int val) { _numFields = val; }
virtual const string &getField(int fieldNum) const;
static bool isNumericField(int fieldNum);
virtual bool isZeroBased() const {return false;};
protected:
void printRemainingFields(string &outbuf) const;
int _numFields;
string _source;
string _frame;
string _group;
};
#endif /* GFF_RECORD_H_ */
|