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;
84 void open_base(
const std::string& fn,
const std::string& mode,
87 #ifndef YAT_HAVE_HTSLIB
107 const std::string&
filename(
void)
const {
return filename_; }
109 std::string filename_;
150 explicit InBamFile(
const std::string& fn);
179 void open(
const std::string& fn);
241 unsigned int compression);
269 unsigned int compression);
290 virtual ~error(
void)
throw();
304 template<
class Derived>
309 template<
class Derived>
316 template<
class Derived>
331 template<
class Derived>
338 template<
class Derived>
340 const std::string& mode,
346 YAT_ASSERT(aux==NULL);
347 sf_ = sam_open(fn.c_str(), mode.c_str());
349 sf_ = samopen(fn.c_str(), mode.c_str(), aux);
352 std::ostringstream ss;
353 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:339
const std::string & filename(void) const
filename of bam file
Definition: BamFile.h:107
Error thrown from OutBamFile::write(const BamRead&) at failure.
Definition: BamFile.h:283
BamFile(void)
Definition: BamFile.h:305
Class holding a bam query.
Definition: BamRead.h:53
void open(const std::string &fn)
Open an input bam file.
bam_index_t index_type
Definition: BamFile.h:135
bool is_open(void) const
Definition: BamFile.h:332
Class used for all runtime error detected within yat library.
Definition: Exception.h:38
samFile * sf_
Definition: BamFile.h:100
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:317
virtual ~BamFile(void)
Destructor.
Definition: BamFile.h:310
Definition: BamFile.h:213
void open(const std::string &fn, const BamHeader &hdr)
Open an output bam file.
const index_type * index(void) const
Definition: BamFile.h:118
error(const BamRead &)
Constructor.
samfile_t samFile
only defined when compiling against old bamlib
Definition: BamFile.h:94
bool read(BamRead &read)
read the next BamRead