Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1 @@
/code/MOSuite linguist-vendored
code/MOSuite linguist-vendored
4 changes: 2 additions & 2 deletions .syncweaver-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"sources": {
"code/MOSuite": {
"repo_url": "https://github.com/CCBR/MOSuite",
"ref": "v0.3.2",
"git_sha": "f4465c58a7d04f5feb41d4455a019ca4946a4ca8"
"ref": "FigOutSync",
"git_sha": "f2177f7c4b1efc6960e96361442e7be099c532c9"
}
}
}
1 change: 1 addition & 0 deletions code/MOSuite/.Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@
VennDiagram.*\.log
^[.]?air[.]toml$
^\.vscode$
^SECURITY\.md$
92 changes: 92 additions & 0 deletions code/MOSuite/.github/workflows/syncweaver-source-dispatch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: syncweaver-source-dispatch

on:
release:
types: [published]
workflow_dispatch:
inputs:
source_ref:
description: Optional source ref to dispatch (defaults to release tag for release events, or current ref for manual runs).
required: false
type: string
source_repo:
description: Optional source repository override in OWNER/REPO format (defaults to current repository).
required: false
type: string
orchestrator-repo:
description: Optional orchestrator repository override in OWNER/REPO format.
required: false
default: CCBR/syncweaver
type: string

permissions:
contents: read

jobs:
notify-syncweaver:
runs-on: ubuntu-latest
env:
SOURCE_REPOSITORY: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.source_repo || github.repository }}
SOURCE_REF: ${{ github.event_name == 'release' && github.event.release.tag_name || github.event.inputs.source_ref || github.ref_name }}
ORCHESTRATOR_REPO: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs['orchestrator-repo'] || vars['orchestrator-repo'] || 'CCBR/syncweaver' }}
steps:
- name: Validate dispatch payload
shell: bash
run: |
set -euo pipefail
if [[ -z "${SOURCE_REPOSITORY//[[:space:]]/}" ]]; then
echo "Error: source repository cannot be empty." >&2
exit 1
fi
if [[ -z "${SOURCE_REF//[[:space:]]/}" ]]; then
echo "Error: source ref cannot be empty." >&2
exit 1
fi
if [[ -z "${ORCHESTRATOR_REPO//[[:space:]]/}" ]]; then
echo "Error: orchestrator repository cannot be empty." >&2
exit 1
fi
if [[ "${ORCHESTRATOR_REPO}" != */* ]]; then
echo "Error: orchestrator repository must be in OWNER/REPO format." >&2
exit 1
fi
if [[ -z "${{ vars.CCBR_BOT_APP_ID }}" ]]; then
echo "Error: vars.CCBR_BOT_APP_ID is required to generate a dispatch token." >&2
exit 1
fi
if [[ -z "${{ secrets.CCBR_BOT_PRIVATE_KEY }}" ]]; then
echo "Error: secrets.CCBR_BOT_PRIVATE_KEY is required to generate a dispatch token." >&2
exit 1
fi

- name: Resolve orchestrator repository owner and name
id: orchestrator_repo
shell: bash
run: |
set -euo pipefail
owner="${ORCHESTRATOR_REPO%%/*}"
repo="${ORCHESTRATOR_REPO#*/}"
if [[ -z "${owner}" || -z "${repo}" ]]; then
echo "Error: failed to parse orchestrator repository '${ORCHESTRATOR_REPO}'." >&2
exit 1
fi
echo "owner=${owner}" >> "$GITHUB_OUTPUT"
echo "repository=${repo}" >> "$GITHUB_OUTPUT"

- name: Generate CCBR-bot token
id: ccbr_bot
uses: actions/create-github-app-token@v3
with:
client-id: ${{ vars.CCBR_BOT_APP_ID }}
private-key: ${{ secrets.CCBR_BOT_PRIVATE_KEY }}
owner: ${{ steps.orchestrator_repo.outputs.owner }}
repositories: ${{ steps.orchestrator_repo.outputs.repository }}

- name: Dispatch syncweaver-update-hosts workflow in orchestrator repo
uses: peter-evans/repository-dispatch@v4
with:
token: ${{ steps.ccbr_bot.outputs.token }}
repository: ${{ env.ORCHESTRATOR_REPO }}
event-type: syncweaver-update-hosts
client-payload: >-
{"source_repository": ${{ toJson(env.SOURCE_REPOSITORY) }}, "ref": ${{ toJson(env.SOURCE_REF) }}}
29 changes: 16 additions & 13 deletions code/MOSuite/.gitignore
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
.Rproj.user
.Rhistory
.Rdata
.httr-oauth
.DS_Store
.quarto
docs
inst/doc
*_files/
**/figures/
/.github/plans/
/.httr-oauth
/.posit/
/.quarto
/.Rdata
/.Rhistory
/.Rproj.user
/.vscode/
/doc/
/docs
/inst/doc
/Meta/
/README.html
**/figures/
VennDiagram.*.log
*_files/
tests/testthat/Rplots.pdf
/tests/testthat/Rplots.pdf
/tmp
vignettes/args*.json
Rplots.pdf
/vignettes/args*.json
moo_input.rds
plot-volc-enh.json
Rplots.pdf
VennDiagram.*.log
volc-sum-params.json
1 change: 1 addition & 0 deletions code/MOSuite/.lintr
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ linters: linters_with_defaults(
commented_code_linter = NULL,
object_name_linter = NULL,
object_length_linter = object_length_linter(60L),
object_usage_linter = NULL,
return_linter = return_linter(
return_style = "explicit"
),
Expand Down
4 changes: 2 additions & 2 deletions code/MOSuite/.pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ repos:
args: ["-I=.github/WORDLIST.txt"]
# R formatting
- repo: https://github.com/posit-dev/air-pre-commit
rev: 0.9.0
rev: 0.10.0
hooks:
- id: air-format
- repo: https://github.com/lorenzwalthert/precommit
rev: v0.4.3.9025
rev: v0.4.3.9028
hooks:
- id: parsable-R
- id: readme-rmd-rendered
Expand Down
5 changes: 0 additions & 5 deletions code/MOSuite/.vscode/extensions.json

This file was deleted.

13 changes: 0 additions & 13 deletions code/MOSuite/.vscode/settings.json

This file was deleted.

60 changes: 47 additions & 13 deletions code/MOSuite/CITATION.cff

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion code/MOSuite/DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: MOSuite
Title: R package for differential multi-omics analysis
Version: 0.3.2
Version: 0.3.2.9000
Authors@R: c(
person("Kelly", "Sovacool", , "kelly.sovacool@nih.gov", role = c("aut", "cre"),
comment = c(ORCID = "0000-0003-3283-829X")),
Expand Down
7 changes: 7 additions & 0 deletions code/MOSuite/NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## MOSuite development version

- Align plot color defaults with the MOSuite Code Ocean capsule defaults while preserving fallback random colors when a requested palette is too short.
- Improve top and bottom legend wrapping and automatic legend text sizing for PCA and histogram plots with many or long labels.
- Align PCA and histogram plotting defaults used by `filter_counts()`, `normalize_counts()`, and `batch_correct_counts()` with the affected Code Ocean capsules: MOSuite-filter-counts, MOSuite-normalize-counts, MOSuite-plot-pca-2D, and MOSuite-plot-pca-3D.
- Add optional group coloring to `plot_read_depth()` and the `clean_raw_counts()` read-depth output while preserving the single-color default when no group is selected.

## 0.3.2

- Support ggplot2 v4.0.0 for correlation heatmap plots in `filter_counts()`, `normalize_counts()`, and `batch_correct_counts()`. (#205, @copilot, @kelly-sovacool)
Expand Down
Loading
Loading