diff --git a/src/ChangeLog b/src/ChangeLog index 039d3709..70af66bd 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,6 @@ +[2.0.13] +- Fixed a bug that caused invalid bit scores in frameshift alignment mode. + [2.0.12] - Fixed an error when using HSP filter settings together with a BLAST database. - Optimized the performance of alignment traceback. diff --git a/src/basic/basic.cpp b/src/basic/basic.cpp index c00129c6..7ca52565 100644 --- a/src/basic/basic.cpp +++ b/src/basic/basic.cpp @@ -29,7 +29,7 @@ along with this program. If not, see . #include "../util/util.h" #include "../stats/standard_matrix.h" -const char* Const::version_string = "2.0.12"; +const char* Const::version_string = "2.0.13"; const char* Const::program_name = "diamond"; Align_mode::Align_mode(unsigned mode) : diff --git a/src/basic/const.h b/src/basic/const.h index 6dc2eb94..e037e2c9 100644 --- a/src/basic/const.h +++ b/src/basic/const.h @@ -25,7 +25,7 @@ struct Const { enum { - build_version = 150, + build_version = 151, #ifdef SINGLE_THREADED seedp_bits = 0, #else diff --git a/src/dp/swipe/banded_3frame_swipe.cpp b/src/dp/swipe/banded_3frame_swipe.cpp index 1ec9d73b..bbd9b63b 100644 --- a/src/dp/swipe/banded_3frame_swipe.cpp +++ b/src/dp/swipe/banded_3frame_swipe.cpp @@ -337,6 +337,7 @@ Hsp traceback(Sequence *query, Strand strand, int dna_len, const Banded3FrameSwi Hsp out(true); out.swipe_target = target.target_idx; out.score = ScoreTraits<_sv>::int_score(max_score) * config.cbs_matrix_scale; + out.bit_score = score_matrix.bitscore(out.score); out.evalue = evalue; out.transcript.reserve(size_t(out.score * config.transcript_len_estimate)); @@ -378,6 +379,7 @@ Hsp traceback(Sequence *query, Strand strand, int dna_len, const Banded3FrameSwi const int j0 = i1 - (target.d_end - 1); out.swipe_target = target.target_idx; out.score = ScoreTraits<_sv>::int_score(max_score) * config.cbs_matrix_scale; + out.bit_score = score_matrix.bitscore(out.score); out.evalue = evalue; out.query_range.end_ = std::min(i0 + max_col + (int)dp.band() / 3 / 2, (int)query[0].length()); out.query_range.begin_ = std::max(out.query_range.end_ - (j0 + max_col), 0);