]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/internal/BamWriter_p.cpp
Cleaned up intra-API includes & moved version numbers to 2.0.0
[bamtools.git] / src / api / internal / BamWriter_p.cpp
index ce5cfa9edf9e8438768dc4579710002da9fef697..1b1a3f2136a4452e9a8509896b3c36c38b7873d7 100644 (file)
@@ -2,19 +2,16 @@
 // BamWriter_p.cpp (c) 2010 Derek Barnett
 // Marth Lab, Department of Biology, Boston College
 // ---------------------------------------------------------------------------
-// Last modified: 6 October 2011 (DB)
+// Last modified: 10 October 2011 (DB)
 // ---------------------------------------------------------------------------
 // Provides the basic functionality for producing BAM files
 // ***************************************************************************
 
-#include <api/BamAlignment.h>
-#include <api/BamConstants.h>
-<<<<<<< HEAD
-#include <api/internal/BamException_p.h>
-=======
-#include <api/IBamIODevice.h>
->>>>>>> iodevice
-#include <api/internal/BamWriter_p.h>
+#include "api/BamAlignment.h"
+#include "api/BamConstants.h"
+#include "api/IBamIODevice.h"
+#include "api/internal/BamException_p.h"
+#include "api/internal/BamWriter_p.h"
 using namespace BamTools;
 using namespace BamTools::Internal;
 
@@ -32,7 +29,7 @@ BamWriterPrivate::~BamWriterPrivate(void) {
     Close();
 }
 
-// calculates minimum bin for a BAM alignment interval
+// calculates minimum bin for a BAM alignment interval [begin, end)
 uint32_t BamWriterPrivate::CalculateMinimumBin(const int begin, int end) const {
     --end;
     if ( (begin >> 14) == (end >> 14) ) return 4681 + (begin >> 14);
@@ -160,16 +157,10 @@ bool BamWriterPrivate::Open(const string& filename,
                             const string& samHeaderText,
                             const RefVector& referenceSequences)
 {
-<<<<<<< HEAD
     try {
-=======
-    // open the BGZF file for writing, return failure if error
-    if ( !m_stream.Open(filename, IBamIODevice::WriteOnly) )
-        return false;
->>>>>>> iodevice
 
-        // open the BGZF file for writing, return failure if error
-        m_stream.Open(filename, "wb");
+        // open the BGZF file for writing
+        m_stream.Open(filename, IBamIODevice::WriteOnly);
 
         // write BAM file 'metadata' components
         WriteMagicNumber();
@@ -222,10 +213,9 @@ void BamWriterPrivate::WriteAlignment(const BamAlignment& al) {
     const unsigned int queryLength        = al.QueryBases.size();
     const unsigned int tagDataLength      = al.TagData.size();
 
-    // no way to tell if BamAlignment.Bin is already defined (no default, invalid value)
-    // force calculation of Bin before storing
-    const int endPosition = al.GetEndPosition();
-    const uint32_t alignmentBin = CalculateMinimumBin(al.Position, endPosition);
+    // no way to tell if alignment's bin is already defined (there is no default, invalid value)
+    // so we'll go ahead calculate its bin ID before storing
+    const uint32_t alignmentBin = CalculateMinimumBin(al.Position, al.GetEndPosition());
 
     // create our packed cigar string
     string packedCigar;