Skip to content

v3.0.0 release - #46

Merged
holsam merged 115 commits into
mainfrom
v3.0.0-release
Aug 13, 2026
Merged

v3.0.0 release#46
holsam merged 115 commits into
mainfrom
v3.0.0-release

Conversation

@holsam

@holsam holsam commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Pull request (PR) description:

This PR implements several changes to comMS:

  • Adds status tracking to report command, so logs reflect the success/failure states of each section.
  • Adds utility commands for downloading/verifying R dependencies are available.
  • Updates experiment command to allow editing of existing experiments, both via the CLI and GUI.
  • Updates logging to use a new INPUT level so user inputs (e.g. from CLI) are reflected in log files.
  • Majorly updates config command to update how configurations are stored and edited for simplicity. Also adds command-line overrides for configuration options to allow per-run modifications which are reported in a params.toml file.
  • Updates comMS test suite to reflect current functionality.
  • Updates comMS documentation to reflect current functionality.
  • Adds GitHub workflows for validating PRs and creating GitHub releases.

Issues resolved:

n/a

holsam added 30 commits July 7, 2026 14:29
- Added r/utils/status.R to track R section completion statuses
per-organism and record these to a JSON file for parsing in Python.
- Modified r/sections/pca.R to implement status reporting per-organism,
and to add a sample count guard to prevent attempts to analyse with too
few samples for clustering.
- Modified r/sections/da.R to implement status reporting for skipping
section and to ensure one fraction error does not fail the entire
pipeline.
- Modified r/sections/qc.R to implement status reporting and add a
sample count guard for generating upset plots and presence/absence
heatmaps.
- Modified r/sections/concordance.R to implement status reporting for
skipping  section and to ensure one fraction error does not fail the entire
pipeline.
- Modified r/sections/aux/ev-markers.R to implement status reporting.
- Modified commands/report.py to rebuild logging logic to use new status
reports, allowing more granular reporting of results.
- Modified tests/unit/test_report.py to update index writing test to use
new function signature.
Merge pull request #39 from holsam/report-improvements
- Added r/dependencies.R to list all required R package dependencies for
running comms report sections.
- Modified r/dependencies.R to add jsonlite dependency.
- Moved r/dependencies.R and r/install_deps.R to r/deps/... to contain
dependency-related scripts in single subdirectory.
- Added r/deps/check_deps.R to check if required dependencies are
installed.
- Modified r/deps/install_deps.R to only install missing dependencies.
- Added utils/installrdeps.py to wrap R dependency utilities in Python
for CLI access.
- Added cli/rutils.py to create new r-utils command for checking and
installing R dependencies.
- Modified cli/cli.py to register new r-utils command.
- Modified utils/installrdeps.py to print installed/missing dependencies
to terminal, and to prompt for confirmation before installing if called
directly.
- Modified cli/rutils.py to update function called by install subcommand
to use terminal version that prompts for confirmation before installing.
- Modified cli/rutils.py to remove initial debug-level log message.
- Modified utils/installrdeps.py to update style of output text to use
logging messages and to use single line.
- Modified utils/installrdeps.py to ensure consistent log message
formatting.
- Modified utils/log.py to add a new level for inputs, which allows
inputs via rich.prompt and records to both streams with the same style
as other log messages.
- Modified utils/installrdeps.py to update levels used in logging, and
to use new log input method.
- Modified utils/sheet.py to add a utility function for parsing TSV
files (ie sample sheets) to SampleRow classes.
- Modified commands/experiment.py to add a helper function to check if
an experiment already exists at a given path.
- Modified commands/experiment.py to update logic to allow editing an
existing experiment using headless mode.
- Modified cli/cli.py to update experiment command to accept an
experiment directory if provided.
- Modified utils/log.py to allow case_sensitive kwarg for rich.prompt to
be passed through to logMsg.input.
- Modified cli/cli.py to add import statements for required libraries.
- Modified commands/experiment.py to update inputs in headless mode to
use new logMsg.input class method.
holsam added 19 commits August 12, 2026 15:27
- Modified docs/configuration.md to reflect v3.0.0 updates to config
file creation and modification.
Merge pull request #44 from holsam/v3.0.0-docs
- Added .github/workflows/pr_ci_report.py to create a markdown file from
results of Pull Request CI Report workflow to be used as auto-generated
comment in repo.
- Added .github/workflows/pr-ci-report.yml to define a workflow for
running Python and R tests automatically for a pull request, commenting
the results as a table.
- Added .github/workflows/pr-version-check.yml to check that any pull
requests raised on merged are increasing the version number.
- Added .github/workflows/publish-release.yml to build source
distributions and publish release to GitHub on pushes to main.
- Modified .github/workflows/pr-ci-report.yml to fix incorrect R
dependency installation path, and to use opencv-python-headless during
Python tests to ensure they run on Linux.
- Modified .github/workflows/pr-ci-report.yml to fix missing testthat
installation and to install the dependencies required by Qt on Linux.
- Modified tests/r/test_utils_import.R to correct R import tests which
were not using the correct filenames for spectral count results files,
causing issues with column names being imported.
- Modified .github/workflows/pr-ci-report.yml to include checkout step
for posting summary comment so the pr_ci_report.py script is accessible.
- Modified .github/workflows/pr-ci-report.yml to download required Linux
dependencies for R packages.
- Modified .github/workflows/pr-ci-report.yml to include additional
Linux dependencies for running R scripts, and to add debug for report
comment.
- Modified .github/workflows/pr-ci-report.yml to add debug step and
remove R version 4.3.0 from matrix.
- Modified .github/workflows/pr-ci-report.yml to add additional Linux
dependencies.
- Modified .github/workflows/pr_ci_report.py to fix glob pattern.
- Modified README.md to update minimum R version required.
- Modified .github/workflows/pr-ci-report.yml to update post comment job
so checkout runs first, to stop deletion of downloaded artifacts as
before.
Merge pull request #45 from holsam/gh-improvements
- Modified pyproject.toml and uv.lock to reflect version for release.

Version number: 3.0.0
@holsam holsam added this to the v3.0.0 release milestone Aug 13, 2026
@holsam holsam self-assigned this Aug 13, 2026
@holsam holsam added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Aug 13, 2026
- Modified .github/workflows/pr-version-check.yml to remove unterminated
string literals.
@github-actions

Copy link
Copy Markdown

Pull Request CI Report

Caution

GitHub Actions runners do not have ThermoRawFileParser or Crux installed. Tests dependent on these binaries are skipped and should instead be run manually before merging.


Summary

Operating System Source distributions built? CLI available? Passed Python tests? Passed R tests?
macOS (26.5.2)
Ubuntu (24.04)

Python Tests

Python versions tested: 3.14, 3.15

Operating System Python 3.14 Python 3.15
macOS (26.5.2)
Ubuntu (24.04)

R Tests

R versions tested: 4.4.3, 4.5.3, 4.6.1

Operating System R 4.4.3 R 4.5.3 R 4.6.1
macOS (26.5.2)
Ubuntu (24.04)


Auto-generated by the comMS Pull Request CI Report workflow. See full logs in the Actions run for this PR.

@holsam
holsam merged commit a124aae into main Aug 13, 2026
13 checks passed
@holsam
holsam deleted the v3.0.0-release branch August 13, 2026 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

comms experiment doesn't edit existing experiment Add utility command to install R dependencies

1 participant