fastq_to_fasta
A template for creation of SeqAn3 apps, with a FASTQ to FASTA example app.
search_arguments.hpp
Go to the documentation of this file.
1 // --------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2022, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2022, Knut Reinert & MPI für molekulare Genetik
4 // This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5 // shipped with this file and also available at: https://github.com/seqan/raptor/blob/main/LICENSE.md
6 // --------------------------------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <filesystem>
11 #include <vector>
12 
13 #include <seqan3/search/kmer_index/shape.hpp>
14 
16 
17 namespace raptor
18 {
19 
20 // For costum default message in argparser
22 {
23  uint64_t v{};
24 };
25 
27 {
28  // Related to k-mers
29  uint32_t window_size{20u};
30  seqan3::shape shape{seqan3::ungapped{20u}};
31  uint8_t shape_size{shape.size()};
32  uint8_t shape_weight{shape.count()};
33  uint8_t threads{1u};
34  uint8_t parts{1u};
35 
36  // Related to thresholding
37  double tau{0.9999};
38  double threshold{std::numeric_limits<double>::quiet_NaN()};
39  double p_max{0.15};
40  double fpr{0.05};
41  uint64_t pattern_size{};
43  uint8_t errors{0};
44 
45  // Related to IBF
46  std::filesystem::path index_file{};
47  bool compressed{false};
48 
49  // General arguments
50  std::vector<std::vector<std::string>> bin_path{};
51  std::filesystem::path query_file{};
52  std::filesystem::path out_file{"search.out"};
53  bool write_time{false};
54  bool is_socks{false};
55  bool is_hibf{false};
56  bool cache_thresholds{false};
57 
59  {
60  return {.window_size{window_size},
61  .shape{shape},
62  .pattern_size{pattern_size},
63  .errors{errors},
64  .percentage{threshold},
65  .p_max{p_max},
66  .fpr{fpr},
67  .tau{tau},
68  .cache_thresholds{cache_thresholds},
69  .output_directory{index_file.parent_path()}};
70  }
71 };
72 
73 } // namespace raptor
Definition: adjust_seed.hpp:13
Definition: search_arguments.hpp:22
uint64_t v
Definition: search_arguments.hpp:23
Definition: search_arguments.hpp:27
uint8_t threads
Definition: search_arguments.hpp:33
double fpr
Definition: search_arguments.hpp:40
raptor::pattern_size pattern_size_strong
Definition: search_arguments.hpp:42
raptor::threshold::threshold_parameters make_threshold_parameters() const noexcept
Definition: search_arguments.hpp:58
uint8_t errors
Definition: search_arguments.hpp:43
bool cache_thresholds
Definition: search_arguments.hpp:56
seqan3::shape shape
Definition: search_arguments.hpp:30
uint8_t shape_weight
Definition: search_arguments.hpp:32
std::filesystem::path query_file
Definition: search_arguments.hpp:51
double p_max
Definition: search_arguments.hpp:39
bool compressed
Definition: search_arguments.hpp:47
std::vector< std::vector< std::string > > bin_path
Definition: search_arguments.hpp:50
double threshold
Definition: search_arguments.hpp:38
std::filesystem::path index_file
Definition: search_arguments.hpp:46
bool write_time
Definition: search_arguments.hpp:53
bool is_hibf
Definition: search_arguments.hpp:55
uint8_t shape_size
Definition: search_arguments.hpp:31
std::filesystem::path out_file
Definition: search_arguments.hpp:52
uint32_t window_size
Definition: search_arguments.hpp:29
bool is_socks
Definition: search_arguments.hpp:54
double tau
Definition: search_arguments.hpp:37
uint8_t parts
Definition: search_arguments.hpp:34
Definition: threshold_parameters.hpp:18
uint32_t window_size
Definition: threshold_parameters.hpp:20