]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/BamWriter.h
Reorganized source tree & build system
[bamtools.git] / src / api / BamWriter.h
diff --git a/src/api/BamWriter.h b/src/api/BamWriter.h
new file mode 100644 (file)
index 0000000..b0cb6ce
--- /dev/null
@@ -0,0 +1,52 @@
+// ***************************************************************************\r
+// BamWriter.h (c) 2009 Michael Str�mberg, Derek Barnett\r
+// Marth Lab, Department of Biology, Boston College\r
+// All rights reserved.\r
+// ---------------------------------------------------------------------------\r
+// Last modified: 17 August 2010 (DB)\r
+// ---------------------------------------------------------------------------\r
+// Uses BGZF routines were adapted from the bgzf.c code developed at the Broad\r
+// Institute.\r
+// ---------------------------------------------------------------------------\r
+// Provides the basic functionality for producing BAM files\r
+// ***************************************************************************\r
+\r
+#ifndef BAMWRITER_H\r
+#define BAMWRITER_H\r
+\r
+// C++ includes\r
+#include <string>\r
+\r
+// BamTools includes\r
+#include "BamAux.h"\r
+\r
+namespace BamTools {\r
+\r
+class BamWriter {\r
+\r
+    // constructor/destructor\r
+    public:\r
+        BamWriter(void);\r
+        ~BamWriter(void);\r
+\r
+    // public interface\r
+    public:\r
+        // closes the alignment archive\r
+        void Close(void);\r
+        // opens the alignment archive\r
+        bool Open(const std::string& filename, \r
+                  const std::string& samHeader, \r
+                  const BamTools::RefVector& referenceSequences, \r
+                  bool writeUncompressed = false);\r
+        // saves the alignment to the alignment archive\r
+        void SaveAlignment(const BamTools::BamAlignment& al);\r
+\r
+    // private implementation\r
+    private:\r
+        struct BamWriterPrivate;\r
+        BamWriterPrivate* d;\r
+};\r
+\r
+} // namespace BamTools\r
+\r
+#endif // BAMWRITER_H\r