Package: diagFDR 0.1.1

Quentin Giai Gianetto

diagFDR: Verifiable FDR Diagnostics for Proteomics

Provides methods to compute verifiable false discovery rate (FDR) diagnostic checks for workflows based on target-decoy competition and related confidence measures. Implements calibration, stability and tail diagnostics, including tail support, threshold elasticity, posterior error probability (PEP) reliability, and equal-chance checks. If you used this package in your research, please cite the associated preprint <doi:10.64898/2026.04.16.718468>. Detailed examples of using this package can also be found on the GitHub repository (<https://github.com/Jacky11/diagFDR>).

Authors:Quentin Giai Gianetto [aut, cre]

diagFDR_0.1.1.tar.gz
diagFDR_0.1.1.tar.gz(r-4.7-any)diagFDR_0.1.1.tar.gz(r-4.6-any)
diagFDR_0.1.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION
card.svg |card.png
diagFDR/json (API)

# Install 'diagFDR' in R:
install.packages('diagFDR', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

On CRAN:

Conda:

This package does not link to any Github/Gitlab/R-forge repository. No issue tracker or development information is available.

3.00 score 521 downloads 51 exports 105 dependencies

Last updated from:2f38182b9f. Checks:4 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK176
source / vignettesOK243
linux-release-x86_64OK176
wasm-releaseOK148

Exports:as_dfdr_tbldfdr_bh_diagnosticsdfdr_bh_elasticitydfdr_curve_stabilitydfdr_elasticitydfdr_equal_chance_qbandsdfdr_headlinedfdr_local_taildfdr_p_calibrationdfdr_pep_decoy_sanitydfdr_pep_reliabilitydfdr_pep_reliability_tdcdfdr_pi0_storeydfdr_plot_bh_elasticitydfdr_plot_cvdfdr_plot_dalphadfdr_plot_dwindfdr_plot_elasticitydfdr_plot_equal_chancedfdr_plot_fdrhat_pi0dfdr_plot_p_calibrationdfdr_plot_p_calibration2dfdr_plot_p_density_by_decoydfdr_plot_pep_density_by_decoydfdr_plot_pep_reliabilitydfdr_plot_pep_reliability_tdcdfdr_plot_pi0dfdr_plot_scope_disagreement_matrixdfdr_plot_score_distributionsdfdr_render_reportdfdr_run_alldfdr_run_jaccarddfdr_scope_disagreementdfdr_summary_headlinedfdr_sumpepdfdr_write_manifestdfdr_write_readmedfdr_write_reportdiann_global_minrunqdiann_global_precursordiann_runxprecursorflag_headlinemokapot_competed_universeread_dfdr_maxquant_msmsread_dfdr_mzidread_diann_parquetread_mokapot_psmsread_spectronautread_spectronaut_efficientscore_to_pvaluespectronaut_runxprecursor

Dependencies:backportsbase64encBiobaseBiocGenericsbitbit64broombslibcachemclicliprcodetoolscp4pcpp11crayondata.tabledigestdplyrevaluatefarverfastmapfontawesomefontBitstreamVerafontLiberationfontquiverforcatsforeachfsgdtoolsgeeMgeepackgenericsggformulaggiraphggplot2ggridgesglmnetgluegtablehavenhighrhmshtmltoolshtmlwidgetsisobanditeratorsjquerylibjsonlitekinship2knitrlabelinglabelledlatticelifecyclelimmamagrittrMASSMatrixmemoiseMESSmimemosaicCoremulttestmvtnormpillarpkgconfigplyrprettyunitsprogresspurrrquadprogqvalueR6rappdirsRColorBrewerRcppRcppArmadilloRcppEigenRcppParallelreadrreshape2rlangrmarkdownS7sassscalesshapestatmodstringistringrsurvivalsystemfontstibbletidyrtidyselecttinytextzdbutf8vctrsviridisLitevroomwithrxfunxml2yaml

diagFDR: DIA-NN diagnostics from report.parquet
Recommended DIA-NN export settings | Runnable toy example (no DIA-NN files required) | Headline stability at 1% | Tail support and stability versus threshold | Local boundary support | Threshold elasticity (list sensitivity to changing alpha) | Equal-chance plausibility by q-band | Real DIA-NN parquet workflow | Interpretation notes

Last update: 2026-04-13
Started: 2026-04-13

diagFDR: generic diagnostics from Spectronaut exports
Runnable toy example (no external files required) | Headline stability at 1% | Tail support and stability versus threshold | Local boundary support and elasticity | Equal-chance plausibility by q-band | Application to Spectronaut

Last update: 2026-04-13
Started: 2026-04-13

diagFDR: generic PSM diagnostics from mzIdentML (.mzid)
Runnable toy example (no external files required) | Headline stability at 1% | Tail support and stability versus threshold | Local boundary support and elasticity | Equal-chance plausibility by q-band | Real mzIdentML workflow (.mzid) | Optional: pseudo-p-values from the decoy score tail | Interpretation notes / common pitfalls

Last update: 2026-04-13
Started: 2026-04-13

diagFDR: MaxQuant diagnostics from msms.txt
Runnable toy example (no external files required) | Headline stability at 1% | Decoy tail support and stability proxy | Local boundary support and elasticity | Equal-chance plausibility by q-band | Real MaxQuant workflow (msms.txt) | Optional: other way to get p-value / pseudo-p-value diagnostics from MaxQuant scores | Interpretation notes

Last update: 2026-04-13
Started: 2026-04-13

diagFDR: mokapot diagnostics (competed winners)
Runnable toy example (no external files required) | Headline stability at 1% | Decoy tail support and stability proxy | Local boundary support and elasticity | Equal-chance plausibility by q-band (internal check) | PEP reliability and expected errors (ΣPEP) | Real mokapot workflow (targets + decoys text exports) | Interpretation notes

Last update: 2026-04-13
Started: 2026-04-13

Readme and manuals

Help Manual

Help pageTopics
Create a 'dfdr_tbl'as_dfdr_tbl
BH diagnostics at a headline alpha (threshold, discoveries, boundary support)dfdr_bh_diagnostics
BH list elasticity (Jaccard) across alpha valuesdfdr_bh_elasticity
Stability curve across alpha valuesdfdr_curve_stability
Threshold elasticity (list stability to cutoff perturbation)dfdr_elasticity
Equal-chance plausibility by q-value bandsdfdr_equal_chance_qbands
Headline stability diagnostics at a given alphadfdr_headline
Local tail support near the cutoffdfdr_local_tail
P-value calibration diagnostic (ECDF vs uniform; stratified)dfdr_p_calibration
Decoy PEP sanity checksdfdr_pep_decoy_sanity
Posterior Error Probability (PEP) reliability and internal PEP calibration error (IPE)dfdr_pep_reliability
Target-focused PEP reliability using a TDC-style error proxydfdr_pep_reliability_tdc
Storey pi_0(lambda) tail-uniformity diagnosticdfdr_pi0_storey
Plot BH elasticity (Jaccard) vs alphadfdr_plot_bh_elasticity
Plot 'CV_hat' versus 'alpha'dfdr_plot_cv
Plot decoy support D_alpha versus 'alpha'dfdr_plot_dalpha
Plot local decoy support 'D_alpha_win' versus 'alpha'dfdr_plot_dwin
Plot threshold elasticity (Jaccard) versus 'alpha'dfdr_plot_elasticity
Plot equal-chance plausibility by q-value bandsdfdr_plot_equal_chance
Plot Storey-style estimated FDR curve: \hatpi_0 m t / R(t)dfdr_plot_fdrhat_pi0
Plot p-value calibration (ECDF minus uniform)dfdr_plot_p_calibration
P-value calibration plot (cp4p-style), with multiple pi0 reference curvesdfdr_plot_p_calibration2
Plot (pseudo-)p-value density by decoy/targetdfdr_plot_p_density_by_decoy
Plot PEP density by decoy/targetdfdr_plot_pep_density_by_decoy
Plot PEP reliabilitydfdr_plot_pep_reliability
Plot target-focused PEP reliability (TDC-style)dfdr_plot_pep_reliability_tdc
Plot Storey pi_0(lambda) curvedfdr_plot_pi0
Plot scope disagreement as a Jaccard overlap heatmapdfdr_plot_scope_disagreement_matrix
Plot target vs decoy score distributionsdfdr_plot_score_distributions
Render a human-readable HTML report from 'dfdr_run_all' outputdfdr_render_report
Run a standard set of FDR QC diagnosticsdfdr_run_all
Inter-run Jaccard overlap matrix at a fixed thresholddfdr_run_jaccard
Scope disagreement between two listsdfdr_scope_disagreement
Build a headline summary table (one row per list)dfdr_summary_headline
Expected number of false targets among accepted identificationsdfdr_sumpep
Write a manifest file describing parameters, list metadata, and warningsdfdr_write_manifest
Write a human-readable 'README.md' reportdfdr_write_readme
Write diagnostic outputs to a folderdfdr_write_report
DIA-NN: global precursor list built by minimum run-wise q across runsdiann_global_minrunq
DIA-NN -> global precursor universe (deduplicated by 'Precursor.Id')diann_global_precursor
DIA-NN -> run-by-precursor universe (deduplicated within run)diann_runxprecursor
Flag diagnostic values based on heuristic thresholdsflag_headline
Create a competed-winner universe from mokapot PSM outputsmokapot_competed_universe
Print a 'dfdr_tbl'print.dfdr_tbl
Read MaxQuant 'msms.txt' into a 'dfdr_tbl' (PSM-level; reconstructed TDC q-values)read_dfdr_maxquant_msms
Read mzIdentML into a 'dfdr_tbl' (generic; score-based TDC q-values)read_dfdr_mzid
Read a DIA-NN 'report.parquet'read_diann_parquet
Read mokapot PSM text outputs (targets + decoys) and combineread_mokapot_psms
Read a Spectronaut TSV reportread_spectronaut
Read Spectronaut efficiently with column selectionread_spectronaut_efficient
Convert identification scores to p-values or pseudo-p-valuesscore_to_pvalue
Spectronaut -> run-by-precursor universe (deduplicated within run by 'EG.PrecursorId')spectronaut_runxprecursor