]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/toolkit/bamtools_coverage.cpp
Merge branch 'master' of https://github.com/pezmaster31/bamtools
[bamtools.git] / src / toolkit / bamtools_coverage.cpp
index 748f51337f778991c9ad724ce0e9ae6b8fad6c4a..6a4493de9992a5366f12e4997cd12dffeb2adcde 100644 (file)
@@ -1,9 +1,8 @@
 // ***************************************************************************
 // bamtools_coverage.cpp (c) 2010 Derek Barnett, Erik Garrison
 // Marth Lab, Department of Biology, Boston College
-// All rights reserved.
 // ---------------------------------------------------------------------------
-// Last modified: 21 March 2011
+// Last modified: 24 July 2013
 // ---------------------------------------------------------------------------
 // Prints coverage data for a single BAM file 
 // ***************************************************************************
@@ -81,8 +80,12 @@ struct CoverageTool::CoverageToolPrivate {
   
     // ctor & dtor
     public:
-        CoverageToolPrivate(CoverageTool::CoverageSettings* settings);
-        ~CoverageToolPrivate(void);
+        CoverageToolPrivate(CoverageTool::CoverageSettings* settings)
+            : m_settings(settings)
+            , m_out(cout.rdbuf())
+        { }
+
+        ~CoverageToolPrivate(void) { }
     
     // interface
     public:
@@ -95,13 +98,6 @@ struct CoverageTool::CoverageToolPrivate {
         RefVector m_references;
 };  
 
-CoverageTool::CoverageToolPrivate::CoverageToolPrivate(CoverageTool::CoverageSettings* settings)
-    : m_settings(settings)
-    , m_out(cout.rdbuf()) // default output to cout
-{ }
-
-CoverageTool::CoverageToolPrivate::~CoverageToolPrivate(void) { }  
-  
 bool CoverageTool::CoverageToolPrivate::Run(void) {  
   
     // if output filename given
@@ -141,6 +137,7 @@ bool CoverageTool::CoverageToolPrivate::Run(void) {
     BamAlignment al;    
     while ( reader.GetNextAlignment(al) ) 
         pileup.AddAlignment(al);
+    pileup.Flush();
     
     // clean up 
     reader.Close();
@@ -171,6 +168,7 @@ CoverageTool::CoverageTool(void)
 }
 
 CoverageTool::~CoverageTool(void) { 
+
     delete m_settings;
     m_settings = 0;
     
@@ -188,9 +186,10 @@ int CoverageTool::Run(int argc, char* argv[]) {
     // parse command line arguments
     Options::Parse(argc, argv, 1);
     
-    // run internal ConvertTool implementation, return success/fail
+    // initialize CoverageTool with settings
     m_impl = new CoverageToolPrivate(m_settings);
     
+    // run CoverageTool, return success/fail
     if ( m_impl->Run() ) 
         return 0;
     else