Skip to content

Commit 9d4a412

Browse files
ccbr-bot[bot]github-actions[bot]kelly-sovacool
authored
chore(syncweaver): update from CCBR/MOSuite@v0.4.2 (#9)
* chore(syncweaver): update tracked sources from CCBR/MOSuite@v0.4.2 * feat: build Venn plots directly from DEG results Pass the input multiOmicDataSet directly to MOSuite, expose strict DEG threshold controls, and support optional comma-separated contrast subsets. _AI assistance: GitHub Copilot_. * `air format` (GitHub Actions) * docs: add Venn PR changelog entry _AI assistance: GitHub Copilot_. * fix(panel): clarify DEG filtering controls _AI assistance: GitHub Copilot_. * Revert "fix(panel): clarify DEG filtering controls" This reverts commit 6e8f58b. * Revert "docs: add Venn PR changelog entry" This reverts commit a9e28b6. * Revert "`air format` (GitHub Actions)" This reverts commit faa51c0. * Revert "feat: build Venn plots directly from DEG results" This reverts commit 5a4b241. * chore: bump docker to mosuite-minimal v0.4.0 * chore: bump changelog --------- Co-authored-by: ccbr-bot[bot] <258092125+ccbr-bot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Kelly Sovacool <kelly.sovacool@nih.gov>
1 parent c449051 commit 9d4a412

45 files changed

Lines changed: 1054 additions & 167 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.codeocean/environment.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"version": 1,
3-
"base_image": "codeocean/mosuite-minimal:v0.3.2",
3+
"base_image": "codeocean/mosuite-minimal:v0.4.0",
44
"options": {
55
"registry_host_arg": true,
66
"git_ask_pass": true,

‎.syncweaver-lock.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"sources": {
66
"code/MOSuite": {
77
"repo_url": "https://github.com/CCBR/MOSuite",
8-
"ref": "v0.4.1",
9-
"git_sha": "4e85d49ab155618d9f6beafd327b6fb87dfa8609"
8+
"ref": "v0.4.2",
9+
"git_sha": "c06ecdff1292eefca106aa83112b579c8b509689"
1010
}
1111
}
1212
}

‎CHANGELOG.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Development version
44

5+
- Use MOSuite v0.4.0.
56
- Sync Code Ocean app panel parameter descriptions with MOSuite package documentation for MOSuite v0.4.1 (#6, @phoman14).
67
- Improved the Code Ocean parameter UI for the plot venn diagram capsule. (#2, @phoman14)
78

‎code/MOSuite/.Rbuildignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
^Rplots\.pdf$
3131
^SECURITY\.md$
3232
^tests/figures$
33+
^tests/testthat/figures/var
3334
^vignettes/cli\.Rmd$
3435
^vignettes/figures/$
3536
^vignettes/memory\.Rmd$

‎code/MOSuite/.github/CONTRIBUTING.md‎

Lines changed: 69 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,52 @@ If you've decided to work on an issue,
1414
[assign yourself to the issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users#assigning-an-individual-issue-or-pull-request)
1515
so others will know you're working on it.
1616

17+
## AI Use
18+
19+
Generative AI usage is welcome for generating code, documentation, and other text in this repository.
20+
Please remember that this project is maintained by humans; every discussion,
21+
issue, and pull request is read and reviewed by humans (and sometimes machines,
22+
too).
23+
Therefore, there are guidelines to make sure contributors' AI usage is helpful,
24+
productive, and responsible:
25+
26+
- **The human-in-the-loop must fully understand and approve all code and content.**
27+
You must evaluate the output of AI tools.
28+
Do not assume that AI-generated output is correct, accurate, or complete.
29+
You must be able to explain what your changes do and how they interact with the
30+
greater system in your own words.
31+
32+
From the [NIH AI Policy](https://nih.sharepoint.com/sites/NIH-ai/SitePages/Responsible-AI.aspx):
33+
> Do not rely on the technology to be a software developer by proxy: All
34+
> well-written code must adhere to security design and ethical principles.
35+
> **All code output needs to be reviewed** for completeness, quality,
36+
> efficiency, and, most of all, security.
37+
> Leverage manual and automated validation tools and testing technologies to
38+
> help ensure these factors.
39+
> **If you cannot identify or understand what a piece of AI generated code
40+
> does, you should not use it.**
41+
42+
- **Issues and discussions can use AI assistance but must have a full human-in-the-loop.**
43+
This means that any content generated with AI must have been reviewed _and
44+
edited_ by a human before submission. AI is very good at being overly verbose
45+
and including noise that distracts from the main point. Humans must do their
46+
research and trim this down to be concise and precise.
47+
48+
- **All AI usage should be disclosed.**
49+
In the footer of commit messages and in Pull Request descriptions:
50+
- State the tool and model version used
51+
(e.g. Claude Code w/ Claude Sonnet 5, Codex w/ GPT-5.6 Sol, Copilot w/ GPT-5.6 Terra, etc.)
52+
- Include a brief description of how AI assistance was used
53+
(e.g. writing code, writing unit tests, troubleshooting problems, software design discussion, commit messages, preparing pull requests).
54+
55+
56+
<sub>
57+
_These AI usage guidelines were adapted from
58+
[ghostty](https://github.com/ghostty-org/ghostty/blob/22d13172cde98a0a4dda05d3d6a3fcb0dd8ed018/AI_POLICY.md)
59+
and the
60+
[NIH AI Policy](https://nih.sharepoint.com/sites/NIH-ai/SitePages/Responsible-AI.aspx)._
61+
</sub>
62+
1763
## Pull request process
1864

1965
We use [GitHub Flow](https://docs.github.com/en/get-started/using-github/github-flow)
@@ -50,20 +96,29 @@ cd MOSuite
5096

5197
### If this is your first time cloning the repo, install dependencies
5298

99+
#### R dependencies
100+
53101
- In an R console, install the R development dependencies with
54-
`devtools::install_dev_deps()`, and then make sure the package passes R CMD
55-
check by running `devtools::check()`. If R CMD check doesn't pass cleanly,
56-
it's a good idea to ask for help before continuing.
102+
`devtools::install_dev_deps()`.
103+
- Alternatively, we have a docker container available with MOSuite's dependencies installed:
104+
[`docker://nciccbr/mosuite-minmal:latest`](https://hub.docker.com/r/nciccbr/mosuite-minimal).
105+
You can launch the container using your preferred engine (e.g. Docker, Podman, apptainer/singularity)
106+
with your clone of the repo mounted while developing your contributions.
57107

58-
- Install [`pre-commit`](https://pre-commit.com/#install) if you don't already
59-
have it. Then from the repo's root directory, run
108+
Before you make any changes, make sure the package passes R CMD check by running `devtools::check()`.
109+
If R CMD check doesn't pass cleanly, it's a good idea to **ask for help before continuing**.
60110

61-
```sh
62-
pre-commit install
63-
```
111+
#### Pre-commit
64112

65-
This will install the repo's pre-commit hooks.
66-
You'll only need to do this step the first time you clone the repo.
113+
Install [`pre-commit`](https://pre-commit.com/#install) if you don't already
114+
have it. Then from the repo's root directory, run
115+
116+
```sh
117+
pre-commit install
118+
```
119+
120+
This will install the repo's pre-commit hooks.
121+
You'll only need to do this step the first time you clone the repo.
67122

68123
### Create a branch
69124

@@ -109,6 +164,10 @@ Test files are organized as described in
109164
<https://style.tidyverse.org/tests.html>.
110165
Take a look at the existing code in this package for examples.
111166

167+
Ensure your tests cover all of the code changes you make, including various
168+
parameter options and edge cases.
169+
Do not skip tests unless you can give a strong reason for doing so.
170+
112171
#### document
113172

114173
If you have written a new function or changed the API of an existing function,

‎code/MOSuite/.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
<!--
44
Provide a brief summary of what is included in this Pull Request (PR).
5+
If the PR contains complex changes, include a brief description of the rationale
6+
behind the implementation decisions.
57
-->
68

79
## Issues
@@ -13,6 +15,18 @@ If this PR fixes any issues,
1315
when referring to the issue so it will be closed automatically when the PR is merged.
1416
-->
1517

18+
<!-- Uncomment the below header if including an AI usage statement:
19+
## Generative AI Usage Statement
20+
-->
21+
<!--
22+
Include a brief description of how AI assistance was used to generate any of the code or content included in this PR,
23+
e.g. writing code, writing unit tests, troubleshooting problems, software design discussion, commit messages, or preparing the PR.
24+
Disclose the tool and model version used, e.g. Claude Code w/ Claude Sonnet 5, Codex w/ GPT-5.6 Sol, Copilot w/ GPT-5.6 Terra, etc.
25+
26+
If generative AI tools were not used in any way whatsoever, uncomment the following line:
27+
_No generative AI tools were used_
28+
-->
29+
1630
## PR Checklist
1731

1832
(~Strikethrough~ any points that are not applicable.)

‎code/MOSuite/.github/copilot-instructions.md‎

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
## CI & enforcement suggestions (automatable)
1111

12-
1. **PR template**: include optional AI-assistance disclosure fields (model used, high-level prompt intent, manual review confirmation).
12+
1. **Pull Request template**: include optional AI-assistance disclosure fields (model used, high-level prompt intent, manual review confirmation).
1313
2. **Pre-merge check (GitHub Action)**: verify `.github/copilot-instructions.md` is present in the repository and that new pipeline files include a `# CRAFT:` header.
14-
3. **Lint jobs**: `ruff` for Python, `shellcheck` for shell, `lintr` for R, and `nf-core lint` or Snakemake lint checks where applicable.
14+
3. **Lint jobs**: `ruff` for Python, `shellcheck` for shell, `lintr` for R, `nf-core lint` for Nextflow, or Snakemake lint checks where applicable.
1515
4. **Secrets scan**: run `TruffleHog` or `Gitleaks` on PRs to detect accidental credentials.
1616
5. **AI usage label**: if AI usage is declared, an Action should add `generated-by-AI` label (create this label if it does not exist); the PR body should end with the italicized Markdown line: _Generated using AI_, and any associated commit messages should end with the plain footer line: `Generated using AI`.
1717

@@ -108,7 +108,7 @@ Rules:
108108

109109
## Pull Requests
110110

111-
When opening a pull request, use the repository's pull request template (usually it is `.github/PULL_REQUEST_TEMPLATE.md`).
111+
When opening a pull request, agents and authors must use the repository's pull request template (`.github/PULL_REQUEST_TEMPLATE.md`).
112112
Different repos have different PR templates depending on their needs.
113113
Ensure that the pull request follows the repository's PR template and includes all required information.
114114
Do not allow the developer to proceed with opening a PR if it does not fill out all sections of the template.
@@ -138,6 +138,18 @@ Example:
138138
- Fix bug in `detect_absolute_paths()` to ignore comments. (#123, @username)
139139
```
140140

141+
## Release Process
142+
143+
To cut a new release in a repo, first use the draft-release workflow
144+
(`.github/workflows/draft-release.yml`) to draft the release.
145+
Then the human developer must review the draft release and ensure it meets
146+
quality standards, then publish the release.
147+
AI agents must not publish a release, it can only be done by human developers.
148+
When the release is published, the post-release workflow (`.github/workflows/post-release.yml`)
149+
will run automatically and open a new Pull Request.
150+
The human developer must then review the PR, and approve & merge it if the PR
151+
meets quality standards.
152+
141153
## Onboarding checklist for new developers
142154

143155
- [ ] Read `.github/CONTRIBUTING.md` and `.github/copilot-instructions.md`.

‎code/MOSuite/AGENTS.md‎

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ multi-omic experiments.
99
Development of MOSuite follows the R packages 2nd edition (https://r-pkgs.org/),
1010
with a few minor exceptions noted below.
1111
Helper functions from `usethis` and `devtools` are used extensively for development tasks.
12+
Human developers should refer to the [contributing guidelines](./.github/CONTRIBUTING.md)
13+
for detailed instructions on how to contribute to MOSuite.
1214

1315
## Package conventions
1416

@@ -18,6 +20,7 @@ Helper functions from `usethis` and `devtools` are used extensively for developm
1820
- The package must pass `devtools::check()`.
1921
- R code should adhere to the tidyverse style guide. https://style.tidyverse.org/
2022
- Only include one return statement at the end of a function. Explicit returns are preferred but not required for R functions.
23+
- `NAMESPACE` and `man/` are generated by `devtools::document()`; never edit these files directly.
2124

2225
## Commit messages
2326

@@ -27,18 +30,30 @@ Helper functions from `usethis` and `devtools` are used extensively for developm
2730
- If mixed changes are present, split into multiple logical commits; the number of commits does not need to equal the number of files changed.
2831
- Subject format must be: `<type>(optional-scope): short imperative summary` (<=72 chars), e.g., `fix(profile): update release table parser`.
2932
- Add a body only when needed to explain **why** and notable impact; never include secrets, tokens, PHI, or large diffs.
30-
- For AI-assisted commits, add this final italicized footer line in the commit message body: _commit message is ai-generated_
33+
- For commits containing any AI-generated code, commit messages, or any other AI-generated content,
34+
add this final italicized footer line in the commit message body: "_AI assistance: [model]_".
35+
Replace [model] with the actual model version used, e.g. Claude Sonnet 5, GPT-5.6 Sol, etc.
3136

3237
## Pull request (PR) process
3338

39+
- PR titles must follow Conventional Commits format (see "Commit messages" section).
3440
- When opening a PR, use the request template (`.github/PULL_REQUEST_TEMPLATE.md`) and fill out all sections of the template in the PR description.
3541
- Do not allow the developer to proceed with opening a PR if it does not fill out all sections of the template.
3642
- Before a PR can be moved from draft to "ready for review", all of the relevant checklist items must be checked, and any
3743
irrelevant checklist items should be crossed out.
38-
- If code is AI-generated, the PR should be labeled `generated-by-AI`. There should be a brief, concise statement in the PR description of how AI was used in creating the PR (model used, high-level prompt intent, manual review confirmation).
39-
- When new features, bug fixes, or other behavioral changes are introduced to the code,
40-
unit tests must be added or updated to cover the new or changed functionality.
44+
- If the PR contains any code or other content that was generated with AI
45+
assistance, including AI assistance for opening the PR itself, the PR should
46+
be labeled `AI-assisted`. In the PR description, uncomment the heading
47+
"Generative AI Usage Statement" and add a brief, concise statement of how AI
48+
was used in creating the PR (model used, high-level prompt intent, manual
49+
review confirmation, etc.).
50+
- When new features, bug fixes, or other behavioral changes are introduced to
51+
the code, unit tests must be added or updated to cover the new or changed
52+
functionality.
53+
- Unit tests should cover all of the code that is added or modified in a PR.
54+
- Unit tests should not be skipped without a strong reason.
4155
- If there are any API or other user-facing changes, the documentation must be updated both inline via roxygen comments and long-form docs in the `vignettes/` directory as R Markdown files.
56+
- If there are merge conflicts, a human developer must resolve them. AI agents must not agree to assist with resolving merge conflicts. Human developers who are unsure how to proceed should reach out to the lead maintainer or code owner.
4257
- The `R-CMD-check` github actions workflow must pass before the PR can be approved.
4358

4459
### Changelog

‎code/MOSuite/CITATION.cff‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎code/MOSuite/DESCRIPTION‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: MOSuite
22
Title: R package for differential multi-omics analysis
3-
Version: 0.4.1
3+
Version: 0.4.2
44
Authors@R: c(
55
person("Kelly", "Sovacool", , "kelly.sovacool@nih.gov", role = c("aut", "cre"),
66
comment = c(ORCID = "0000-0003-3283-829X")),
@@ -85,11 +85,10 @@ VignetteBuilder:
8585
biocViews:
8686
Config/Needs/dev: cffr, covr, here, lintr, pkgdown,
8787
rcmdcheck, xml2
88-
Config/roxygen2/version: 8.0.0
88+
Config/roxygen2/version: 8.1.0
8989
Config/testthat/edition: 3
9090
Config/testthat/parallel: true
9191
Encoding: UTF-8
9292
LazyData: true
9393
LazyDataCompression: xz
9494
Roxygen: list(markdown = TRUE)
95-
RoxygenNote: 8.0.0

0 commit comments

Comments
 (0)