Skip to content

Commit 33b5aaa

Browse files
authored
Merge pull request #244 from smehringer/determine_nest_tmax_update
[MISC] determine_best_tmax should not compute its own sketches.
2 parents b9a51e5 + f3ff4ce commit 33b5aaa

File tree

3 files changed

+15
-18
lines changed

3 files changed

+15
-18
lines changed

Diff for: include/chopper/layout/determine_best_number_of_technical_bins.hpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
namespace chopper::layout
1717
{
1818

19-
std::pair<seqan::hibf::layout::layout, std::vector<seqan::hibf::sketch::hyperloglog>>
20-
determine_best_number_of_technical_bins(chopper::configuration & config);
19+
seqan::hibf::layout::layout
20+
determine_best_number_of_technical_bins(chopper::configuration & config,
21+
std::vector<size_t> const & kmer_counts,
22+
std::vector<seqan::hibf::sketch::hyperloglog> const & sketches);
2123

2224
}

Diff for: src/layout/determine_best_number_of_technical_bins.cpp

+5-10
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@
2828
namespace chopper::layout
2929
{
3030

31-
std::pair<seqan::hibf::layout::layout, std::vector<seqan::hibf::sketch::hyperloglog>>
32-
determine_best_number_of_technical_bins(chopper::configuration & config)
31+
seqan::hibf::layout::layout
32+
determine_best_number_of_technical_bins(chopper::configuration & config,
33+
std::vector<size_t> const & kmer_counts,
34+
std::vector<seqan::hibf::sketch::hyperloglog> const & sketches)
3335
{
3436
seqan::hibf::layout::layout best_layout;
3537

@@ -65,17 +67,10 @@ determine_best_number_of_technical_bins(chopper::configuration & config)
6567
size_t best_t_max{};
6668
size_t t_max_64_memory{};
6769

68-
std::vector<size_t> kmer_counts;
69-
std::vector<seqan::hibf::sketch::hyperloglog> sketches;
70-
7170
for (size_t const t_max : potential_t_max)
7271
{
7372
config.hibf_config.tmax = t_max;
7473

75-
kmer_counts.clear();
76-
sketches.clear();
77-
78-
seqan::hibf::sketch::compute_sketches(config.hibf_config, kmer_counts, sketches);
7974
seqan::hibf::layout::layout tmp_layout =
8075
seqan::hibf::layout::compute_layout(config.hibf_config, kmer_counts, sketches);
8176

@@ -100,7 +95,7 @@ determine_best_number_of_technical_bins(chopper::configuration & config)
10095
file_out << "# Best t_max (regarding expected query runtime): " << best_t_max << '\n';
10196
config.hibf_config.tmax = best_t_max;
10297

103-
return {best_layout, sketches};
98+
return best_layout;
10499
}
105100

106101
} // namespace chopper::layout

Diff for: src/layout/execute.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -61,23 +61,23 @@ int execute(chopper::configuration & config, std::vector<std::vector<std::string
6161

6262
seqan::hibf::layout::layout hibf_layout;
6363
std::vector<seqan::hibf::sketch::hyperloglog> sketches;
64+
std::vector<size_t> kmer_counts;
6465

6566
seqan::hibf::concurrent_timer compute_sketches_timer{};
6667
seqan::hibf::concurrent_timer union_estimation_timer{};
6768
seqan::hibf::concurrent_timer rearrangement_timer{};
6869
seqan::hibf::concurrent_timer dp_algorithm_timer{};
6970

71+
compute_sketches_timer.start();
72+
seqan::hibf::sketch::compute_sketches(config.hibf_config, kmer_counts, sketches);
73+
compute_sketches_timer.stop();
74+
7075
if (config.determine_best_tmax)
7176
{
72-
std::tie(hibf_layout, sketches) = determine_best_number_of_technical_bins(config);
77+
hibf_layout = determine_best_number_of_technical_bins(config, kmer_counts, sketches);
7378
}
7479
else
7580
{
76-
std::vector<size_t> kmer_counts;
77-
78-
compute_sketches_timer.start();
79-
seqan::hibf::sketch::compute_sketches(config.hibf_config, kmer_counts, sketches);
80-
compute_sketches_timer.stop();
8181
dp_algorithm_timer.start();
8282
hibf_layout = seqan::hibf::layout::compute_layout(config.hibf_config,
8383
kmer_counts,

0 commit comments

Comments
 (0)