// BamReader.h (c) 2009 Derek Barnett, Michael Str�mberg\r
// Marth Lab, Department of Biology, Boston College\r
// ---------------------------------------------------------------------------\r
-// Last modified: 4 March 2011 (DB)\r
+// Last modified: 18 November 2012 (DB)\r
// ---------------------------------------------------------------------------\r
// Provides read access to BAM files.\r
// ***************************************************************************\r
#ifndef BAMREADER_H\r
#define BAMREADER_H\r
\r
-#include <api/api_global.h>\r
-#include <api/BamAlignment.h>\r
-#include <api/BamIndex.h>\r
-#include <api/SamHeader.h>\r
+#include "api/api_global.h"\r
+#include "api/BamAlignment.h"\r
+#include "api/BamIndex.h"\r
+#include "api/SamHeader.h"\r
#include <string>\r
\r
namespace BamTools {\r
// ----------------------\r
\r
// closes the current BAM file\r
- void Close(void);\r
+ bool Close(void);\r
// returns filename of current BAM file\r
const std::string GetFilename(void) const;\r
// returns true if a BAM file is open for reading\r
// access header data\r
// ----------------------\r
\r
- // returns SAM header data\r
+ // returns a read-only reference to SAM header data\r
+ const SamHeader& GetConstSamHeader(void) const;\r
+ // returns an editable copy of SAM header data\r
SamHeader GetHeader(void) const;\r
// returns SAM header data, as SAM-formatted text\r
std::string GetHeaderText(void) const;\r
bool OpenIndex(const std::string& indexFilename);\r
// sets a custom BamIndex on this reader\r
void SetIndex(BamIndex* index);\r
- // changes the caching behavior of the index data\r
- void SetIndexCacheMode(const BamIndex::IndexCacheMode& mode);\r
\r
- // deprecated methods\r
- public:\r
- // returns true if index data is available\r
- bool IsIndexLoaded(void) const;\r
+ // ----------------------\r
+ // error handling\r
+ // ----------------------\r
+\r
+ // returns a human-readable description of the last error that occurred\r
+ std::string GetErrorString(void) const;\r
\r
// private implementation\r
private:\r