diff --git a/solventmapcreator/polynomialanalysis/polynomialdataanalysis.py b/solventmapcreator/polynomialanalysis/polynomialdataanalysis.py index c289ae9c0798453114a4e6f6cc2c51140dc1dc53..27ce82f2445bee7f91ecd28f3a0670c2855bbb69 100644 --- a/solventmapcreator/polynomialanalysis/polynomialdataanalysis.py +++ b/solventmapcreator/polynomialanalysis/polynomialdataanalysis.py @@ -24,15 +24,19 @@ def get_total_sorted_by_alt_metric(full_order_list, best_order_sorted_dict): for i in range(len(full_order_list)): order = full_order_list[i] order_info = [] - for j in range(len(order_tuple)): + for j in range(len(full_order_list)): + sorted_dict_order = full_order_list[j] - if order in best_order_sorted_dict[sorted_dict_order].keys(): - order_info.append(len(best_order_sorted_dict[sorted_dict_order][order])) + if sorted_dict_order in best_order_sorted_dict.keys(): + if order in best_order_sorted_dict[sorted_dict_order].keys(): + order_info.append(len(best_order_sorted_dict[sorted_dict_order][order])) + else: + order_info.append(0) else: order_info.append(0) numbers_by_order.append(tuple(order_info)) numbers_by_order_tuple = tuple(numbers_by_order) - return (order_tuple, numbers_by_order_tuple) + return (tuple(full_order_list), numbers_by_order_tuple) def get_total_by_fit_order(best_order_dict): """This returns a tuple containing the order, and also the number of diff --git a/solventmapcreator/test/polynomialanalysistest/polynomialdataanalysistest.py b/solventmapcreator/test/polynomialanalysistest/polynomialdataanalysistest.py index 3e1927def200174d5d843c71b3f55daca880dced..a525d8597c5c7023ab61963dfafd06ab1fa67e2b 100644 --- a/solventmapcreator/test/polynomialanalysistest/polynomialdataanalysistest.py +++ b/solventmapcreator/test/polynomialanalysistest/polynomialdataanalysistest.py @@ -55,7 +55,7 @@ class PolynomialDataAnalysisTestCase(unittest.TestCase): rmse_solvent_id_dict = polynomialdataanalysis.get_solvent_id_by_order(self.rmse_dict) covar_solvent_id_dict = polynomialdataanalysis.get_solvent_id_by_order(self.covar_dict) ordered_id_dict = polynomialdataanalysis.generate_lists_by_alt_metric(rmse_solvent_id_dict, covar_solvent_id_dict) - expected_tuple = ((1,),((1,),(1,))) + expected_tuple = ((1, 2),((1, 0),(1, 0))) actual_tuple = polynomialdataanalysis.get_total_sorted_by_alt_metric([1, 2], ordered_id_dict) self.assertEqual(expected_tuple, actual_tuple) def test_get_total_by_fit_order(self):