From 66dc94dff6aca8a8025f1ee8b07725f267943716 Mon Sep 17 00:00:00 2001 From: Andy Date: Fri, 19 Dec 2025 14:55:41 -0600 Subject: [PATCH 1/4] HolmBonferroni threshold and label quick fix --- +nla/+net/+mcc/HolmBonferroni.m | 24 +++++++++---------- .../+net/+result/NetworkResultPlotParameter.m | 18 ++++++++++---- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/+nla/+net/+mcc/HolmBonferroni.m b/+nla/+net/+mcc/HolmBonferroni.m index 08efeda7..9b368cc1 100644 --- a/+nla/+net/+mcc/HolmBonferroni.m +++ b/+nla/+net/+mcc/HolmBonferroni.m @@ -6,20 +6,20 @@ methods function p_max = correct(obj, net_atlas, input_struct, prob) [is_significant, adjusted_pvals, ~] = nla.lib.bonferroni_holm(prob.v, input_struct.prob_max); - p_max = max(is_significant .* adjusted_pvals); + + %We need to generate a p_max threshold where all nets marked + %'is_significant' are strictly below it. We can accomplish this + %by finding the highest p value that passes and adding a small + %delta that is unlikely to allow any additional net pairs + %through the threshold + DELTA = 1e-10; + p_max = max(is_significant .* prob.v)+DELTA; end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - p_max = obj.correct(net_atlas, input_struct, prob); - if p_max == 0 - correction_label = sprintf('Holm-Bonferroni produced no significant networks'); - else - format_specs = "%g/%d tests"; - if isequal(input_struct.behavior_count, 1) - format_specs = "%g/%d test"; - end - correction_label = sprintf(strcat("Holm-Bonferroni(", format_specs, ")"), input_struct.prob_max * input_struct.behavior_count,... - input_struct.behavior_count); - end + correction_label = sprintf("Holm-Bonferroni (alpha = %g)",input_struct.prob_max); + + %Since p threshold is variable with this test, exclude it and + %just use the initial 'alpha' term used in the algorithm. end end end diff --git a/+nla/+net/+result/NetworkResultPlotParameter.m b/+nla/+net/+result/NetworkResultPlotParameter.m index a72e8ad4..35b4275f 100644 --- a/+nla/+net/+result/NetworkResultPlotParameter.m +++ b/+nla/+net/+result/NetworkResultPlotParameter.m @@ -56,12 +56,22 @@ p_value_max = fdr_correction.correct(obj.network_atlas, obj.updated_test_options, statistic_input); p_value_breakdown_label = fdr_correction.createLabel(obj.network_atlas, obj.updated_test_options,... statistic_input); + + if isa(fdr_correction,'nla.net.mcc.HolmBonferroni') + %Holm Bonferroni does not have a single static p threshold, + %so use the custom label for this FDR that only includes + %the alpha (original p_max from input struct), and not any + %other p threshold + name_label = sprintf("%s %s\n%s", obj.network_test_results.test_display_name, plot_title,... + p_value_breakdown_label); + else - name_label = sprintf("%s %s\nP < %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... - p_value_max, p_value_breakdown_label); - if p_value_max == 0 - name_label = sprintf("%s %s\nP = %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... + name_label = sprintf("%s %s\nP < %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... p_value_max, p_value_breakdown_label); + if p_value_max == 0 + name_label = sprintf("%s %s\nP = %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... + p_value_max, p_value_breakdown_label); + end end % Filtering if there's a filter provided From 44ec31abd3a0c2e15cdd8f8e119e4f17e5ea1c0e Mon Sep 17 00:00:00 2001 From: Jim Pollaro <30908497+pollaro@users.noreply.github.com> Date: Wed, 31 Dec 2025 13:42:07 -0600 Subject: [PATCH 2/4] [NET-300] Change Winkler Ranking to Freedman-Lane (#133) * changed names for winkler and freedman_lane * fixed up typo * Exported mlapp files --------- Co-authored-by: Github Action --- +nla/+net/+result/+plot/NetworkTestPlot.m | 8 ++++---- .../+result/+plot/NetworkTestPlotApp.mlapp | Bin 38499 -> 38554 bytes .../+plot/NetworkTestPlotApp_exported.m | 8 ++++---- .../+net/+result/NetworkResultPlotParameter.m | 4 ++-- +nla/+net/+result/NetworkTestResult.m | 2 +- +nla/+net/ResultRank.m | 14 +++++++------- +nla/+net/unittests/ResultRankTestCase.m | 16 ++++++++-------- +nla/RankingMethod.m | 2 +- NLA_GUI.mlapp | Bin 87028 -> 86599 bytes docs/source/methodology.rst | 4 ---- docs/source/network_level_results.rst | 4 ++-- 11 files changed, 29 insertions(+), 33 deletions(-) diff --git a/+nla/+net/+result/+plot/NetworkTestPlot.m b/+nla/+net/+result/+plot/NetworkTestPlot.m index 4e00a3af..b3626707 100644 --- a/+nla/+net/+result/+plot/NetworkTestPlot.m +++ b/+nla/+net/+result/+plot/NetworkTestPlot.m @@ -89,8 +89,8 @@ function getPlotTitle(obj) obj.title = sprintf("%s (D > %g)", obj.title, obj.network_test_options.d_max); end if ~isequal(obj.test_method, "no_permutations") - if isequal(obj.current_settings.ranking, nla.RankingMethod.WINKLER) - obj.title = strcat(obj.title, "\nRanking by Winkler Method"); + if isequal(obj.current_settings.ranking, nla.RankingMethod.FREEDMAN_LANE) + obj.title = strcat(obj.title, "\nRanking by Freedman-Lane Method"); elseif isequal(obj.current_settings.ranking, nla.RankingMethod.WESTFALL_YOUNG) obj.title = strcat(obj.title, "\nRanking by Westfall-Young Method"); else @@ -228,8 +228,8 @@ function resizeFigure(obj, plot_width, plot_height) % All the options (buttons, pulldowns, checkboxes) scale_option = PullDown("plot_scale", "Plot Scale", ["Linear", "Log", "Negative Log10"],... [ProbPlotMethod.DEFAULT, ProbPlotMethod.LOG, ProbPlotMethod.NEGATIVE_LOG_10]); - ranking_method = PullDown("ranking", "Ranking", ["Uncorrected", "Winkler", "Westfall-Young"],... - [RankingMethod.UNCORRECTED, RankingMethod.WINKLER, RankingMethod.WESTFALL_YOUNG]); + ranking_method = PullDown("ranking", "Ranking", ["Uncorrected", "Freedman-Lane", "Westfall-Young"],... + [RankingMethod.UNCORRECTED, RankingMethod.FREEDMAN_LANE, RankingMethod.WESTFALL_YOUNG]); cohens_d = CheckBox("cohens_d", "Cohen's D Threshold", true); centroids = CheckBox("centroids", "ROI Centroids in brain plots", false); multiple_comparison_correction = PullDown("mcc", "Multiple Comparison Correction",... diff --git a/+nla/+net/+result/+plot/NetworkTestPlotApp.mlapp b/+nla/+net/+result/+plot/NetworkTestPlotApp.mlapp index d2513df112299c06422fb5708df97c346e12f43c..ea13c24cfd605cba97e94d932771bde163f14a0e 100644 GIT binary patch delta 35410 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%0D9vDK+WZK9zkUiije|0L8 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 SlOTK*lTDTo2LF=)0000V<=b@t delta 35382 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 diff --git a/+nla/+net/+result/+plot/NetworkTestPlotApp_exported.m b/+nla/+net/+result/+plot/NetworkTestPlotApp_exported.m index 88dfd8c6..c7fba833 100644 --- a/+nla/+net/+result/+plot/NetworkTestPlotApp_exported.m +++ b/+nla/+net/+result/+plot/NetworkTestPlotApp_exported.m @@ -88,8 +88,8 @@ function getPlotTitle(app) app.title = sprintf("%s (D > %g)", app.title, app.CohensDThresholdEditField.Value); end if ~isequal(app.test_method, "no_permutations") - if isequal(app.RankingDropDown.Value, "nla.RankingMethod.WINKLER") % Look at me, I'm MATLAB. I have no idea why enums are beneficial or how to use them - app.title = strcat(app.title, "\nRanking by Winkler Method"); + if isequal(app.RankingDropDown.Value, "nla.RankingMethod.FREEDMAN_LANE") % Look at me, I'm MATLAB. I have no idea why enums are beneficial or how to use them + app.title = strcat(app.title, "\nRanking by Freedman-Lane Method"); elseif isequal(app.RankingDropDown.Value, "nla.RankingMethod.WESTFALL_YOUNG") app.title = strcat(app.title, "\nRanking by Westfall-Young Method"); else @@ -439,8 +439,8 @@ function createComponents(app) % Create RankingDropDown app.RankingDropDown = uidropdown(app.Panel); - app.RankingDropDown.Items = {'Uncorrected', 'Winkler', 'Westfall-Young'}; - app.RankingDropDown.ItemsData = {'nla.RankingMethod.UNCORRECTED', 'nla.RankingMethod.WINKLER', 'nla.RankingMethod.WESTFALL_YOUNG'}; + app.RankingDropDown.Items = {'Uncorrected', 'Freedman-Lane', 'Westfall-Young'}; + app.RankingDropDown.ItemsData = {'nla.RankingMethod.UNCORRECTED', 'nla.RankingMethod.FREEDMAN_LANE', 'nla.RankingMethod.WESTFALL_YOUNG'}; app.RankingDropDown.ValueChangedFcn = createCallbackFcn(app, @PlotScaleValueChanged, true); app.RankingDropDown.Position = [291 297 100 22]; app.RankingDropDown.Value = 'nla.RankingMethod.UNCORRECTED'; diff --git a/+nla/+net/+result/NetworkResultPlotParameter.m b/+nla/+net/+result/NetworkResultPlotParameter.m index 35b4275f..2c38de8b 100644 --- a/+nla/+net/+result/NetworkResultPlotParameter.m +++ b/+nla/+net/+result/NetworkResultPlotParameter.m @@ -205,8 +205,8 @@ function brainFigureButtonCallback(network1, network2) end switch ranking_method - case "nla.RankingMethod.WINKLER" - ranking = "winkler_"; + case "nla.RankingMethod.FREEDMAN_LANE" + ranking = "freedman_lane_"; case "nla.RankingMethod.WESTFALL_YOUNG" ranking = "westfall_young_"; otherwise diff --git a/+nla/+net/+result/NetworkTestResult.m b/+nla/+net/+result/NetworkTestResult.m index e8ff9792..d82933a4 100644 --- a/+nla/+net/+result/NetworkTestResult.m +++ b/+nla/+net/+result/NetworkTestResult.m @@ -242,7 +242,7 @@ function createPValueTriMatrices(obj, number_of_networks, test_method) non_correlation_test = any(strcmp(obj.test_name, obj.noncorrelation_input_tests)); uncorrected_names = ["uncorrected_", "legacy_"]; - corrected_names = ["winkler_", "westfall_young_"]; + corrected_names = ["freedman_lane_", "westfall_young_"]; switch test_method case "no_permutations" diff --git a/+nla/+net/ResultRank.m b/+nla/+net/ResultRank.m index 4ab3594b..c9cd1788 100644 --- a/+nla/+net/ResultRank.m +++ b/+nla/+net/ResultRank.m @@ -42,8 +42,8 @@ ranking_result = obj.uncorrectedRank(test_method, permutation_results, no_permutation_results, ranking_statistic,... probability, ranking_result); - % Winkler Method ranking - ranking_result = obj.winklerMethodRank(test_method, permutation_results, no_permutation_results, ranking_statistic,... + % Freedman-Lane Method ranking + ranking_result = obj.freedmanLaneMethodRank(test_method, permutation_results, no_permutation_results, ranking_statistic,... probability, ranking_result); % Westfall Young ranking @@ -96,7 +96,7 @@ end - function ranking = winklerMethodRank(obj, test_method, permutation_results, no_permutation_results, ranking_statistic,... + function ranking = freedmanLaneMethodRank(obj, test_method, permutation_results, no_permutation_results, ranking_statistic,... probability, ranking) % Ranks the observed result using method described by Winkler to correct for FWER % @@ -108,7 +108,7 @@ % :param ranking: The NetworkTestResult object to place the results % :return: The same NetworkTestResult object with ranking results - winkler_probability = strcat("winkler_", probability); + freedman_lane_probability = strcat("freedman_lane_", probability); % NET-278: The "max statistic" for hypergeometric is the most significant p-value. Which is the smallest p-value. max_statistic_array = max(abs(permutation_results.(strcat(ranking_statistic, "_permutations")).v)); if isequal(ranking.test_name, "hypergeometric") @@ -117,16 +117,16 @@ for index = 1:numel(no_permutation_results.(strcat("uncorrected_", probability)).v) if isequal(ranking.test_name, "hypergeometric") - ranking.(test_method).(winkler_probability).v(index) = sum(... + ranking.(test_method).(freedman_lane_probability).v(index) = sum(... squeeze(max_statistic_array) <= abs(no_permutation_results.(ranking_statistic).v(index))... ); else - ranking.(test_method).(winkler_probability).v(index) = sum(... + ranking.(test_method).(freedman_lane_probability).v(index) = sum(... squeeze(max_statistic_array) >= abs(no_permutation_results.(ranking_statistic).v(index))... ); end end - ranking.(test_method).(winkler_probability).v = ranking.(test_method).(winkler_probability).v ./ obj.permutations; + ranking.(test_method).(freedman_lane_probability).v = ranking.(test_method).(freedman_lane_probability).v ./ obj.permutations; end function ranking = westfallYoungMethodRank(obj, test_method, permutation_results, no_permutation_results, ranking_statistic,... diff --git a/+nla/+net/unittests/ResultRankTestCase.m b/+nla/+net/unittests/ResultRankTestCase.m index 0f65c4dd..8f75ffe4 100644 --- a/+nla/+net/unittests/ResultRankTestCase.m +++ b/+nla/+net/unittests/ResultRankTestCase.m @@ -114,11 +114,11 @@ function fullConnectomeUncorrectedRankingTest(testCase) testCase.verifyEqual(uncorrected_results, expected_uncorrected); end - function fullConnectomeWinklerRankingTest(testCase) - winkler_results = testCase.rank.full_connectome.winkler_two_sample_p_value.v; - expected_winkler = testCase.rank_results.full_connectome.winkler_two_sample_p_value.v; + function fullConnectomeFreedmanLaneRankingTest(testCase) + freedman_lane_results = testCase.rank.full_connectome.freedman_lane_two_sample_p_value.v; + expected_freedman_lane = testCase.rank_results.full_connectome.freedman_lane_two_sample_p_value.v; - testCase.verifyEqual(winkler_results, expected_winkler); + testCase.verifyEqual(freedman_lane_results, expected_freedman_lane); end function fullConnectomeWestfallYoungRankingTest(testCase) @@ -140,11 +140,11 @@ function withinNetworkPairUncorrectedRankingTest(testCase) testCase.verifyEqual(uncorrected_results, expected_uncorrected); end - function withinNetworkPairWinklerRankingTest(testCase) - winkler_results = testCase.rank.within_network_pair.winkler_single_sample_p_value.v; - expected_winkler = testCase.rank_results.within_network_pair.winkler_single_sample_p_value.v; + function withinNetworkPairFreedmanLaneRankingTest(testCase) + freedman_lane_results = testCase.rank.within_network_pair.freedman_lane_single_sample_p_value.v; + expected_freedman_lane = testCase.rank_results.within_network_pair.freedman_lane_single_sample_p_value.v; - testCase.verifyEqual(winkler_results, expected_winkler); + testCase.verifyEqual(freedman_lane_results, expected_freedman_lane); end function withinNetworkPairWestfallYoungRankingTest(testCase) diff --git a/+nla/RankingMethod.m b/+nla/RankingMethod.m index cb3f98b1..978f90ac 100644 --- a/+nla/RankingMethod.m +++ b/+nla/RankingMethod.m @@ -1,5 +1,5 @@ classdef RankingMethod enumeration - UNCORRECTED, WINKLER, WESTFALL_YOUNG + UNCORRECTED, FREEDMAN_LANE, WESTFALL_YOUNG end end \ No newline at end of file diff --git a/NLA_GUI.mlapp b/NLA_GUI.mlapp index 36853e5037b01207878b67112e843c890daf58eb..fd6e8f7e7f96ac9e530a79d0705711908cd0b430 100755 GIT binary patch delta 54033 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 s0000000000000000KbpQYW diff --git a/docs/source/methodology.rst b/docs/source/methodology.rst index 2ea5220d..28026972 100644 --- a/docs/source/methodology.rst +++ b/docs/source/methodology.rst @@ -45,10 +45,6 @@ Benjamini-Hochberg, Westfall and Young :cite:p:`WestfallP`, and Freedman-Lane :c functional connectivity data are not shuffled in order to preserve the inherent covariant structure of the data across permutations -.. note:: - Freedman-Lane FWER correction is referred to as Winkler in NLA. Implementation was modeled after the algorithm described in the paper - by Winkler. - Brain Network Map Selection ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/source/network_level_results.rst b/docs/source/network_level_results.rst index edc91855..17c43fc7 100644 --- a/docs/source/network_level_results.rst +++ b/docs/source/network_level_results.rst @@ -49,7 +49,7 @@ number of points above or below (depending on the test used) the non-permuted (o In NLA this is referred to as "ranking" since it is simply counting values in a sorted list. This basic ranking is referred to as the "uncorrected" *p*-value. There are two other options for ranking in NLA. These account for :abbr:`FWER (family-wise error rate)`. The first method is based off the "randomise" method :cite:p:`FreedmanD,WinklerA`. -This is referred to as the "Winkler method". The second method is called "Westfall-Young" in NLA described by +The second method is called "Westfall-Young" in NLA described by an alogrithm :cite:p:`WestfallP` by Westfall and Young. Result Rank @@ -66,7 +66,7 @@ Result Rank .. mat:automethod:: uncorrectedRank - .. mat:automethod:: winklerMethodRank + .. mat:automethod:: freedmanLaneMethodRank .. mat:automethod:: westfallYoungMethodRank From d6adbf00b73da5950c9ddbb8e1f0b2f2a2d25452 Mon Sep 17 00:00:00 2001 From: Jim Pollaro <30908497+pollaro@users.noreply.github.com> Date: Wed, 14 Jan 2026 14:18:54 -0600 Subject: [PATCH 3/4] [NET-302] Rename variable in NetworkTestResult (#134) renamed --- +nla/+net/+result/NetworkTestResult.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/+nla/+net/+result/NetworkTestResult.m b/+nla/+net/+result/NetworkTestResult.m index d82933a4..6c54d065 100644 --- a/+nla/+net/+result/NetworkTestResult.m +++ b/+nla/+net/+result/NetworkTestResult.m @@ -337,11 +337,11 @@ function createPValueTriMatrices(obj, number_of_networks, test_method) % :return: The full name of the p-value. (example: "single_sammple_p_value") import nla.NetworkLevelMethod - noncorrelation_input_tests = ["chi_squared", "hypergeometric"]; - non_correlation_test = any(strcmp(test_name, noncorrelation_input_tests)); + reference_distribution_tests = ["chi_squared", "hypergeometric"]; + reference_distribution_test = any(strcmp(test_name, reference_distribution_tests)); probability = "two_sample_p_value"; - if isequal(non_correlation_test, false) + if isequal(reference_distribution_test, false) if isequal(test_method, "no_permutations") || isequal(test_method, "within_network_pair") probability = "single_sample_p_value"; end From 531e8b181f2a5a47f279c343c1c646225ae602e2 Mon Sep 17 00:00:00 2001 From: Andy Date: Fri, 16 Jan 2026 14:04:04 -0600 Subject: [PATCH 4/4] Change logic of fdr tests to return vector of significant net pairs instead of a single p threshold --- +nla/+net/+mcc/Base.m | 2 +- +nla/+net/+mcc/BenjaminiHochberg.m | 16 ++------ +nla/+net/+mcc/BenjaminiYekutieli.m | 16 ++------ +nla/+net/+mcc/Bonferroni.m | 11 +++-- +nla/+net/+mcc/HolmBonferroni.m | 14 ++----- +nla/+net/+mcc/None.m | 9 +++-- .../+net/+result/NetworkResultPlotParameter.m | 40 +++++++++---------- +nla/+net/+result/NetworkTestResult.m | 12 +++--- 8 files changed, 47 insertions(+), 73 deletions(-) diff --git a/+nla/+net/+mcc/Base.m b/+nla/+net/+mcc/Base.m index ca4fceea..7cade860 100755 --- a/+nla/+net/+mcc/Base.m +++ b/+nla/+net/+mcc/Base.m @@ -1,6 +1,6 @@ classdef Base methods (Abstract) - p_max = correct(obj, net_atlas, input_struct, prob) + [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) correction_label = createLabel(obj, net_atlas, input_struct, prob) end end \ No newline at end of file diff --git a/+nla/+net/+mcc/BenjaminiHochberg.m b/+nla/+net/+mcc/BenjaminiHochberg.m index a879373f..23063cad 100755 --- a/+nla/+net/+mcc/BenjaminiHochberg.m +++ b/+nla/+net/+mcc/BenjaminiHochberg.m @@ -4,21 +4,11 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) - [~, p_max] = nla.lib.fdr_bh(prob.v, input_struct.prob_max, 'pdep'); + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) + [is_sig_vector, p_max] = nla.lib.fdr_bh(prob.v, input_struct.prob_max, 'pdep'); end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - p_max = obj.correct(net_atlas, input_struct, prob); - if p_max == 0 - correction_label = sprintf('FDR_{BH} produced no significant nets'); - else - format_specs = "%g/%d tests"; - if isequal(input_struct.behavior_count, 1) - format_specs = "%g/%d test"; - end - correction_label = sprintf(strcat("FDR_{BH}(", format_specs, ")"), input_struct.prob_max * input_struct.behavior_count,... - input_struct.behavior_count); - end + correction_label = sprintf("Benjamini-Hochberg (alpha = %g)",input_struct.prob_max); end end end \ No newline at end of file diff --git a/+nla/+net/+mcc/BenjaminiYekutieli.m b/+nla/+net/+mcc/BenjaminiYekutieli.m index 5c8fb6f9..23e0de8d 100755 --- a/+nla/+net/+mcc/BenjaminiYekutieli.m +++ b/+nla/+net/+mcc/BenjaminiYekutieli.m @@ -4,21 +4,11 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) - [~, p_max] = nla.lib.fdr_bh(prob.v, input_struct.prob_max, 'dep'); + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) + [is_sig_vector, p_max] = nla.lib.fdr_bh(prob.v, input_struct.prob_max, 'dep'); end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - p_max = obj.correct(net_atlas, input_struct, prob); - if p_max == 0 - correction_label = sprintf('FDR_{BY} produced no significant nets'); - else - format_specs = "%g/%d tests"; - if isequal(input_struct.behavior_count, 1) - format_specs = "%g/%d test"; - end - correction_label = sprintf(strcat("FDR_{BY}(", format_specs, ")"), input_struct.prob_max * input_struct.behavior_count,... - input_struct.behavior_count); - end + correction_label = sprintf("Benjamini-Yekutieli (alpha = %g)",input_struct.prob_max); end end end \ No newline at end of file diff --git a/+nla/+net/+mcc/Bonferroni.m b/+nla/+net/+mcc/Bonferroni.m index de306236..8897b413 100755 --- a/+nla/+net/+mcc/Bonferroni.m +++ b/+nla/+net/+mcc/Bonferroni.m @@ -4,15 +4,18 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) + p_max = input_struct.prob_max / net_atlas.numNetPairs(); + is_sig_vector = prob.v < p_max; end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - format_specs_tests = "%d tests"; + format_specs_tests = "%d tests)"; if isequal(input_struct.behavior_count, 1) - format_specs_tests = "%d test"; + format_specs_tests = "%d test)"; end - correction_label = sprintf(strcat("%g/%d net-pairs/", format_specs_tests), input_struct.prob_max * input_struct.behavior_count,... + p_max = input_struct.prob_max / net_atlas.numNetPairs(); + correction_label = sprintf(strcat("P < %.2g (%.2g/%d net-pairs/", format_specs_tests), p_max, input_struct.prob_max * input_struct.behavior_count,... net_atlas.numNetPairs(), input_struct.behavior_count); end end diff --git a/+nla/+net/+mcc/HolmBonferroni.m b/+nla/+net/+mcc/HolmBonferroni.m index 9b368cc1..2f8c3995 100644 --- a/+nla/+net/+mcc/HolmBonferroni.m +++ b/+nla/+net/+mcc/HolmBonferroni.m @@ -4,16 +4,10 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) - [is_significant, adjusted_pvals, ~] = nla.lib.bonferroni_holm(prob.v, input_struct.prob_max); - - %We need to generate a p_max threshold where all nets marked - %'is_significant' are strictly below it. We can accomplish this - %by finding the highest p value that passes and adding a small - %delta that is unlikely to allow any additional net pairs - %through the threshold - DELTA = 1e-10; - p_max = max(is_significant .* prob.v)+DELTA; + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) + [is_sig_vector, adjusted_pvals, ~] = nla.lib.bonferroni_holm(prob.v, input_struct.prob_max); + + p_max = max(is_sig_vector .* prob.v); end function correction_label = createLabel(obj, net_atlas, input_struct, prob) correction_label = sprintf("Holm-Bonferroni (alpha = %g)",input_struct.prob_max); diff --git a/+nla/+net/+mcc/None.m b/+nla/+net/+mcc/None.m index 8ef9dd66..f1bba3df 100755 --- a/+nla/+net/+mcc/None.m +++ b/+nla/+net/+mcc/None.m @@ -4,15 +4,16 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) p_max = input_struct.prob_max; + is_sig_vector = prob.v < p_max; end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - format_specs = "%g/%d tests"; + format_specs = "P < %.2g (%g/%d tests)"; if isequal(input_struct.behavior_count, 1) - format_specs = "%g/%d test"; + format_specs = "P < %.2g (%g/%d test)"; end - correction_label = sprintf(format_specs, input_struct.prob_max * input_struct.behavior_count,... + correction_label = sprintf(format_specs, input_struct.prob_max, input_struct.prob_max * input_struct.behavior_count,... input_struct.behavior_count); end end diff --git a/+nla/+net/+result/NetworkResultPlotParameter.m b/+nla/+net/+result/NetworkResultPlotParameter.m index 2c38de8b..c2c81e85 100644 --- a/+nla/+net/+result/NetworkResultPlotParameter.m +++ b/+nla/+net/+result/NetworkResultPlotParameter.m @@ -27,7 +27,7 @@ end function result = plotProbabilityParameters(obj, edge_test_options, edge_test_result, test_method, plot_statistic,... - plot_title, fdr_correction, significance_filter, ranking_method) + plot_title, fdr_correction, effect_size_filter, ranking_method) % plot_title - this will be a string % plot_statistic - this is the stat that will be plotted % significance filter - this will be a boolean or some sort of object (like Cohen's D > D-value) @@ -36,9 +36,9 @@ import nla.TriMatrix nla.TriMatrixDiag % We're going to use a default filter here - if isequal(significance_filter, false) - significance_filter = TriMatrix(obj.number_of_networks, "logical", TriMatrixDiag.KEEP_DIAGONAL); - significance_filter.v = true(numel(significance_filter.v), 1); + if isequal(effect_size_filter, false) + effect_size_filter = TriMatrix(obj.number_of_networks, "logical", TriMatrixDiag.KEEP_DIAGONAL); + effect_size_filter.v = true(numel(effect_size_filter.v), 1); end % Adding on to the plot title if it's a -log10 plot @@ -53,30 +53,26 @@ if isstring(fdr_correction) || ischar(fdr_correction) fdr_correction = nla.net.mcc.(erase(fdr_correction, "-"))(); end - p_value_max = fdr_correction.correct(obj.network_atlas, obj.updated_test_options, statistic_input); + + [is_sig_vector, p_value_max] = fdr_correction.correct(obj.network_atlas, obj.updated_test_options, statistic_input); + p_value_breakdown_label = fdr_correction.createLabel(obj.network_atlas, obj.updated_test_options,... statistic_input); - - if isa(fdr_correction,'nla.net.mcc.HolmBonferroni') - %Holm Bonferroni does not have a single static p threshold, - %so use the custom label for this FDR that only includes - %the alpha (original p_max from input struct), and not any - %other p threshold - name_label = sprintf("%s %s\n%s", obj.network_test_results.test_display_name, plot_title,... + name_label = sprintf("%s %s\n%s", obj.network_test_results.test_display_name, plot_title,... p_value_breakdown_label); - else - - name_label = sprintf("%s %s\nP < %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... - p_value_max, p_value_breakdown_label); - if p_value_max == 0 - name_label = sprintf("%s %s\nP = %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... - p_value_max, p_value_breakdown_label); - end - end +% else +% +% name_label = sprintf("%s %s\nP < %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... +% p_value_max, p_value_breakdown_label); +% if p_value_max == 0 +% name_label = sprintf("%s %s\nP = %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... +% p_value_max, p_value_breakdown_label); +% end +% end % Filtering if there's a filter provided significance_plot = TriMatrix(obj.number_of_networks, "logical", TriMatrixDiag.KEEP_DIAGONAL); - significance_plot.v = (statistic_input.v < p_value_max) & significance_filter.v; + significance_plot.v = is_sig_vector & effect_size_filter.v; % scale values very slightly for display so numbers just below % the threshold don't show up white but marked significant diff --git a/+nla/+net/+result/NetworkTestResult.m b/+nla/+net/+result/NetworkTestResult.m index 6c54d065..a4068827 100644 --- a/+nla/+net/+result/NetworkTestResult.m +++ b/+nla/+net/+result/NetworkTestResult.m @@ -285,15 +285,15 @@ function createPValueTriMatrices(obj, number_of_networks, test_method) % I don't really know what these do and haven't really thought about it. Hence the bad naming. function [sig, name] = singleSigMat(obj, network_atlas, edge_test_options, p_value, mcc_method, title_prefix) mcc_method = nla.net.mcc.(mcc_method)(); - p_value_max = mcc_method.correct(network_atlas, edge_test_options, p_value); + [is_sig_vector, p_value_max] = mcc_method.correct(network_atlas, edge_test_options, p_value); p_breakdown_labels = mcc_method.createLabel(network_atlas, edge_test_options, p_value); sig = nla.TriMatrix(network_atlas.numNets(), 'double', nla.TriMatrixDiag.KEEP_DIAGONAL); - sig.v = (p_value.v < p_value_max); - name = sprintf("%s %s P < %.2g (%s)", title_prefix, obj.test_display_name, p_value_max, p_breakdown_labels); - if p_value_max == 0 - name = sprintf("%s %s P = 0 (%s)", title_prefix, obj.test_display_name, p_breakdown_labels); - end + sig.v = is_sig_vector; + name = sprintf("%s %s %s", title_prefix, obj.test_display_name, p_value_max, p_breakdown_labels); +% if p_value_max == 0 +% name = sprintf("%s %s P = 0 (%s)", title_prefix, obj.test_display_name, p_breakdown_labels); +% end end function [number_of_tests, sig_count_mat, names] = appendSignificanceMatrix(...