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
17namespace 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