Skip to content

Commit a9f7167

Browse files
committed
Merge branch 'nf-core-template-merge-3.1.1' into global_checkpoint_dir
2 parents d2ae9e7 + e627d9f commit a9f7167

33 files changed

+564
-362
lines changed

.editorconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,7 @@ indent_size = unset
3131
# ignore python and markdown
3232
[*.{py,md}]
3333
indent_style = unset
34+
35+
# ignore ro-crate metadata files
36+
[**/ro-crate-metadata.json]
37+
insert_final_newline = unset

.github/CONTRIBUTING.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# nf-core/drugresponseeval: Contributing Guidelines
1+
# `nf-core/drugresponseeval`: Contributing Guidelines
22

33
Hi there!
44
Many thanks for taking an interest in improving nf-core/drugresponseeval.
@@ -55,36 +55,34 @@ These tests are run both with the latest available version of `Nextflow` and als
5555

5656
:warning: Only in the unlikely and regretful event of a release happening with a bug.
5757

58-
- On your own fork, make a new branch `patch` based on `upstream/master`.
58+
- On your own fork, make a new branch `patch` based on `upstream/main` or `upstream/master`.
5959
- Fix the bug, and bump version (X.Y.Z+1).
60-
- A PR should be made on `master` from patch to directly this particular bug.
60+
- Open a pull-request from `patch` to `main`/`master` with the changes.
6161

6262
## Getting help
6363

6464
For further information/help, please consult the [nf-core/drugresponseeval documentation](https://nf-co.re/drugresponseeval/usage) and don't hesitate to get in touch on the nf-core Slack [#drugresponseeval](https://nfcore.slack.com/channels/drugresponseeval) channel ([join our Slack here](https://nf-co.re/join/slack)).
6565

6666
## Pipeline contribution conventions
6767

68-
To make the nf-core/drugresponseeval code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.
68+
To make the `nf-core/drugresponseeval` code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.
6969

7070
### Adding a new step
7171

7272
If you wish to contribute a new step, please use the following coding standards:
7373

74-
1. Define the corresponding input channel into your new process from the expected previous process channel
74+
1. Define the corresponding input channel into your new process from the expected previous process channel.
7575
2. Write the process block (see below).
7676
3. Define the output channel if needed (see below).
7777
4. Add any new parameters to `nextflow.config` with a default (see below).
7878
5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core pipelines schema build` tool).
7979
6. Add sanity checks and validation for all relevant parameters.
8080
7. Perform local tests to validate that the new code works as expected.
8181
8. If applicable, add a new test command in `.github/workflow/ci.yml`.
82-
9. Update MultiQC config `assets/multiqc_config.yml` so relevant suffixes, file name clean up and module plots are in the appropriate order. If applicable, add a [MultiQC](https://https://multiqc.info/) module.
83-
10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.
8482

8583
### Default values
8684

87-
Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope.
85+
Parameters should be initialised / defined with default values within the `params` scope in `nextflow.config`.
8886

8987
Once there, use `nf-core pipelines schema build` to add to `nextflow_schema.json`.
9088

.github/workflows/awsfulltest.yml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: nf-core AWS full size tests
2-
# This workflow is triggered on PRs opened against the master branch.
2+
# This workflow is triggered on PRs opened against the main/master branch.
33
# It can be additionally triggered manually with GitHub actions workflow dispatch button.
44
# It runs the -profile 'test_full' on AWS batch
55

66
on:
77
pull_request:
88
branches:
9+
- main
910
- master
1011
workflow_dispatch:
1112
pull_request_review:
@@ -18,18 +19,30 @@ jobs:
1819
if: github.repository == 'nf-core/drugresponseeval' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch'
1920
runs-on: ubuntu-latest
2021
steps:
21-
- uses: octokit/request-action@v2.x
22+
- name: Get PR reviews
23+
uses: octokit/request-action@v2.x
24+
if: github.event_name != 'workflow_dispatch'
2225
id: check_approvals
26+
continue-on-error: true
2327
with:
24-
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews
28+
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews?per_page=100
2529
env:
2630
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27-
- id: test_variables
31+
32+
- name: Check for approvals
33+
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
34+
run: |
35+
echo "No review approvals found. At least 2 approvals are required to run this action automatically."
36+
exit 1
37+
38+
- name: Check for enough approvals (>=2)
39+
id: test_variables
2840
if: github.event_name != 'workflow_dispatch'
2941
run: |
3042
JSON_RESPONSE='${{ steps.check_approvals.outputs.data }}'
3143
CURRENT_APPROVALS_COUNT=$(echo $JSON_RESPONSE | jq -c '[.[] | select(.state | contains("APPROVED")) ] | length')
3244
test $CURRENT_APPROVALS_COUNT -ge 2 || exit 1 # At least 2 approvals are required
45+
3346
- name: Launch workflow via Seqera Platform
3447
uses: seqeralabs/action-tower-launch@v2
3548
# TODO nf-core: You can customise AWS full pipeline tests as required

.github/workflows/ci.yml

Lines changed: 44 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@ on:
1111

1212
env:
1313
NXF_ANSI_LOG: false
14+
NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity
15+
NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity
1416

1517
concurrency:
1618
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
1719
cancel-in-progress: true
1820

1921
jobs:
2022
test:
21-
name: Run pipeline with test data
23+
name: "Run pipeline with test data (${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }})"
2224
# Only run on push if this is the nf-core dev branch (merged PRs)
2325
if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/drugresponseeval') }}"
2426
runs-on: ubuntu-latest
@@ -27,33 +29,57 @@ jobs:
2729
NXF_VER:
2830
- "24.04.2"
2931
- "latest-everything"
32+
profile:
33+
- "conda"
34+
- "docker"
35+
- "singularity"
36+
test_name:
37+
- "test"
38+
isMaster:
39+
- ${{ github.base_ref == 'master' }}
40+
# Exclude conda and singularity on dev
41+
exclude:
42+
- isMaster: false
43+
profile: "conda"
44+
- isMaster: false
45+
profile: "singularity"
3046
steps:
3147
- name: Check out pipeline code
32-
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
48+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
3349

34-
- name: Install Nextflow
50+
- name: Set up Nextflow
3551
uses: nf-core/setup-nextflow@v2
3652
with:
3753
version: "${{ matrix.NXF_VER }}"
3854

39-
- name: Disk space cleanup
40-
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
55+
- name: Set up Apptainer
56+
if: matrix.profile == 'singularity'
57+
uses: eWaterCycle/setup-apptainer@main
4158

42-
- name: Run pipeline with test data (docker)
43-
# TODO nf-core: You can customise CI pipeline run tests as required
44-
# For example: adding multiple test runs with different parameters
45-
# Remember that you can parallelise this by using strategy.matrix
59+
- name: Set up Singularity
60+
if: matrix.profile == 'singularity'
4661
run: |
47-
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results
62+
mkdir -p $NXF_SINGULARITY_CACHEDIR
63+
mkdir -p $NXF_SINGULARITY_LIBRARYDIR
64+
65+
- name: Set up Miniconda
66+
if: matrix.profile == 'conda'
67+
uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3
68+
with:
69+
miniconda-version: "latest"
70+
auto-update-conda: true
71+
conda-solver: libmamba
72+
channels: conda-forge,bioconda
4873

49-
- name: Run pipeline with test data (singularity)
50-
# TODO nf-core: You can customise CI pipeline run tests as required
74+
- name: Set up Conda
75+
if: matrix.profile == 'conda'
5176
run: |
52-
nextflow run ${GITHUB_WORKSPACE} -profile test,singularity --outdir ./results
53-
if: "${{ github.base_ref == 'master' }}"
77+
echo $(realpath $CONDA)/condabin >> $GITHUB_PATH
78+
echo $(realpath python) >> $GITHUB_PATH
79+
80+
- name: Clean up Disk space
81+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
5482

55-
- name: Run pipeline with test data (conda)
56-
# TODO nf-core: You can customise CI pipeline run tests as required
83+
- name: "Run pipeline with test data ${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }}"
5784
run: |
58-
nextflow run ${GITHUB_WORKSPACE} -profile test,conda --outdir ./results
59-
if: "${{ github.base_ref == 'master' }}"
85+
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} --outdir ./results

.github/workflows/download_pipeline.yml

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Test successful pipeline download with 'nf-core pipelines download'
22

33
# Run the workflow when:
44
# - dispatched manually
5-
# - when a PR is opened or reopened to master branch
5+
# - when a PR is opened or reopened to main/master branch
66
# - the head branch of the pull request is updated, i.e. if fixes for a release are pushed last minute to dev.
77
on:
88
workflow_dispatch:
@@ -17,25 +17,31 @@ on:
1717
- edited
1818
- synchronize
1919
branches:
20+
- main
2021
- master
2122
pull_request_target:
2223
branches:
24+
- main
2325
- master
2426

2527
env:
2628
NXF_ANSI_LOG: false
2729

2830
jobs:
29-
download:
31+
configure:
3032
runs-on: ubuntu-latest
33+
outputs:
34+
REPO_LOWERCASE: ${{ steps.get_repo_properties.outputs.REPO_LOWERCASE }}
35+
REPOTITLE_LOWERCASE: ${{ steps.get_repo_properties.outputs.REPOTITLE_LOWERCASE }}
36+
REPO_BRANCH: ${{ steps.get_repo_properties.outputs.REPO_BRANCH }}
3137
steps:
3238
- name: Install Nextflow
3339
uses: nf-core/setup-nextflow@v2
3440

3541
- name: Disk space cleanup
3642
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
3743

38-
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
44+
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
3945
with:
4046
python-version: "3.12"
4147
architecture: "x64"
@@ -51,65 +57,70 @@ jobs:
5157
pip install git+https://github.com/nf-core/tools.git@dev
5258
5359
- name: Get the repository name and current branch set as environment variable
60+
id: get_repo_properties
5461
run: |
55-
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> ${GITHUB_ENV}
56-
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> ${GITHUB_ENV}
57-
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> ${GITHUB_ENV}
62+
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> "$GITHUB_OUTPUT"
63+
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> "$GITHUB_OUTPUT"
64+
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> "$GITHUB_OUTPUT"
5865
5966
- name: Make a cache directory for the container images
6067
run: |
6168
mkdir -p ./singularity_container_images
6269
70+
download:
71+
runs-on: ubuntu-latest
72+
needs: configure
73+
steps:
6374
- name: Download the pipeline
6475
env:
6576
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
6677
run: |
67-
nf-core pipelines download ${{ env.REPO_LOWERCASE }} \
68-
--revision ${{ env.REPO_BRANCH }} \
69-
--outdir ./${{ env.REPOTITLE_LOWERCASE }} \
78+
nf-core pipelines download ${{ needs.configure.outputs.REPO_LOWERCASE }} \
79+
--revision ${{ needs.configure.outputs.REPO_BRANCH }} \
80+
--outdir ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }} \
7081
--compress "none" \
7182
--container-system 'singularity' \
72-
--container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io" \
83+
--container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io/library/" \
7384
--container-cache-utilisation 'amend' \
7485
--download-configuration 'yes'
7586
7687
- name: Inspect download
77-
run: tree ./${{ env.REPOTITLE_LOWERCASE }}
88+
run: tree ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }}
7889

7990
- name: Count the downloaded number of container images
8091
id: count_initial
8192
run: |
8293
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
8394
echo "Initial container image count: $image_count"
84-
echo "IMAGE_COUNT_INITIAL=$image_count" >> ${GITHUB_ENV}
95+
echo "IMAGE_COUNT_INITIAL=$image_count" >> "$GITHUB_OUTPUT"
8596
8697
- name: Run the downloaded pipeline (stub)
8798
id: stub_run_pipeline
8899
continue-on-error: true
89100
env:
90101
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
91102
NXF_SINGULARITY_HOME_MOUNT: true
92-
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
103+
run: nextflow run ./${{needs.configure.outputs.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ needs.configure.outputs.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
93104
- name: Run the downloaded pipeline (stub run not supported)
94105
id: run_pipeline
95-
if: ${{ job.steps.stub_run_pipeline.status == failure() }}
106+
if: ${{ steps.stub_run_pipeline.outcome == 'failure' }}
96107
env:
97108
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
98109
NXF_SINGULARITY_HOME_MOUNT: true
99-
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -profile test,singularity --outdir ./results
110+
run: nextflow run ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ needs.configure.outputs.REPO_BRANCH }}) -profile test,singularity --outdir ./results
100111

101112
- name: Count the downloaded number of container images
102113
id: count_afterwards
103114
run: |
104115
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
105116
echo "Post-pipeline run container image count: $image_count"
106-
echo "IMAGE_COUNT_AFTER=$image_count" >> ${GITHUB_ENV}
117+
echo "IMAGE_COUNT_AFTER=$image_count" >> "$GITHUB_OUTPUT"
107118
108119
- name: Compare container image counts
109120
run: |
110-
if [ "${{ env.IMAGE_COUNT_INITIAL }}" -ne "${{ env.IMAGE_COUNT_AFTER }}" ]; then
111-
initial_count=${{ env.IMAGE_COUNT_INITIAL }}
112-
final_count=${{ env.IMAGE_COUNT_AFTER }}
121+
if [ "${{ steps.count_initial.outputs.IMAGE_COUNT_INITIAL }}" -ne "${{ steps.count_afterwards.outputs.IMAGE_COUNT_AFTER }}" ]; then
122+
initial_count=${{ steps.count_initial.outputs.IMAGE_COUNT_INITIAL }}
123+
final_count=${{ steps.count_afterwards.outputs.IMAGE_COUNT_AFTER }}
113124
difference=$((final_count - initial_count))
114125
echo "$difference additional container images were \n downloaded at runtime . The pipeline has no support for offline runs!"
115126
tree ./singularity_container_images

.github/workflows/fix-linting.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
# Use the @nf-core-bot token to check out so we can push later
16-
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
16+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
1717
with:
1818
token: ${{ secrets.nf_core_bot_auth_token }}
1919

@@ -32,7 +32,7 @@ jobs:
3232
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}
3333

3434
# Install and run pre-commit
35-
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
35+
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
3636
with:
3737
python-version: "3.12"
3838

.github/workflows/release-announcements.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
runs-on: ubuntu-latest
3232

3333
steps:
34-
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
34+
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
3535
with:
3636
python-version: "3.10"
3737
- name: Install dependencies

.github/workflows/template_version_comment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Check out pipeline code
13-
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
13+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
1414
with:
1515
ref: ${{ github.event.pull_request.head.sha }}
1616

.gitpod.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,5 @@ tasks:
66
nextflow self-update
77
88
vscode:
9-
extensions: # based on nf-core.nf-core-extensionpack
10-
#- esbenp.prettier-vscode # Markdown/CommonMark linting and style checking for Visual Studio Code
11-
- EditorConfig.EditorConfig # override user/workspace settings with settings found in .editorconfig files
12-
- Gruntfuggly.todo-tree # Display TODO and FIXME in a tree view in the activity bar
13-
- mechatroner.rainbow-csv # Highlight columns in csv files in different colors
14-
- nextflow.nextflow # Nextflow syntax highlighting
15-
- oderwat.indent-rainbow # Highlight indentation level
16-
- streetsidesoftware.code-spell-checker # Spelling checker for source code
17-
- charliermarsh.ruff # Code linter Ruff
9+
extensions:
10+
- nf-core.nf-core-extensionpack # https://github.com/nf-core/vscode-extensionpack

0 commit comments

Comments
 (0)