prolfquapp 2.6.1
- Repeated-measures annotation processing now evaluates its subject-column and repeated-design checks as a single scalar condition.
- Shared Quarto reports now include the current FGCZ responsive figure-grid styling and opt-in full-width layout.
- Protein annotations are now joined to peptide and PTM results by protein ID, so every quantified feature retains its protein metadata without losing or multiplying result rows.
- The FGCZ Quarto dependency now follows its canonical
fgcz/fgczQuartoTemplateupstream and camel-cased package name, including the latest shared report assets and tab/download controls. - The experimental-design survey now links to NIST’s maintained guidance on blocking factors instead of an obsolete external URL.
- Package builds now install Quarto visual abstracts as dedicated runtime assets instead of vignette output, eliminating an R CMD check NOTE while preserving runtime-rendered report overviews.
- Quarto reports now vendor the dynamic horizontal FGCZ toolbar: it stays below the visible banner, pins to the top-right while scrolling, and expands its Find/Download text labels on hover or keyboard focus.
- The Docker image now installs the
prolfquaFirth-model performance fix, sofirth_nestedanalyses with very large peptide effects complete instead of spending days on unused coefficient profile-likelihood intervals.
prolfquapp 2.6.0
- The full Docker image now includes the fixed-size Quarto report figures and interactive widgets introduced in 2.5.1.
prolfquapp 2.5.1
- Quarto report figures now use fixed display dimensions based on the historic six-inch figures, so QC and differential-expression diagnostics remain a readable size and fit vertically on ultrawide screens.
prolfquapp 2.5.0
- Docker releases now derive their build mode from the semantic version:
X.Y.0tags run the full multi-architecture build and runtime checks, while laterX.Y.Zpatch tags update the packages declared inRemotesand rebuild prolfquapp on the matchingX.Y.0image. An urgent patch release fails if that full base image is unavailable or if the Docker environment or package dependencies changed sinceX.Y.0. - Docker builds now use Posit’s Ubuntu Noble R base image and native Posit Package Manager binaries on AMD64 and ARM64, avoiding lengthy source compilation while retaining Arrow’s zstd support.
- Docker images are now published to the GitHub Container Registry (
ghcr.io/prolfqua/prolfquapp) instead of Docker Hub. Images from earlier versions remain available on Docker Hub; new releases are published to GHCR.
prolfquapp 2.4.1
Quarto analysis reports now render standard static and interactive figures at a centred two-thirds of the content width. Intentional multi-column figure layouts, data tables, and compact Overview visual abstracts are unchanged.
All five Quarto reports now open with a compact, report-specific visual Overview: three summary cards show the number of samples, experimental groups, and quantified proteins (or the analysed feature type), followed by the visual abstract. The reports finish with a two-subtab Session Info area: Report provenance records the B-Fabric/input context, creator, timestamp, software/model, and package version, while R session info contains only
sessionInfo(). The visual abstracts are packaged with the reports, so the same layout is retained in runtime-rendered HTML output.Quarto visual abstracts are now copied as individual vignette assets, so
make build-vignettesno longer fails whendevtoolsstages report assets intodoc/.Package builds now exclude Quarto’s transient
vignettes/.quartofreeze cache, avoiding nonportable tar-path warnings and cache files in source tarballs.Package and vignette builds now synchronize the four FGCZ Quarto assets from
fgczquartotemplate, so generated reports use the current shared toolbar and styling.Quarto vignette extraction now uses safe defaults for report-local conditional metadata, preventing spurious missing-object errors while creating the companion
.Rsources.Differential Expression Analysis Quality Control report (
DiffExpQC_R6_tabset.qmd) now presents its report/analysis metadata (Workunit, Order, Project, generated-by, timestamp, software, model, package version) once — as a table in a final Session Info tab, alongsidesessionInfo()— instead of duplicating it in a top-of-page callout.Quarto reports now ship the updated right-aligned Find / Download toolbar asset, positioned below the FGCZ banner around one-quarter of the viewport height from the top; plot ZIP downloads can include Order/Workunit metadata and a current timestamp.
The documentation website now uses Quarto repository source links instead of the broken altdoc
code-links: truesidebar entry, so the source link points to GitHub instead ofundefined.Interactive Plotly subplots now fade non-hovered keyed traces, so abundance-density curves from prolfqua become easier to inspect sample by sample.
Quarto reports now render reliably under
R CMD checkand in fresh installs. The reports are rendered viafgczquartotemplate::fgcz_render(), which stages the FGCZ template assets (_metadata.yml,fgcz.scss,fgcz_header_quarto.html,fgcz-plot-finder.html) next to the report from the installedfgczquartotemplatepackage. Previously the reports used thefgczquartotemplate-htmlQuarto extension and relied on the_extensions/tree being shipped into the installeddoc/, but thevignettes/.install_extrasrule never actually shipped it, so rendering failed when no_extensions/directory was present (e.g. underR CMD check). The reports are now plainformat: htmldocuments styled by a directory-level_metadata.yml, with the Find/Download toolbar wired viainclude-after-body: fgcz-plot-finder.html;fgczquartotemplatewas added toImports.The explanatory info callouts in the Quarto reports (e.g. “Why look at the fold-change and p-value distributions?” in the tabbed DEA report, and the “About this report” note in the QC & sample-size report) are now collapsed by default, so the reports open with a cleaner overview and readers expand a note only when they want it.
Restructured the “Protein Signal Intensities within Groups” report (
QC_ProteinAbundances_tabset.qmd): the Protein abundances tab now leads with the iBAQ signal figure, followed by the table, with the column descriptions and the “What is the iBAQ signal?” explanation moved into collapsed info boxes; Order/Workunit metadata moved from the top of the page into a new final “Session Info” tab (alongsidesessionInfo()). Also fixed the column-description list, where thenrMeasured_<GroupName>/meanAbundance_<GroupName>/signal_percent_<GroupName>names had their<GroupName>suffix silently dropped (it was parsed as an HTML tag); the group-suffix placeholders now render.Documentation website Articles menu cleaned up: the entries are now ordered Differential Expression Analysis, its Quality Control report, the tabbed Differential Expression report, Protein Signal Intensities within Groups, Quality Control & Sample Size Estimation, and the Auxiliary meeting-agenda article last. The
Grp2Analysis_V2_SE_tabsetreport was retitled from “Differential Abundance Analysis” to “Differential Expression Analysis (Tabbed Report)” so it is clearly the tabbed variant of the main DEA report. The stubprolfquapp.Rmdintroduction vignette (an incomplete skeleton duplicating the README) was removed.Tabbed DEA report (
Grp2Analysis_V2_SE_tabset.qmd): rewrote the cryptic UpSet-plot captions (feature-detection overlap between groups; significant / increased / decreased features shared between contrasts) so each states that it is an UpSet plot and explains what the intersection bars, dot matrix, and set-size bars represent, and clarified the MA-plot and significant-feature heatmap captions.The default contrast model is now
lm_imputeinstead oflm_missing.lm_imputerefits proteins whose per-protein linear model failed or was singular by imputing at the limit of detection with borrowed variance (flagging rescued rows aslod_imputed), whereas the deprecatedlm_missingsubstituted group means without a model fit. This changes default DEA results for proteins that could not be fit directly, removes the prolfqua deprecation warning emitted on every default run, and applies tomake_DEA_config_R6(),run_make_yaml(), theprolfqua_yaml.sh --modeldefault, and the CompoundDiscoverer DEA entry point.lm_missingremains available as an explicitmodel =/--modelchoice.The documentation website is now built with altdoc (Quarto Website backend) instead of pkgdown. pkgdown’s
tweak_tabsetsstep crashes on the Quartopanel-tabsets used by the tabbed report vignettes; altdoc renders the vignettes natively through Quarto, so the tabset reports appear on the site with their tabs intact. Removed the obsoletemake quarto/render-quartopreview targets from the Makefile. # prolfquapp 2.4.0The DEA results
index.html(write_index_html) is now rendered as an FGCZ Quarto entry page with separate deliverable tables for HTML reports, Excel workbooks, ORA input gene lists, and GSEA rank files, including captions, file sizes, report descriptions, and Excel-content descriptions.Report HTML output filenames now match their Quarto source rather than the workunit-based
DE_/QC_scheme: a DEA run writesGrp2Analysis_V2_R6.html,Grp2Analysis_V2_SE_tabset.html,DiffExpQC_R6_tabset.html, andQCandSSE_tabset.html; a QC run writesQC_ProteinAbundances_tabset.htmlandQCandSSE_tabset.html— all inside the per-workunitResults_WU_<workunit>/(or QC output) folder. The index page continues to label links with descriptive report titles, not filenames.Renamed the Quarto report vignettes to drop the now-redundant
_quartosuffix (every report is Quarto): the primary DEA report isGrp2Analysis_V2_R6.qmd, and the tabbed reports carry a_tabsetsuffix —DiffExpQC_R6_tabset.qmd,QCandSSE_tabset.qmd, andQC_ProteinAbundances_tabset.qmd(Grp2Analysis_V2_SE_tabset.qmdalready followed this convention). The report HTML filenames produced by the DEA and QC pipelines are unchanged.Reviewed every figure and table caption across the five Quarto reports against the FGCZ searchable-caption rule and rewrote the 16 that were vague or inaccurate into specific scientific labels (naming the measured quantity, what points/bars represent, the axes/encoding, grouping, and transformations). This corrects two DEA figures that were labelled “Venn diagram” but actually draw UpSet plots, disambiguates the two previously identical per-sample protein-count captions (proteins with ≥1 vs ≥2 peptides), and fixes the protein-abundance figure caption (its x-axis is the abundance-rank percentile, not the signal contribution).
SE tabset DEA report (
Grp2Analysis_V2_SE_tabset.qmd): the fold-change / p-value figure now carries a specific, searchable scientific caption (replacing the vague “Fold-change and p-value summaries.”) and is preceded by a callout explaining why both the fold-change distribution and the p-value distribution are inspected as model diagnostics (centred-near-zero fold-changes; approximately uniform p-values under the null).Removed the retired R Markdown report sources now that the pipelines render Quarto only:
Grp2Analysis_V2_R6.Rmd,DiffExpQC_R6.Rmd,QC_ProteinAbundances.Rmd, andQCandSSE.Rmd. The legacyDEAReportGenerator$render_DEA()method and therender/markdown/markdown_qcarguments ofwrite_DEA_all()(which drove the R Markdown rendering) were removed, and the exported helpercopy_DEA_R6_Files()(which copied the R Markdown templates into the run’s input folder) was removed. The two non-report R Markdown vignettes (prolfquapp.Rmd,Auxiliary_ExDesignSurvey.Rmd) are unaffected.The DEA and QC command-line pipelines now render Quarto reports only; the R Markdown reports are no longer rendered. The DEA run produces
DE_<workunit>.html(the R6 Quarto report, primary),DE_<workunit>_tabset.html(the SummarizedExperiment tabset overview),QC_<workunit>.html(the differential-expression QC report, now a tabbed Quarto report), andQC_sampleSizeEstimation.html(the sample-size estimation report, now also produced during a DEA run). The QC run producesproteinAbundances.htmlandQC_sampleSizeEstimation.htmlfrom their Quarto reports. Report rendering is centralized in one place and each report renders independently, so a single report failure warns without aborting the run or dropping the others. The.Rmdreport sources remain in the package but are no longer used by the pipelines.New Quarto report
DiffExpQC_R6_quarto.qmd: a tabbed port of the differential-expression QC report (DiffExpQC_R6.Rmd), with Missing Values, Variance, and Differential Expression tabs, styled with the FGCZ Quarto extension. It builds from a serializedDEAnalyse.rds(falling back toexample_deanalyse()).QCandSSE_quarto.qmd: the Sample Size Calculation section now splits into one sub-tab per tested log2 fold-change (0.59, 1, 2), each showing the sample-size bar chart and a smaller per-effect-size table, instead of stacked sub-figures and one wide table.QCandSSE_quarto.qmd: when the data contain no missing values (so the missing-value heatmap is empty) the report now shows an explicit “no missing values” placeholder in place of the heatmap, instead of dropping the figure and leaving a broken “Figure ??” cross-reference.QC_ProteinAbundances_quarto.qmdis now a two-tab report with no table of contents: the first tab (shown by default) holds the interactive protein table and the protein signal-contribution plot (the crosstalk table stays interactive), and the per-sample protein-count barplot moves to a second tab.QC runs now also produce the Quarto sample-size report (
QC_sampleSizeEstimation_quarto.html) alongside the existing R MarkdownQC_sampleSizeEstimation.html. It is rendered from a serialized copy of the QC data and receives the B-fabric project, order, and workunit identifiers, so its Workunit/Project/Order header is populated (falling back to “n/a” when an identifier is unset). Rendering is skipped with a warning, without failing the QC run, when the Quarto CLI or the installed report sources are unavailable.example_deanalyse()now sets example B-fabric identifiers (project/order/workunit), so the differential-expression Quarto report renders with a populated project context instead of blank fields when built from the bundled example.QCandSSE_quarto.qmdlayout tweaks: the per-sample feature counts and the sample-overlap UpSet plot are now shown side by side, as are the missing-value histogram and the missingness heatmap. The sample-size figure is split into one sub-panel per log2 fold-change (0.59, 1, 2) instead of a single cramped facet grid, giving each effect size full height.The
QCandSSE_quarto.qmdreport is now laid out as a tabbed report (Quartopanel-tabset), matchingGrp2Analysis_V2_SE_tabset.qmd. Top-level tabs are Introduction, Quality Control, Sample Size Calculation, Sample Mapping, and Session Info; the Quality Control tab groups Feature Detection, Missing Values, Abundance Distributions, Variance, and Sample Structure into sub-tabs, and the Variance sub-tab splits the raw-intensity coefficient of variation and the transformed-scale standard deviation into their own sub-tabs. All figures and tables keep their cross-reference numbers across tabs.New Quarto ports of the QC vignettes,
QC_ProteinAbundances_quarto.qmdandQCandSSE_quarto.qmd, styled with the vendored FGCZ Quarto extension (left table of contents, Find/Save toolbar) to match the other Quarto reports. They build from example data by default (example_qc_generator()and thedata_ionstarexample) and take file parameters (pap_file,qc_data_file) for real inputs. The existingQC_ProteinAbundances.Rmd/QCandSSE.Rmdare unchanged and the QC pipeline still renders them.Restructured the
QCandSSE_quarto.qmdreport for clearer scientific storytelling: consistent section hierarchy (Quality Control → Feature Detection / Missing Values / Abundance Distributions / Variance / Sample Structure, then Sample Size Calculation), an introduction roadmap and a visible caveat callout, every figure and table now referenced in the text, and an explicit coefficient-of-variation → standard-deviation → sample-size narrative. The sample correlation heatmap and the transformed-intensity overview heatmap are now shown side by side. Coefficient-of-variation and standard-deviation summary tables are rounded (2 and 3 decimals), sample-size counts are shown as integers, and a Session Info section with a provenance line was added.Both Quarto reports now live in
vignettes/as the single source of truth. The SummarizedExperiment tabbed report (Grp2Analysis_V2_SE_tabset.qmd) moved out ofinst/templates/quarto/intovignettes/and adopts the vendored FGCZ Quarto extension styling (with the Find/Save toolbar and a left table of contents), matchingGrp2Analysis_V2_R6_quarto.qmd. Both reports are shipped into the installed package’sdoc/directory, and the DEA CLI renders them from there: each run now also writesDEAnalyse.rdsnext toSummarizedExperiment.rdsand produces the Grp2 differential-expression Quarto report (*_quarto_dea.html) alongside the SE report. Quarto rendering requires the package to be installed with vignettes built (the default formake install); when the Quarto CLI or the built sources are absent, report rendering is skipped with a warning instead of failing the run.DEA report (
Grp2Analysis_V2_R6.Rmdand its Quarto portGrp2Analysis_V2_R6_quarto.qmd): the interactive PCA and volcano plots now use a responsive width with a fixed height instead of a fixed pixel width, fixing the tall/narrow rendering; the abundance-density subplot is given an explicit height so it no longer collapses.New Quarto vignette
Grp2Analysis_V2_R6_quarto.qmd: a Quarto port of the differential-expression report, styled with the vendored FGCZ Quarto template extension and built through the package vignette machinery. It loads the analysis object from a serialized.rdsvia thedeanalyse_fileparameter (falling back to a generated example when none is supplied), places the table of contents in a wider right-hand margin, and enables the FGCZ plot-finder toolbar (the floating “Find” and “Save”/download buttons). The existing R Markdown report is unchanged.CLI logging: the command-line entry points now route stray
message()andwarning()output (from prolfqua core, dplyr joins, and prolfquapp itself) through the logger, so those lines appear with the standardINFO/WARN [timestamp]layout and are captured in the run log file instead of printing untagged. readr’s column-specification chatter (Rows:/Columns:,Use spec()) is silenced. New exported helperroute_messages_to_logger(). # prolfquapp 2.3.3Protein abundance QC report (
QC_ProteinAbundances.Rmd): contaminant and decoy proteins are now drawn on top of the regular points instead of being hidden behind them, and are rendered with a separate, higher opacity so they stand out.plot_abundance_vs_percent()gains ahighlight_alphaargument (default1, so existing callers are unchanged); the report sets it to0.8.DiffExpQC report (
DiffExpQC_R6.Rmd): reverted the four combined figures from interactiveplotlysubplots back to staticgridExtra::grid.arrange()panels.