@@ -736,14 +736,22 @@ ModulePerBaseSequenceQuality::make_grade() {
736736
737737void
738738ModulePerBaseSequenceQuality::write_module (std::ostream &os) {
739+ constexpr auto max_precision{std::numeric_limits<double >::digits10};
740+ const auto default_precision{os.precision ()};
739741 os << " #Base\t Mean\t Median\t Lower Quartile\t Upper Quartile"
740742 << " \t 10th Percentile\t 90th Percentile\n " ;
741-
742743 // GS: TODO make base groups
743744 for (std::size_t i = 0 ; i < num_groups; ++i) {
744- os << base_groups[i] << " \t " << group_mean[i] << " \t " << group_median[i]
745- << " \t " << group_lquartile[i] << " \t " << group_uquartile[i] << " \t "
746- << group_ldecile[i] << " \t " << group_udecile[i] << " \n " ;
745+ // clang-format off
746+ os << base_groups[i] << " \t "
747+ << std::setprecision (max_precision) << group_mean[i] << " \t "
748+ << std::fixed << std::setprecision (1 ) << group_median[i] << " \t "
749+ << std::fixed << std::setprecision (1 ) << group_lquartile[i] << " \t "
750+ << std::fixed << std::setprecision (1 ) << group_uquartile[i] << " \t "
751+ << std::fixed << std::setprecision (1 ) << group_ldecile[i] << " \t "
752+ << std::fixed << std::setprecision (1 ) << group_udecile[i] << " \n "
753+ << std::defaultfloat << std::setprecision (default_precision);
754+ // clang-format on
747755 }
748756}
749757
@@ -869,16 +877,17 @@ ModulePerTileSequenceQuality::make_grade() {
869877
870878void
871879ModulePerTileSequenceQuality::write_module (std::ostream &os) {
872-
880+ constexpr auto max_precision{std::numeric_limits<double >::digits10};
881+ const auto default_precision{os.precision ()};
873882 // prints tiles sorted by value
874883 os << " #Tile\t Base\t Mean\n " ;
875884 for (std::size_t i = 0 ; i < std::size (tiles_sorted); ++i) {
876885 for (std::size_t j = 0 ; j < max_read_length; ++j) {
877-
878886 if (std::size (tile_position_quality[tiles_sorted[i]]) >= j) {
879887 os << tiles_sorted[i] << " \t " << j + 1 << " \t "
880- << tile_position_quality[tiles_sorted[i]][j];
881- os << " \n " ;
888+ << std::setprecision (max_precision)
889+ << tile_position_quality[tiles_sorted[i]][j]
890+ << std::setprecision (default_precision) << " \n " ;
882891 }
883892 }
884893 }
@@ -1294,7 +1303,8 @@ ModulePerBaseSequenceContent::make_html_data() {
12941303const std::string ModulePerSequenceGCContent::module_name =
12951304 " Per sequence GC content" ;
12961305ModulePerSequenceGCContent::ModulePerSequenceGCContent (
1297- const FalcoConfig &config) : Module(ModulePerSequenceGCContent::module_name) {
1306+ const FalcoConfig &config) :
1307+ Module(ModulePerSequenceGCContent::module_name) {
12981308 auto gc_vars = config.limits .find (" gc_sequence" )->second ;
12991309 gc_warn = gc_vars.find (" warn" )->second ;
13001310 gc_error = gc_vars.find (" error" )->second ;
@@ -2152,8 +2162,9 @@ ModuleKmerContent::write_module(std::ostream &os) {
21522162 const std::size_t kmer = kmers_to_report[i].first ;
21532163 os << size_t_to_seq (kmer, kmer_size) << " \t " << total_kmer_counts[kmer]
21542164 << " \t "
2155- << " 0.0" << " \t " << obs_exp_max[kmer] << " \t "
2156- << where_obs_exp_is_max[kmer] << " \n " ;
2165+ << " 0.0"
2166+ << " \t " << obs_exp_max[kmer] << " \t " << where_obs_exp_is_max[kmer]
2167+ << " \n " ;
21572168 }
21582169}
21592170
0 commit comments