n_peptides bug in compute_pop()..Rbuildignore.compute_pop() replaces the old ph_prevalence_compare(). Computes
per-feature prevalence comparisons (Fisher / McNemar tests) across group
pairs. Unused arguments were removed, internal filtering now delegates to the
shared .ph_filter_pairs() helper, and imports were trimmed.scatter_static() — static ggplot2 prevalence scatter (percent1 vs percent2)
with BH-corrected significance colouring and optional color_by highlighting.volcano_static() — static ggplot2 volcano (log2 ratio vs −log10 p) with
configurable fold-change and p-value cutoffs and raw / BH p-value modes.volcano_interactive() — plotly equivalent of volcano_static().theme_phip() as their base theme and the phiper discrete
colour / fill scales, ensuring a consistent visual style across the package.phip_use_montserrat() has been removed. Font registration is handled
automatically in .onLoad().@examples blocks to scatter_static(),
volcano_static(), and volcano_interactive().deltaplot(), deltaplot_interactive(), ecdf_plot(),
and ecdf_plot_interactive(): the old examples called ph_prevalence_compare()
which no longer exists; they now use a minimal inline data.frame and require
no external data.scatter_static() and scatter_interactive()
that still referenced ph_prevalence_compare().test-pop_plots.R covering scatter_static(), scatter_interactive(),
volcano_static(), and volcano_interactive() (return types, pair / rank
filtering, BH colouring, color_by interface, background overlay, and the
internal .build_color_group() helper).phip_use_montserrat() tests from test-plot_utils.R for
the function that was deleted.deltaplot, forestplot, and
ecdf_plot to reflect the new theme_phip() styling.delta_ratio, n01, and n10 to utils::globalVariables() in
zzz.R to silence the "no visible binding" notes from compute_pop()..html vignette that was accidentally committed to
the repository.perm_method = "mid_p" option: computes the mid-p corrected permutation
p-value, which halves the contribution of ties
(\eqn{p_{\mathrm{mid}} = (#{|T_b| > |T_{\mathrm{obs}}|} + 0.5 \cdot #{|T_b| = |T_{\mathrm{obs}}|}) / B}),
reducing the conservative bias of the standard test for discrete statistics.
perm_method now defaults to "mid_p" (previously "standard").aggregate_stat = "af" option: implements an adaptive Fisher aggregation
statistic. Per-peptide z-scores are converted to one-sided p-values, sorted,
and the optimal truncation point is selected by maximising a
harmonic-mean-weighted cumulative \eqn{-\log p} sum. Positive and negative
tails are aggregated separately and the dominant direction is returned.test-beta_plots.R: tests for plot_pcoa(), plot_cap(), plot_scree(),
plot_dispersion(), and plot_tsne() (2-D and 3-D), covering basic output
type, grouping/time aesthetics, centroid and ellipse options, axis selection,
variance-explained labels, and input-validation errors.test-plot_utils.R: tests for colour helpers (phip_palette,
scale_colour_phip(), scale_fill_phip(), theme_phip(),
phip_use_montserrat()), internal colour utilities (.hex2rgb(),
.rgb2hex(), .mix_cols(), .tint(), .blend_hex(), .make_shades(),
.build_shaded_map()), and ordination helpers (.pick_axes(),
.axis_labels_with_pct(), .shaded_colors(), .make_point_fills(),
.first_subview_name()).test-shift_computing.R: tests for compute_delta() covering all
stat_mode options (diff, score, srlr, mcnemar, srlr_paired), all
weight_mode options, stratified bins (strat_bins), winsorisation, and
paired designs.test-zzz.R: tests for .onLoad() idempotency, load_example_data(),
and get_example_path().test-utils.R: tests for internal utilities including .ph_check_cond(),
.ph_check_extension(), .ph_check_null_default(), .ph_check_path(),
%nin%, %||%, .ph_opt(), .ph_now(), .ph_base_prefix(),
.ph_wrap(), .ph_compose_lines(), .ph_log_info(), .ph_log_ok(),
.ph_warn(), .ph_abort(), .ph_with_timing(), .ph_check_pd(), and
.ph_resolve_paths().compute_alpha_significance(): runs global (Kruskal-Wallis or one-way ANOVA)
and pairwise (Wilcoxon or Tukey HSD) hypothesis tests on every (rank, metric)
combination returned by compute_alpha(). Returns a "phip_alpha_significance"
list with $global (statistic, p-value, test) and $pairwise (p_raw, p_adj,
Cohen's d, significance stars) tibbles. Supports p_adjust_method (default
"BH") and subsetting via metric / rank arguments. Group column is inferred
automatically when not supplied.plot_alpha_significance(): visualises pairwise results either as a filtered
tibble (type = "table") or a symmetric Cohen's d heatmap with significance
stars (type = "heatmap"). Accepts metric, rank, and p_threshold
arguments to focus on a single comparison.metric now also accepts "pielou_evenness" and "berger_parker_dominance",
matching all five indices added to compute_alpha() in 0.3.1.significance, show_significance,
sig_p_threshold, sig_step_increase, sig_tip_length. Pass a
"phip_alpha_significance" object and set show_significance = TRUE to overlay
pairwise brackets via ggsignif (optional dependency). Non-significant pairs
are automatically omitted.... (reserved; ignored) for forward-compatibility.inst/fonts/,
so phip_use_montserrat() works offline without a Google Fonts connection.phip_use_montserrat() tries the local bundle first; falls back to
sysfonts::font_add_google() only when the local files are absent..onLoad() (showtext rendering
remains opt-in; call phip_use_montserrat() explicitly to enable it).test-alpha_significance.R: 56 tests covering compute_alpha_significance()
(global/pairwise tests, p-adjustment, Cohen's d, metric/rank subsetting, group
inference, single-group edge case) and plot_alpha_significance() (table and
heatmap modes, error paths). Line coverage: 89.91% → 99.54%.test-alpha_plots.R: 63 tests covering all five metrics (static and
interactive), faceting, group/rank filtering, custom colours, y-range,
x-ordering, factor group columns, significance brackets, and
plot_enrichment_counts(). Line coverage: 14.88% → 94.57%.alpha-diversity demonstrating the full alpha diversity pipeline:
loading data, compute_alpha() (binary, threshold, and abundance modes),
plot_alpha(), compute_alpha_significance(),
plot_alpha_significance(), and significance brackets on box plots.ggsignif and rmarkdown to Suggests.VignetteBuilder: knitr.pielou_evenness and berger_parker_dominance to the output (NA for
samples with richness ≤ 1 and richness = 0 respectively).metrics parameter: request any subset of the five indices; defaults to
all five.mode parameter ("binary", "threshold", "abundance") replaces
fc_threshold. "abundance" mode uses raw values from abundance_col with
optional abundance_agg ("mean", "sum", "max") at higher ranks.shannon_log renamed to shannon_base; old name still works with a
deprecation warning.n_samples attribute added to the result.mode = "threshold" now requires threshold to be finite and
abundance_col (when supplied) to be a character scalar.phiper now declares phiperio as a
hard dependency and re-exports its user-facing functions
(load_example_data, get_example_path) so existing workflows require no
changes.phip_convert,
phip_convert_legacy, new_phip_data, expand_phip_data,
phip_data_join, validate_phip_data, disconnect, get_comparisons,
phip_example_path, phip_load_example_data, and the full logging /
validation helper suite (add_quotes, word_list, .chk_*)..ph_abort, .ph_warn, .ph_log_info, .ph_with_timing,
.ph_check_cond, .ph_add_quotes, .ph_word_list, .ph_check_path,
.ph_check_extension, .ph_check_null_default).get_peptide_meta() renamed to get_peptide_library() throughout, in line
with the phiperio API.compute_alpha: restored efficient same-connection peptide library
handling via .ph_peplib_on_main() (DuckDB ATTACH fast path with
copy_to() fallback).<domain>_compute /
<domain>_plots convention: binary_alpha → alpha_compute,
binary_alpha_plots → alpha_plots, binary_beta → beta_compute,
binary_beta_plots → beta_plots, prevalence-DELTA_test →
delta_compute, prevalence-DELTA_plots → delta_plots,
prevalence-POP-test → pop_compute, prevalence-POP_plots →
pop_plots, plot-utils → plot_utils. Test files renamed accordingly.CONTRIBUTING.md: exported functions use plain snake_case; all internal
helpers use the .ph_ prefix.maxmean (Efron-type) as a test statistic option.srlr is now the default test statistic.small_mixture to phip_load_example_datasmall_mixture instead of redining itphip_load_example_data to make tests/examples fastercompute_pcoa to a separate function.Removed old, dead and undocumented code: R/binary-analysis_peptides.R, R/vinary-analysis_stability.R, R/binary-analysis_stability_cattime.R, R/fold_change-analysis.R
i left other files, even if they were undocumented/untested, as they were essential for phiper to work (e.g. the data import paths)
Removed old, dead and undocumented code: R/binary-analysis_peptides.R, R/vinary-analysis_stability.R, R/binary-analysis_stability_cattime.R, R/fold_change-analysis.R
i left other files, even if they were undocumented/untested, as they were essential for phiper to work (e.g. the data import paths)