From a446d2fb6948e7138febc219c92007d98c0b407b Mon Sep 17 00:00:00 2001
From: Aaron <aaronquinlan@gmail.com>
Date: Fri, 17 Jun 2011 15:49:33 -0400
Subject: [PATCH] Set BAM compression mode before opening

---
 src/bedToBam/bedToBam.cpp         | 8 ++++----
 src/intersectBed/intersectBed.cpp | 6 +++---
 src/pairToBed/pairToBed.cpp       | 4 ++--
 src/windowBed/windowBed.cpp       | 4 ++--
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/bedToBam/bedToBam.cpp b/src/bedToBam/bedToBam.cpp
index 69a91e1f..41509d6f 100644
--- a/src/bedToBam/bedToBam.cpp
+++ b/src/bedToBam/bedToBam.cpp
@@ -175,12 +175,12 @@ void ProcessBed(istream &bedInput, BedFile *bed, GenomeFile *genome, bool isBED1
     map<string, int, std::less<string> > chromToId;
     MakeBamHeader(genome->getGenomeFileName(), refs, bamHeader, chromToId);
 
-    // open a BAM and add the reference headers to the BAM file
-    writer->Open("stdout", bamHeader, refs);
-	// set compression mode
+    // set compression mode
     BamWriter::CompressionMode compressionMode = BamWriter::Compressed;
     if ( uncompressedBam ) compressionMode = BamWriter::Uncompressed;
-	writer->SetCompressionMode(compressionMode);
+    writer->SetCompressionMode(compressionMode);
+    // open a BAM and add the reference headers to the BAM file
+    writer->Open("stdout", bamHeader, refs);
 
 
     // process each BED entry and convert to BAM
diff --git a/src/intersectBed/intersectBed.cpp b/src/intersectBed/intersectBed.cpp
index 7a2ebbb3..e5ec453b 100644
--- a/src/intersectBed/intersectBed.cpp
+++ b/src/intersectBed/intersectBed.cpp
@@ -245,12 +245,12 @@ void BedIntersect::IntersectBam(string bamFile) {
 
     // open a BAM output to stdout if we are writing BAM
     if (_bamOutput == true) {
-        // open our BAM writer
-        writer.Open("stdout", bamHeader, refs);
         // set compression mode
         BamWriter::CompressionMode compressionMode = BamWriter::Compressed;
         if ( _isUncompressedBam ) compressionMode = BamWriter::Uncompressed;
-    	writer.SetCompressionMode(compressionMode);
+        writer.SetCompressionMode(compressionMode);
+        // open our BAM writer
+        writer.Open("stdout", bamHeader, refs);
     }
 
     vector<BED> hits;
diff --git a/src/pairToBed/pairToBed.cpp b/src/pairToBed/pairToBed.cpp
index 7c7343df..5bfbe87e 100644
--- a/src/pairToBed/pairToBed.cpp
+++ b/src/pairToBed/pairToBed.cpp
@@ -386,12 +386,12 @@ void BedIntersectPE::IntersectBamPE(string bamFile) {
 
     // open a BAM output to stdout if we are writing BAM
     if (_bamOutput == true) {
-        // open our BAM writer
-        writer.Open("stdout", bamHeader, refs);
         // set compression mode
         BamWriter::CompressionMode compressionMode = BamWriter::Compressed;
         if ( _isUncompressedBam ) compressionMode = BamWriter::Uncompressed;
         writer.SetCompressionMode(compressionMode);
+        // open our BAM writer
+        writer.Open("stdout", bamHeader, refs);
     }
 
     // track the previous and current sequence
diff --git a/src/windowBed/windowBed.cpp b/src/windowBed/windowBed.cpp
index b8e1a1ea..2b0fad05 100644
--- a/src/windowBed/windowBed.cpp
+++ b/src/windowBed/windowBed.cpp
@@ -160,12 +160,12 @@ void BedWindow::WindowIntersectBam(string bamFile) {
 
     // open a BAM output to stdout if we are writing BAM
     if (_bamOutput == true) {
-        // open our BAM writer
-        writer.Open("stdout", bamHeader, refs);
         // set compression mode
         BamWriter::CompressionMode compressionMode = BamWriter::Compressed;
         if ( _isUncompressedBam ) compressionMode = BamWriter::Uncompressed;
         writer.SetCompressionMode(compressionMode);
+        // open our BAM writer
+        writer.Open("stdout", bamHeader, refs);
     }
 
     vector<BED> hits;                   // vector of potential hits
-- 
GitLab