Skip to content

Commit 6ef512e

Browse files
authored
Merge pull request #1078 from nf-core/nf-core-template-merge-2.10
Important! Template update for nf-core/tools v2.10
2 parents 1ff095a + ab55d1c commit 6ef512e

File tree

19 files changed

+219
-53
lines changed

19 files changed

+219
-53
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "nfcore",
33
"image": "nfcore/gitpod:latest",
44
"remoteUser": "gitpod",
5+
"runArgs": ["--privileged"],
56

67
// Configure tool-specific properties.
78
"customizations": {
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: release-announcements
2+
# Automatic release toot and tweet anouncements
3+
on:
4+
release:
5+
types: [published]
6+
workflow_dispatch:
7+
8+
jobs:
9+
toot:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: rzr/fediverse-action@master
13+
with:
14+
access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }}
15+
host: "mstdn.science" # custom host if not "mastodon.social" (default)
16+
# GitHub event payload
17+
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release
18+
message: |
19+
Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!
20+
21+
Please see the changelog: ${{ github.event.release.html_url }}
22+
23+
send-tweet:
24+
runs-on: ubuntu-latest
25+
26+
steps:
27+
- uses: actions/setup-python@v4
28+
with:
29+
python-version: "3.10"
30+
- name: Install dependencies
31+
run: pip install tweepy==4.14.0
32+
- name: Send tweet
33+
shell: python
34+
run: |
35+
import os
36+
import tweepy
37+
38+
client = tweepy.Client(
39+
access_token=os.getenv("TWITTER_ACCESS_TOKEN"),
40+
access_token_secret=os.getenv("TWITTER_ACCESS_TOKEN_SECRET"),
41+
consumer_key=os.getenv("TWITTER_CONSUMER_KEY"),
42+
consumer_secret=os.getenv("TWITTER_CONSUMER_SECRET"),
43+
)
44+
tweet = os.getenv("TWEET")
45+
client.create_tweet(text=tweet)
46+
env:
47+
TWEET: |
48+
Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!
49+
50+
Please see the changelog: ${{ github.event.release.html_url }}
51+
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
52+
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
53+
TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
54+
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
55+
56+
bsky-post:
57+
runs-on: ubuntu-latest
58+
steps:
59+
- uses: zentered/[email protected]
60+
with:
61+
post: |
62+
Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!
63+
64+
Please see the changelog: ${{ github.event.release.html_url }}
65+
env:
66+
BSKY_IDENTIFIER: ${{ secrets.BSKY_IDENTIFIER }}
67+
BSKY_PASSWORD: ${{ secrets.BSKY_PASSWORD }}
68+
#

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,23 @@ Thank you to everyone else that has contributed by reporting bugs, enhancements
2323
- [PR #1054](https://github.com/nf-core/rnaseq/pull/1054) - Template update to nf-core/tools v2.9
2424
- [PR #1058](https://github.com/nf-core/rnaseq/pull/1058) - Use `nf-validation` plugin for parameter and samplesheet validation
2525
- [PR #1068](https://github.com/nf-core/rnaseq/pull/1068) - Update `grep` version for `untar` module
26+
- [PR #1078](https://github.com/nf-core/rnaseq/pull/1078) - Updated pipeline template to [nf-core/tools 2.10](https://github.com/nf-core/tools/releases/tag/2.10)
2627
- [PR #1083](https://github.com/nf-core/rnaseq/pull/1083) - Move local modules and subworkflows to subfolders
2728
- [PR #1088](https://github.com/nf-core/rnaseq/pull/1088) - Updates contributing and code of conduct documents with nf-core template 2.10
2829
- [PR #1091](https://github.com/nf-core/rnaseq/pull/1091) - Reorganise parameters in schema for better usability
2930

31+
### Software dependencies
32+
33+
| Dependency | Old version | New version |
34+
| ---------- | ----------- | ----------- |
35+
| `fastqc` | 0.11.9 | 0.12.1 |
36+
37+
> **NB:** Dependency has been **updated** if both old and new version information is present.
38+
>
39+
> **NB:** Dependency has been **added** if just the new version information is present.
40+
>
41+
> **NB:** Dependency has been **removed** if new version information isn't present.
42+
3043
## [[3.12.0](https://github.com/nf-core/rnaseq/releases/tag/3.12.0)] - 2023-06-02
3144

3245
### Credits

CITATIONS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
2323
- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)
2424

25-
> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online]. Available online https://www.bioinformatics.babraham.ac.uk/projects/fastqc/.
25+
> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
2626
2727
- [featureCounts](https://pubmed.ncbi.nlm.nih.gov/24227677/)
2828

README.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# ![nf-core/rnaseq](docs/images/nf-core-rnaseq_logo_light.png#gh-light-mode-only) ![nf-core/rnaseq](docs/images/nf-core-rnaseq_logo_dark.png#gh-dark-mode-only)
22

3-
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/rnaseq/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.1400710-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.1400710)
3+
[![GitHub Actions CI Status](https://github.com/nf-core/rnaseq/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/rnaseq/actions?query=workflow%3A%22nf-core+CI%22)
4+
[![GitHub Actions Linting Status](https://github.com/nf-core/rnaseq/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/rnaseq/actions?query=workflow%3A%22nf-core+linting%22)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/rnaseq/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.1400710-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.1400710)
45

56
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A523.04.0-23aa62.svg)](https://www.nextflow.io/)
67
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
@@ -49,10 +50,11 @@
4950
5051
## Usage
5152

52-
> **Note**
53-
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how
54-
> to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline)
55-
> with `-profile test` before running the workflow on actual data.
53+
:::note
54+
If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how
55+
to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline)
56+
with `-profile test` before running the workflow on actual data.
57+
:::
5658

5759
First, prepare a samplesheet with your input data that looks as follows:
5860

@@ -82,10 +84,11 @@ nextflow run nf-core/rnaseq \
8284
-profile <docker/singularity/.../institute>
8385
```
8486

85-
> **Warning:**
86-
> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those
87-
> provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_;
88-
> see [docs](https://nf-co.re/usage/configuration#custom-configuration-files).
87+
:::warning
88+
Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those
89+
provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_;
90+
see [docs](https://nf-co.re/usage/configuration#custom-configuration-files).
91+
:::
8992

9093
For more details and further functionality, please refer to the [usage documentation](https://nf-co.re/rnaseq/usage) and the [parameter documentation](https://nf-co.re/rnaseq/parameters).
9194

assets/multiqc_config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
report_comment: >
2-
This report has been generated by the <a href="https://github.com/nf-core/rnaseq" target="_blank">nf-core/rnaseq</a>
2+
This report has been generated by the <a href="https://github.com/nf-core/rnaseq/releases/tag/dev" target="_blank">nf-core/rnaseq</a>
33
analysis pipeline. For information about how to interpret these results, please see the
4-
<a href="https://nf-co.re/rnaseq/output" target="_blank">documentation</a>.
4+
<a href="https://nf-co.re/rnaseq/dev/docs/output" target="_blank">documentation</a>.
55
report_section_order:
66
"nf-core-rnaseq-methods-description":
77
order: -1000

docs/output.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,7 @@ A number of genome-specific files are generated by the pipeline because they are
742742
- Reports generated by Nextflow: `execution_report.html`, `execution_timeline.html`, `execution_trace.txt` and `pipeline_dag.dot`/`pipeline_dag.svg`.
743743
- Reports generated by the pipeline: `pipeline_report.html`, `pipeline_report.txt` and `software_versions.yml`. The `pipeline_report*` files will only be present if the `--email` / `--email_on_fail` parameter's are used when running the pipeline.
744744
- Reformatted samplesheet files used as input to the pipeline: `samplesheet.valid.csv`.
745+
- Parameters used by the pipeline run: `params.json`.
745746

746747
</details>
747748

docs/usage.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,9 @@ If you wish to repeatedly use the same parameters for multiple runs, rather than
187187

188188
Pipeline settings can be provided in a `yaml` or `json` file via `-params-file <file>`.
189189

190-
> ⚠️ Do not use `-c <file>` to specify parameters as this will result in errors. Custom config files specified with `-c` must only be used for [tuning process resource specifications](https://nf-co.re/docs/usage/configuration#tuning-workflow-resources), other infrastructural tweaks (such as output directories), or module arguments (args).
190+
:::warning
191+
Do not use `-c <file>` to specify parameters as this will result in errors. Custom config files specified with `-c` must only be used for [tuning process resource specifications](https://nf-co.re/docs/usage/configuration#tuning-workflow-resources), other infrastructural tweaks (such as output directories), or module arguments (args).
192+
:::
191193

192194
The above pipeline run specified with a params file in yaml format:
193195

@@ -224,19 +226,25 @@ This version number will be logged in reports when you run the pipeline, so that
224226

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

227-
> 💡 If you wish to share such profile (such as upload as supplementary material for academic publications), make sure to NOT include cluster specific paths to files, nor institutional specific profiles.
229+
:::tip
230+
If you wish to share such profile (such as upload as supplementary material for academic publications), make sure to NOT include cluster specific paths to files, nor institutional specific profiles.
231+
:::
228232

229233
## Core Nextflow arguments
230234

231-
> **NB:** These options are part of Nextflow and use a _single_ hyphen (pipeline parameters use a double-hyphen).
235+
:::note
236+
These options are part of Nextflow and use a _single_ hyphen (pipeline parameters use a double-hyphen).
237+
:::
232238

233239
### `-profile`
234240

235241
Use this parameter to choose a configuration profile. Profiles can give configuration presets for different compute environments.
236242

237243
Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Apptainer, Conda) - see below.
238244

239-
> We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported.
245+
:::info
246+
We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported.
247+
:::
240248

241249
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 see if your system is available in these configs please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation).
242250

lib/NfcoreTemplate.groovy

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
//
44

55
import org.yaml.snakeyaml.Yaml
6+
import groovy.json.JsonOutput
67

78
class NfcoreTemplate {
89

@@ -245,6 +246,21 @@ class NfcoreTemplate {
245246
}
246247
}
247248

249+
//
250+
// Dump pipeline parameters in a json file
251+
//
252+
public static void dump_parameters(workflow, params) {
253+
def output_d = new File("${params.outdir}/pipeline_info/")
254+
if (!output_d.exists()) {
255+
output_d.mkdirs()
256+
}
257+
258+
def timestamp = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss')
259+
def output_pf = new File(output_d, "params_${timestamp}.json")
260+
def jsonStr = JsonOutput.toJson(params)
261+
output_pf.text = JsonOutput.prettyPrint(jsonStr)
262+
}
263+
248264
//
249265
// Print pipeline summary on completion
250266
//

lib/WorkflowRnaseq.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ class WorkflowRnaseq {
276276
// Generate methods description for MultiQC
277277
//
278278
public static String toolCitationText(params) {
279-
// TODO Optionally add in-text citation tools to this list.
279+
// TODO nf-core: Optionally add in-text citation tools to this list.
280280
// Can use ternary operators to dynamically construct based conditions, e.g. params["run_xyz"] ? "Tool (Foo et al. 2023)" : "",
281281
// Uncomment function in methodsDescriptionText to render in MultiQC report
282282
def citation_text = [

0 commit comments

Comments
 (0)