40 file << std::forward<t>(data);
43 bool write_header(
search_arguments const & arguments,
size_t const hash_function_count)
45 file <<
"### Minimiser parameters\n";
46 file <<
"## Window size = " << arguments.window_size <<
'\n';
47 file <<
"## Shape = " << arguments.shape.to_string() <<
'\n';
48 file <<
"## Shape size (length) = " <<
static_cast<uint16_t
>(arguments.shape_size) <<
'\n';
49 file <<
"## Shape count (number of 1s) = " <<
static_cast<uint16_t
>(arguments.shape_weight) <<
'\n';
50 file <<
"### Search parameters\n";
51 file <<
"## Query file = " << arguments.query_file <<
'\n';
52 file <<
"## Pattern size = " << arguments.query_length <<
'\n';
53 file <<
"## Output file = " << arguments.out_file <<
'\n';
54 file <<
"## Threads = " <<
static_cast<uint16_t
>(arguments.threads) <<
'\n';
55 file <<
"## tau = " << arguments.tau <<
'\n';
56 file <<
"## p_max = " << arguments.p_max <<
'\n';
57 file <<
"## Percentage threshold = " << arguments.threshold <<
'\n';
58 file <<
"## Errors = " <<
static_cast<uint16_t
>(arguments.errors) <<
'\n';
59 file <<
"## Cache thresholds = " <<
std::boolalpha << arguments.cache_thresholds <<
'\n';
60 file <<
"### Index parameters\n";
61 file <<
"## Index = " << arguments.index_file <<
'\n';
62 file <<
"## Index hashes = " << hash_function_count <<
'\n';
63 file <<
"## Index parts = " <<
static_cast<uint16_t
>(arguments.parts) <<
'\n';
64 file <<
"## False positive rate = " << arguments.fpr <<
'\n';
65 file <<
"## Index is HIBF = " <<
std::boolalpha << arguments.is_hibf <<
'\n';
68 for (
auto const & file_list : arguments.bin_path)
70 file <<
'#' << user_bin_id <<
'\t';
71 for (
auto const elem : seqan::stl::views::join_with(file_list,
','))
77 file <<
"#QUERY_NAME\tUSER_BINS\n";