mirror of
https://github.com/MillironX/taxprofiler.git
synced 2024-11-25 17:19:56 +00:00
Merge pull request #114 from nf-core/nf-core-template-merge-2.5
Important! Template update for nf-core/tools v2.5
This commit is contained in:
commit
f7b7fd63a4
16 changed files with 146 additions and 63 deletions
|
@ -8,7 +8,7 @@ trim_trailing_whitespace = true
|
||||||
indent_size = 4
|
indent_size = 4
|
||||||
indent_style = space
|
indent_style = space
|
||||||
|
|
||||||
[*.{md,yml,yaml,html,css,scss,js}]
|
[*.{md,yml,yaml,html,css,scss,js,cff}]
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
# These files are edited and tested upstream in nf-core/modules
|
# These files are edited and tested upstream in nf-core/modules
|
||||||
|
|
3
.github/PULL_REQUEST_TEMPLATE.md
vendored
3
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -15,8 +15,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/taxp
|
||||||
|
|
||||||
- [ ] This comment contains a description of changes (with reason).
|
- [ ] This comment contains a description of changes (with reason).
|
||||||
- [ ] If you've fixed a bug or added code that should be tested, add tests!
|
- [ ] If you've fixed a bug or added code that should be tested, add tests!
|
||||||
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/taxprofiler/tree/master/.github/CONTRIBUTING.md)
|
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/taxprofiler/tree/master/.github/CONTRIBUTING.md)- [ ] If necessary, also make a PR on the nf-core/taxprofiler _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
|
||||||
- [ ] If necessary, also make a PR on the nf-core/taxprofiler _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
|
|
||||||
- [ ] Make sure your code lints (`nf-core lint`).
|
- [ ] Make sure your code lints (`nf-core lint`).
|
||||||
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
|
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
|
||||||
- [ ] Usage Documentation in `docs/usage.md` is updated.
|
- [ ] Usage Documentation in `docs/usage.md` is updated.
|
||||||
|
|
23
.github/workflows/ci.yml
vendored
23
.github/workflows/ci.yml
vendored
|
@ -10,7 +10,6 @@ on:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
NXF_ANSI_LOG: false
|
NXF_ANSI_LOG: false
|
||||||
CAPSULE_LOG: none
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
|
@ -20,14 +19,9 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
# Nextflow versions
|
NXF_VER:
|
||||||
include:
|
- "21.10.3"
|
||||||
# Test pipeline minimum Nextflow version
|
- "latest-everything"
|
||||||
- NXF_VER: "21.10.3"
|
|
||||||
NXF_EDGE: ""
|
|
||||||
# Test latest edge release of Nextflow
|
|
||||||
- NXF_VER: ""
|
|
||||||
NXF_EDGE: "1"
|
|
||||||
parameters:
|
parameters:
|
||||||
- "--perform_longread_qc false"
|
- "--perform_longread_qc false"
|
||||||
- "--perform_shortread_qc false"
|
- "--perform_shortread_qc false"
|
||||||
|
@ -48,14 +42,9 @@ jobs:
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Install Nextflow
|
- name: Install Nextflow
|
||||||
env:
|
uses: nf-core/setup-nextflow@v1
|
||||||
NXF_VER: ${{ matrix.NXF_VER }}
|
with:
|
||||||
# Uncomment only if the edge release is more recent than the latest stable release
|
version: "${{ matrix.NXF_VER }}"
|
||||||
# See https://github.com/nextflow-io/nextflow/issues/2467
|
|
||||||
# NXF_EDGE: ${{ matrix.NXF_EDGE }}
|
|
||||||
run: |
|
|
||||||
wget -qO- get.nextflow.io | bash
|
|
||||||
sudo mv nextflow /usr/local/bin/
|
|
||||||
|
|
||||||
- name: Show current locale
|
- name: Show current locale
|
||||||
run: locale
|
run: locale
|
||||||
|
|
38
.github/workflows/linting.yml
vendored
38
.github/workflows/linting.yml
vendored
|
@ -35,6 +35,36 @@ jobs:
|
||||||
- name: Run Prettier --check
|
- name: Run Prettier --check
|
||||||
run: prettier --check ${GITHUB_WORKSPACE}
|
run: prettier --check ${GITHUB_WORKSPACE}
|
||||||
|
|
||||||
|
PythonBlack:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Check code lints with Black
|
||||||
|
uses: psf/black@stable
|
||||||
|
|
||||||
|
# If the above check failed, post a comment on the PR explaining the failure
|
||||||
|
- name: Post PR comment
|
||||||
|
if: failure()
|
||||||
|
uses: mshick/add-pr-comment@v1
|
||||||
|
with:
|
||||||
|
message: |
|
||||||
|
## Python linting (`black`) is failing
|
||||||
|
|
||||||
|
To keep the code consistent with lots of contributors, we run automated code consistency checks.
|
||||||
|
To fix this CI test, please run:
|
||||||
|
|
||||||
|
* Install [`black`](https://black.readthedocs.io/en/stable/): `pip install black`
|
||||||
|
* Fix formatting errors in your pipeline: `black .`
|
||||||
|
|
||||||
|
Once you push these changes the test should pass, and you can hide this comment :+1:
|
||||||
|
|
||||||
|
We highly recommend setting up Black in your code editor so that this formatting is done automatically on save. Ask about it on Slack for help!
|
||||||
|
|
||||||
|
Thanks again for your contribution!
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
allow-repeats: false
|
||||||
|
|
||||||
nf-core:
|
nf-core:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
@ -42,15 +72,11 @@ jobs:
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Install Nextflow
|
- name: Install Nextflow
|
||||||
env:
|
uses: nf-core/setup-nextflow@v1
|
||||||
CAPSULE_LOG: none
|
|
||||||
run: |
|
|
||||||
wget -qO- get.nextflow.io | bash
|
|
||||||
sudo mv nextflow /usr/local/bin/
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v3
|
- uses: actions/setup-python@v3
|
||||||
with:
|
with:
|
||||||
python-version: "3.6"
|
python-version: "3.7"
|
||||||
architecture: "x64"
|
architecture: "x64"
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
|
|
@ -6,5 +6,5 @@ results/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
testing/
|
testing/
|
||||||
testing*
|
testing*
|
||||||
tests/
|
|
||||||
*.pyc
|
*.pyc
|
||||||
|
tests/
|
||||||
|
|
56
CITATION.cff
Normal file
56
CITATION.cff
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
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: Ulysse Garcia
|
||||||
|
given-names: Maxime
|
||||||
|
- 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: Ulysse Garcia
|
||||||
|
given-names: Maxime
|
||||||
|
- 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
|
17
README.md
17
README.md
|
@ -1,19 +1,14 @@
|
||||||
# ![nf-core/taxprofiler](docs/images/nf-core-taxprofiler_logo_custom_light.png#gh-light-mode-only) ![nf-core/taxprofiler](docs/images/nf-core-taxprofiler_logo_custom_dark.png#gh-dark-mode-only)
|
# ![nf-core/taxprofiler](docs/images/nf-core-taxprofiler_logo_custom_light.png#gh-light-mode-only) ![nf-core/taxprofiler](docs/images/nf-core-taxprofiler_logo_custom_dark.png#gh-dark-mode-only)
|
||||||
|
|
||||||
[![GitHub Actions CI Status](https://github.com/nf-core/taxprofiler/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/taxprofiler/actions?query=workflow%3A%22nf-core+CI%22)
|
[![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)
|
||||||
[![GitHub Actions Linting Status](https://github.com/nf-core/taxprofiler/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/taxprofiler/actions?query=workflow%3A%22nf-core+linting%22)
|
|
||||||
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?logo=Amazon%20AWS)](https://nf-co.re/taxprofiler/results)
|
|
||||||
[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8)](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%A521.10.3-23aa62.svg)](https://www.nextflow.io/)
|
||||||
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?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?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)](https://sylabs.io/docs/)
|
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
|
||||||
[![Launch on Nextflow Tower](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Nextflow%20Tower-%234256e7)](https://tower.nf/launch?pipeline=https://github.com/nf-core/taxprofiler)
|
[![Launch on Nextflow Tower](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Nextflow%20Tower-%234256e7)](https://tower.nf/launch?pipeline=https://github.com/nf-core/taxprofiler)
|
||||||
|
|
||||||
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23taxprofiler-4A154B?logo=slack)](https://nfcore.slack.com/channels/taxprofiler)
|
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23taxprofiler-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/taxprofiler)[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)
|
||||||
[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?logo=twitter)](https://twitter.com/nf_core)
|
|
||||||
[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?logo=youtube)](https://www.youtube.com/c/nf-core)
|
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
|
@ -59,7 +54,7 @@ On release, automated continuous integration tests run the pipeline on a full-si
|
||||||
|
|
||||||
3. Download the pipeline and test it on a minimal dataset with a single command:
|
3. Download the pipeline and test it on a minimal dataset with a single command:
|
||||||
|
|
||||||
```console
|
```bash
|
||||||
nextflow run nf-core/taxprofiler -profile test,YOURPROFILE --outdir <OUTDIR>
|
nextflow run nf-core/taxprofiler -profile test,YOURPROFILE --outdir <OUTDIR>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
`._,._,'
|
`._,._,'
|
||||||
nf-core/taxprofiler v${version}
|
nf-core/taxprofiler v${version}
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
|
|
||||||
Run Name: $runName
|
Run Name: $runName
|
||||||
|
|
||||||
<% if (success){
|
<% if (success){
|
||||||
|
|
|
@ -6,7 +6,6 @@ import sys
|
||||||
import errno
|
import errno
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
|
|
||||||
def parse_args(args=None):
|
def parse_args(args=None):
|
||||||
Description = (
|
Description = (
|
||||||
"Reformat nf-core/taxprofiler samplesheet file and check its contents."
|
"Reformat nf-core/taxprofiler samplesheet file and check its contents."
|
||||||
|
@ -18,7 +17,6 @@ def parse_args(args=None):
|
||||||
parser.add_argument("FILE_OUT", help="Output file.")
|
parser.add_argument("FILE_OUT", help="Output file.")
|
||||||
return parser.parse_args(args)
|
return parser.parse_args(args)
|
||||||
|
|
||||||
|
|
||||||
def make_dir(path):
|
def make_dir(path):
|
||||||
if len(path) > 0:
|
if len(path) > 0:
|
||||||
try:
|
try:
|
||||||
|
@ -27,7 +25,6 @@ def make_dir(path):
|
||||||
if exception.errno != errno.EEXIST:
|
if exception.errno != errno.EEXIST:
|
||||||
raise exception
|
raise exception
|
||||||
|
|
||||||
|
|
||||||
def print_error(error, context="Line", context_str=""):
|
def print_error(error, context="Line", context_str=""):
|
||||||
error_str = "ERROR: Please check samplesheet -> {}".format(error)
|
error_str = "ERROR: Please check samplesheet -> {}".format(error)
|
||||||
if context != "" and context_str != "":
|
if context != "" and context_str != "":
|
||||||
|
@ -37,7 +34,6 @@ def print_error(error, context="Line", context_str=""):
|
||||||
print(error_str)
|
print(error_str)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
def check_samplesheet(file_in, file_out):
|
def check_samplesheet(file_in, file_out):
|
||||||
"""
|
"""
|
||||||
This function checks that the samplesheet follows the following structure:
|
This function checks that the samplesheet follows the following structure:
|
||||||
|
|
|
@ -26,6 +26,11 @@ process {
|
||||||
// adding in your local modules too.
|
// adding in your local modules too.
|
||||||
// TODO nf-core: Customise requirements for specific processes.
|
// TODO nf-core: Customise requirements for specific processes.
|
||||||
// See https://www.nextflow.io/docs/latest/config.html#config-process-selectors
|
// See https://www.nextflow.io/docs/latest/config.html#config-process-selectors
|
||||||
|
withLabel:process_single {
|
||||||
|
cpus = { check_max( 1 , 'cpus' ) }
|
||||||
|
memory = { check_max( 6.GB * task.attempt, 'memory' ) }
|
||||||
|
time = { check_max( 4.h * task.attempt, 'time' ) }
|
||||||
|
}
|
||||||
withLabel:process_low {
|
withLabel:process_low {
|
||||||
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 12.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 12.GB * task.attempt, 'memory' ) }
|
||||||
|
|
|
@ -154,7 +154,7 @@ This will launch the pipeline with the `docker` configuration profile. See below
|
||||||
|
|
||||||
Note that the pipeline will create the following files in your working directory:
|
Note that the pipeline will create the following files in your working directory:
|
||||||
|
|
||||||
```console
|
```bash
|
||||||
work # Directory containing the nextflow working files
|
work # Directory containing the nextflow working files
|
||||||
<OUTDIR> # Finished results in specified location (defined with --outdir)
|
<OUTDIR> # Finished results in specified location (defined with --outdir)
|
||||||
.nextflow_log # Log file from Nextflow
|
.nextflow_log # Log file from Nextflow
|
||||||
|
@ -231,7 +231,7 @@ nf-core/taxprofiler uses MALT 0.4.1, which is a compatively old version. However
|
||||||
|
|
||||||
When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline:
|
When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline:
|
||||||
|
|
||||||
```console
|
```bash
|
||||||
nextflow pull nf-core/taxprofiler
|
nextflow pull nf-core/taxprofiler
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -407,6 +407,6 @@ Some HPC setups also allow you to run nextflow within a cluster job submitted yo
|
||||||
In some cases, the Nextflow Java virtual machines can start to request a large amount of memory.
|
In some cases, the Nextflow Java virtual machines can start to request a large amount of memory.
|
||||||
We recommend adding the following line to your environment to limit this (typically in `~/.bashrc` or `~./bash_profile`):
|
We recommend adding the following line to your environment to limit this (typically in `~/.bashrc` or `~./bash_profile`):
|
||||||
|
|
||||||
```console
|
```bash
|
||||||
NXF_OPTS='-Xms1g -Xmx4g'
|
NXF_OPTS='-Xms1g -Xmx4g'
|
||||||
```
|
```
|
||||||
|
|
|
@ -59,6 +59,7 @@ class WorkflowMain {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Print parameter summary log to screen
|
// Print parameter summary log to screen
|
||||||
|
|
||||||
log.info paramsSummaryLog(workflow, params, log)
|
log.info paramsSummaryLog(workflow, params, log)
|
||||||
|
|
||||||
// Check that a -profile or Nextflow config has been provided to run the pipeline
|
// Check that a -profile or Nextflow config has been provided to run the pipeline
|
||||||
|
@ -78,17 +79,15 @@ class WorkflowMain {
|
||||||
System.exit(1)
|
System.exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Get attribute from genome config file e.g. fasta
|
// Get attribute from genome config file e.g. fasta
|
||||||
//
|
//
|
||||||
public static String getGenomeAttribute(params, attribute) {
|
public static Object getGenomeAttribute(params, attribute) {
|
||||||
def val = ''
|
|
||||||
if (params.genomes && params.genome && params.genomes.containsKey(params.genome)) {
|
if (params.genomes && params.genome && params.genomes.containsKey(params.genome)) {
|
||||||
if (params.genomes[ params.genome ].containsKey(attribute)) {
|
if (params.genomes[ params.genome ].containsKey(attribute)) {
|
||||||
val = params.genomes[ params.genome ][ attribute ]
|
return params.genomes[ params.genome ][ attribute ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return val
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,9 +42,7 @@ class WorkflowTaxprofiler {
|
||||||
yaml_file_text += "data: |\n"
|
yaml_file_text += "data: |\n"
|
||||||
yaml_file_text += "${summary_section}"
|
yaml_file_text += "${summary_section}"
|
||||||
return yaml_file_text
|
return yaml_file_text
|
||||||
}
|
}//
|
||||||
|
|
||||||
//
|
|
||||||
// Exit pipeline if incorrect --genome key provided
|
// Exit pipeline if incorrect --genome key provided
|
||||||
//
|
//
|
||||||
private static void genomeExistsError(params, log) {
|
private static void genomeExistsError(params, log) {
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import yaml
|
|
||||||
import platform
|
import platform
|
||||||
from textwrap import dedent
|
from textwrap import dedent
|
||||||
|
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
def _make_versions_html(versions):
|
def _make_versions_html(versions):
|
||||||
html = [
|
html = [
|
||||||
|
@ -58,7 +59,8 @@ versions_by_module = {}
|
||||||
for process, process_versions in versions_by_process.items():
|
for process, process_versions in versions_by_process.items():
|
||||||
module = process.split(":")[-1]
|
module = process.split(":")[-1]
|
||||||
try:
|
try:
|
||||||
assert versions_by_module[module] == process_versions, (
|
if versions_by_module[module] != process_versions:
|
||||||
|
raise AssertionError(
|
||||||
"We assume that software versions are the same between all modules. "
|
"We assume that software versions are the same between all modules. "
|
||||||
"If you see this error-message it means you discovered an edge-case "
|
"If you see this error-message it means you discovered an edge-case "
|
||||||
"and should open an issue in nf-core/tools. "
|
"and should open an issue in nf-core/tools. "
|
||||||
|
|
|
@ -13,11 +13,11 @@ params {
|
||||||
// Input options
|
// Input options
|
||||||
input = null
|
input = null
|
||||||
|
|
||||||
|
|
||||||
// References
|
// References
|
||||||
genome = null
|
genome = null
|
||||||
igenomes_base = 's3://ngi-igenomes/igenomes'
|
igenomes_base = 's3://ngi-igenomes/igenomes'
|
||||||
igenomes_ignore = false
|
igenomes_ignore = false
|
||||||
|
|
||||||
// MultiQC options
|
// MultiQC options
|
||||||
multiqc_config = null
|
multiqc_config = null
|
||||||
multiqc_title = null
|
multiqc_title = null
|
||||||
|
@ -37,6 +37,7 @@ params {
|
||||||
schema_ignore_params = 'genomes,fasta'
|
schema_ignore_params = 'genomes,fasta'
|
||||||
enable_conda = false
|
enable_conda = false
|
||||||
|
|
||||||
|
|
||||||
// Config options
|
// Config options
|
||||||
custom_config_version = 'master'
|
custom_config_version = 'master'
|
||||||
custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}"
|
custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}"
|
||||||
|
@ -45,6 +46,7 @@ params {
|
||||||
config_profile_url = null
|
config_profile_url = null
|
||||||
config_profile_name = null
|
config_profile_name = null
|
||||||
|
|
||||||
|
|
||||||
// Max resource options
|
// Max resource options
|
||||||
// Defaults only, expecting to be overwritten
|
// Defaults only, expecting to be overwritten
|
||||||
max_memory = '128.GB'
|
max_memory = '128.GB'
|
||||||
|
@ -157,6 +159,7 @@ try {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
profiles {
|
profiles {
|
||||||
debug { process.beforeScript = 'echo $HOSTNAME' }
|
debug { process.beforeScript = 'echo $HOSTNAME' }
|
||||||
conda {
|
conda {
|
||||||
|
@ -167,6 +170,15 @@ profiles {
|
||||||
shifter.enabled = false
|
shifter.enabled = false
|
||||||
charliecloud.enabled = false
|
charliecloud.enabled = false
|
||||||
}
|
}
|
||||||
|
mamba {
|
||||||
|
params.enable_conda = true
|
||||||
|
conda.useMamba = true
|
||||||
|
docker.enabled = false
|
||||||
|
singularity.enabled = false
|
||||||
|
podman.enabled = false
|
||||||
|
shifter.enabled = false
|
||||||
|
charliecloud.enabled = false
|
||||||
|
}
|
||||||
docker {
|
docker {
|
||||||
docker.enabled = true
|
docker.enabled = true
|
||||||
docker.userEmulation = true
|
docker.userEmulation = true
|
||||||
|
@ -204,6 +216,11 @@ profiles {
|
||||||
podman.enabled = false
|
podman.enabled = false
|
||||||
shifter.enabled = false
|
shifter.enabled = false
|
||||||
}
|
}
|
||||||
|
gitpod {
|
||||||
|
executor.name = 'local'
|
||||||
|
executor.cpus = 16
|
||||||
|
executor.memory = 60.GB
|
||||||
|
}
|
||||||
test { includeConfig 'conf/test.config' }
|
test { includeConfig 'conf/test.config' }
|
||||||
test_full { includeConfig 'conf/test_full.config' }
|
test_full { includeConfig 'conf/test_full.config' }
|
||||||
test_noprofiling { includeConfig 'conf/test_noprofiling.config' }
|
test_noprofiling { includeConfig 'conf/test_noprofiling.config' }
|
||||||
|
@ -212,6 +229,7 @@ profiles {
|
||||||
test_motus { includeConfig 'conf/test_motus.config' }
|
test_motus { includeConfig 'conf/test_motus.config' }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Load igenomes.config if required
|
// Load igenomes.config if required
|
||||||
|
|
||||||
if (!params.igenomes_ignore) {
|
if (!params.igenomes_ignore) {
|
||||||
|
@ -220,6 +238,7 @@ if (!params.igenomes_ignore) {
|
||||||
params.genomes = [:]
|
params.genomes = [:]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Export these variables to prevent local Python/R libraries from conflicting with those in the container
|
// Export these variables to prevent local Python/R libraries from conflicting with those in the container
|
||||||
// The JULIA depot path has been adjusted to a fixed path `/usr/local/share/julia` that needs to be used for packages in the container.
|
// The JULIA depot path has been adjusted to a fixed path `/usr/local/share/julia` that needs to be used for packages in the container.
|
||||||
// See https://apeltzer.github.io/post/03-julia-lang-nextflow/ for details on that. Once we have a common agreement on where to keep Julia packages, this is adjustable.
|
// See https://apeltzer.github.io/post/03-julia-lang-nextflow/ for details on that. Once we have a common agreement on where to keep Julia packages, this is adjustable.
|
||||||
|
|
Loading…
Reference in a new issue