Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev -> main for 3.1.1 #3369

Merged
merged 89 commits into from
Dec 20, 2024
Merged
Show file tree
Hide file tree
Changes from 88 commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
e9cde59
set default_branch to master for now
mashehu Dec 10, 2024
7110fff
update changelog
mashehu Dec 10, 2024
47054ad
Merge branch 'dev' into set-default-branch-to-master
mashehu Dec 10, 2024
a791707
Merge pull request #3335 from mashehu/set-default-branch-to-master
mashehu Dec 10, 2024
de00162
set git defaultBranch to master in sync action
mashehu Dec 10, 2024
60ae1af
update changelog
mashehu Dec 10, 2024
5ee2d52
use nextflow.config to set defaultBranch
mashehu Dec 10, 2024
0e7c870
Merge pull request #3337 from mashehu/fix-init-branch-in-sync-action
mashehu Dec 10, 2024
666fc9f
fix path for nextflow.config grep
mashehu Dec 10, 2024
7a69b8c
Merge branch 'dev' of github.com:nf-core/tools into fix-sync-grep
mashehu Dec 10, 2024
15b044d
change working dir when setting defaultBranch
mashehu Dec 10, 2024
1a22106
fix Changelog
mashehu Dec 10, 2024
0b7fe50
Be more verbose in approval check action
mashehu Dec 10, 2024
f7ced6b
fix if clause
mashehu Dec 10, 2024
1748613
update changelog
mashehu Dec 10, 2024
fa4e074
add verbose mode to sync action
mashehu Dec 10, 2024
5c8937e
update changelog
mashehu Dec 10, 2024
bb3a252
Apply suggestions from code review
mirpedrol Dec 11, 2024
379bad0
add input debug for workflow_dispatch sync action
mirpedrol Dec 11, 2024
06db03f
Merge pull request #3339 from mashehu/add-verbose-mode-to-sync
mirpedrol Dec 11, 2024
6148983
go back to original directory after configuring git defaultBranch
mirpedrol Dec 11, 2024
a4965f3
Merge pull request #3342 from mirpedrol/sync-default-branch
mirpedrol Dec 11, 2024
df5b323
add more debugging on sync GHA
mirpedrol Dec 11, 2024
e8b6a9f
Merge pull request #3345 from mirpedrol/sync-default-branch
mirpedrol Dec 11, 2024
1de1034
echo message to sync GHA
mirpedrol Dec 11, 2024
3858e38
try exiting pipeline directory before saving defaultBranch
mirpedrol Dec 11, 2024
380be6c
cleanup debugging echo
mirpedrol Dec 11, 2024
be38c15
use same ref in checkout as triggered the workflow
mashehu Dec 11, 2024
1af4c61
Merge pull request #3347 from mashehu/specify-ref-in-sync-yml
mashehu Dec 12, 2024
e92f327
don't set up loggin level to error
mirpedrol Dec 12, 2024
d56b528
Merge pull request #3349 from mirpedrol/sync-debugging
mirpedrol Dec 12, 2024
8f00659
Revert "don't set up loggin level to error [no changelog]"
mashehu Dec 12, 2024
f77737d
Merge pull request #3350 from nf-core/revert-3349-sync-debugging
mashehu Dec 12, 2024
c2a9dee
Update nf_core/pipeline-template/.github/workflows/awsfulltest.yml
mirpedrol Dec 12, 2024
3c20e00
Merge pull request #3338 from mashehu/more-verbose-awsfulltest-checks
mirpedrol Dec 12, 2024
62ebfc1
Replace Github environment usage in Download Action.
MatthiasZepper Dec 12, 2024
d65da79
bump version to 3.1.1dev
mashehu Dec 12, 2024
307d0d4
only bump ro-crate if it already exists
mashehu Dec 12, 2024
aef5e16
Merge pull request #3353 from mashehu/bump-version-3_1_1dev
mirpedrol Dec 13, 2024
b1ebca0
Merge branch 'dev' into fix-ro-crate-in-bump-version
mirpedrol Dec 13, 2024
8c5855f
get max of 100 branch names
mirpedrol Dec 13, 2024
06980d4
Merge pull request #3354 from mashehu/fix-ro-crate-in-bump-version
mirpedrol Dec 13, 2024
4cf8607
fix including modules.config
mirpedrol Dec 13, 2024
eed09ba
[automated] Update CHANGELOG.md
nf-core-bot Dec 13, 2024
a2c2339
revert #3301 until we add linting from #2508
mirpedrol Dec 13, 2024
060eff5
Apply suggestions from code review
MatthiasZepper Dec 13, 2024
a8065da
Revert "don't set up loggin level to error [no changelog]"
mashehu Dec 12, 2024
4958cf0
Be more verbose in approval check action
mashehu Dec 10, 2024
4c32e47
fix if clause
mashehu Dec 10, 2024
e32293d
update changelog
mashehu Dec 10, 2024
f02d6bb
Update nf_core/pipeline-template/.github/workflows/awsfulltest.yml
mirpedrol Dec 12, 2024
6eaa998
Merge pull request #3356 from mirpedrol/fix-include-modules-config
mirpedrol Dec 13, 2024
ac26924
Merge branch 'dev' into no_env_in_download_action
MatthiasZepper Dec 13, 2024
edd29e0
Add missing p
jfy133 Dec 13, 2024
4db108c
[automated] Update CHANGELOG.md
nf-core-bot Dec 13, 2024
059473c
fix pre-commit linting failures
mirpedrol Dec 13, 2024
a8f63cd
Merge pull request #3357 from nf-core/usage-typo-fix
sateeshperi Dec 13, 2024
f6159c9
don't run prettier on ro-crate json file
mirpedrol Dec 13, 2024
9f61e85
run pre-commit from a git repo
mirpedrol Dec 13, 2024
1fbd011
[automated] Update CHANGELOG.md
nf-core-bot Dec 13, 2024
76ac617
Remove endraw statement that 'nf-core pipelines' create does not like.
MatthiasZepper Dec 13, 2024
5ac5767
Merge pull request #3351 from MatthiasZepper/no_env_in_download_action
MatthiasZepper Dec 13, 2024
2b2b435
prettify template and printing .nf-core.yml
mirpedrol Dec 16, 2024
0c4b0c0
Merge branch 'dev' into fix-pre-commit-template
mirpedrol Dec 16, 2024
709e67f
Remove Dumpler from ruamel yaml
mirpedrol Dec 16, 2024
ac703bf
don't create rocrate file when we skip the feature
mirpedrol Dec 16, 2024
13e553f
fix more prettier modifications form the template
mirpedrol Dec 16, 2024
d19e3e0
don't try running pre-commit if code-linters or github are not used i…
mirpedrol Dec 16, 2024
2c78c5e
more template prittier fixing
mirpedrol Dec 16, 2024
d44bcdf
more prettier fixes
mirpedrol Dec 16, 2024
769f8dd
Merge pull request #3358 from mirpedrol/fix-pre-commit-template
mirpedrol Dec 16, 2024
745df4d
use manifest.contributors names if available, otherwise default to ma…
mirpedrol Dec 17, 2024
ac7fd48
[automated] Update CHANGELOG.md
nf-core-bot Dec 17, 2024
728a91c
Merge pull request #3362 from mirpedrol/fix-3359-lint-repo
mirpedrol Dec 17, 2024
767618c
properly parse the names form manifest.contributors
mirpedrol Dec 17, 2024
5ecf583
update changelog
mirpedrol Dec 17, 2024
dc369ac
LICENSE copyright to nf-core community, lint LICENSE file is a warnin…
mirpedrol Dec 19, 2024
05b1f84
[automated] Update CHANGELOG.md
nf-core-bot Dec 19, 2024
e00679f
update changelog
mirpedrol Dec 19, 2024
136418f
Apply suggestions from code review
mirpedrol Dec 20, 2024
304728c
use pipeline team in license for non-nf-core pipelines
mirpedrol Dec 20, 2024
fe5c5ac
Merge pull request #3364 from mirpedrol/fix-3361-rocrate-contributors
mirpedrol Dec 20, 2024
a0cdd41
Merge pull request #3366 from mirpedrol/update-license-linting
mirpedrol Dec 20, 2024
a8578f0
bump to 3.1.1 for release
mirpedrol Dec 20, 2024
8aeb629
small modification of license, adding pipeline team
mirpedrol Dec 20, 2024
0c89959
Merge pull request #3368 from mirpedrol/license-modification
mirpedrol Dec 20, 2024
b9b92d0
Merge pull request #3367 from mirpedrol/bump-3.1.1
mirpedrol Dec 20, 2024
b1eabdc
Merge branch 'main' into dev
mirpedrol Dec 20, 2024
82eccbe
don't lint ro-crate file
mirpedrol Dec 20, 2024
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
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# nf-core/tools: Changelog

## [v3.1.1 - Brass Boxfish Patch](https://github.com/nf-core/tools/releases/tag/3.1.1) - [2024-12-20]

### Template

- Use outputs instead of the environment to pass around values between steps in the Download Test Action ([#3351](https://github.com/nf-core/tools/pull/3351))
- Fix pre commit template ([#3358](https://github.com/nf-core/tools/pull/3358))
- Set LICENSE copyright to nf-core community ([#3366](https://github.com/nf-core/tools/pull/3366))
- fix including modules.config ([#3356](https://github.com/nf-core/tools/pull/3356))

### Linting

- Linting of pipeline LICENSE file is a warning to allow for author/maintainer names ([#3366](https://github.com/nf-core/tools/pull/3366))

### General

- Add missing p ([#3357](https://github.com/nf-core/tools/pull/3357))
- Use `manifest.contributors` names if available, otherwise default to `manifest.author` ([#3362](https://github.com/nf-core/tools/pull/3362))
- Properly parse the names form `manifest.contributors` ([#3364](https://github.com/nf-core/tools/pull/3364))

## [v3.1.0 - Brass Boxfish](https://github.com/nf-core/tools/releases/tag/3.1.0) - [2024-12-09]

**Highlights**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ body:
- [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting)
- [{{ name }} pipeline documentation](https://nf-co.re/{{ short_name }}/usage)
{%- endif %}

- type: textarea
id: description
attributes:
Expand Down
45 changes: 27 additions & 18 deletions nf_core/pipeline-template/.github/workflows/download_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,14 @@ env:
NXF_ANSI_LOG: false

jobs:
download:
runs-on: ubuntu-latest
configure:
runs-on: ubuntu-latest{% raw %}
outputs:
REPO_LOWERCASE: ${{ steps.get_repo_properties.outputs.REPO_LOWERCASE }}
REPOTITLE_LOWERCASE: ${{ steps.get_repo_properties.outputs.REPOTITLE_LOWERCASE }}
REPO_BRANCH: ${{ steps.get_repo_properties.outputs.REPO_BRANCH }}
steps:
- name: Install Nextflow
- name: Install Nextflow{% endraw %}
uses: nf-core/setup-nextflow@v2

- name: Disk space cleanup
Expand All @@ -53,65 +57,70 @@ jobs:
pip install git+https://github.com/nf-core/tools.git@dev

- name: Get the repository name and current branch set as environment variable
id: get_repo_properties
run: |
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> ${GITHUB_ENV}
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> ${GITHUB_ENV}
echo "{% raw %}REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> ${GITHUB_ENV}
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> "$GITHUB_OUTPUT"
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> "$GITHUB_OUTPUT"
echo "{% raw %}REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> "$GITHUB_OUTPUT"

- name: Make a cache directory for the container images
run: |
mkdir -p ./singularity_container_images

download:
runs-on: ubuntu-latest
needs: configure
steps:
- name: Download the pipeline
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
run: |
nf-core pipelines download ${{ env.REPO_LOWERCASE }} \
--revision ${{ env.REPO_BRANCH }} \
--outdir ./${{ env.REPOTITLE_LOWERCASE }} \
nf-core pipelines download ${{ needs.configure.outputs.REPO_LOWERCASE }} \
--revision ${{ needs.configure.outputs.REPO_BRANCH }} \
--outdir ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }} \
--compress "none" \
--container-system 'singularity' \
--container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io/library/" \
--container-cache-utilisation 'amend' \
--download-configuration 'yes'

- name: Inspect download
run: tree ./${{ env.REPOTITLE_LOWERCASE }}{% endraw %}{% if test_config %}{% raw %}
run: tree ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }}{% endraw %}{% if test_config %}{% raw %}

- name: Count the downloaded number of container images
id: count_initial
run: |
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
echo "Initial container image count: $image_count"
echo "IMAGE_COUNT_INITIAL=$image_count" >> ${GITHUB_ENV}
echo "IMAGE_COUNT_INITIAL=$image_count" >> "$GITHUB_OUTPUT"

- name: Run the downloaded pipeline (stub)
id: stub_run_pipeline
continue-on-error: true
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
run: nextflow run ./${{needs.configure.outputs.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ needs.configure.outputs.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
- name: Run the downloaded pipeline (stub run not supported)
id: run_pipeline
if: ${{ job.steps.stub_run_pipeline.status == failure() }}
if: ${{ steps.stub_run_pipeline.outcome == 'failure' }}
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -profile test,singularity --outdir ./results
run: nextflow run ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ needs.configure.outputs.REPO_BRANCH }}) -profile test,singularity --outdir ./results

- name: Count the downloaded number of container images
id: count_afterwards
run: |
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
echo "Post-pipeline run container image count: $image_count"
echo "IMAGE_COUNT_AFTER=$image_count" >> ${GITHUB_ENV}
echo "IMAGE_COUNT_AFTER=$image_count" >> "$GITHUB_OUTPUT"

- name: Compare container image counts
run: |
if [ "${{ env.IMAGE_COUNT_INITIAL }}" -ne "${{ env.IMAGE_COUNT_AFTER }}" ]; then
initial_count=${{ env.IMAGE_COUNT_INITIAL }}
final_count=${{ env.IMAGE_COUNT_AFTER }}
if [ "${{ steps.count_initial.outputs.IMAGE_COUNT_INITIAL }}" -ne "${{ steps.count_afterwards.outputs.IMAGE_COUNT_AFTER }}" ]; then
initial_count=${{ steps.count_initial.outputs.IMAGE_COUNT_INITIAL }}
final_count=${{ steps.count_afterwards.outputs.IMAGE_COUNT_AFTER }}
difference=$((final_count - initial_count))
echo "$difference additional container images were \n downloaded at runtime . The pipeline has no support for offline runs!"
tree ./singularity_container_images
Expand Down
2 changes: 1 addition & 1 deletion nf_core/pipeline-template/.gitpod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ tasks:
- name: Update Nextflow and setup pre-commit
command: |
pre-commit install --install-hooks
nextflow self-update {% if code_linters %}
nextflow self-update {%- if code_linters %}

vscode:
extensions:
Expand Down
3 changes: 3 additions & 0 deletions nf_core/pipeline-template/.prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@ testing/
testing*
*.pyc
bin/
{%- if rocrate %}
ro-crate-metadata.json
{%- endif %}
2 changes: 1 addition & 1 deletion nf_core/pipeline-template/CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

{%- endif %}

{% if multiqc %}- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)
{%- if multiqc %}- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.

Expand Down
2 changes: 1 addition & 1 deletion nf_core/pipeline-template/LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) {{ author }}
Copyright (c) The {{ name }} team

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
13 changes: 7 additions & 6 deletions nf_core/pipeline-template/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</picture>
</h1>

{% else %}
{%- else -%}

# {{ name }}

Expand Down Expand Up @@ -48,13 +48,13 @@
workflows use the "tube map" design for that. See https://nf-co.re/docs/contributing/design_guidelines#examples for examples. -->
<!-- TODO nf-core: Fill in short bullet-pointed list of the default steps in the pipeline -->

{% if fastqc %}1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)){% endif %}
{% if multiqc %}2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/)){% endif %}
{%- if fastqc %}1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)){% endif %}
{%- if multiqc %}2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/)){% endif %}

## Usage

> [!NOTE]
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. {% if test_config %}Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.{% endif %}
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. {%- if test_config %}Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.{% endif %}

<!-- TODO nf-core: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
Explain what rows and columns represent. For instance (please edit as appropriate):
Expand Down Expand Up @@ -120,10 +120,11 @@ For further information or help, don't hesitate to get in touch on the [Slack `#
<!-- TODO nf-core: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file. -->
<!-- If you use {{ name }} for your analysis, please cite it using the following doi: [10.5281/zenodo.XXXXXX](https://doi.org/10.5281/zenodo.XXXXXX) -->

{% if citations %}<!-- TODO nf-core: Add bibliography of tools and data used in your pipeline -->
{%- if citations %}<!-- TODO nf-core: Add bibliography of tools and data used in your pipeline -->

An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.
{% endif %}
{%- endif %}

{% if is_nfcore -%}
You can cite the `nf-core` publication as follows:

Expand Down
11 changes: 5 additions & 6 deletions nf_core/pipeline-template/docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

This document describes the output produced by the pipeline. {% if multiqc %}Most of the plots are taken from the MultiQC report, which summarises results at the end of the pipeline.{% endif %}
This document describes the output produced by the pipeline.{% if multiqc %} Most of the plots are taken from the MultiQC report, which summarises results at the end of the pipeline.{% endif %}

The directories listed below will be created in the results directory after the pipeline has finished. All paths are relative to the top-level results directory.

Expand All @@ -14,9 +14,8 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d

{% if fastqc -%}

- [FastQC](#fastqc) - Raw read QC
{%- endif %}
{%- if multiqc %}
- [FastQC](#fastqc) - Raw read QC{% endif %}
{%- if multiqc -%}
- [MultiQC](#multiqc) - Aggregate report describing results and QC from the whole pipeline
{%- endif %}
- [Pipeline information](#pipeline-information) - Report metrics generated during the workflow execution
Expand All @@ -35,7 +34,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
</details>

[FastQC](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/) gives general quality metrics about your sequenced reads. It provides information about the quality score distribution across your reads, per base sequence content (%A/T/G/C), adapter contamination and overrepresented sequences. For further reading and documentation see the [FastQC help pages](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/).
{%- endif %}
{%- endif -%}

{% if multiqc -%}

Expand All @@ -54,7 +53,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
[MultiQC](http://multiqc.info) is a visualization tool that generates a single HTML report summarising all samples in your project. Most of the pipeline QC results are visualised in the report and further statistics are available in the report data directory.

Results generated by MultiQC collate pipeline QC from supported tools e.g. FastQC. The pipeline has special steps which also allow the software versions to be reported in the MultiQC output for future traceability. For more information about how to use MultiQC reports, see <http://multiqc.info>.
{%- endif %}
{%- endif -%}

### Pipeline information

Expand Down
4 changes: 2 additions & 2 deletions nf_core/pipeline-template/docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ It is a good idea to specify the pipeline version when running the pipeline on y

First, go to the [{{ name }} releases page](https://github.com/{{ name }}/releases) and find the latest pipeline version - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`. Of course, you can switch to another version by changing the number after the `-r` flag.

This version number will be logged in reports when you run the pipeline, so that you'll know what you used when you look back in the future. {% if multiqc %}For example, at the bottom of the MultiQC reports.{% endif %}
This version number will be logged in reports when you run the pipeline, so that you'll know what you used when you look back in the future.{% if multiqc %} For example, at the bottom of the MultiQC reports.{% endif %}

To further assist in reproducibility, you can use share and reuse [parameter files](#running-the-pipeline) to repeat pipeline runs with the same settings without having to write out a command with every single parameter.

Expand All @@ -138,7 +138,7 @@ Several generic profiles are bundled with the pipeline which instruct the pipeli

{%- if nf_core_configs %}

The pipeline also dynamically loads configurations from [https://github.com/nf-core/configs](https://github.com/nf-core/configs) when it runs, making multiple config profiles for various institutional clusters available at run time. For more information and to check if your system is suported, please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation).
The pipeline also dynamically loads configurations from [https://github.com/nf-core/configs](https://github.com/nf-core/configs) when it runs, making multiple config profiles for various institutional clusters available at run time. For more information and to check if your system is supported, please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation).
{% else %}
{% endif %}
Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important!
Expand Down
12 changes: 6 additions & 6 deletions nf_core/pipeline-template/nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,6 @@ params {
includeConfig 'conf/base.config'
{%- else %}

{% if modules -%}
// Load modules.config for DSL2 module specific options
includeConfig 'conf/modules.config'
mashehu marked this conversation as resolved.
Show resolved Hide resolved
{%- endif %}

process {
// TODO nf-core: Check the defaults for all processes
cpus = { 1 * task.attempt }
Expand Down Expand Up @@ -311,7 +306,7 @@ validation {
command = "nextflow run {{ name }} -profile <docker/singularity/.../institute> --input samplesheet.csv --outdir <OUTDIR>"
fullParameter = "help_full"
showHiddenParameter = "show_hidden"
{% if is_nfcore -%}
{%- if is_nfcore %}
beforeText = """
-\033[2m----------------------------------------------------\033[0m-
\033[0;32m,--.\033[0;30m/\033[0;32m,-.\033[0m
Expand All @@ -336,3 +331,8 @@ validation {
}{% endif %}
}
{%- endif %}

{% if modules -%}
// Load modules.config for DSL2 module specific options
includeConfig 'conf/modules.config'
{%- endif %}
6 changes: 4 additions & 2 deletions nf_core/pipeline-template/nextflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -243,10 +243,12 @@
{
"$ref": "#/$defs/input_output_options"
},
{% if igenomes %}{
{%- if igenomes %}
{
"$ref": "#/$defs/reference_genome_options"
},{% endif %}
{% if nf_core_configs %}{
{%- if nf_core_configs %}
{
"$ref": "#/$defs/institutional_config_options"
},{% endif %}
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ workflow PIPELINE_COMPLETION {
{%- if multiqc %}
def multiqc_reports = multiqc_report.toList()
{%- endif %}

//
// Completion email and summary
//
Expand Down
5 changes: 3 additions & 2 deletions nf_core/pipelines/bump_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,9 @@ def bump_pipeline_version(pipeline_obj: Pipeline, new_version: str) -> None:
yaml_key=["template", "version"],
)

# update rocrate
ROCrate(pipeline_obj.wf_path).update_rocrate()
# update rocrate if ro-crate is present
if Path(pipeline_obj.wf_path, "ro-crate-metadata.json").exists():
ROCrate(pipeline_obj.wf_path).update_rocrate()


def bump_nextflow_version(pipeline_obj: Pipeline, new_version: str) -> None:
Expand Down
25 changes: 18 additions & 7 deletions nf_core/pipelines/create/create.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from nf_core.pipelines.create_logo import create_logo
from nf_core.pipelines.lint_utils import run_prettier_on_file
from nf_core.pipelines.rocrate import ROCrate
from nf_core.utils import NFCoreTemplateConfig, NFCoreYamlLintConfig
from nf_core.utils import NFCoreTemplateConfig, NFCoreYamlLintConfig, custom_yaml_dumper

log = logging.getLogger(__name__)

Expand Down Expand Up @@ -266,6 +266,14 @@ def init_pipeline(self):
# Init the git repository and make the first commit
if not self.no_git:
self.git_init_pipeline()
# Run prettier on files
if self.config.skip_features is None or not (
"code_linters" in self.config.skip_features or "github" in self.config.skip_features
):
current_dir = Path.cwd()
os.chdir(self.outdir)
run_prettier_on_file([str(f) for f in self.outdir.glob("**/*")])
os.chdir(current_dir)

if self.config.is_nfcore and not self.is_interactive:
log.info(
Expand Down Expand Up @@ -362,7 +370,7 @@ def render_template(self) -> None:
# Make a logo and save it, if it is a nf-core pipeline
self.make_pipeline_logo()

if self.config.skip_features is None or "ro-crate" not in self.config.skip_features:
if self.config.skip_features is None or "rocrate" not in self.config.skip_features:
# Create the RO-Crate metadata file
rocrate_obj = ROCrate(self.outdir)
rocrate_obj.create_rocrate(json_path=self.outdir / "ro-crate-metadata.json")
Expand All @@ -375,12 +383,9 @@ def render_template(self) -> None:
if config_fn is not None and config_yml is not None:
with open(str(config_fn), "w") as fh:
config_yml.template = NFCoreTemplateConfig(**self.config.model_dump(exclude_none=True))
yaml.safe_dump(config_yml.model_dump(exclude_none=True), fh)
yaml.dump(config_yml.model_dump(exclude_none=True), fh, Dumper=custom_yaml_dumper())
log.debug(f"Dumping pipeline template yml to pipeline config file '{config_fn.name}'")

# Run prettier on files
run_prettier_on_file([str(f) for f in self.outdir.glob("**/*")])

def fix_linting(self):
"""
Updates the .nf-core.yml with linting configurations
Expand Down Expand Up @@ -408,7 +413,13 @@ def fix_linting(self):
if config_fn is not None and nf_core_yml is not None:
nf_core_yml.lint = NFCoreYamlLintConfig(**lint_config)
with open(self.outdir / config_fn, "w") as fh:
yaml.dump(nf_core_yml.model_dump(exclude_none=True), fh, default_flow_style=False, sort_keys=False)
yaml.dump(
nf_core_yml.model_dump(exclude_none=True),
fh,
sort_keys=False,
default_flow_style=False,
Dumper=custom_yaml_dumper(),
)

def make_pipeline_logo(self):
"""Fetch a logo for the new pipeline from the nf-core website"""
Expand Down
Loading
Loading