MyNixOS website logo
Description

Power Analysis for Phosphopeptide Abundance Hypothesis Test.

Estimate best fit distributions and do power analysis for hypothesis tests on phosphopeptide abundance data.

peppwR peppwR website

Lifecycle:experimental CRANstatus R-CMD-check pkgdown License:MIT GitHubissues GitHubstars

Power analysis for phosphopeptide abundance hypothesis tests via simulation.

peppwR helps proteomics researchers answer critical experimental design questions:

  • “What sample size do I need?” — Find the N required for 80% power to detect a given effect
  • “What’s my power?” — Calculate power for a given sample size and effect
  • “What can I detect?” — Find the minimum detectable effect size for your design

Features

  • Distribution fitting — Fit gamma, lognormal, normal, and other distributions to pilot data
  • Per-peptide analysis — Get power estimates across your entire peptidome
  • Multiple statistical tests — Wilcoxon, bootstrap-t, and Bayes factor t-tests
  • Missing data handling — Model MNAR (Missing Not At Random) patterns common in proteomics
  • FDR-aware mode — Account for multiple testing correction in power calculations
  • Rich visualizations — Power curves, heatmaps, QQ plots, and diagnostic plots

Installation

Install the development version from GitHub:

# install.packages("pak")
pak::pak("TeamMacLean/peppwR")

Quick Start

From Pilot Data (Per-Peptide Mode)

library(peppwR)

# Fit distributions to your pilot data
fits <- fit_distributions(
  pilot_data,
  id = "peptide",
  group = "condition",
  value = "abundance"
)

# Find required sample size for 80% power to detect 2-fold change
result <- power_analysis(
  fits,
  effect_size = 2,
  target_power = 0.8,
  find = "sample_size"
)

print(result)
#> Per-peptide power analysis
#> Question: sample_size
#> Answer: N = 6 per group
#> 73% of peptides achieve 80% power

plot(result)

From Scratch (Aggregate Mode)

No pilot data? Specify assumed distribution parameters:

result <- power_analysis(
  distribution = "gamma",
  params = list(shape = 2, rate = 0.1),
  effect_size = 2,
  target_power = 0.8,
  find = "sample_size"
)

Documentation

Real-World Examples

Workflow Overview

flowchart TD
    A[pilot_data] --> B[fit_distributions]
    B --> C[power_analysis]
    C --> D{find = ?}
    D --> E["power"]
    D --> F["sample_size"]
    D --> G["effect_size"]
    E --> H[results + plots]
    F --> H
    G --> H

    style A fill:#FFFFCC,stroke:#BD0026
    style B fill:#FD8D3C,stroke:#BD0026,color:#fff
    style C fill:#FD8D3C,stroke:#BD0026,color:#fff
    style H fill:#FFFFCC,stroke:#BD0026

Citation

If you use peppwR in your research, please cite:

MacLean, D. (2026). peppwR: Power Analysis for Phosphopeptide Abundance
Hypothesis Tests. R package version 0.1.0.
https://github.com/TeamMacLean/peppwR

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

MIT © Dan MacLean.

Metadata

Version

0.1.0

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows