15#include <sharg/parser.hpp>
23template <
typename argument_t>
24 requires std::same_as<argument_t, build_arguments> || std::same_as<argument_t, prepare_arguments>
25void validate_shape(sharg::parser & parser, argument_t & arguments)
27 if (parser.is_option_set(
"shape"))
29 if (parser.is_option_set(
"kmer"))
30 throw sharg::parser_error{
"You cannot set both shape and k-mer arguments."};
35 arguments.shape_string.data() + arguments.shape_string.size(),
39 arguments.shape = seqan3::shape{seqan3::bin_literal{tmp}};
43 arguments.shape = seqan3::shape{seqan3::ungapped{arguments.kmer_size}};
46 if (!parser.is_option_set(
"window"))
47 arguments.window_size = arguments.shape.size();
48 else if (arguments.shape.size() > arguments.window_size)
49 throw sharg::parser_error{
"The k-mer size cannot be bigger than the window size."};
Provides raptor::build_arguments.
Provides raptor::prepare_arguments.