]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/toolkit/bamtools_index.cpp
Major update to BamTools version 1.0
[bamtools.git] / src / toolkit / bamtools_index.cpp
index 90339c4fe3b4de9ccb6f59a634f2c23831f426e2..6e5a86df6b65329e47283a754835d4de55544a30 100644 (file)
@@ -3,21 +3,21 @@
 // Marth Lab, Department of Biology, Boston College
 // All rights reserved.
 // ---------------------------------------------------------------------------
-// Last modified: 2 September 2010
+// Last modified: 21 March 2011
 // ---------------------------------------------------------------------------
-// Creates a BAM index (".bai") file for the provided BAM file.
+// Creates a BAM index file.
 // ***************************************************************************
 
-#include <iostream>
-#include <string>
-
 #include "bamtools_index.h"
-#include "bamtools_options.h"
-#include "BamReader.h"
 
-using namespace std;
+#include <api/BamReader.h>
+#include <utils/bamtools_options.h>
 using namespace BamTools;
 
+#include <iostream>
+#include <string>
+using namespace std;
+
 // ---------------------------------------------
 // IndexSettings implementation
 
@@ -71,11 +71,15 @@ int IndexTool::Run(int argc, char* argv[]) {
     
     // open our BAM reader
     BamReader reader;
-    reader.Open(m_settings->InputBamFilename);
+    if ( !reader.Open(m_settings->InputBamFilename) ) {
+        cerr << "bamtools index ERROR: could not open BAM file: " << m_settings->InputBamFilename << endl;
+        return 1;
+    }
     
     // create index for BAM file
-    bool useDefaultIndex = !m_settings->IsUsingBamtoolsIndex;
-    reader.CreateIndex(useDefaultIndex);
+    const BamIndex::IndexType type = ( m_settings->IsUsingBamtoolsIndex ? BamIndex::BAMTOOLS
+                                                                        : BamIndex::STANDARD );
+    reader.CreateIndex(type);
     
     // clean & exit
     reader.Close();