Skip to content

Commit 5c68b81

Browse files
chore(syncweaver): update from CCBR/MOSuite@v0.5.0 (#12)
* chore(syncweaver): update tracked sources from CCBR/MOSuite@v0.5.0 * chore: use MOSuite v0.5.0 docker * test: runtime improvement --------- Co-authored-by: ccbr-bot[bot] <258092125+ccbr-bot[bot]@users.noreply.github.com> Co-authored-by: Kelly Sovacool, PhD <kelly-sovacool@users.noreply.github.com> Co-authored-by: kelly-sovacool <kelly.sovacool@nih.gov>
1 parent d8196b8 commit 5c68b81

106 files changed

Lines changed: 2427 additions & 1262 deletions

File tree

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.5.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.5.0",
9+
"git_sha": "a1b6f5091131dbe25023969342ee7abb573bb01a"
1010
}
1111
}
1212
}

‎CHANGELOG.md‎

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

33
## Development version
44

5+
- Use MOSuite v0.5.0. (#12, @kelly-sovacool)
6+
57
## v4.0
68

79
- Hide the count subtype parameter and automatically use the `voom` subtype when plotting normalized counts (#11, @phoman14).

‎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,
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
contact_links:
2+
- name: MOObject
3+
url: https://github.com/CCBR/MOObject/issues
4+
about: Issues relating to the multiOmicDataSet object belong here.
25
- name: Discussions
36
url: https://github.com/CCBR/MOSuite/discussions
47
about: Please ask and answer questions here.

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

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
## Changes
22

33
<!--
4-
Provide a brief summary of what is included in this Pull Request (PR).
4+
Provide a brief, concise summary of what is included in this Pull Request (PR).
5+
If the PR contains complex changes, also include a brief description of the rationale
6+
behind the implementation decisions.
7+
Focus this section on the actual user-facing behavior change, bug fix, or design decision.
8+
Do not include descriptions of obvious, redundant, automated, or required changes that are already covered by checklist items.
9+
Do not add housekeeping-only bullets. In particular, do not list the following in the Changes section unless one of them is itself the primary behavior change being proposed:
10+
- regenerated `man/*.Rd` or `NAMESPACE` files
11+
- `NEWS.md` bookkeeping updates made to satisfy release/changelog requirements
12+
- routine roxygen2 or test file regeneration that only reflects the underlying feature/fix
13+
- any bullet that only says files were regenerated/updated (for example, "Regenerate `man/*.Rd`" or "Update `NEWS.md`")
514
-->
615

716
## Issues
@@ -11,11 +20,27 @@ Reference any issues related to this PR.
1120
If this PR fixes any issues,
1221
[use a keyword](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)
1322
when referring to the issue so it will be closed automatically when the PR is merged.
23+
If there are no relevant issues, uncomment the below line:
24+
None
25+
-->
26+
27+
<!-- If generative AI was used to draft or generate any part of this PR:
28+
1. Uncomment the header "## Generative AI Usage Statement" below
29+
2. Fill in a brief description of how generative AI was used
30+
3. Disclose the tool and model version used
31+
32+
If generative AI was NOT used in any way, leave this entire section commented out.
33+
34+
## Generative AI Usage Statement
35+
36+
Include a brief description of how generative AI assistance was used to generate any of the code or content included in this PR,
37+
e.g. writing code, writing unit tests, troubleshooting problems, software design discussion, commit messages, or preparing the PR.
38+
Disclose the tool and model version used, e.g. Claude Haiku 4.5, GPT-5.6, Copilot w/ Claude Sonnet 5, etc.
1439
-->
1540

1641
## PR Checklist
1742

18-
(~Strikethrough~ any points that are not applicable.)
43+
(~Strikethrough~ any points that are not applicable. Check boxes only, do not append descriptions.)
1944

2045
- [ ] This comment contains a description of changes with justifications, with any relevant issues linked.
2146
- [ ] Write unit tests for any new features, bug fixes, or other code changes.

‎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/.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ plot-volc-enh.json
2222
Rplots.pdf
2323
VennDiagram.*.log
2424
volc-sum-params.json
25+
.github/PR_DRAFT.md

0 commit comments

Comments
 (0)