diff --git a/src/usher-sampled/driver/main.cpp b/src/usher-sampled/driver/main.cpp index 47caad17..b631b522 100644 --- a/src/usher-sampled/driver/main.cpp +++ b/src/usher-sampled/driver/main.cpp @@ -155,8 +155,11 @@ void leader_thread_optimization(MAT::Tree& tree,std::vector& position timeout=true; break; } - if (new_parsimony_score==last_parsimony_score&&optimization_radius>tree.max_level) { - timeout=true; + if (new_parsimony_score==last_parsimony_score) { + if(optimization_radius>tree.max_level){ + timeout=true; + } + break; } last_parsimony_score=new_parsimony_score; } @@ -243,6 +246,19 @@ static int leader_thread( tree.condense_leaves(); fix_parent(tree); tree.check_leaves(); + bool have_ambiguous_ref=false; + for (int position=1; position0) { for (auto& pos : position_wise_out) { pos.erase(std::remove_if(pos.begin(), pos.end(), [sample_start_idx](const std::pair& in) {