Raptor
A fast and space-efficient pre-filter
All Classes Namespaces Files Functions Variables Macros Pages Concepts
threshold.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
14
15namespace raptor::threshold
16{
17
19{
20public:
21 threshold() = default;
22 threshold(threshold const &) = default;
23 threshold & operator=(threshold const &) = default;
24 threshold(threshold &&) = default;
25 threshold & operator=(threshold &&) = default;
26 ~threshold() = default;
27
28 threshold(threshold_parameters const & arguments);
29
30 size_t get(size_t const minimiser_count) const noexcept;
31
32private:
33 enum class threshold_kinds
34 {
35 probabilistic,
36 lemma,
37 percentage
38 };
39
40 threshold_kinds threshold_kind{threshold_kinds::probabilistic};
41 std::vector<size_t> precomp_correction{};
42 std::vector<size_t> precomp_thresholds{};
43 size_t kmer_lemma{};
44 size_t minimal_number_of_minimizers{};
45 size_t maximal_number_of_minimizers{};
46 double threshold_percentage{};
47};
48
49} // namespace raptor::threshold
Definition threshold.hpp:19
Provides raptor::threshold::precompute_correction.
Provides raptor::threshold::precompute_threshold.
Definition threshold_parameters.hpp:20
Hide me