From a45f98c0d8f89f6c25b9d5bd0f39b4b41d6a8bfd Mon Sep 17 00:00:00 2001
From: arq5x <arq5x@virginia.edu>
Date: Sat, 1 Feb 2014 16:36:12 -0500
Subject: [PATCH] add methods to extract column from record by its col. number
 (2)

---
 .../FileRecordTools/Records/Bed12Interval.cpp | 26 +++++++++++++++++++
 .../FileRecordTools/Records/Bed12Interval.h   |  3 +++
 2 files changed, 29 insertions(+)

diff --git a/src/utils/FileRecordTools/Records/Bed12Interval.cpp b/src/utils/FileRecordTools/Records/Bed12Interval.cpp
index 648dcccd..867a69ec 100644
--- a/src/utils/FileRecordTools/Records/Bed12Interval.cpp
+++ b/src/utils/FileRecordTools/Records/Bed12Interval.cpp
@@ -119,4 +119,30 @@ void Bed12Interval::printNull(QuickString &outBuf) const
 	outBuf.append("\t.\t.\t.\t.\t.\t.", 12);
 }
 
+const QuickString &Bed12Interval::getField(int fieldNum) const
+{
+	switch (fieldNum) {
+	case 7:
+		return _thickStartStr;
+		break;
+	case 8:
+		return _thickEndStr;
+		break;
+	case 9:
+		return _itemRGB;
+		break;
+	case 10:
+		return _blockCountStr;
+		break;
+	case 11:
+		return _blockSizes;
+		break;
+	case 12:
+		return _blockStarts;
+		break;
+	default:
+		return Bed6Interval::getField(fieldNum);
+		break;
+	}
+}
 
diff --git a/src/utils/FileRecordTools/Records/Bed12Interval.h b/src/utils/FileRecordTools/Records/Bed12Interval.h
index a902b4f4..711800c3 100644
--- a/src/utils/FileRecordTools/Records/Bed12Interval.h
+++ b/src/utils/FileRecordTools/Records/Bed12Interval.h
@@ -52,6 +52,9 @@ public:
 	virtual void setBlockStarts(const string & blockStarts) { _blockStarts = blockStarts; }
 	virtual void setBlockStarts(const char *blockStarts) { _blockStarts = blockStarts; }
 
+	virtual const QuickString &getField(int fieldNum) const;
+	virtual int getNumFields() const  { return 12; }
+
 
 protected:
 	virtual ~Bed12Interval();
-- 
GitLab