Skip to content

Commit

Permalink
Merge pull request nf-core#281 from ggabernet/small-fixes
Browse files Browse the repository at this point in the history
small fixes
  • Loading branch information
ggabernet authored Oct 23, 2023
2 parents 9743661 + 35d63e1 commit 9a2031b
Show file tree
Hide file tree
Showing 34 changed files with 231 additions and 90 deletions.
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "nfcore",
"image": "nfcore/gitpod:latest",
"remoteUser": "gitpod",
"runArgs": ["--privileged"],

// Configure tool-specific properties.
"customizations": {
Expand Down
68 changes: 68 additions & 0 deletions .github/workflows/release-announcments.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: release-announcements
# Automatic release toot and tweet anouncements
on:
release:
types: [published]
workflow_dispatch:

jobs:
toot:
runs-on: ubuntu-latest
steps:
- uses: rzr/fediverse-action@master
with:
access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }}
host: "mstdn.science" # custom host if not "mastodon.social" (default)
# GitHub event payload
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release
message: |
Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!
Please see the changelog: ${{ github.event.release.html_url }}
send-tweet:
runs-on: ubuntu-latest

steps:
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install dependencies
run: pip install tweepy==4.14.0
- name: Send tweet
shell: python
run: |
import os
import tweepy
client = tweepy.Client(
access_token=os.getenv("TWITTER_ACCESS_TOKEN"),
access_token_secret=os.getenv("TWITTER_ACCESS_TOKEN_SECRET"),
consumer_key=os.getenv("TWITTER_CONSUMER_KEY"),
consumer_secret=os.getenv("TWITTER_CONSUMER_SECRET"),
)
tweet = os.getenv("TWEET")
client.create_tweet(text=tweet)
env:
TWEET: |
Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!
Please see the changelog: ${{ github.event.release.html_url }}
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}

bsky-post:
runs-on: ubuntu-latest
steps:
- uses: zentered/[email protected]
with:
post: |
Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!
Please see the changelog: ${{ github.event.release.html_url }}
env:
BSKY_IDENTIFIER: ${{ secrets.BSKY_IDENTIFIER }}
BSKY_PASSWORD: ${{ secrets.BSKY_PASSWORD }}
#
8 changes: 6 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- [#266](https://github.com/nf-core/airrflow/pull/266) Added clonal reports tables to final report folder.
- [#266](https://github.com/nf-core/airrflow/pull/266) Added processes to include sampleID to filename in assembled workflow to keep it unique.
- [#276](https://github.com/nf-core/airrflow/pull/276) Parametrize FindThreshold Report and Presto Buildconsensus UMI.
- [#279](https://github.com/nf-core/airrflow/pull/279) Update to nf-core tools v2.10.
- [#281](https://github.com/nf-core/airrflow/pull/281) Update to nf-core tools v2.10.

### `Fixed`

Expand All @@ -27,7 +27,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

| Dependency | Old version | New version |
| ---------- | ----------- | ----------- |
| r-enchantr | 0.1.2 | 0.1.5 |
| r-enchantr | 0.1.2 | 0.1.7 |
| r-alakazam | 1.2.1 | 1.3.0 |
| r-shazam | 1.1.0 | 1.2.0 |
| r-dowser | 1.2.0 | 2.0.0 |
| fastqc | 0.11.9 | 0.12.1 |

## [3.1.0] - 2023-06-05 "Protego"

Expand Down
2 changes: 1 addition & 1 deletion CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)

> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online]. Available online https://www.bioinformatics.babraham.ac.uk/projects/fastqc/.
> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
- [Fastp](https://doi.org/10.1093/bioinformatics/bty560)

Expand Down
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ On release, automated continuous integration tests run the pipeline on a full-si

## Pipeline summary

nf-core/airrflow allows the end-to-end processing of BCR and TCR bulk and single cell targeted sequencing data. Several protocols are supported, please see the [usage documenation](https://nf-co.re/airrflow/usage) for more details on the supported protocols.
nf-core/airrflow allows the end-to-end processing of BCR and TCR bulk and single cell targeted sequencing data. Several protocols are supported, please see the [usage documentation](https://nf-co.re/airrflow/usage) for more details on the supported protocols.

![nf-core/airrflow overview](docs/images/metro-map-airrflow.png)

Expand Down Expand Up @@ -77,10 +77,11 @@ nf-core/airrflow allows the end-to-end processing of BCR and TCR bulk and single

## 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. 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.
:::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. 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.
:::

First, ensure that the pipeline tests run on your infrastructure:

Expand Down Expand Up @@ -124,16 +125,17 @@ nextflow run nf-core/airrflow \

See the [usage documentation](https://nf-co.re/airrflow/usage) and the [parameter documentation](https://nf-co.re/airrflow/parameters) for more details on how to use the pipeline and all the available parameters.

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

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

## Pipeline output

To see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/airrflow/results) tab on the nf-core website pipeline page.
To see the the results of a test run with a full size dataset refer to the [results](https://nf-co.re/airrflow/results) tab on the nf-core website pipeline page.
For more details about the output files and reports, please refer to the
[output documentation](https://nf-co.re/airrflow/output).

Expand Down
2 changes: 1 addition & 1 deletion assets/multiqc_config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
report_comment:
This report has been generated by the <a href="https://github.com/nf-core/airrflow/3.1.0" target="_blank">nf-core/airrflow</a>
This report has been generated by the <a href="https://nf-co.re/airrflow/3.2.0" target="_blank">nf-core/airrflow</a>
analysis pipeline. For information about how to interpret these results, please see the
<a href="https://nf-co.re/airrflow" target="_blank">documentation</a>.

Expand Down
1 change: 0 additions & 1 deletion bin/check_samplesheet.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ def check_samplesheet(file_in, assembled):
"subject_id",
"species",
"pcr_target_locus",
"tissue",
]

## Read header
Expand Down
9 changes: 9 additions & 0 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -510,4 +510,13 @@ process {
]
}

withName: 'MULTIQC' {
ext.args = params.multiqc_title ? "--title \"$params.multiqc_title\"" : ''
publishDir = [
path: { "${params.outdir}/multiqc" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

}
5 changes: 4 additions & 1 deletion docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,9 @@ Remove sequences which do not have 2 representative using [SplitSeq](https://pre

![MultiQC - FastQC adapter content plot](images/mqc_fastqc_adapter.png)

> **NB:** Two sets of FastQC plots are displayed in the MultiQC report: first for the raw _untrimmed_ and unmated reads and secondly for the assembled and QC filtered reads (but before collapsing duplicates). They may contain adapter sequence and potentially regions with low quality.
:::note
Two sets of FastQC plots are displayed in the MultiQC report: first for the raw _untrimmed_ and unmated reads and secondly for the assembled and QC filtered reads (but before collapsing duplicates). They may contain adapter sequence and potentially regions with low quality.
:::

## VDJ annotation

Expand Down Expand Up @@ -507,6 +509,7 @@ Results generated by MultiQC collate pipeline QC from supported tools e.g. FastQ
- Reports generated by Nextflow: `execution_report.html`, `execution_timeline.html`, `execution_trace.txt` and `pipeline_dag.dot`/`pipeline_dag.svg`.
- 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.
- Reformatted samplesheet files used as input to the pipeline: `samplesheet.valid.csv`.
- Parameters used by the pipeline run: `params.json`.

</details>

Expand Down
16 changes: 12 additions & 4 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@ If you wish to repeatedly use the same parameters for multiple runs, rather than

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

> ⚠️ 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).
:::warning
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).
:::

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

Expand Down Expand Up @@ -93,7 +95,9 @@ This version number will be logged in reports when you run the pipeline, so that

To further assist in reproducibility, 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.

> 💡 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.
:::tip
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.
:::

## Input samplesheet

Expand Down Expand Up @@ -367,15 +371,19 @@ The UMI barcodes are typically read from an index file but sometimes can be prov

## Core Nextflow arguments

> **NB:** These options are part of Nextflow and use a _single_ hyphen (pipeline parameters use a double-hyphen).
:::note
These options are part of Nextflow and use a _single_ hyphen (pipeline parameters use a double-hyphen).
:::

### `-profile`

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

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.

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

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).

Expand Down
4 changes: 1 addition & 3 deletions lib/WorkflowAirrflow.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ class WorkflowAirrflow {

public static String toolCitationText(params) {

// TODO Optionally add in-text citation tools to this list.
// Can use ternary operators to dynamically construct based conditions, e.g. params["run_xyz"] ? "Tool (Foo et al. 2023)" : "",
// Uncomment function in methodsDescriptionText to render in MultiQC report
def citation_text = [
Expand All @@ -61,7 +60,6 @@ class WorkflowAirrflow {

public static String toolBibliographyText(params) {

// TODO Optionally add bibliographic entries to this list.
// Can use ternary operators to dynamically construct based conditions, e.g. params["run_xyz"] ? "<li>Author (2023) Pub name, Journal, DOI</li>" : "",
// Uncomment function in methodsDescriptionText to render in MultiQC report
def reference_text = [
Expand All @@ -86,7 +84,7 @@ class WorkflowAirrflow {
meta["tool_citations"] = ""
meta["tool_bibliography"] = ""

// TODO Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
// Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
//meta["tool_citations"] = toolCitationText(params).replaceAll(", \\.", ".").replaceAll("\\. \\.", ".").replaceAll(", \\.", ".")
//meta["tool_bibliography"] = toolBibliographyText(params)

Expand Down
2 changes: 1 addition & 1 deletion modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
},
"fastqc": {
"branch": "master",
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
"git_sha": "cfd937a668919d948f6fcbf4218e79de50c2f36f",
"installed_by": ["modules"]
},
"multiqc": {
Expand Down
4 changes: 2 additions & 2 deletions modules/local/airrflow_report/airrflow_report.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ process AIRRFLOW_REPORT {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"

input:
tuple val(meta), path(tab) // sequence tsv table in AIRR format
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/collapse_duplicates.nf
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ process COLLAPSE_DUPLICATES {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"

input:
tuple val(meta), path(tabs) // tuple [val(meta), sequence tsv in AIRR format ]
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/define_clones.nf
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ process DEFINE_CLONES {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"

input:
tuple val(meta), path(tabs) // meta, sequence tsv in AIRR format
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/detect_contamination.nf
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ process DETECT_CONTAMINATION {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"

input:
path(tabs)
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/dowser_lineages.nf
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ process DOWSER_LINEAGES {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"

input:
tuple val(meta), path(tabs)
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/find_threshold.nf
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ process FIND_THRESHOLD {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"


input:
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/remove_chimeric.nf
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ process REMOVE_CHIMERIC {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"


input:
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/report_file_size.nf
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ process REPORT_FILE_SIZE {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"

input:
path logs
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/single_cell_qc.nf
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ process SINGLE_CELL_QC {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"

input:
path(tabs)
Expand Down
4 changes: 2 additions & 2 deletions modules/local/enchantr/validate_input.nf
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ process VALIDATE_INPUT {
error "nf-core/airrflow currently does not support Conda. Please use a container profile instead."
}
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'docker.io/immcantation/airrflow:devel':
'docker.io/immcantation/airrflow:devel' }"
'docker.io/immcantation/airrflow:3.2.0':
'docker.io/immcantation/airrflow:3.2.0' }"

input:
file samplesheet
Expand Down
Loading

0 comments on commit 9a2031b

Please sign in to comment.