GffRecord.h 1.33 KB
Newer Older
nkindlon's avatar
nkindlon committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * 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();
20
	virtual ~GffRecord();
nkindlon's avatar
nkindlon committed
21
22
23
24
25
26
	virtual bool initFromFile(SingleLineDelimTextFileReader *);
	virtual void clear();
	virtual void print(QuickString &outBuf) const;
	virtual void print(QuickString &outBuf, int start, int end) const;
	virtual void print(QuickString &outBuf, const QuickString & start, const QuickString & end) const;
	virtual void printNull(QuickString &outBuf) const;
27
	virtual FileRecordTypeChecker::RECORD_TYPE getType() const { return FileRecordTypeChecker::GFF_RECORD_TYPE; }
nkindlon's avatar
nkindlon committed
28
29
30
	virtual const QuickString &getSource() const { return _source; }
	virtual const QuickString &getFrame() const { return _frame; }
	virtual const QuickString &getGroup() const { return _group; }
31
	virtual int getNumFields() const { return _numFields; }
nkindlon's avatar
nkindlon committed
32
33
	virtual void setNumFields(int val) { _numFields = val; }

34
	virtual const QuickString &getField(int fieldNum) const;
35
	static bool isNumericField(int fieldNum);
nkindlon's avatar
nkindlon committed
36
37
38
39
40
41
42
43
44
45
46
47
48
49

protected:
	void printRemainingFields(QuickString &outbuf) const;

	int _numFields;
	QuickString _source;
	QuickString _frame;
	QuickString _group;

};



#endif /* GFF_RECORD_H_ */