diff --git a/src/Module.cpp b/src/Module.cpp index b3365a2..5930e96 100644 --- a/src/Module.cpp +++ b/src/Module.cpp @@ -736,14 +736,22 @@ ModulePerBaseSequenceQuality::make_grade() { void ModulePerBaseSequenceQuality::write_module(std::ostream &os) { + constexpr auto max_precision{std::numeric_limits::digits10}; + const auto default_precision{os.precision()}; os << "#Base\tMean\tMedian\tLower Quartile\tUpper Quartile" << "\t10th Percentile\t90th Percentile\n"; - // GS: TODO make base groups for (std::size_t i = 0; i < num_groups; ++i) { - os << base_groups[i] << "\t" << group_mean[i] << "\t" << group_median[i] - << "\t" << group_lquartile[i] << "\t" << group_uquartile[i] << "\t" - << group_ldecile[i] << "\t" << group_udecile[i] << "\n"; + // clang-format off + os << base_groups[i] << "\t" + << std::setprecision(max_precision) << group_mean[i] << "\t" + << std::fixed << std::setprecision(1) << group_median[i] << "\t" + << std::fixed << std::setprecision(1) << group_lquartile[i] << "\t" + << std::fixed << std::setprecision(1) << group_uquartile[i] << "\t" + << std::fixed << std::setprecision(1) << group_ldecile[i] << "\t" + << std::fixed << std::setprecision(1) << group_udecile[i] << "\n" + << std::defaultfloat << std::setprecision(default_precision); + // clang-format on } } @@ -869,16 +877,17 @@ ModulePerTileSequenceQuality::make_grade() { void ModulePerTileSequenceQuality::write_module(std::ostream &os) { - + constexpr auto max_precision{std::numeric_limits::digits10}; + const auto default_precision{os.precision()}; // prints tiles sorted by value os << "#Tile\tBase\tMean\n"; for (std::size_t i = 0; i < std::size(tiles_sorted); ++i) { for (std::size_t j = 0; j < max_read_length; ++j) { - if (std::size(tile_position_quality[tiles_sorted[i]]) >= j) { os << tiles_sorted[i] << "\t" << j + 1 << "\t" - << tile_position_quality[tiles_sorted[i]][j]; - os << "\n"; + << std::setprecision(max_precision) + << tile_position_quality[tiles_sorted[i]][j] + << std::setprecision(default_precision) << "\n"; } } } @@ -1294,7 +1303,8 @@ ModulePerBaseSequenceContent::make_html_data() { const std::string ModulePerSequenceGCContent::module_name = "Per sequence GC content"; ModulePerSequenceGCContent::ModulePerSequenceGCContent( - const FalcoConfig &config) : Module(ModulePerSequenceGCContent::module_name) { + const FalcoConfig &config) : + Module(ModulePerSequenceGCContent::module_name) { auto gc_vars = config.limits.find("gc_sequence")->second; gc_warn = gc_vars.find("warn")->second; gc_error = gc_vars.find("error")->second; @@ -2152,8 +2162,9 @@ ModuleKmerContent::write_module(std::ostream &os) { const std::size_t kmer = kmers_to_report[i].first; os << size_t_to_seq(kmer, kmer_size) << "\t" << total_kmer_counts[kmer] << "\t" - << "0.0" << "\t" << obs_exp_max[kmer] << "\t" - << where_obs_exp_is_max[kmer] << "\n"; + << "0.0" + << "\t" << obs_exp_max[kmer] << "\t" << where_obs_exp_is_max[kmer] + << "\n"; } } diff --git a/test/md5sum.txt b/test/md5sum.txt index c1564b8..94afb2f 100644 --- a/test/md5sum.txt +++ b/test/md5sum.txt @@ -1,30 +1,30 @@ -37014d8b6e5338c54f6e39a9a65448da test_output/SRR1853178_1/fastqc_data.txt -36df1dcab539ba4ef885239fc8524636 test_output/SRR1853178_1/summary.txt -ce1121532724dbfc9f75408f3b6bb1b8 test_output/SRR3897196_2/fastqc_data.txt -80cd130958bcb2219f1e5a07d06a3b6e test_output/SRR3897196_2/summary.txt -189608afba8bc88f237259a8801417c4 test_output/SRR9624732_1/fastqc_data.txt +3dedc28a43582799ca5c2de6853e3b67 test_output/SRR10143153_1/fastqc_data.txt +9ad191925d47a57d4f8b12f21ba0a7c3 test_output/SRR10143153_1/summary.txt +10a3ea6bdc7e89f7c554060987300a74 test_output/SRR9624732_1/fastqc_data.txt c94f94bdfbed9b83f156c15ffea84127 test_output/SRR9624732_1/summary.txt -a96c16a6ac4cce541f745b25d5b04fef test_output/SRR10143153_2/fastqc_data.txt -19f1811f324e4c44154f659bb6e22806 test_output/SRR10143153_2/summary.txt -1991f6ba435c23642d3141856864ad99 test_output/SRR1772703.lite.1/fastqc_data.txt +f3247224a624ef3e715251881cbb92d6 test_output/SRR3897196_2/fastqc_data.txt +80cd130958bcb2219f1e5a07d06a3b6e test_output/SRR3897196_2/summary.txt +efe57274c57b831a35ece02a55b10b44 test_output/SRR10124060/fastqc_data.txt +776f7d1b53bbed8683de9ca1d2529f1e test_output/SRR10124060/summary.txt +00499da31b38353a64b3fbf865134f44 test_output/SRR3897196_1/fastqc_data.txt +b736ee95d5c450ef5c0dda31957b6818 test_output/SRR3897196_1/summary.txt +f40ed230afd94501978ae4e5b4b723af test_output/SRR6387347/fastqc_data.txt +a61f65047e76f93300967cf399d044de test_output/SRR6387347/summary.txt +b5b45572ad129a4306d4c1cfdea9a394 test_output/SRR1772703.lite.1/fastqc_data.txt ad5727295e7c8de6eb6874837bf1518f test_output/SRR1772703.lite.1/summary.txt -657b3a5b77d8a7b9d5e8ff3c08dae765 test_output/SRR9624732_2/fastqc_data.txt +8241ed3eef4e21c6bc9ab6d55905c45e test_output/SRR9878537.lite.1/fastqc_data.txt +e5c40997d4993c07e164ee5598c39cf9 test_output/SRR9878537.lite.1/summary.txt +b513012ef040d0cb53f311d860326704 test_output/SRR9624732_2/fastqc_data.txt fefc5d746f853c14b5e00421ad1ec260 test_output/SRR9624732_2/summary.txt -e4df74ec74cf5ee69dd76d08825d1b2c test_output/SRR10124060/fastqc_data.txt -776f7d1b53bbed8683de9ca1d2529f1e test_output/SRR10124060/summary.txt -e5e62fbaefdf730452e0133eca248f69 test_output/SRR891268_2/fastqc_data.txt +6583ae57d3bb86621ad8dcca23372f81 test_output/SRR1853178_2/fastqc_data.txt +c331d0f7a6aa9d72be41ac531f9ba269 test_output/SRR1853178_2/summary.txt +4d1ef8e0aad4027b5e59ef869cd9d196 test_output/SRR1853178_1/fastqc_data.txt +36df1dcab539ba4ef885239fc8524636 test_output/SRR1853178_1/summary.txt +b45e9f0c7840b539470d065b4bf2797c test_output/SRR10143153_2/fastqc_data.txt +19f1811f324e4c44154f659bb6e22806 test_output/SRR10143153_2/summary.txt +88b9fabb6c5e41326b5fe93e94875893 test_output/SRR891268_2/fastqc_data.txt 20a8e50baace4c672622793874a3d7de test_output/SRR891268_2/summary.txt -401d183c10a50bdf0eac497c63630918 test_output/SRR9878537.lite.1/fastqc_data.txt -e5c40997d4993c07e164ee5598c39cf9 test_output/SRR9878537.lite.1/summary.txt -8334959b07f8baa92548ad939aff5df0 test_output/SRR891268_1/fastqc_data.txt +3177a87258f3a9edd6a02a740a207b34 test_output/SRR891268_1/fastqc_data.txt 69e7d0c53cd2e67117637c408b65333a test_output/SRR891268_1/summary.txt -985da7c31b11a4cb40686bf20d0df9cd test_output/SRR6059706.lite.1/fastqc_data.txt +dbd6ffc33ab0c131f70db7be3398ddae test_output/SRR6059706.lite.1/fastqc_data.txt e348e4bcc7fc6f05e989ac7858d2b287 test_output/SRR6059706.lite.1/summary.txt -2eb1acd772bf29031455cb38072a396f test_output/SRR6387347/fastqc_data.txt -a61f65047e76f93300967cf399d044de test_output/SRR6387347/summary.txt -d79d49f81677f19247bbd9cd6021f903 test_output/SRR3897196_1/fastqc_data.txt -b736ee95d5c450ef5c0dda31957b6818 test_output/SRR3897196_1/summary.txt -c93b8e4f2f14664419f57fb33edf5b64 test_output/SRR10143153_1/fastqc_data.txt -9ad191925d47a57d4f8b12f21ba0a7c3 test_output/SRR10143153_1/summary.txt -940b43bfbddd9d22cac65895c6d37ae8 test_output/SRR1853178_2/fastqc_data.txt -c331d0f7a6aa9d72be41ac531f9ba269 test_output/SRR1853178_2/summary.txt