Skip to content

Commit 48622b8

Browse files
authored
Merge pull request #405 from bigbio/dev
Release of quantms v1.3.0
2 parents 3586089 + 25e8e14 commit 48622b8

148 files changed

Lines changed: 4887 additions & 4877 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.

.devcontainer/devcontainer.json

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@
1010
"vscode": {
1111
// Set *default* container specific settings.json values on container create.
1212
"settings": {
13-
"python.defaultInterpreterPath": "/opt/conda/bin/python",
14-
"python.linting.enabled": true,
15-
"python.linting.pylintEnabled": true,
16-
"python.formatting.autopep8Path": "/opt/conda/bin/autopep8",
17-
"python.formatting.yapfPath": "/opt/conda/bin/yapf",
18-
"python.linting.flake8Path": "/opt/conda/bin/flake8",
19-
"python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle",
20-
"python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle",
21-
"python.linting.pylintPath": "/opt/conda/bin/pylint"
13+
"python.defaultInterpreterPath": "/opt/conda/bin/python"
2214
},
2315

2416
// Add the IDs of extensions you want installed when the container is created.

.editorconfig

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,16 @@ end_of_line = unset
1818
insert_final_newline = unset
1919
trim_trailing_whitespace = unset
2020
indent_style = unset
21-
indent_size = unset
21+
[/subworkflows/nf-core/**]
22+
charset = unset
23+
end_of_line = unset
24+
insert_final_newline = unset
25+
trim_trailing_whitespace = unset
26+
indent_style = unset
2227

2328
[/assets/email*]
2429
indent_size = unset
30+
31+
# ignore python and markdown
32+
[*.{py,md}]
33+
indent_style = unset

.github/CONTRIBUTING.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,15 @@ Please use the pre-filled template to save time.
99
However, don't be put off by this template - other more general issues and suggestions are welcome!
1010
Contributions to the code are even more welcome ;)
1111

12-
:::info
13-
If you need help using or modifying nf-core/quantms then the best place to ask is on the nf-core Slack [#quantms](https://nfcore.slack.com/channels/quantms) channel ([join our Slack here](https://nf-co.re/join/slack)).
14-
:::
12+
> [!NOTE]
13+
> If you need help using or modifying nf-core/quantms or bigbio/quantms then the best place to ask is on the nf-core Slack [#quantms](https://nfcore.slack.com/channels/quantms) channel ([join our Slack here](https://nf-co.re/join/slack)).
1514
1615
## Contribution workflow
1716

18-
If you'd like to write some code for nf-core/quantms, the standard workflow is as follows:
17+
If you'd like to write some code for nf-core/quantms and bigbio/quantms, the standard workflow is as follows:
1918

20-
1. Check that there isn't already an issue about your idea in the [nf-core/quantms issues](https://github.com/nf-core/quantms/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
21-
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/quantms repository](https://github.com/nf-core/quantms) to your GitHub account
19+
1. Check that there isn't already an issue about your idea in the [nf-core/quantms issues](https://github.com/nf-core/quantms/issues) and [bigbio/quantms_issues](https://github.com/bigbio/quantms/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
20+
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [bigbio/quantms repository](https://github.com/bigbio/quantms) to your GitHub account
2221
3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions)
2322
4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
2423
5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged
@@ -27,6 +26,12 @@ If you're not used to this workflow with git, you can start with some [docs from
2726

2827
## Tests
2928

29+
You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command:
30+
31+
```bash
32+
nf-test test --profile debug,test,docker --verbose
33+
```
34+
3035
When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
3136
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.
3237

@@ -56,7 +61,7 @@ These tests are run both with the latest available version of `Nextflow` and als
5661

5762
## Getting help
5863

59-
For further information/help, please consult the [nf-core/quantms documentation](https://nf-co.re/quantms/usage) and don't hesitate to get in touch on the nf-core Slack [#quantms](https://nfcore.slack.com/channels/quantms) channel ([join our Slack here](https://nf-co.re/join/slack)).
64+
For further information/help, please consult the [bigbio/quantms documentation](https://docs.quantms.org/en/latest/usage.html) and don't hesitate to get in touch on the nf-core Slack [#quantms](https://nfcore.slack.com/channels/quantms) channel ([join our Slack here](https://nf-co.re/join/slack)).
6065

6166
## Pipeline contribution conventions
6267

@@ -87,7 +92,7 @@ Once there, use `nf-core schema build` to add to `nextflow_schema.json`.
8792

8893
Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.
8994

90-
The process resources can be passed on to the tool dynamically within the process with the `${task.cpu}` and `${task.memory}` variables in the `script:` block.
95+
The process resources can be passed on to the tool dynamically within the process with the `${task.cpus}` and `${task.memory}` variables in the `script:` block.
9196

9297
### Naming schemes
9398

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/quan
1919
- [ ] If necessary, also make a PR on the nf-core/quantms _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
2020
- [ ] Make sure your code lints (`nf-core lint`).
2121
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
22+
- [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir <OUTDIR>`).
2223
- [ ] Usage Documentation in `docs/usage.md` is updated.
2324
- [ ] Output Documentation in `docs/output.md` is updated.
2425
- [ ] `CHANGELOG.md` is updated.

.github/workflows/awsfulltest.yml

Lines changed: 0 additions & 42 deletions
This file was deleted.

.github/workflows/awstest.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/workflows/branch.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
2020
- name: Post PR comment
2121
if: failure()
22-
uses: mshick/add-pr-comment@v1
22+
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
2323
with:
2424
message: |
2525
## This PR is against the `master` branch :x:

.github/workflows/ci.yml

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,47 +34,71 @@ jobs:
3434
NXF_VER:
3535
- "23.04.0"
3636
- "latest-everything"
37-
test_profile: ["test_lfq", "test_lfq_sage", "test_dia", "test_localize", "test_tmt"]
38-
exec_profile: ["docker", "conda"]
37+
test_profile: ["test_lfq", "test_lfq_sage", "test_dia", "test_localize", "test_tmt", "test_dda_id"]
38+
exec_profile: ["docker"]
3939
exclude:
4040
- test_profile: test_dia
4141
exec_profile: conda
4242
- test_profile: test_localize
4343
exec_profile: conda
4444
- NXF_VER: "latest-everything"
4545
exec_profile: "conda"
46+
include:
47+
- test_profile: test_latest_dia
48+
exec_profile: singularity
49+
- test_profile: test_lfq
50+
exec_profile: conda
51+
- test_profile: test_dda_id
52+
exec_profile: conda
4653
steps:
4754
- name: Check out pipeline code
48-
uses: actions/checkout@v3
55+
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
4956

5057
- name: Install Nextflow
51-
uses: nf-core/setup-nextflow@v1
58+
uses: nf-core/setup-nextflow@v2
5259
with:
5360
version: "${{ matrix.NXF_VER }}"
5461

62+
- name: Disk space cleanup
63+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
64+
5565
- name: Install micromamba
66+
env:
67+
MAMBA_ROOT_PREFIX: ${{ github.workspace }}/.micromamba
5668
if: matrix.exec_profile == 'conda'
5769
run: |
5870
wget -qO- https://micromamba.snakepit.net/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
5971
echo "$(pwd)/bin" >> $GITHUB_PATH
6072
echo "$(pwd)/micromamba/bin" >> $GITHUB_PATH
61-
./bin/micromamba shell init -s bash -p ./micromamba
73+
./bin/micromamba shell init -s bash
6274
echo $'channels:\n - conda-forge\n - bioconda\n - defaults\nuse_lockfiles: false' >> ~/.mambarc
63-
64-
- name: Run pipeline with test data
65-
if: matrix.exec_profile != 'conda'
75+
- name: Install Singularity with defaults
76+
if: matrix.exec_profile == 'singularity'
77+
uses: singularityhub/install-singularity@main
78+
- name: Run pipeline with test data in docker profile
79+
if: matrix.exec_profile == 'docker'
6680
# TODO nf-core: You can customise CI pipeline run tests as required
6781
# For example: adding multiple test runs with different parameters
6882
# Remember that you can parallelise this by using strategy.matrix
6983
run: |
7084
nextflow run ${GITHUB_WORKSPACE} -profile $TEST_PROFILE,$EXEC_PROFILE --outdir ${TEST_PROFILE}_${EXEC_PROFILE}_results
7185
- name: Run pipeline with test data in conda profile (and single-threaded)
86+
env:
87+
MAMBA_ROOT_PREFIX: ${{ github.workspace }}/.micromamba
7288
if: matrix.exec_profile == 'conda'
7389
# TODO nf-core: You can customise CI pipeline run tests as required
7490
# For example: adding multiple test runs with different parameters
7591
# Remember that you can parallelise this by using strategy.matrix
7692
run: |
7793
nextflow run ${GITHUB_WORKSPACE} -profile $TEST_PROFILE,micromamba --outdir ${TEST_PROFILE}_${EXEC_PROFILE}_results
94+
- name: Run pipeline with test data in singularity profile
95+
if: matrix.exec_profile == 'singularity'
96+
# TODO nf-core: You can customise CI pipeline run tests as required
97+
# For example: adding multiple test runs with different parameters
98+
# Remember that you can parallelise this by using strategy.matrix
99+
run: |
100+
nextflow run ${GITHUB_WORKSPACE} -profile $TEST_PROFILE,$EXEC_PROFILE --outdir ${TEST_PROFILE}_${EXEC_PROFILE}_results
101+
78102
- name: Gather failed logs
79103
if: failure() || cancelled()
80104
run: |

.github/workflows/clean-up.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
issues: write
1111
pull-requests: write
1212
steps:
13-
- uses: actions/stale@v7
13+
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9
1414
with:
1515
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days."
1616
stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment if it is still useful."
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Test successful pipeline download with 'nf-core download'
2+
3+
# Run the workflow when:
4+
# - dispatched manually
5+
# - when a PR is opened or reopened to master branch
6+
# - the head branch of the pull request is updated, i.e. if fixes for a release are pushed last minute to dev.
7+
on:
8+
workflow_dispatch:
9+
inputs:
10+
testbranch:
11+
description: "The specific branch you wish to utilize for the test execution of nf-core download."
12+
required: true
13+
default: "dev"
14+
pull_request:
15+
types:
16+
- opened
17+
- edited
18+
- synchronize
19+
branches:
20+
- master
21+
pull_request_target:
22+
branches:
23+
- master
24+
25+
env:
26+
NXF_ANSI_LOG: false
27+
28+
jobs:
29+
download:
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Install Nextflow
33+
uses: nf-core/setup-nextflow@v2
34+
35+
- name: Disk space cleanup
36+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
37+
38+
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
39+
with:
40+
python-version: "3.12"
41+
architecture: "x64"
42+
- uses: eWaterCycle/setup-singularity@931d4e31109e875b13309ae1d07c70ca8fbc8537 # v7
43+
with:
44+
singularity-version: 3.8.3
45+
46+
- name: Install dependencies
47+
run: |
48+
python -m pip install --upgrade pip
49+
pip install git+https://github.com/nf-core/tools.git@dev
50+
51+
- name: Get the repository name and current branch set as environment variable
52+
run: |
53+
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> ${GITHUB_ENV}
54+
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> ${GITHUB_ENV}
55+
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> ${GITHUB_ENV}
56+
57+
- name: Download the pipeline
58+
env:
59+
NXF_SINGULARITY_CACHEDIR: ./
60+
run: |
61+
nf-core download ${{ env.REPO_LOWERCASE }} \
62+
--revision ${{ env.REPO_BRANCH }} \
63+
--outdir ./${{ env.REPOTITLE_LOWERCASE }} \
64+
--compress "none" \
65+
--container-system 'singularity' \
66+
--container-library "quay.io" -l "docker.io" -l "ghcr.io" \
67+
--container-cache-utilisation 'amend' \
68+
--download-configuration
69+
70+
- name: Inspect download
71+
run: tree ./${{ env.REPOTITLE_LOWERCASE }}
72+
73+
- name: Run the downloaded pipeline (stub)
74+
id: stub_run_pipeline
75+
continue-on-error: true
76+
env:
77+
NXF_SINGULARITY_CACHEDIR: ./
78+
NXF_SINGULARITY_HOME_MOUNT: true
79+
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
80+
- name: Run the downloaded pipeline (stub run not supported)
81+
id: run_pipeline
82+
if: ${{ job.steps.stub_run_pipeline.status == failure() }}
83+
env:
84+
NXF_SINGULARITY_CACHEDIR: ./
85+
NXF_SINGULARITY_HOME_MOUNT: true
86+
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -profile test,singularity --outdir ./results

0 commit comments

Comments
 (0)