50 template <index_structure::is_val
id friend_data_t>
53 uint64_t window_size_{};
54 seqan3::shape shape_{};
59 seqan::hibf::config config_{};
77 static constexpr uint32_t version{3u};
79 raptor_index() =
default;
80 raptor_index(raptor_index
const &) =
default;
81 raptor_index(raptor_index &&) =
default;
82 raptor_index & operator=(raptor_index
const &) =
default;
83 raptor_index & operator=(raptor_index &&) =
default;
84 ~raptor_index() =
default;
86 explicit raptor_index(window
const window_size,
87 seqan3::shape
const shape,
90 seqan::hibf::config
const & config,
92 requires index_structure::is_hibf<data_t>
94 window_size_{window_size.v},
98 fpr_{config.maximum_fpr},
100 ibf_{std::move(ibf)},
105 explicit raptor_index(build_arguments
const & arguments)
106 requires index_structure::is_ibf<data_t>
108 window_size_{arguments.window_size},
109 shape_{arguments.shape},
110 parts_{arguments.parts},
111 bin_path_{arguments.bin_path},
113 ibf_{seqan::hibf::bin_count{arguments.bins},
114 seqan::hibf::bin_size{arguments.bits / arguments.parts},
115 seqan::hibf::hash_function_count{arguments.hash}}
118 uint64_t window_size()
const
123 seqan3::shape shape()
const
128 uint8_t parts()
const
148 auto const & config() const
149 requires index_structure::is_hibf<data_t>
164 data_t
const & ibf()
const
171 requires index_structure::is_hibf<data_t>
182 requires index_structure::is_hibf<data_t>
189 requires index_structure::is_hibf<data_t>
217 was_resized_.resize(ibf_.ibf_vector.size(), value_for_new_ibfs);
228 template <seqan3::cereal_archive archive_t>
229 void CEREAL_SERIALIZE_FUNCTION_NAME(archive_t & archive)
232 archive(parsed_version);
237 archive(window_size_);
251 throw sharg::parser_error{
"Cannot read index: " +
std::string{e.
what()}};
257 throw sharg::parser_error{
"Unsupported index version. Check raptor upgrade."};
272 template <seqan3::cereal_input_archive archive_t>
273 void load_parameters(archive_t & archive)
275 uint32_t parsed_version{};
276 archive(parsed_version);
277 if (parsed_version == version)
281 archive(window_size_);
294 throw sharg::parser_error{
"Cannot read index: " +
std::string{e.
what()}};
300 throw sharg::parser_error{
"Unsupported index version. Check raptor upgrade."};