@@ -6868,7 +6868,9 @@ double runMixtureFinderMain(Params ¶ms, IQTree* &iqtree, ModelCheckpoint &mo
68686868 string best_model_AIC, best_model_AICc, best_model_BIC;
68696869 double best_score_AIC, best_score_AICc, best_score_BIC;
68706870 // Store the information of (k-1)-class models. Once (k-1)-class is better then k-class, the (k-1)-class models will be printed out as the global best.
6871- string best_model_pre_AIC, best_model_pre_AICc, best_model_pre_BIC, best_model_pre_list;
6871+ string best_model_AIC_pre, best_model_AICc_pre, best_model_BIC_pre, best_model_list_pre;
6872+ string best_score_AIC_pre, best_score_AICc_pre, best_score_BIC_pre, best_tree_AIC_pre, best_tree_AICc_pre, best_tree_BIC_pre;
6873+
68726874 Checkpoint *checkpoint;
68736875 int ssize;
68746876 int curr_df;
@@ -6948,10 +6950,17 @@ double runMixtureFinderMain(Params ¶ms, IQTree* &iqtree, ModelCheckpoint &mo
69486950
69496951 cout << endl << " Model: " << best_subst_name << best_rate_name << " ; df: " << curr_df << " ; loglike: " << curr_loglike << " ; " << criteria_str << " score: " << curr_score << endl;
69506952
6951- model_info.getString (" best_model_AIC" , best_model_pre_AIC);
6952- model_info.getString (" best_model_AICc" , best_model_pre_AICc);
6953- model_info.getString (" best_model_BIC" , best_model_pre_BIC);
6954- model_info.getString (" best_model_list_" + criteria_str, best_model_pre_list);
6953+ model_info.getString (" best_model_AIC" , best_model_AIC_pre);
6954+ model_info.getString (" best_model_AICc" , best_model_AICc_pre);
6955+ model_info.getString (" best_model_BIC" , best_model_BIC_pre);
6956+ model_info.getString (" best_model_list_" + criteria_str, best_model_list_pre);
6957+ model_info.getString (" best_score_AIC" , best_score_AIC_pre);
6958+ model_info.getString (" best_score_AICc" , best_score_AICc_pre);
6959+ model_info.getString (" best_score_BIC" , best_score_BIC_pre);
6960+ model_info.getString (" best_tree_AIC" , best_tree_AIC_pre);
6961+ model_info.getString (" best_tree_AICc" , best_tree_AICc_pre);
6962+ model_info.getString (" best_tree_BIC" , best_tree_BIC_pre);
6963+
69556964
69566965 // Step 3: keep adding a new class until no further improvement
69576966 if (params.opt_qmix_criteria == 1 ) {
@@ -6996,18 +7005,29 @@ double runMixtureFinderMain(Params ¶ms, IQTree* &iqtree, ModelCheckpoint &mo
69967005 curr_score = best_model.getScore ();
69977006 model_str = best_subst_name;
69987007
6999- model_info.getString (" best_model_AIC" , best_model_pre_AIC);
7000- model_info.getString (" best_model_AICc" , best_model_pre_AICc);
7001- model_info.getString (" best_model_BIC" , best_model_pre_BIC);
7002- model_info.getString (" best_model_list_" + criteria_str, best_model_pre_list);
7003-
7008+ model_info.getString (" best_model_AIC" , best_model_AIC_pre);
7009+ model_info.getString (" best_model_AICc" , best_model_AICc_pre);
7010+ model_info.getString (" best_model_BIC" , best_model_BIC_pre);
7011+ model_info.getString (" best_model_list_" + criteria_str, best_model_list_pre);
7012+ model_info.getString (" best_score_AIC" , best_score_AIC_pre);
7013+ model_info.getString (" best_score_AICc" , best_score_AICc_pre);
7014+ model_info.getString (" best_score_BIC" , best_score_BIC_pre);
7015+ model_info.getString (" best_tree_AIC" , best_tree_AIC_pre);
7016+ model_info.getString (" best_tree_AICc" , best_tree_AICc_pre);
7017+ model_info.getString (" best_tree_BIC" , best_tree_BIC_pre);
70047018 }
70057019 } while (better_model && getClassNum (best_subst_name)+1 <= params.max_mix_cats );
70067020
7007- model_info.put (" best_model_list_" + criteria_str, best_model_pre_list);
7008- model_info.put (" best_model_AIC" , best_model_pre_AIC);
7009- model_info.put (" best_model_AICc" , best_model_pre_AICc);
7010- model_info.put (" best_model_BIC" , best_model_pre_BIC);
7021+ model_info.put (" best_model_AIC" , best_model_AIC_pre);
7022+ model_info.put (" best_model_AICc" , best_model_AICc_pre);
7023+ model_info.put (" best_model_BIC" , best_model_BIC_pre);
7024+ model_info.put (" best_model_list_" + criteria_str, best_model_list_pre);
7025+ model_info.put (" best_score_AIC" , best_score_AIC_pre);
7026+ model_info.put (" best_score_AICc" , best_score_AICc_pre);
7027+ model_info.put (" best_score_BIC" , best_score_BIC_pre);
7028+ model_info.put (" best_tree_AIC" , best_tree_AIC_pre);
7029+ model_info.put (" best_tree_AICc" , best_tree_AICc_pre);
7030+ model_info.put (" best_tree_BIC" , best_tree_BIC_pre);
70117031
70127032 best_subst_name = model_str;
70137033 if (params.optimize_from_given_params == false )
0 commit comments