1 #ifndef theplu_yat_omic_bam_file
2 #define theplu_yat_omic_bam_file
25 #include "BamHeader.h"
27 #include "config_bam.h"
29 #include "yat/utility/Exception.h"
30 #include "yat/utility/yat_assert.h"
32 #include YAT_SAM_HEADER
34 #include <boost/utility.hpp>
50 template<
typename Derived>
53 typedef Derived derived_type;
82 void open_base(
const std::string& fn,
const std::string& mode,
94 const std::string&
filename(
void)
const {
return filename_; }
96 std::string filename_;
121 explicit InBamFile(
const std::string& fn);
141 const bam_index_t*
index(
void)
const;
150 void open(
const std::string& fn);
167 mutable bam_index_t* index_;
204 unsigned int compression);
232 unsigned int compression);
253 virtual ~error(
void)
throw();
267 template<
class Derived>
272 template<
class Derived>
279 template<
class Derived>
287 template<
class Derived>
294 template<
class Derived>
296 const std::string& mode,
301 sf_ = samopen(fn.c_str(), mode.c_str(), aux);
303 std::ostringstream ss;
304 ss <<
"failed open '" << fn <<
"'";
void write(const BamRead &read)
write a read to output file
virtual ~InBamFile(void)
destructor
const BamRead & read(void) const
void open_base(const std::string &fn, const std::string &mode, const void *aux)
Definition: BamFile.h:295
const std::string & filename(void) const
filename of bam file
Definition: BamFile.h:94
Error thrown from OutBamFile::write(const BamRead&) at failure.
Definition: BamFile.h:246
BamFile(void)
Definition: BamFile.h:268
Class holding a bam query.
Definition: BamRead.h:53
void open(const std::string &fn)
Open an input bam file.
const bam_index_t * index(void) const
bool is_open(void) const
Definition: BamFile.h:288
Class used for all runtime error detected within yat library.
Definition: Exception.h:38
virtual ~error(void)
Destructor.
InBamFile(void)
Default constructor.
Class to report errors associated with IO operations.
Definition: Exception.h:109
const BamHeader & header(void) const
void close(void)
close file
Definition: BamFile.h:280
virtual ~BamFile(void)
Destructor.
Definition: BamFile.h:273
Definition: BamFile.h:176
void open(const std::string &fn, const BamHeader &hdr)
Open an output bam file.
samfile_t * sf_
Definition: BamFile.h:87
Definition: BamFile.h:105
error(const BamRead &)
Constructor.
bool read(BamRead &read)
read the next BamRead