mirror of
https://github.com/MillironX/taxprofiler.git
synced 2024-11-14 06:53:09 +00:00
Merge branch 'dev' into update_usage
This commit is contained in:
commit
5373c58331
21 changed files with 274 additions and 153 deletions
27
.devcontainer/devcontainer.json
Normal file
27
.devcontainer/devcontainer.json
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"name": "nfcore",
|
||||||
|
"image": "nfcore/gitpod:latest",
|
||||||
|
"remoteUser": "gitpod",
|
||||||
|
|
||||||
|
// Configure tool-specific properties.
|
||||||
|
"customizations": {
|
||||||
|
// Configure properties specific to VS Code.
|
||||||
|
"vscode": {
|
||||||
|
// Set *default* container specific settings.json values on container create.
|
||||||
|
"settings": {
|
||||||
|
"python.defaultInterpreterPath": "/opt/conda/bin/python",
|
||||||
|
"python.linting.enabled": true,
|
||||||
|
"python.linting.pylintEnabled": true,
|
||||||
|
"python.formatting.autopep8Path": "/opt/conda/bin/autopep8",
|
||||||
|
"python.formatting.yapfPath": "/opt/conda/bin/yapf",
|
||||||
|
"python.linting.flake8Path": "/opt/conda/bin/flake8",
|
||||||
|
"python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle",
|
||||||
|
"python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle",
|
||||||
|
"python.linting.pylintPath": "/opt/conda/bin/pylint"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Add the IDs of extensions you want installed when the container is created.
|
||||||
|
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1
.gitattributes
vendored
1
.gitattributes
vendored
|
@ -1,3 +1,4 @@
|
||||||
*.config linguist-language=nextflow
|
*.config linguist-language=nextflow
|
||||||
|
*.nf.test linguist-language=nextflow
|
||||||
modules/nf-core/** linguist-generated
|
modules/nf-core/** linguist-generated
|
||||||
subworkflows/nf-core/** linguist-generated
|
subworkflows/nf-core/** linguist-generated
|
||||||
|
|
16
.github/CONTRIBUTING.md
vendored
16
.github/CONTRIBUTING.md
vendored
|
@ -101,3 +101,19 @@ If you are using a new feature from core Nextflow, you may bump the minimum requ
|
||||||
### Images and figures
|
### Images and figures
|
||||||
|
|
||||||
For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).
|
For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).
|
||||||
|
|
||||||
|
## GitHub Codespaces
|
||||||
|
|
||||||
|
This repo includes a devcontainer configuration which will create a GitHub Codespaces for Nextflow development! This is an online developer environment that runs in your browser, complete with VSCode and a terminal.
|
||||||
|
|
||||||
|
To get started:
|
||||||
|
|
||||||
|
- Open the repo in [Codespaces](https://github.com/nf-core/taxprofiler/codespaces)
|
||||||
|
- Tools installed
|
||||||
|
- nf-core
|
||||||
|
- Nextflow
|
||||||
|
|
||||||
|
Devcontainer specs:
|
||||||
|
|
||||||
|
- [DevContainer config](.devcontainer/devcontainer.json)
|
||||||
|
- [Dockerfile](.devcontainer/Dockerfile)
|
||||||
|
|
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -42,7 +42,7 @@ body:
|
||||||
attributes:
|
attributes:
|
||||||
label: System information
|
label: System information
|
||||||
description: |
|
description: |
|
||||||
* Nextflow version _(eg. 21.10.3)_
|
* Nextflow version _(eg. 22.10.1)_
|
||||||
* Hardware _(eg. HPC, Desktop, Cloud)_
|
* Hardware _(eg. HPC, Desktop, Cloud)_
|
||||||
* Executor _(eg. slurm, local, awsbatch)_
|
* Executor _(eg. slurm, local, awsbatch)_
|
||||||
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_
|
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_
|
||||||
|
|
14
.github/workflows/ci.yml
vendored
14
.github/workflows/ci.yml
vendored
|
@ -11,6 +11,10 @@ on:
|
||||||
env:
|
env:
|
||||||
NXF_ANSI_LOG: false
|
NXF_ANSI_LOG: false
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
name: Run pipeline with test data
|
name: Run pipeline with test data
|
||||||
|
@ -21,7 +25,7 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
NXF_VER:
|
NXF_VER:
|
||||||
- "21.10.3"
|
- "22.10.1"
|
||||||
- "latest-everything"
|
- "latest-everything"
|
||||||
parameters:
|
parameters:
|
||||||
- "--preprocessing_qc_tool falco"
|
- "--preprocessing_qc_tool falco"
|
||||||
|
@ -41,7 +45,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out pipeline code
|
- name: Check out pipeline code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Install Nextflow
|
- name: Install Nextflow
|
||||||
uses: nf-core/setup-nextflow@v1
|
uses: nf-core/setup-nextflow@v1
|
||||||
|
@ -69,7 +73,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
NXF_VER:
|
NXF_VER:
|
||||||
- "21.10.3"
|
- "22.10.1"
|
||||||
- "latest-everything"
|
- "latest-everything"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
@ -109,7 +113,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
NXF_VER:
|
NXF_VER:
|
||||||
- "21.10.3"
|
- "22.10.1"
|
||||||
- "latest-everything"
|
- "latest-everything"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
@ -142,7 +146,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
NXF_VER:
|
NXF_VER:
|
||||||
- "21.10.3"
|
- "22.10.1"
|
||||||
- "latest-everything"
|
- "latest-everything"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
6
.github/workflows/fix-linting.yml
vendored
6
.github/workflows/fix-linting.yml
vendored
|
@ -24,7 +24,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}
|
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}
|
||||||
|
|
||||||
- uses: actions/setup-node@v2
|
- uses: actions/setup-node@v3
|
||||||
|
|
||||||
- name: Install Prettier
|
- name: Install Prettier
|
||||||
run: npm install -g prettier @prettier/plugin-php
|
run: npm install -g prettier @prettier/plugin-php
|
||||||
|
@ -34,9 +34,9 @@ jobs:
|
||||||
id: prettier_status
|
id: prettier_status
|
||||||
run: |
|
run: |
|
||||||
if prettier --check ${GITHUB_WORKSPACE}; then
|
if prettier --check ${GITHUB_WORKSPACE}; then
|
||||||
echo "::set-output name=result::pass"
|
echo "name=result::pass" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
echo "::set-output name=result::fail"
|
echo "name=result::fail" >> $GITHUB_OUTPUT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Run 'prettier --write'
|
- name: Run 'prettier --write'
|
||||||
|
|
18
.github/workflows/linting.yml
vendored
18
.github/workflows/linting.yml
vendored
|
@ -4,6 +4,8 @@ name: nf-core linting
|
||||||
# that the code meets the nf-core guidelines.
|
# that the code meets the nf-core guidelines.
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
pull_request:
|
pull_request:
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
@ -12,9 +14,9 @@ jobs:
|
||||||
EditorConfig:
|
EditorConfig:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- uses: actions/setup-node@v2
|
- uses: actions/setup-node@v3
|
||||||
|
|
||||||
- name: Install editorconfig-checker
|
- name: Install editorconfig-checker
|
||||||
run: npm install -g editorconfig-checker
|
run: npm install -g editorconfig-checker
|
||||||
|
@ -25,9 +27,9 @@ jobs:
|
||||||
Prettier:
|
Prettier:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- uses: actions/setup-node@v2
|
- uses: actions/setup-node@v3
|
||||||
|
|
||||||
- name: Install Prettier
|
- name: Install Prettier
|
||||||
run: npm install -g prettier
|
run: npm install -g prettier
|
||||||
|
@ -38,7 +40,7 @@ jobs:
|
||||||
PythonBlack:
|
PythonBlack:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Check code lints with Black
|
- name: Check code lints with Black
|
||||||
uses: psf/black@stable
|
uses: psf/black@stable
|
||||||
|
@ -69,12 +71,12 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out pipeline code
|
- name: Check out pipeline code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Install Nextflow
|
- name: Install Nextflow
|
||||||
uses: nf-core/setup-nextflow@v1
|
uses: nf-core/setup-nextflow@v1
|
||||||
|
|
||||||
- uses: actions/setup-python@v3
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: "3.7"
|
python-version: "3.7"
|
||||||
architecture: "x64"
|
architecture: "x64"
|
||||||
|
@ -97,7 +99,7 @@ jobs:
|
||||||
|
|
||||||
- name: Upload linting log file artifact
|
- name: Upload linting log file artifact
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: linting-logs
|
name: linting-logs
|
||||||
path: |
|
path: |
|
||||||
|
|
2
.github/workflows/linting_comment.yml
vendored
2
.github/workflows/linting_comment.yml
vendored
|
@ -18,7 +18,7 @@ jobs:
|
||||||
|
|
||||||
- name: Get PR number
|
- name: Get PR number
|
||||||
id: pr_number
|
id: pr_number
|
||||||
run: echo "::set-output name=pr_number::$(cat linting-logs/PR_number.txt)"
|
run: echo "name=pr_number::$(cat linting-logs/PR_number.txt)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Post PR comment
|
- name: Post PR comment
|
||||||
uses: marocchino/sticky-pull-request-comment@v2
|
uses: marocchino/sticky-pull-request-comment@v2
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
email_template.html
|
email_template.html
|
||||||
adaptivecard.json
|
adaptivecard.json
|
||||||
|
slackreport.json
|
||||||
.nextflow*
|
.nextflow*
|
||||||
work/
|
work/
|
||||||
data/
|
data/
|
||||||
|
@ -8,4 +9,5 @@ results/
|
||||||
testing/
|
testing/
|
||||||
testing*
|
testing*
|
||||||
*.pyc
|
*.pyc
|
||||||
|
bin/
|
||||||
tests/
|
tests/
|
||||||
|
|
56
CITATION.cff
56
CITATION.cff
|
@ -1,56 +0,0 @@
|
||||||
cff-version: 1.2.0
|
|
||||||
message: "If you use `nf-core tools` in your work, please cite the `nf-core` publication"
|
|
||||||
authors:
|
|
||||||
- family-names: Ewels
|
|
||||||
given-names: Philip
|
|
||||||
- family-names: Peltzer
|
|
||||||
given-names: Alexander
|
|
||||||
- family-names: Fillinger
|
|
||||||
given-names: Sven
|
|
||||||
- family-names: Patel
|
|
||||||
given-names: Harshil
|
|
||||||
- family-names: Alneberg
|
|
||||||
given-names: Johannes
|
|
||||||
- family-names: Wilm
|
|
||||||
given-names: Andreas
|
|
||||||
- family-names: Garcia
|
|
||||||
given-names: Maxime Ulysse
|
|
||||||
- family-names: Di Tommaso
|
|
||||||
given-names: Paolo
|
|
||||||
- family-names: Nahnsen
|
|
||||||
given-names: Sven
|
|
||||||
title: "The nf-core framework for community-curated bioinformatics pipelines."
|
|
||||||
version: 2.4.1
|
|
||||||
doi: 10.1038/s41587-020-0439-x
|
|
||||||
date-released: 2022-05-16
|
|
||||||
url: https://github.com/nf-core/tools
|
|
||||||
prefered-citation:
|
|
||||||
type: article
|
|
||||||
authors:
|
|
||||||
- family-names: Ewels
|
|
||||||
given-names: Philip
|
|
||||||
- family-names: Peltzer
|
|
||||||
given-names: Alexander
|
|
||||||
- family-names: Fillinger
|
|
||||||
given-names: Sven
|
|
||||||
- family-names: Patel
|
|
||||||
given-names: Harshil
|
|
||||||
- family-names: Alneberg
|
|
||||||
given-names: Johannes
|
|
||||||
- family-names: Wilm
|
|
||||||
given-names: Andreas
|
|
||||||
- family-names: Garcia
|
|
||||||
given-names: Maxime Ulysse
|
|
||||||
- family-names: Di Tommaso
|
|
||||||
given-names: Paolo
|
|
||||||
- family-names: Nahnsen
|
|
||||||
given-names: Sven
|
|
||||||
doi: 10.1038/s41587-020-0439-x
|
|
||||||
journal: nature biotechnology
|
|
||||||
start: 276
|
|
||||||
end: 278
|
|
||||||
title: "The nf-core framework for community-curated bioinformatics pipelines."
|
|
||||||
issue: 3
|
|
||||||
volume: 38
|
|
||||||
year: 2020
|
|
||||||
url: https://dx.doi.org/10.1038/s41587-020-0439-x
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/taxprofiler/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)
|
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/taxprofiler/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)
|
||||||
|
|
||||||
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg)](https://www.nextflow.io/)
|
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A522.10.1-23aa62.svg)](https://www.nextflow.io/)
|
||||||
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
|
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
|
||||||
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
|
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
|
||||||
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
|
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
|
||||||
|
@ -54,7 +54,7 @@ On release, automated continuous integration tests run the pipeline on a full-si
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=21.10.3`).
|
1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=22.10.1`).
|
||||||
|
|
||||||
2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) (you can follow [this tutorial](https://singularity-tutorial.github.io/01-installation/)), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(you can use [`Conda`](https://conda.io/miniconda.html) both to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_.
|
2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) (you can follow [this tutorial](https://singularity-tutorial.github.io/01-installation/)), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(you can use [`Conda`](https://conda.io/miniconda.html) both to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_.
|
||||||
|
|
||||||
|
|
34
assets/slackreport.json
Normal file
34
assets/slackreport.json
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{
|
||||||
|
"attachments": [
|
||||||
|
{
|
||||||
|
"fallback": "Plain-text summary of the attachment.",
|
||||||
|
"color": "<% if (success) { %>good<% } else { %>danger<%} %>",
|
||||||
|
"author_name": "sanger-tol/readmapping v${version} - ${runName}",
|
||||||
|
"author_icon": "https://www.nextflow.io/docs/latest/_static/favicon.ico",
|
||||||
|
"text": "<% if (success) { %>Pipeline completed successfully!<% } else { %>Pipeline completed with errors<% } %>",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"title": "Command used to launch the workflow",
|
||||||
|
"value": "```${commandLine}```",
|
||||||
|
"short": false
|
||||||
|
}
|
||||||
|
<%
|
||||||
|
if (!success) { %>
|
||||||
|
,
|
||||||
|
{
|
||||||
|
"title": "Full error message",
|
||||||
|
"value": "```${errorReport}```",
|
||||||
|
"short": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Pipeline configuration",
|
||||||
|
"value": "<% out << summary.collect{ k,v -> k == "hook_url" ? "_${k}_: (_hidden_)" : ( ( v.class.toString().contains('Path') || ( v.class.toString().contains('String') && v.contains('/') ) ) ? "_${k}_: `${v}`" : (v.class.toString().contains('DateTime') ? ("_${k}_: " + v.format(java.time.format.DateTimeFormatter.ofLocalizedDateTime(java.time.format.FormatStyle.MEDIUM))) : "_${k}_: ${v}") ) }.join(",\n") %>",
|
||||||
|
"short": false
|
||||||
|
}
|
||||||
|
<% }
|
||||||
|
%>
|
||||||
|
],
|
||||||
|
"footer": "Completed at <% out << dateComplete.format(java.time.format.DateTimeFormatter.ofLocalizedDateTime(java.time.format.FormatStyle.MEDIUM)) %> (duration: ${duration})"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -291,9 +291,9 @@ nextflow pull nf-core/taxprofiler
|
||||||
|
|
||||||
It is a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since.
|
It is a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since.
|
||||||
|
|
||||||
First, go to the [nf-core/taxprofiler releases page](https://github.com/nf-core/taxprofiler/releases) and find the latest version number - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`.
|
First, go to the [nf-core/taxprofiler releases page](https://github.com/nf-core/taxprofiler/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.
|
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. For example, at the bottom of the MultiQC reports.
|
||||||
|
|
||||||
## Core Nextflow arguments
|
## Core Nextflow arguments
|
||||||
|
|
||||||
|
@ -303,7 +303,7 @@ This version number will be logged in reports when you run the pipeline, so that
|
||||||
|
|
||||||
Use this parameter to choose a configuration profile. Profiles can give configuration presets for different compute environments.
|
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, Conda) - see below. When using Biocontainers, most of these software packaging methods pull Docker containers from quay.io e.g [FastQC](https://quay.io/repository/biocontainers/fastqc) except for Singularity which directly downloads Singularity images via https hosted by the [Galaxy project](https://depot.galaxyproject.org/singularity/) and Conda which downloads and installs software locally from [Bioconda](https://bioconda.github.io/).
|
Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, 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.
|
> We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported.
|
||||||
|
|
||||||
|
@ -312,8 +312,14 @@ The pipeline also dynamically loads configurations from [https://github.com/nf-c
|
||||||
Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important!
|
Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important!
|
||||||
They are loaded in sequence, so later profiles can overwrite earlier profiles.
|
They are loaded in sequence, so later profiles can overwrite earlier profiles.
|
||||||
|
|
||||||
If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended.
|
If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended, since it can lead to different results on different machines dependent on the computer enviroment.
|
||||||
|
|
||||||
|
- `test`
|
||||||
|
- A profile with a complete configuration for automated testing
|
||||||
|
- Includes links to test data so needs no other parameters
|
||||||
|
- `test_pep`
|
||||||
|
- A profile with a complete configuration for running a pipeline with PEP as input
|
||||||
|
- Includes links to test data so needs no other parameters
|
||||||
- `docker`
|
- `docker`
|
||||||
- A generic configuration profile to be used with [Docker](https://docker.com/)
|
- A generic configuration profile to be used with [Docker](https://docker.com/)
|
||||||
- `singularity`
|
- `singularity`
|
||||||
|
@ -326,12 +332,6 @@ If `-profile` is not specified, the pipeline will run locally and expect all sof
|
||||||
- A generic configuration profile to be used with [Charliecloud](https://hpc.github.io/charliecloud/)
|
- A generic configuration profile to be used with [Charliecloud](https://hpc.github.io/charliecloud/)
|
||||||
- `conda`
|
- `conda`
|
||||||
- A generic configuration profile to be used with [Conda](https://conda.io/docs/). Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter or Charliecloud.
|
- A generic configuration profile to be used with [Conda](https://conda.io/docs/). Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter or Charliecloud.
|
||||||
- `test`
|
|
||||||
- A profile with a complete configuration for automated testing
|
|
||||||
- Includes links to test data so needs no other parameters
|
|
||||||
- `test_pep`
|
|
||||||
- A profile with a complete configuration for running a pipeline with PEP as input
|
|
||||||
- Includes links to test data so needs no other parameters
|
|
||||||
|
|
||||||
### `-resume`
|
### `-resume`
|
||||||
|
|
||||||
|
@ -380,8 +380,14 @@ Work dir:
|
||||||
Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`
|
Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### For beginners
|
||||||
|
|
||||||
|
A first step to bypass this error, you could try to increase the amount of CPUs, memory, and time for the whole pipeline. Therefor you can try to increase the resource for the parameters `--max_cpus`, `--max_memory`, and `--max_time`. Based on the error above, you have to increase the amount of memory. Therefore you can go to the [parameter documentation of rnaseq](https://nf-co.re/rnaseq/3.9/parameters) and scroll down to the `show hidden parameter` button to get the default value for `--max_memory`. In this case 128GB, you than can try to run your pipeline again with `--max_memory 200GB -resume` to skip all process, that were already calculated. If you can not increase the resource of the complete pipeline, you can try to adapt the resource for a single process as mentioned below.
|
||||||
|
|
||||||
|
#### Advanced option on process level
|
||||||
|
|
||||||
To bypass this error you would need to find exactly which resources are set by the `STAR_ALIGN` process. The quickest way is to search for `process STAR_ALIGN` in the [nf-core/rnaseq Github repo](https://github.com/nf-core/rnaseq/search?q=process+STAR_ALIGN).
|
To bypass this error you would need to find exactly which resources are set by the `STAR_ALIGN` process. The quickest way is to search for `process STAR_ALIGN` in the [nf-core/rnaseq Github repo](https://github.com/nf-core/rnaseq/search?q=process+STAR_ALIGN).
|
||||||
We have standardised the structure of Nextflow DSL2 pipelines such that all module files will be present in the `modules/` directory and so, based on the search results, the file we want is `modules/nf-core/software/star/align/main.nf`.
|
We have standardised the structure of Nextflow DSL2 pipelines such that all module files will be present in the `modules/` directory and so, based on the search results, the file we want is `modules/nf-core/star/align/main.nf`.
|
||||||
If you click on the link to that file you will notice that there is a `label` directive at the top of the module that is set to [`label process_high`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L9).
|
If you click on the link to that file you will notice that there is a `label` directive at the top of the module that is set to [`label process_high`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L9).
|
||||||
The [Nextflow `label`](https://www.nextflow.io/docs/latest/process.html#label) directive allows us to organise workflow processes in separate groups which can be referenced in a configuration file to select and configure subset of processes having similar computing requirements.
|
The [Nextflow `label`](https://www.nextflow.io/docs/latest/process.html#label) directive allows us to organise workflow processes in separate groups which can be referenced in a configuration file to select and configure subset of processes having similar computing requirements.
|
||||||
The default values for the `process_high` label are set in the pipeline's [`base.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L33-L37) which in this case is defined as 72GB.
|
The default values for the `process_high` label are set in the pipeline's [`base.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L33-L37) which in this case is defined as 72GB.
|
||||||
|
@ -400,7 +406,7 @@ process {
|
||||||
>
|
>
|
||||||
> If you get a warning suggesting that the process selector isn't recognised check that the process name has been specified correctly.
|
> If you get a warning suggesting that the process selector isn't recognised check that the process name has been specified correctly.
|
||||||
|
|
||||||
### Updating containers
|
### Updating containers (advanced users)
|
||||||
|
|
||||||
The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. If for some reason you need to use a different version of a particular tool with the pipeline then you just need to identify the `process` name and override the Nextflow `container` definition for that process using the `withName` declaration. For example, in the [nf-core/viralrecon](https://nf-co.re/viralrecon) pipeline a tool called [Pangolin](https://github.com/cov-lineages/pangolin) has been used during the COVID-19 pandemic to assign lineages to SARS-CoV-2 genome sequenced samples. Given that the lineage assignments change quite frequently it doesn't make sense to re-release the nf-core/viralrecon everytime a new version of Pangolin has been released. However, you can override the default container used by the pipeline by creating a custom config file and passing it as a command-line argument via `-c custom.config`.
|
The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. If for some reason you need to use a different version of a particular tool with the pipeline then you just need to identify the `process` name and override the Nextflow `container` definition for that process using the `withName` declaration. For example, in the [nf-core/viralrecon](https://nf-co.re/viralrecon) pipeline a tool called [Pangolin](https://github.com/cov-lineages/pangolin) has been used during the COVID-19 pandemic to assign lineages to SARS-CoV-2 genome sequenced samples. Given that the lineage assignments change quite frequently it doesn't make sense to re-release the nf-core/viralrecon everytime a new version of Pangolin has been released. However, you can override the default container used by the pipeline by creating a custom config file and passing it as a command-line argument via `-c custom.config`.
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,6 @@ class NfcoreSchema {
|
||||||
'quiet',
|
'quiet',
|
||||||
'syslog',
|
'syslog',
|
||||||
'v',
|
'v',
|
||||||
'version',
|
|
||||||
|
|
||||||
// Options for `nextflow run` command
|
// Options for `nextflow run` command
|
||||||
'ansi',
|
'ansi',
|
||||||
|
|
|
@ -32,6 +32,25 @@ class NfcoreTemplate {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Generate version string
|
||||||
|
//
|
||||||
|
public static String version(workflow) {
|
||||||
|
String version_string = ""
|
||||||
|
|
||||||
|
if (workflow.manifest.version) {
|
||||||
|
def prefix_v = workflow.manifest.version[0] != 'v' ? 'v' : ''
|
||||||
|
version_string += "${prefix_v}${workflow.manifest.version}"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (workflow.commitId) {
|
||||||
|
def git_shortsha = workflow.commitId.substring(0, 7)
|
||||||
|
version_string += "-g${git_shortsha}"
|
||||||
|
}
|
||||||
|
|
||||||
|
return version_string
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Construct and send completion email
|
// Construct and send completion email
|
||||||
//
|
//
|
||||||
|
@ -61,7 +80,7 @@ class NfcoreTemplate {
|
||||||
misc_fields['Nextflow Compile Timestamp'] = workflow.nextflow.timestamp
|
misc_fields['Nextflow Compile Timestamp'] = workflow.nextflow.timestamp
|
||||||
|
|
||||||
def email_fields = [:]
|
def email_fields = [:]
|
||||||
email_fields['version'] = workflow.manifest.version
|
email_fields['version'] = NfcoreTemplate.version(workflow)
|
||||||
email_fields['runName'] = workflow.runName
|
email_fields['runName'] = workflow.runName
|
||||||
email_fields['success'] = workflow.success
|
email_fields['success'] = workflow.success
|
||||||
email_fields['dateComplete'] = workflow.complete
|
email_fields['dateComplete'] = workflow.complete
|
||||||
|
@ -146,10 +165,10 @@ class NfcoreTemplate {
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Construct and send adaptive card
|
// Construct and send a notification to a web server as JSON
|
||||||
// https://adaptivecards.io
|
// e.g. Microsoft Teams and Slack
|
||||||
//
|
//
|
||||||
public static void adaptivecard(workflow, params, summary_params, projectDir, log) {
|
public static void IM_notification(workflow, params, summary_params, projectDir, log) {
|
||||||
def hook_url = params.hook_url
|
def hook_url = params.hook_url
|
||||||
|
|
||||||
def summary = [:]
|
def summary = [:]
|
||||||
|
@ -170,7 +189,7 @@ class NfcoreTemplate {
|
||||||
misc_fields['nxf_timestamp'] = workflow.nextflow.timestamp
|
misc_fields['nxf_timestamp'] = workflow.nextflow.timestamp
|
||||||
|
|
||||||
def msg_fields = [:]
|
def msg_fields = [:]
|
||||||
msg_fields['version'] = workflow.manifest.version
|
msg_fields['version'] = NfcoreTemplate.version(workflow)
|
||||||
msg_fields['runName'] = workflow.runName
|
msg_fields['runName'] = workflow.runName
|
||||||
msg_fields['success'] = workflow.success
|
msg_fields['success'] = workflow.success
|
||||||
msg_fields['dateComplete'] = workflow.complete
|
msg_fields['dateComplete'] = workflow.complete
|
||||||
|
@ -178,13 +197,16 @@ class NfcoreTemplate {
|
||||||
msg_fields['exitStatus'] = workflow.exitStatus
|
msg_fields['exitStatus'] = workflow.exitStatus
|
||||||
msg_fields['errorMessage'] = (workflow.errorMessage ?: 'None')
|
msg_fields['errorMessage'] = (workflow.errorMessage ?: 'None')
|
||||||
msg_fields['errorReport'] = (workflow.errorReport ?: 'None')
|
msg_fields['errorReport'] = (workflow.errorReport ?: 'None')
|
||||||
msg_fields['commandLine'] = workflow.commandLine
|
msg_fields['commandLine'] = workflow.commandLine.replaceFirst(/ +--hook_url +[^ ]+/, "")
|
||||||
msg_fields['projectDir'] = workflow.projectDir
|
msg_fields['projectDir'] = workflow.projectDir
|
||||||
msg_fields['summary'] = summary << misc_fields
|
msg_fields['summary'] = summary << misc_fields
|
||||||
|
|
||||||
// Render the JSON template
|
// Render the JSON template
|
||||||
def engine = new groovy.text.GStringTemplateEngine()
|
def engine = new groovy.text.GStringTemplateEngine()
|
||||||
def hf = new File("$projectDir/assets/adaptivecard.json")
|
// Different JSON depending on the service provider
|
||||||
|
// Defaults to "Adaptive Cards" (https://adaptivecards.io), except Slack which has its own format
|
||||||
|
def json_path = hook_url.contains("hooks.slack.com") ? "slackreport.json" : "adaptivecard.json"
|
||||||
|
def hf = new File("$projectDir/assets/${json_path}")
|
||||||
def json_template = engine.createTemplate(hf).make(msg_fields)
|
def json_template = engine.createTemplate(hf).make(msg_fields)
|
||||||
def json_message = json_template.toString()
|
def json_message = json_template.toString()
|
||||||
|
|
||||||
|
@ -209,7 +231,7 @@ class NfcoreTemplate {
|
||||||
if (workflow.stats.ignoredCount == 0) {
|
if (workflow.stats.ignoredCount == 0) {
|
||||||
log.info "-${colors.purple}[$workflow.manifest.name]${colors.green} Pipeline completed successfully${colors.reset}-"
|
log.info "-${colors.purple}[$workflow.manifest.name]${colors.green} Pipeline completed successfully${colors.reset}-"
|
||||||
} else {
|
} else {
|
||||||
log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Pipeline completed successfully, but with errored process(es) ${colors.reset}-"
|
log.info "-${colors.purple}[$workflow.manifest.name]${colors.yellow} Pipeline completed successfully, but with errored process(es) ${colors.reset}-"
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Pipeline completed with errors${colors.reset}-"
|
log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Pipeline completed with errors${colors.reset}-"
|
||||||
|
@ -297,6 +319,7 @@ class NfcoreTemplate {
|
||||||
//
|
//
|
||||||
public static String logo(workflow, monochrome_logs) {
|
public static String logo(workflow, monochrome_logs) {
|
||||||
Map colors = logColours(monochrome_logs)
|
Map colors = logColours(monochrome_logs)
|
||||||
|
String workflow_version = NfcoreTemplate.version(workflow)
|
||||||
String.format(
|
String.format(
|
||||||
"""\n
|
"""\n
|
||||||
${dashedLine(monochrome_logs)}
|
${dashedLine(monochrome_logs)}
|
||||||
|
@ -305,7 +328,7 @@ class NfcoreTemplate {
|
||||||
${colors.blue} |\\ | |__ __ / ` / \\ |__) |__ ${colors.yellow}} {${colors.reset}
|
${colors.blue} |\\ | |__ __ / ` / \\ |__) |__ ${colors.yellow}} {${colors.reset}
|
||||||
${colors.blue} | \\| | \\__, \\__/ | \\ |___ ${colors.green}\\`-._,-`-,${colors.reset}
|
${colors.blue} | \\| | \\__, \\__/ | \\ |___ ${colors.green}\\`-._,-`-,${colors.reset}
|
||||||
${colors.green}`._,._,\'${colors.reset}
|
${colors.green}`._,._,\'${colors.reset}
|
||||||
${colors.purple} ${workflow.manifest.name} v${workflow.manifest.version}${colors.reset}
|
${colors.purple} ${workflow.manifest.name} ${workflow_version}${colors.reset}
|
||||||
${dashedLine(monochrome_logs)}
|
${dashedLine(monochrome_logs)}
|
||||||
""".stripIndent()
|
""".stripIndent()
|
||||||
)
|
)
|
||||||
|
|
|
@ -19,7 +19,7 @@ class WorkflowMain {
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Print help to screen if required
|
// Generate help string
|
||||||
//
|
//
|
||||||
public static String help(workflow, params, log) {
|
public static String help(workflow, params, log) {
|
||||||
def command = "nextflow run ${workflow.manifest.name} --input samplesheet.csv --genome GRCh37 -profile docker"
|
def command = "nextflow run ${workflow.manifest.name} --input samplesheet.csv --genome GRCh37 -profile docker"
|
||||||
|
@ -32,7 +32,7 @@ class WorkflowMain {
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Print parameter summary log to screen
|
// Generate parameter summary log string
|
||||||
//
|
//
|
||||||
public static String paramsSummaryLog(workflow, params, log) {
|
public static String paramsSummaryLog(workflow, params, log) {
|
||||||
def summary_log = ''
|
def summary_log = ''
|
||||||
|
@ -53,8 +53,14 @@ class WorkflowMain {
|
||||||
System.exit(0)
|
System.exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Print parameter summary log to screen
|
// Print workflow version and exit on --version
|
||||||
|
if (params.version) {
|
||||||
|
String workflow_version = NfcoreTemplate.version(workflow)
|
||||||
|
log.info "${workflow.manifest.name} ${workflow_version}"
|
||||||
|
System.exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print parameter summary log to screen
|
||||||
log.info paramsSummaryLog(workflow, params, log)
|
log.info paramsSummaryLog(workflow, params, log)
|
||||||
|
|
||||||
// Validate workflow parameters via the JSON schema
|
// Validate workflow parameters via the JSON schema
|
||||||
|
|
126
modules.json
126
modules.json
|
@ -7,171 +7,213 @@
|
||||||
"nf-core": {
|
"nf-core": {
|
||||||
"adapterremoval": {
|
"adapterremoval": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "ce7cf27e377fdacf7ebe8e75903ec70405ea1659"
|
"git_sha": "ce7cf27e377fdacf7ebe8e75903ec70405ea1659",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"bbmap/bbduk": {
|
"bbmap/bbduk": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"bowtie2/align": {
|
"bowtie2/align": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"bowtie2/build": {
|
"bowtie2/build": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"bracken/bracken": {
|
"bracken/bracken": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "8cab56516076b23c6f8eb1ac20ba4ce9692c85e1"
|
"git_sha": "8cab56516076b23c6f8eb1ac20ba4ce9692c85e1",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"cat/fastq": {
|
"cat/fastq": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"centrifuge/centrifuge": {
|
"centrifuge/centrifuge": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"centrifuge/kreport": {
|
"centrifuge/kreport": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"custom/dumpsoftwareversions": {
|
"custom/dumpsoftwareversions": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"diamond/blastx": {
|
"diamond/blastx": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"eido/convert": {
|
"eido/convert": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"eido/validate": {
|
"eido/validate": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"falco": {
|
"falco": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "fc959214036403ad83efe7a41d43d0606c445cda"
|
"git_sha": "fc959214036403ad83efe7a41d43d0606c445cda",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"fastp": {
|
"fastp": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "1e49f31e93c56a3832833eef90a02d3cde5a3f7e"
|
"git_sha": "1e49f31e93c56a3832833eef90a02d3cde5a3f7e",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"fastqc": {
|
"fastqc": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"filtlong": {
|
"filtlong": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"gunzip": {
|
"gunzip": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"kaiju/kaiju": {
|
"kaiju/kaiju": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"kaiju/kaiju2krona": {
|
"kaiju/kaiju2krona": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"kaiju/kaiju2table": {
|
"kaiju/kaiju2table": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"kraken2/kraken2": {
|
"kraken2/kraken2": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"krakentools/combinekreports": {
|
"krakentools/combinekreports": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"krakentools/kreport2krona": {
|
"krakentools/kreport2krona": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"krakenuniq/preloadedkrakenuniq": {
|
"krakenuniq/preloadedkrakenuniq": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "05649975c6611c6e007537a7984e186e12ae03af"
|
"git_sha": "05649975c6611c6e007537a7984e186e12ae03af",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"krona/ktimporttaxonomy": {
|
"krona/ktimporttaxonomy": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"krona/ktimporttext": {
|
"krona/ktimporttext": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"malt/run": {
|
"malt/run": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "6d9712f03ec2de8264a50ee4541a617e1e063b51"
|
"git_sha": "6d9712f03ec2de8264a50ee4541a617e1e063b51",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"megan/rma2info": {
|
"megan/rma2info": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"metaphlan3/mergemetaphlantables": {
|
"metaphlan3/mergemetaphlantables": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"metaphlan3/metaphlan3": {
|
"metaphlan3/metaphlan3": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"minimap2/align": {
|
"minimap2/align": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"minimap2/index": {
|
"minimap2/index": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"motus/merge": {
|
"motus/merge": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"motus/profile": {
|
"motus/profile": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"multiqc": {
|
"multiqc": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"porechop/porechop": {
|
"porechop/porechop": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "2a4e85eb81875a572bb58133e37f84ba3cc484d7"
|
"git_sha": "2a4e85eb81875a572bb58133e37f84ba3cc484d7",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"prinseqplusplus": {
|
"prinseqplusplus": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"samtools/bam2fq": {
|
"samtools/bam2fq": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"samtools/index": {
|
"samtools/index": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"samtools/stats": {
|
"samtools/stats": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"samtools/view": {
|
"samtools/view": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
},
|
},
|
||||||
"untar": {
|
"untar": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905"
|
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||||
|
"installed_by": ["modules"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
process DATABASE_CHECK {
|
process DATABASE_CHECK {
|
||||||
tag "$databasesheet"
|
tag "$databasesheet"
|
||||||
|
label 'process_single'
|
||||||
|
|
||||||
conda (params.enable_conda ? "conda-forge::python=3.8.3" : null)
|
conda (params.enable_conda ? "conda-forge::python=3.8.3" : null)
|
||||||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
@ -13,6 +14,9 @@ process DATABASE_CHECK {
|
||||||
path '*.csv' , emit: csv
|
path '*.csv' , emit: csv
|
||||||
path "versions.yml", emit: versions
|
path "versions.yml", emit: versions
|
||||||
|
|
||||||
|
when:
|
||||||
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
script: // This script is bundled with the pipeline, in nf-core/taxprofiler/bin/
|
script: // This script is bundled with the pipeline, in nf-core/taxprofiler/bin/
|
||||||
"""
|
"""
|
||||||
cat $databasesheet >> database_sheet.valid.csv
|
cat $databasesheet >> database_sheet.valid.csv
|
||||||
|
|
|
@ -35,6 +35,7 @@ params {
|
||||||
monochrome_logs = false
|
monochrome_logs = false
|
||||||
hook_url = null
|
hook_url = null
|
||||||
help = false
|
help = false
|
||||||
|
version = false
|
||||||
validate_params = true
|
validate_params = true
|
||||||
show_hidden_params = false
|
show_hidden_params = false
|
||||||
schema_ignore_params = 'genomes,fasta'
|
schema_ignore_params = 'genomes,fasta'
|
||||||
|
@ -182,6 +183,7 @@ profiles {
|
||||||
debug { process.beforeScript = 'echo $HOSTNAME' }
|
debug { process.beforeScript = 'echo $HOSTNAME' }
|
||||||
conda {
|
conda {
|
||||||
params.enable_conda = true
|
params.enable_conda = true
|
||||||
|
conda.enabled = true
|
||||||
docker.enabled = false
|
docker.enabled = false
|
||||||
singularity.enabled = false
|
singularity.enabled = false
|
||||||
podman.enabled = false
|
podman.enabled = false
|
||||||
|
@ -190,6 +192,7 @@ profiles {
|
||||||
}
|
}
|
||||||
mamba {
|
mamba {
|
||||||
params.enable_conda = true
|
params.enable_conda = true
|
||||||
|
conda.enabled = true
|
||||||
conda.useMamba = true
|
conda.useMamba = true
|
||||||
docker.enabled = false
|
docker.enabled = false
|
||||||
singularity.enabled = false
|
singularity.enabled = false
|
||||||
|
@ -205,6 +208,9 @@ profiles {
|
||||||
shifter.enabled = false
|
shifter.enabled = false
|
||||||
charliecloud.enabled = false
|
charliecloud.enabled = false
|
||||||
}
|
}
|
||||||
|
arm {
|
||||||
|
docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64'
|
||||||
|
}
|
||||||
singularity {
|
singularity {
|
||||||
singularity.enabled = true
|
singularity.enabled = true
|
||||||
singularity.autoMounts = true
|
singularity.autoMounts = true
|
||||||
|
@ -293,11 +299,11 @@ dag {
|
||||||
|
|
||||||
manifest {
|
manifest {
|
||||||
name = 'nf-core/taxprofiler'
|
name = 'nf-core/taxprofiler'
|
||||||
author = 'nf-core community'
|
author = """nf-core community"""
|
||||||
homePage = 'https://github.com/nf-core/taxprofiler'
|
homePage = 'https://github.com/nf-core/taxprofiler'
|
||||||
description = 'Taxonomic profiling of shotgun metagenomic data'
|
description = """Taxonomic profiling of shotgun metagenomic data"""
|
||||||
mainScript = 'main.nf'
|
mainScript = 'main.nf'
|
||||||
nextflowVersion = '!>=21.10.3'
|
nextflowVersion = '!>=22.10.1'
|
||||||
version = '1.0dev'
|
version = '1.0dev'
|
||||||
doi = ''
|
doi = ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -609,6 +609,12 @@
|
||||||
"fa_icon": "fas fa-question-circle",
|
"fa_icon": "fas fa-question-circle",
|
||||||
"hidden": true
|
"hidden": true
|
||||||
},
|
},
|
||||||
|
"version": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Display version and exit.",
|
||||||
|
"fa_icon": "fas fa-question-circle",
|
||||||
|
"hidden": true
|
||||||
|
},
|
||||||
"publish_dir_mode": {
|
"publish_dir_mode": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "copy",
|
"default": "copy",
|
||||||
|
@ -650,7 +656,7 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Incoming hook URL for messaging service",
|
"description": "Incoming hook URL for messaging service",
|
||||||
"fa_icon": "fas fa-people-group",
|
"fa_icon": "fas fa-people-group",
|
||||||
"help_text": "Incoming hook URL for messaging service. Currently, only MS Teams is supported.",
|
"help_text": "Incoming hook URL for messaging service. Currently, MS Teams and Slack are supported.",
|
||||||
"hidden": true
|
"hidden": true
|
||||||
},
|
},
|
||||||
"multiqc_config": {
|
"multiqc_config": {
|
||||||
|
|
|
@ -251,7 +251,7 @@ workflow TAXPROFILER {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CUSTOM_DUMPSOFTWAREVERSIONS (
|
CUSTOM_DUMPSOFTWAREVERSIONS (
|
||||||
ch_versions.unique().collectFile(name: 'collated_versions.yml')
|
ch_versions.unique{ it.text }.collectFile(name: 'collated_versions.yml')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -302,12 +302,11 @@ workflow TAXPROFILER {
|
||||||
// TODO create multiQC module for metaphlan
|
// TODO create multiQC module for metaphlan
|
||||||
MULTIQC (
|
MULTIQC (
|
||||||
ch_multiqc_files.collect(),
|
ch_multiqc_files.collect(),
|
||||||
ch_multiqc_config.collect().ifEmpty([]),
|
ch_multiqc_config.toList(),
|
||||||
ch_multiqc_custom_config.collect().ifEmpty([]),
|
ch_multiqc_custom_config.toList(),
|
||||||
ch_multiqc_logo.collect().ifEmpty([])
|
ch_multiqc_logo.toList()
|
||||||
)
|
)
|
||||||
multiqc_report = MULTIQC.out.report.toList()
|
multiqc_report = MULTIQC.out.report.toList()
|
||||||
ch_versions = ch_versions.mix(MULTIQC.out.versions)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -322,7 +321,7 @@ workflow.onComplete {
|
||||||
}
|
}
|
||||||
NfcoreTemplate.summary(workflow, params, log)
|
NfcoreTemplate.summary(workflow, params, log)
|
||||||
if (params.hook_url) {
|
if (params.hook_url) {
|
||||||
NfcoreTemplate.adaptivecard(workflow, params, summary_params, projectDir, log)
|
NfcoreTemplate.IM_notification(workflow, params, summary_params, projectDir, log)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue