]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/SamSequence.cpp
Added SAM header-handling classes for read/write/validate.
[bamtools.git] / src / api / SamSequence.cpp
diff --git a/src/api/SamSequence.cpp b/src/api/SamSequence.cpp
new file mode 100644 (file)
index 0000000..0554604
--- /dev/null
@@ -0,0 +1,46 @@
+// ***************************************************************************
+// SamSequence.cpp (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 23 December 2010 (DB)
+// ---------------------------------------------------------------------------
+// Provides functionality for querying/manipulating sequence data
+// *************************************************************************
+
+#include <api/SamSequence.h>
+using namespace BamTools;
+using namespace std;
+
+// ctor
+SamSequence::SamSequence(const string& name)
+    : Name(name)
+    , Length("")
+    , AssemblyID("")
+    , Checksum("")
+    , URI("")
+    , Species("")
+{ }
+
+// dtor
+SamSequence::~SamSequence(void) {
+    Clear();
+}
+
+// clear all contents
+void SamSequence::Clear(void) {
+    Name.clear();
+    Length.clear();
+    AssemblyID.clear();
+    Checksum.clear();
+    URI.clear();
+    Species.clear();
+}
+
+// convenience methods to check if SamSequence contains these values:
+bool SamSequence::HasName(void) const       { return (!Name.empty());       }
+bool SamSequence::HasLength(void) const     { return (!Length.empty());     }
+bool SamSequence::HasAssemblyID(void) const { return (!AssemblyID.empty()); }
+bool SamSequence::HasChecksum(void) const   { return (!Checksum.empty());   }
+bool SamSequence::HasURI(void) const        { return (!URI.empty());        }
+bool SamSequence::HasSpecies(void) const    { return (!Species.empty());    }