1 #ifndef _theplu_yat_omic_fasta
2 #define _theplu_yat_omic_fasta
21 #include "config_bam.h"
23 #include YAT_FAIDX_HEADER
25 #include <boost/shared_array.hpp>
26 #include <boost/shared_ptr.hpp>
56 Fasta(
const std::string& fn);
66 std::string
name(
size_t i)
const;
108 int size(
void)
const;
117 boost::shared_array<const char> seq_;
136 boost::shared_ptr<faidx_t> faidx_;
140 void fetch(
Sequence& seq,
const std::string& chr,
int begin,
int end)
const;
142 void throw_unknown_chr(
const std::string&)
const;
143 #ifndef YAT_HAVE_HTSLIB
144 std::vector<std::string> name_;
145 std::map<std::string, int> size_;
Fasta(const std::string &fn)
char operator[](size_t i) const
const_iterator end(void) const
const_iterator begin(void) const
const char * const_iterator
const iterator is a const char*
Definition: Fasta.h:93
Sequence sequence(const std::string &chr) const
wrapper class around struct faidx_t in libhts
Definition: Fasta.h:44
int sequence_length(const std::string &name) const
std::string name(size_t i) const
bool present(const std::string &name) const