diff --git a/.editorconfig b/.editorconfig index afb20bb1e..95549501a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,6 +11,9 @@ indent_style = space [*.{yml,yaml}] indent_size = 2 +[*.json] +insert_final_newline = unset + # These files are edited and tested upstream in nf-core/modules [/modules/nf-core/**] charset = unset diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 853c22202..85674bb3b 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -19,7 +19,7 @@ If you'd like to write some code for nf-core/rnaseq, the standard workflow is as * If there isn't one already, please create one so that others know you're working on this 2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/rnaseq repository](https://github.com/nf-core/rnaseq) to your GitHub account 3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions) -4. Use `nf-core schema build .` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10). +4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10). 5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/). @@ -69,12 +69,12 @@ If you wish to contribute a new step, please use the following coding standards: 2. Write the process block (see below). 3. Define the output channel if needed (see below). 4. Add any new flags/options to `nextflow.config` with a default (see below). -5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build .`). +5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build`). 6. Add any new flags/options to the help message (for integer/text parameters, print to help the corresponding `nextflow.config` parameter). 7. Add sanity checks for all relevant parameters. 8. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`. 9. Do local tests that the new code works properly and as expected. -10. Add a new test command in `.github/workflow/ci.yaml`. +10. Add a new test command in `.github/workflow/ci.yml`. 11. If applicable add a [MultiQC](https://https://multiqc.info/) module. 12. Update MultiQC config `assets/multiqc_config.yaml` so relevant suffixes, name clean up, General Statistics Table column order, and module figures are in the right order. 13. Optional: Add any descriptions of MultiQC report sections and output files to `docs/output.md`. @@ -83,7 +83,7 @@ If you wish to contribute a new step, please use the following coding standards: Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope. -Once there, use `nf-core schema build .` to add to `nextflow_schema.json`. +Once there, use `nf-core schema build` to add to `nextflow_schema.json`. ### Default processes resource requirements diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 264add6cf..d2c0af458 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -18,7 +18,7 @@ Please delete this text and anything that's not relevant from the template below I have checked the following places for your error: - [ ] [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting) -- [ ] [nf-core/rnaseq pipeline documentation](https://nf-co.re/nf-core/rnaseq/usage) +- [ ] [nf-core/rnaseq pipeline documentation](https://nf-co.re/rnaseq/usage) ## Description of the bug @@ -51,13 +51,12 @@ Have you provided the following extra information/files: ## Nextflow Installation -- Version: +- Version: ## Container engine - Engine: - version: -- Image tag: ## Additional context diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 31ed7da27..c6225f340 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -18,7 +18,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/rnas - [ ] 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/rnaseq/tree/master/.github/CONTRIBUTING.md) - [ ] If necessary, also make a PR on the nf-core/rnaseq _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`). - [ ] Usage Documentation in `docs/usage.md` is updated. - [ ] Output Documentation in `docs/output.md` is updated. diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 2c312b797..baf3fc36d 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -1,44 +1,34 @@ name: nf-core AWS full size tests # This workflow is triggered on published releases. -# It can be additionally triggered manually with GitHub actions workflow dispatch. +# It can be additionally triggered manually with GitHub actions workflow dispatch button. # It runs the -profile 'test_full' on AWS batch on: release: types: [published] workflow_dispatch: - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} - jobs: - run-awstest: + run-tower: name: Run AWS full tests if: github.repository == 'nf-core/rnaseq' runs-on: ubuntu-latest + # Do a full-scale run with each of the three aligners strategy: matrix: - aligner: ['star_salmon', 'star_rsem', 'hisat2'] + aligner: ["star_salmon", "star_rsem", "hisat2"] steps: - - name: Setup Miniconda - uses: conda-incubator/setup-miniconda@v2 + - name: Launch workflow via tower + uses: nf-core/tower-action@master with: - auto-update-conda: true - python-version: 3.7 - - name: Install awscli - run: conda install -c conda-forge awscli - - name: Start AWS batch job - # Do a full-scale run with each of the three aligners - run: | - aws batch submit-job \ - --region eu-west-1 \ - --job-name nf-core-rnaseq \ - --job-queue $AWS_JOB_QUEUE \ - --job-definition $AWS_JOB_DEFINITION \ - --container-overrides '{"command": ["nf-core/rnaseq", "-r '"${GITHUB_SHA}"' -profile test_full --aligner '"${{matrix.aligner}}"' --outdir s3://'"${AWS_S3_BUCKET}"'/rnaseq/results-'"${GITHUB_SHA}"'/aligner_'"${{matrix.aligner}}"' -w s3://'"${AWS_S3_BUCKET}"'/rnaseq/work-'"${GITHUB_SHA}"'/'"${{matrix.aligner}}"' -with-tower"], "environment": [{"name": "TOWER_ACCESS_TOKEN", "value": "'"$TOWER_ACCESS_TOKEN"'"}]}' - + workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} + bearer_token: ${{ secrets.TOWER_BEARER_TOKEN }} + compute_env: ${{ secrets.TOWER_COMPUTE_ENV }} + pipeline: ${{ github.repository }} + revision: ${{ github.sha }} + workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/rnaseq/work-${{ github.sha }} + parameters: | + { + "outdir" : "s3://${{ secrets.AWS_S3_BUCKET }}/rnaseq/results-${{ github.sha }}/aligner_${{ matrix.aligner }}", + "aligner": "${{ matrix.aligner }}" + } + profiles: '[ "test_full", "aws_tower" ]' diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index 4cfdee6e7..f2b30e250 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -1,37 +1,27 @@ name: nf-core AWS test -# This workflow is triggered on push to the master branch. -# It can be additionally triggered manually with GitHub actions workflow dispatch. -# It runs the -profile 'test' on AWS batch. +# This workflow can be triggered manually with the GitHub actions workflow dispatch button. +# It runs the -profile 'test' on AWS batch on: workflow_dispatch: - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} - jobs: - run-awstest: + run-tower: name: Run AWS tests if: github.repository == 'nf-core/rnaseq' runs-on: ubuntu-latest steps: - - name: Setup Miniconda - uses: conda-incubator/setup-miniconda@v2 + - name: Launch workflow via tower + uses: nf-core/tower-action@master + with: - auto-update-conda: true - python-version: 3.7 - - name: Install awscli - run: conda install -c conda-forge awscli - - name: Start AWS batch job - run: | - aws batch submit-job \ - --region eu-west-1 \ - --job-name nf-core-rnaseq \ - --job-queue $AWS_JOB_QUEUE \ - --job-definition $AWS_JOB_DEFINITION \ - --container-overrides '{"command": ["nf-core/rnaseq", "-r '"${GITHUB_SHA}"' -profile test --outdir s3://'"${AWS_S3_BUCKET}"'/rnaseq/results-'"${GITHUB_SHA}"' -w s3://'"${AWS_S3_BUCKET}"'/rnaseq/work-'"${GITHUB_SHA}"' -with-tower"], "environment": [{"name": "TOWER_ACCESS_TOKEN", "value": "'"$TOWER_ACCESS_TOKEN"'"}]}' + workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} + bearer_token: ${{ secrets.TOWER_BEARER_TOKEN }} + compute_env: ${{ secrets.TOWER_COMPUTE_ENV }} + pipeline: ${{ github.repository }} + revision: ${{ github.sha }} + workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/rnaseq/work-${{ github.sha }} + parameters: | + { + "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/rnaseq/results-${{ github.sha }}" + } + profiles: '[ "test", "aws_tower" ]' diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 46f42cb8b..3b448773c 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: - node-version: "10" + node-version: '10' - name: Install markdownlint run: npm install -g markdownlint-cli - name: Run Markdownlint @@ -35,7 +35,7 @@ jobs: * On Mac: `brew install markdownlint-cli` * Everything else: [Install `npm`](https://www.npmjs.com/get-npm) then [install `markdownlint-cli`](https://www.npmjs.com/package/markdownlint-cli) (`npm install -g markdownlint-cli`) * Fix the markdown errors - * Automatically: `markdownlint . --config .github/markdownlint.yml --fix` + * Automatically: `markdownlint . --fix` * Manually resolve anything left from `markdownlint .` Once you push these changes the test should pass, and you can hide this comment :+1: @@ -53,7 +53,7 @@ jobs: - uses: actions/setup-node@v1 with: - node-version: "10" + node-version: '10' - name: Install editorconfig-checker run: npm install -g editorconfig-checker @@ -67,7 +67,7 @@ jobs: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: - node-version: "10" + node-version: '10' - name: Install yaml-lint run: npm install -g yaml-lint - name: Run yaml-lint @@ -101,6 +101,7 @@ jobs: nf-core: runs-on: ubuntu-latest steps: + - name: Check out pipeline code uses: actions/checkout@v2 @@ -113,8 +114,8 @@ jobs: - uses: actions/setup-python@v1 with: - python-version: "3.6" - architecture: "x64" + python-version: '3.6' + architecture: 'x64' - name: Install dependencies run: | @@ -126,7 +127,7 @@ jobs: GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_PR_COMMIT: ${{ github.event.pull_request.head.sha }} - run: nf-core -l lint_log.txt lint ${GITHUB_WORKSPACE} --markdown lint_results.md + run: nf-core -l lint_log.txt lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md - name: Save PR number if: ${{ always() }} @@ -141,3 +142,4 @@ jobs: lint_log.txt lint_results.md PR_number.txt + diff --git a/.gitignore b/.gitignore index aa4bb5b37..5124c9ac7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ work/ data/ results/ .DS_Store -tests/ testing/ testing* *.pyc diff --git a/.nf-core-lint.yaml b/.nf-core-lint.yaml deleted file mode 100644 index 9385194a3..000000000 --- a/.nf-core-lint.yaml +++ /dev/null @@ -1,13 +0,0 @@ -files_unchanged: - - .github/PULL_REQUEST_TEMPLATE.md - - .github/workflows/linting.yml - - assets/email_template.html - - assets/email_template.txt - - assets/multiqc_config.yaml - - assets/sendmail_template.txt - - lib/NfcoreSchema.groovy - - docs/README.md -files_exist: - - .github/markdownlint.yml - - bin/markdown_to_html.py -actions_awsfulltest: False diff --git a/.nf-core.yml b/.nf-core.yml new file mode 100644 index 000000000..7b62557f5 --- /dev/null +++ b/.nf-core.yml @@ -0,0 +1,19 @@ +lint: + files_unchanged: + - .markdownlint.yml + - assets/email_template.html + - assets/email_template.txt + - lib/NfcoreTemplate.groovy + - assets/multiqc_config.yaml +update: + nf-core/modules: + rseqc/bamstat: "e937c7950af70930d1f34bb961403d9d2aa81c7d" + rseqc/inferexperiment: "e937c7950af70930d1f34bb961403d9d2aa81c7d" + rseqc/innerdistance: "e937c7950af70930d1f34bb961403d9d2aa81c7d" + rseqc/junctionannotation: "5dd049047d01e72c01a519422f17e203bca343ac" + rseqc/junctionsaturation: "e937c7950af70930d1f34bb961403d9d2aa81c7d" + rseqc/readdistribution: "e937c7950af70930d1f34bb961403d9d2aa81c7d" + rseqc/readduplication: "e937c7950af70930d1f34bb961403d9d2aa81c7d" + sortmerna: "e937c7950af70930d1f34bb961403d9d2aa81c7d" + star/align: "e937c7950af70930d1f34bb961403d9d2aa81c7d" + star/genomegenerate: "e937c7950af70930d1f34bb961403d9d2aa81c7d" diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ec15becf..55d6e5d18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,29 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[3.3](https://github.com/nf-core/rnaseq/releases/tag/3.3)] - 2021-07-29 + +### Enhancements & fixes + +* Updated pipeline template to [nf-core/tools 2.1](https://github.com/nf-core/tools/releases/tag/2.1) +* [[#556](https://github.com/nf-core/rnaseq/issues/556)] - Genome index isn't recreated with --additional_fasta unless --star_index false +* [[#668](https://github.com/nf-core/rnaseq/issues/668)] - Salmon quant with UMI-tools does not work +* [[#674](https://github.com/nf-core/rnaseq/issues/674)] - Launch pipeline regex fails + +### Software dependencies + +Note, since the pipeline is now using Nextflow DSL2, each process will be run with its own [Biocontainer](https://biocontainers.pro/#/registry). This means that on occasion it is entirely possible for the pipeline to be using different versions of the same tool. However, the overall software dependency changes compared to the last release have been listed below for reference. + +| Dependency | Old version | New version | +|-------------|-------------|-------------| +| `samtools` | 1.10 | 1.12 | +| `stringtie` | 2.1.4 | 2.1.7 | +| `umi_tools` | 1.1.1 | 1.1.2 | + +> **NB:** Dependency has been __updated__ if both old and new version information is present. +> **NB:** Dependency has been __added__ if just the new version information is present. +> **NB:** Dependency has been __removed__ if version information isn't present. + ## [[3.2](https://github.com/nf-core/rnaseq/releases/tag/3.2)] - 2021-06-18 ### Enhancements & fixes diff --git a/README.md b/README.md index d46b695af..9fdebd24b 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ The SRA download functionality has been removed from the pipeline (`>=3.2`) and ## Quick Start -1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=21.04.0`). +1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=21.04.0`) 2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`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 _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_. Note: This pipeline does not currently support running with Conda on macOS if the `--remove_ribo_rna` parameter is used because the latest version of the SortMeRNA package is not available for this platform. diff --git a/assets/schema_input.json b/assets/schema_input.json index cee1bd82b..bb4b8ce06 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "https://raw.githubusercontent.com/nf-core/rnaseq/master/schema_input.json", + "$id": "https://raw.githubusercontent.com/nf-core/rnaseq/master/assets/schema_input.json", "title": "nf-core/rnaseq pipeline - params.input schema", "description": "Schema for the file provided with params.input", "type": "array", diff --git a/conf/test.config b/conf/test.config index e7610dd03..001b24201 100644 --- a/conf/test.config +++ b/conf/test.config @@ -14,7 +14,7 @@ params { config_profile_name = 'Test profile' config_profile_description = 'Minimal test dataset to check pipeline function' - // Limit resources so that this can run CI + // Limit resources so that this can run on GitHub Actions max_cpus = 2 max_memory = 6.GB max_time = 6.h diff --git a/docs/usage.md b/docs/usage.md index c5937141c..99b0fbf37 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -104,7 +104,7 @@ nextflow pull nf-core/rnaseq ### Reproducibility -It's 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/rnaseq releases page](https://github.com/nf-core/rnaseq/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`. @@ -231,11 +231,11 @@ As you will see in the example below, we have: ```nextflow params { modules { - 'star_align' { - args = "--quantMode TranscriptomeSAM --twopassMode Basic --outSAMtype BAM Unsorted --readFilesCommand zcat --runRNGseed 0 --outFilterMultimapNmax 20 --alignSJDBoverhangMin 1 --outSAMattributes NH HI AS NM MD --quantTranscriptomeBan Singleend --outFilterMismatchNmax 16" - publish_dir = "my_star_directory" - publish_files = ['out':'log', 'tab':'log', 'bam':''] - } + 'star_align' { + args = "--quantMode TranscriptomeSAM --twopassMode Basic --outSAMtype BAM Unsorted --readFilesCommand zcat --runRNGseed 0 --outFilterMultimapNmax 20 --alignSJDBoverhangMin 1 --outSAMattributes NH HI AS NM MD --quantTranscriptomeBan Singleend --outFilterMismatchNmax 16" + publish_dir = "my_star_directory" + publish_files = ['out':'log', 'tab':'log', 'bam':''] + } } } ``` diff --git a/lib/NfcoreTemplate.groovy b/lib/NfcoreTemplate.groovy index 26f3dd465..e3513902e 100755 --- a/lib/NfcoreTemplate.groovy +++ b/lib/NfcoreTemplate.groovy @@ -24,17 +24,21 @@ class NfcoreTemplate { public static void hostName(workflow, params, log) { Map colors = logColours(params.monochrome_logs) if (params.hostnames) { - def hostname = "hostname".execute().text.trim() - params.hostnames.each { prof, hnames -> - hnames.each { hname -> - if (hostname.contains(hname) && !workflow.profile.contains(prof)) { - log.info "=${colors.yellow}====================================================${colors.reset}=\n" + - "${colors.yellow}WARN: You are running with `-profile $workflow.profile`\n" + - " but your machine hostname is ${colors.white}'$hostname'${colors.reset}.\n" + - " ${colors.yellow_bold}Please use `-profile $prof${colors.reset}`\n" + - "=${colors.yellow}====================================================${colors.reset}=" + try { + def hostname = "hostname".execute().text.trim() + params.hostnames.each { prof, hnames -> + hnames.each { hname -> + if (hostname.contains(hname) && !workflow.profile.contains(prof)) { + log.info "=${colors.yellow}====================================================${colors.reset}=\n" + + "${colors.yellow}WARN: You are running with `-profile $workflow.profile`\n" + + " but your machine hostname is ${colors.white}'$hostname'${colors.reset}.\n" + + " ${colors.yellow_bold}Please use `-profile $prof${colors.reset}`\n" + + "=${colors.yellow}====================================================${colors.reset}=" + } } } + } catch (Exception e) { + log.warn "[$workflow.manifest.name] Could not determine 'hostname' - skipping check. Reason: ${e.message}." } } } @@ -122,7 +126,7 @@ class NfcoreTemplate { // Render the sendmail template def max_multiqc_email_size = params.max_multiqc_email_size as nextflow.util.MemoryUnit - def smail_fields = [ email: email_address, subject: subject, email_txt: email_txt, email_html: email_html, projectDir: "$projectDir", mqcFile: mqc_report, mqcMaxSize: max_multiqc_email_size.toBytes()] + def smail_fields = [ email: email_address, subject: subject, email_txt: email_txt, email_html: email_html, projectDir: "$projectDir", mqcFile: mqc_report, mqcMaxSize: max_multiqc_email_size.toBytes() ] def sf = new File("$projectDir/assets/sendmail_template.txt") def sendmail_template = engine.createTemplate(sf).make(smail_fields) def sendmail_html = sendmail_template.toString() diff --git a/lib/WorkflowMain.groovy b/lib/WorkflowMain.groovy index c145fcf13..fe2ac9861 100755 --- a/lib/WorkflowMain.groovy +++ b/lib/WorkflowMain.groovy @@ -21,7 +21,7 @@ class WorkflowMain { // Print help to screen if required // public static String help(workflow, params, log) { - def command = "nextflow run nf-core/rnaseq --input samplesheet.csv --genome GRCh37 -profile docker" + def command = "nextflow run ${workflow.manifest.name} --input samplesheet.csv --genome GRCh37 -profile docker" def help_string = '' help_string += NfcoreTemplate.logo(workflow, params.monochrome_logs) help_string += NfcoreSchema.paramsHelp(workflow, params, command) @@ -71,9 +71,9 @@ class WorkflowMain { // Check the hostnames against configured profiles NfcoreTemplate.hostName(workflow, params, log) - // Check an input samplesheet has been provided + // Check input has been provided if (!params.input) { - log.error "Please specify at least an input samplesheet for the pipeline e.g. '--input samplesheet.csv'." + log.error "Please provide an input samplesheet to the pipeline e.g. '--input samplesheet.csv'" System.exit(1) } } diff --git a/lib/WorkflowRnaseq.groovy b/lib/WorkflowRnaseq.groovy index 5cdc71acd..8f80e2653 100755 --- a/lib/WorkflowRnaseq.groovy +++ b/lib/WorkflowRnaseq.groovy @@ -67,6 +67,23 @@ class WorkflowRnaseq { } } + // Warn if --additional_fasta provided with aligner index + if (!params.skip_alignment && params.additional_fasta) { + def index = '' + if (params.aligner == 'star_salmon' && params.star_index) { + index = 'star' + } + if (params.aligner == 'star_rsem' && params.rsem_index) { + index = 'rsem' + } + if (params.aligner == 'hisat2' && params.hisat2_index) { + index = 'hisat2' + } + if (index) { + additionaFastaIndexWarn(index, log) + } + } + // Check which RSeQC modules we are running def rseqc_modules = params.rseqc_modules ? params.rseqc_modules.split(',').collect{ it.trim().toLowerCase() } : [] if ((valid_params['rseqc_modules'] + rseqc_modules).unique().size() != valid_params['rseqc_modules'].size()) { @@ -260,4 +277,21 @@ class WorkflowRnaseq { " https://github.com/nf-core/rnaseq/issues/568\n" + "===================================================================================" } + + // + // Print a warning if using '--additional_fasta' and '--_index' + // + private static void additionaFastaIndexWarn(index, log) { + log.warn "=============================================================================\n" + + " When using '--additional_fasta ' the aligner index will not\n" + + " be re-built with the transgenes incorporated by default since you have \n" + + " already provided an index via '--${index}_index '.\n\n" + + " Set '--additional_fasta --${index}_index false --save_reference' to\n" + + " re-build the index with transgenes included and the index will be saved in\n" + + " 'results/genome/index/${index}/' for re-use with '--${index}_index'.\n\n" + + " Ignore this warning if you know that the index already contains transgenes.\n\n" + + " Please see:\n" + + " https://github.com/nf-core/rnaseq/issues/556\n" + + "===================================================================================" + } } diff --git a/modules.json b/modules.json new file mode 100644 index 000000000..95db70d36 --- /dev/null +++ b/modules.json @@ -0,0 +1,119 @@ +{ + "name": "nf-core/rnaseq", + "homePage": "https://github.com/nf-core/rnaseq", + "repos": { + "nf-core/modules": { + "cat/fastq": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "fastqc": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "gffread": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "gunzip": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "hisat2/align": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "hisat2/build": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "hisat2/extractsplicesites": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "picard/markduplicates": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "preseq/lcextrap": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "qualimap/rnaseq": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "rsem/calculateexpression": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "rsem/preparereference": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "rseqc/bamstat": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "rseqc/inferexperiment": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "rseqc/innerdistance": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "rseqc/junctionannotation": { + "git_sha": "5dd049047d01e72c01a519422f17e203bca343ac" + }, + "rseqc/junctionsaturation": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "rseqc/readdistribution": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "rseqc/readduplication": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "salmon/index": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "salmon/quant": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "samtools/flagstat": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "samtools/idxstats": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "samtools/index": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "samtools/sort": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "samtools/stats": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "sortmerna": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "star/align": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "star/genomegenerate": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "stringtie/stringtie": { + "git_sha": "217303f5c1a92effb8a97c29294ee9f2e19f697e" + }, + "subread/featurecounts": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "trimgalore": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "ucsc/bedclip": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "ucsc/bedgraphtobigwig": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "umitools/dedup": { + "git_sha": "2ade120249b92e382f964bd75701befa2c2dc75d" + }, + "umitools/extract": { + "git_sha": "2ade120249b92e382f964bd75701befa2c2dc75d" + }, + "untar": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + } + } + } +} \ No newline at end of file diff --git a/modules/local/functions.nf b/modules/local/functions.nf index 2e2a79560..da9da093d 100644 --- a/modules/local/functions.nf +++ b/modules/local/functions.nf @@ -1,5 +1,5 @@ // -// Utility functions used in nf-core DSL2 module files +// Utility functions used in nf-core DSL2 module files // // diff --git a/modules/local/get_software_versions.nf b/modules/local/get_software_versions.nf index 112258bf9..0b9a3453d 100644 --- a/modules/local/get_software_versions.nf +++ b/modules/local/get_software_versions.nf @@ -24,7 +24,7 @@ process GET_SOFTWARE_VERSIONS { path "software_versions.tsv" , emit: tsv path 'software_versions_mqc.yaml', emit: yaml - script: + script: // This script is bundled with the pipeline, in nf-core/rnaseq/bin/ """ echo $workflow.manifest.version > pipeline.version.txt echo $workflow.nextflow.version > nextflow.version.txt diff --git a/modules/local/samplesheet_check.nf b/modules/local/samplesheet_check.nf index 4b8410aa1..595485f5e 100644 --- a/modules/local/samplesheet_check.nf +++ b/modules/local/samplesheet_check.nf @@ -22,7 +22,7 @@ process SAMPLESHEET_CHECK { output: path '*.csv' - script: // This script is bundled with the pipeline, in nf-core/rnaseq/bin/ + script: // This script is bundled with the pipeline, in nf-core/rnaseq/bin/ """ check_samplesheet.py \\ $samplesheet \\ diff --git a/modules/nf-core/software/cat/fastq/functions.nf b/modules/nf-core/modules/cat/fastq/functions.nf similarity index 100% rename from modules/nf-core/software/cat/fastq/functions.nf rename to modules/nf-core/modules/cat/fastq/functions.nf diff --git a/modules/nf-core/software/cat/fastq/main.nf b/modules/nf-core/modules/cat/fastq/main.nf similarity index 100% rename from modules/nf-core/software/cat/fastq/main.nf rename to modules/nf-core/modules/cat/fastq/main.nf diff --git a/modules/nf-core/software/cat/fastq/meta.yml b/modules/nf-core/modules/cat/fastq/meta.yml similarity index 100% rename from modules/nf-core/software/cat/fastq/meta.yml rename to modules/nf-core/modules/cat/fastq/meta.yml diff --git a/modules/nf-core/software/fastqc/functions.nf b/modules/nf-core/modules/fastqc/functions.nf similarity index 100% rename from modules/nf-core/software/fastqc/functions.nf rename to modules/nf-core/modules/fastqc/functions.nf diff --git a/modules/nf-core/software/fastqc/main.nf b/modules/nf-core/modules/fastqc/main.nf similarity index 95% rename from modules/nf-core/software/fastqc/main.nf rename to modules/nf-core/modules/fastqc/main.nf index 7ce76adff..39c327b26 100644 --- a/modules/nf-core/software/fastqc/main.nf +++ b/modules/nf-core/modules/fastqc/main.nf @@ -29,7 +29,7 @@ process FASTQC { script: // Add soft-links to original FastQs for consistent naming in pipeline def software = getSoftwareName(task.process) - def prefix = options.suffix ? "${meta.id}.${options.suffix}" : "${meta.id}" + def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" if (meta.single_end) { """ [ ! -f ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz diff --git a/modules/nf-core/software/fastqc/meta.yml b/modules/nf-core/modules/fastqc/meta.yml similarity index 100% rename from modules/nf-core/software/fastqc/meta.yml rename to modules/nf-core/modules/fastqc/meta.yml diff --git a/modules/nf-core/software/gffread/functions.nf b/modules/nf-core/modules/gffread/functions.nf similarity index 100% rename from modules/nf-core/software/gffread/functions.nf rename to modules/nf-core/modules/gffread/functions.nf diff --git a/modules/nf-core/software/gffread/main.nf b/modules/nf-core/modules/gffread/main.nf similarity index 100% rename from modules/nf-core/software/gffread/main.nf rename to modules/nf-core/modules/gffread/main.nf diff --git a/modules/nf-core/software/gffread/meta.yml b/modules/nf-core/modules/gffread/meta.yml similarity index 100% rename from modules/nf-core/software/gffread/meta.yml rename to modules/nf-core/modules/gffread/meta.yml diff --git a/modules/nf-core/software/gunzip/functions.nf b/modules/nf-core/modules/gunzip/functions.nf similarity index 100% rename from modules/nf-core/software/gunzip/functions.nf rename to modules/nf-core/modules/gunzip/functions.nf diff --git a/modules/nf-core/software/gunzip/main.nf b/modules/nf-core/modules/gunzip/main.nf similarity index 100% rename from modules/nf-core/software/gunzip/main.nf rename to modules/nf-core/modules/gunzip/main.nf diff --git a/modules/nf-core/software/gunzip/meta.yml b/modules/nf-core/modules/gunzip/meta.yml similarity index 100% rename from modules/nf-core/software/gunzip/meta.yml rename to modules/nf-core/modules/gunzip/meta.yml diff --git a/modules/nf-core/software/hisat2/align/functions.nf b/modules/nf-core/modules/hisat2/align/functions.nf similarity index 100% rename from modules/nf-core/software/hisat2/align/functions.nf rename to modules/nf-core/modules/hisat2/align/functions.nf diff --git a/modules/nf-core/software/hisat2/align/main.nf b/modules/nf-core/modules/hisat2/align/main.nf similarity index 100% rename from modules/nf-core/software/hisat2/align/main.nf rename to modules/nf-core/modules/hisat2/align/main.nf diff --git a/modules/nf-core/software/hisat2/align/meta.yml b/modules/nf-core/modules/hisat2/align/meta.yml similarity index 100% rename from modules/nf-core/software/hisat2/align/meta.yml rename to modules/nf-core/modules/hisat2/align/meta.yml diff --git a/modules/nf-core/software/hisat2/build/functions.nf b/modules/nf-core/modules/hisat2/build/functions.nf similarity index 100% rename from modules/nf-core/software/hisat2/build/functions.nf rename to modules/nf-core/modules/hisat2/build/functions.nf diff --git a/modules/nf-core/software/hisat2/build/main.nf b/modules/nf-core/modules/hisat2/build/main.nf similarity index 100% rename from modules/nf-core/software/hisat2/build/main.nf rename to modules/nf-core/modules/hisat2/build/main.nf diff --git a/modules/nf-core/software/hisat2/build/meta.yml b/modules/nf-core/modules/hisat2/build/meta.yml similarity index 100% rename from modules/nf-core/software/hisat2/build/meta.yml rename to modules/nf-core/modules/hisat2/build/meta.yml diff --git a/modules/nf-core/software/hisat2/extractsplicesites/functions.nf b/modules/nf-core/modules/hisat2/extractsplicesites/functions.nf similarity index 100% rename from modules/nf-core/software/hisat2/extractsplicesites/functions.nf rename to modules/nf-core/modules/hisat2/extractsplicesites/functions.nf diff --git a/modules/nf-core/software/hisat2/extractsplicesites/main.nf b/modules/nf-core/modules/hisat2/extractsplicesites/main.nf similarity index 100% rename from modules/nf-core/software/hisat2/extractsplicesites/main.nf rename to modules/nf-core/modules/hisat2/extractsplicesites/main.nf diff --git a/modules/nf-core/software/hisat2/extractsplicesites/meta.yml b/modules/nf-core/modules/hisat2/extractsplicesites/meta.yml similarity index 100% rename from modules/nf-core/software/hisat2/extractsplicesites/meta.yml rename to modules/nf-core/modules/hisat2/extractsplicesites/meta.yml diff --git a/modules/nf-core/software/picard/markduplicates/functions.nf b/modules/nf-core/modules/picard/markduplicates/functions.nf similarity index 100% rename from modules/nf-core/software/picard/markduplicates/functions.nf rename to modules/nf-core/modules/picard/markduplicates/functions.nf diff --git a/modules/nf-core/software/picard/markduplicates/main.nf b/modules/nf-core/modules/picard/markduplicates/main.nf similarity index 100% rename from modules/nf-core/software/picard/markduplicates/main.nf rename to modules/nf-core/modules/picard/markduplicates/main.nf diff --git a/modules/nf-core/software/picard/markduplicates/meta.yml b/modules/nf-core/modules/picard/markduplicates/meta.yml similarity index 100% rename from modules/nf-core/software/picard/markduplicates/meta.yml rename to modules/nf-core/modules/picard/markduplicates/meta.yml diff --git a/modules/nf-core/software/preseq/lcextrap/functions.nf b/modules/nf-core/modules/preseq/lcextrap/functions.nf similarity index 100% rename from modules/nf-core/software/preseq/lcextrap/functions.nf rename to modules/nf-core/modules/preseq/lcextrap/functions.nf diff --git a/modules/nf-core/software/preseq/lcextrap/main.nf b/modules/nf-core/modules/preseq/lcextrap/main.nf similarity index 100% rename from modules/nf-core/software/preseq/lcextrap/main.nf rename to modules/nf-core/modules/preseq/lcextrap/main.nf diff --git a/modules/nf-core/software/preseq/lcextrap/meta.yml b/modules/nf-core/modules/preseq/lcextrap/meta.yml similarity index 100% rename from modules/nf-core/software/preseq/lcextrap/meta.yml rename to modules/nf-core/modules/preseq/lcextrap/meta.yml diff --git a/modules/nf-core/software/qualimap/rnaseq/functions.nf b/modules/nf-core/modules/qualimap/rnaseq/functions.nf similarity index 100% rename from modules/nf-core/software/qualimap/rnaseq/functions.nf rename to modules/nf-core/modules/qualimap/rnaseq/functions.nf diff --git a/modules/nf-core/software/qualimap/rnaseq/main.nf b/modules/nf-core/modules/qualimap/rnaseq/main.nf similarity index 100% rename from modules/nf-core/software/qualimap/rnaseq/main.nf rename to modules/nf-core/modules/qualimap/rnaseq/main.nf diff --git a/modules/nf-core/software/rsem/calculateexpression/functions.nf b/modules/nf-core/modules/rsem/calculateexpression/functions.nf similarity index 100% rename from modules/nf-core/software/rsem/calculateexpression/functions.nf rename to modules/nf-core/modules/rsem/calculateexpression/functions.nf diff --git a/modules/nf-core/software/rsem/calculateexpression/main.nf b/modules/nf-core/modules/rsem/calculateexpression/main.nf similarity index 100% rename from modules/nf-core/software/rsem/calculateexpression/main.nf rename to modules/nf-core/modules/rsem/calculateexpression/main.nf diff --git a/modules/nf-core/modules/rsem/calculateexpression/meta.yml b/modules/nf-core/modules/rsem/calculateexpression/meta.yml new file mode 100644 index 000000000..f85770853 --- /dev/null +++ b/modules/nf-core/modules/rsem/calculateexpression/meta.yml @@ -0,0 +1,63 @@ +name: rsem_calculateexpression +description: Calculate expression with RSEM +keywords: + - rsem + - expression + - quantification +tools: + - rseqc: + description: | + RSEM: accurate transcript quantification from RNA-Seq data with or without a reference genome + homepage: https://github.com/deweylab/RSEM + documentation: https://github.com/deweylab/RSEM + doi: https://doi.org/10.1186/1471-2105-12-323 +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: Input reads for quantification + pattern: "*.fastq.gz"# + - index: + type: file + description: RSEM index + pattern: "rsem/*" +output: + - counts_gene: + type: file + description: Expression counts on gene level + pattern: "*.genes.results" + - counts_transctips: + type: file + description: Expression counts on transcript level + pattern: "*.isoforms.results" + - stat: + type: file + description: RSEM statistics + pattern: "*.stat" + - logs: + type: file + description: RSEM logs + pattern: "*.log" + - version: + type: file + description: File containing software version + pattern: "*.{version.txt}" + - bam_star: + type: file + description: BAM file generated by STAR (optional) + pattern: "*.STAR.genome.bam" + - bam_genome: + type: file + description: Genome BAM file (optional) + pattern: "*.genome.bam" + - bam_transcript: + type: file + description: Transcript BAM file (optional) + pattern: "*.transcript.bam" +authors: + - "@drpatelh" + - "@kevinmenden" diff --git a/modules/nf-core/software/rsem/preparereference/functions.nf b/modules/nf-core/modules/rsem/preparereference/functions.nf similarity index 100% rename from modules/nf-core/software/rsem/preparereference/functions.nf rename to modules/nf-core/modules/rsem/preparereference/functions.nf diff --git a/modules/nf-core/software/rsem/preparereference/main.nf b/modules/nf-core/modules/rsem/preparereference/main.nf similarity index 100% rename from modules/nf-core/software/rsem/preparereference/main.nf rename to modules/nf-core/modules/rsem/preparereference/main.nf diff --git a/modules/nf-core/modules/rsem/preparereference/meta.yml b/modules/nf-core/modules/rsem/preparereference/meta.yml new file mode 100644 index 000000000..d7c02154a --- /dev/null +++ b/modules/nf-core/modules/rsem/preparereference/meta.yml @@ -0,0 +1,37 @@ +name: rsem_preparereference +description: Prepare a reference genome for RSEM +keywords: + - rsem + - reference +tools: + - rseqc: + description: | + RSEM: accurate transcript quantification from RNA-Seq data with or without a reference genome + homepage: https://github.com/deweylab/RSEM + documentation: https://github.com/deweylab/RSEM + doi: https://doi.org/10.1186/1471-2105-12-323 +input: + - fasta: + type: file + description: The Fasta file of the reference genome + pattern: "*.{fasta,fa}" + - gtf: + type: file + description: The GTF file of the reference genome + pattern: "*.gtf" +output: + - rsem: + type: directory + description: RSEM index directory + pattern: "rsem" + - transcript_fasta: + type: file + description: Fasta file of transcripts + pattern: "rsem/*transcripts.fa" + - version: + type: file + description: File containing software version + pattern: "*.{version.txt}" +authors: + - "@drpatelh" + - "@kevinmenden" diff --git a/modules/nf-core/software/rseqc/bamstat/functions.nf b/modules/nf-core/modules/rseqc/bamstat/functions.nf similarity index 100% rename from modules/nf-core/software/rseqc/bamstat/functions.nf rename to modules/nf-core/modules/rseqc/bamstat/functions.nf diff --git a/modules/nf-core/software/rseqc/bamstat/main.nf b/modules/nf-core/modules/rseqc/bamstat/main.nf similarity index 100% rename from modules/nf-core/software/rseqc/bamstat/main.nf rename to modules/nf-core/modules/rseqc/bamstat/main.nf diff --git a/modules/nf-core/software/rseqc/bamstat/meta.yml b/modules/nf-core/modules/rseqc/bamstat/meta.yml similarity index 100% rename from modules/nf-core/software/rseqc/bamstat/meta.yml rename to modules/nf-core/modules/rseqc/bamstat/meta.yml diff --git a/modules/nf-core/software/rseqc/inferexperiment/functions.nf b/modules/nf-core/modules/rseqc/inferexperiment/functions.nf similarity index 100% rename from modules/nf-core/software/rseqc/inferexperiment/functions.nf rename to modules/nf-core/modules/rseqc/inferexperiment/functions.nf diff --git a/modules/nf-core/software/rseqc/inferexperiment/main.nf b/modules/nf-core/modules/rseqc/inferexperiment/main.nf similarity index 100% rename from modules/nf-core/software/rseqc/inferexperiment/main.nf rename to modules/nf-core/modules/rseqc/inferexperiment/main.nf diff --git a/modules/nf-core/software/rseqc/inferexperiment/meta.yml b/modules/nf-core/modules/rseqc/inferexperiment/meta.yml similarity index 100% rename from modules/nf-core/software/rseqc/inferexperiment/meta.yml rename to modules/nf-core/modules/rseqc/inferexperiment/meta.yml diff --git a/modules/nf-core/software/rseqc/innerdistance/functions.nf b/modules/nf-core/modules/rseqc/innerdistance/functions.nf similarity index 100% rename from modules/nf-core/software/rseqc/innerdistance/functions.nf rename to modules/nf-core/modules/rseqc/innerdistance/functions.nf diff --git a/modules/nf-core/software/rseqc/innerdistance/main.nf b/modules/nf-core/modules/rseqc/innerdistance/main.nf similarity index 100% rename from modules/nf-core/software/rseqc/innerdistance/main.nf rename to modules/nf-core/modules/rseqc/innerdistance/main.nf diff --git a/modules/nf-core/software/rseqc/innerdistance/meta.yml b/modules/nf-core/modules/rseqc/innerdistance/meta.yml similarity index 100% rename from modules/nf-core/software/rseqc/innerdistance/meta.yml rename to modules/nf-core/modules/rseqc/innerdistance/meta.yml diff --git a/modules/nf-core/software/rseqc/junctionannotation/functions.nf b/modules/nf-core/modules/rseqc/junctionannotation/functions.nf similarity index 100% rename from modules/nf-core/software/rseqc/junctionannotation/functions.nf rename to modules/nf-core/modules/rseqc/junctionannotation/functions.nf diff --git a/modules/nf-core/software/rseqc/junctionannotation/main.nf b/modules/nf-core/modules/rseqc/junctionannotation/main.nf similarity index 84% rename from modules/nf-core/software/rseqc/junctionannotation/main.nf rename to modules/nf-core/modules/rseqc/junctionannotation/main.nf index 74105c3a6..ace4fe613 100644 --- a/modules/nf-core/software/rseqc/junctionannotation/main.nf +++ b/modules/nf-core/modules/rseqc/junctionannotation/main.nf @@ -23,13 +23,13 @@ process RSEQC_JUNCTIONANNOTATION { path bed output: - tuple val(meta), path("*.junction.bed"), emit: bed - tuple val(meta), path("*.Interact.bed"), emit: interact_bed tuple val(meta), path("*.xls") , emit: xls - tuple val(meta), path("*junction.pdf") , emit: pdf - tuple val(meta), path("*events.pdf") , emit: events_pdf tuple val(meta), path("*.r") , emit: rscript tuple val(meta), path("*.log") , emit: log + tuple val(meta), path("*.junction.bed"), optional:true, emit: bed + tuple val(meta), path("*.Interact.bed"), optional:true, emit: interact_bed + tuple val(meta), path("*junction.pdf") , optional:true, emit: pdf + tuple val(meta), path("*events.pdf") , optional:true, emit: events_pdf path "*.version.txt" , emit: version script: diff --git a/modules/nf-core/software/rseqc/junctionannotation/meta.yml b/modules/nf-core/modules/rseqc/junctionannotation/meta.yml similarity index 98% rename from modules/nf-core/software/rseqc/junctionannotation/meta.yml rename to modules/nf-core/modules/rseqc/junctionannotation/meta.yml index dd9800094..64926ce0f 100644 --- a/modules/nf-core/software/rseqc/junctionannotation/meta.yml +++ b/modules/nf-core/modules/rseqc/junctionannotation/meta.yml @@ -1,4 +1,4 @@ -name: rseqc_innerdistance +name: rseqc_junctionannotation description: compare detected splice junctions to reference gene model keywords: - junctions diff --git a/modules/nf-core/software/rseqc/junctionsaturation/functions.nf b/modules/nf-core/modules/rseqc/junctionsaturation/functions.nf similarity index 100% rename from modules/nf-core/software/rseqc/junctionsaturation/functions.nf rename to modules/nf-core/modules/rseqc/junctionsaturation/functions.nf diff --git a/modules/nf-core/software/rseqc/junctionsaturation/main.nf b/modules/nf-core/modules/rseqc/junctionsaturation/main.nf similarity index 100% rename from modules/nf-core/software/rseqc/junctionsaturation/main.nf rename to modules/nf-core/modules/rseqc/junctionsaturation/main.nf diff --git a/modules/nf-core/modules/rseqc/junctionsaturation/meta.yml b/modules/nf-core/modules/rseqc/junctionsaturation/meta.yml new file mode 100644 index 000000000..38008577a --- /dev/null +++ b/modules/nf-core/modules/rseqc/junctionsaturation/meta.yml @@ -0,0 +1,44 @@ +name: rseqc_junctionsaturation +description: compare detected splice junctions to reference gene model +keywords: + - junctions + - splicing + - rnaseq +tools: + - rseqc: + description: | + RSeQC package provides a number of useful modules that can comprehensively evaluate + high throughput sequence data especially RNA-seq data. + homepage: http://rseqc.sourceforge.net/ + documentation: http://rseqc.sourceforge.net/ + doi: 10.1093/bioinformatics/bts356 +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: the alignment in bam format + pattern: "*.{bam}" + - bed: + type: file + description: a bed file for the reference gene model + pattern: "*.{bed}" +output: + - pdf: + type: file + description: Junction saturation report + pattern: "*.pdf" + - rscript: + type: file + description: Junction saturation R-script + pattern: "*.r" + - version: + type: file + description: File containing software version + pattern: "*.{version.txt}" +authors: + - "@drpatelh" + - "@kevinmenden" diff --git a/modules/nf-core/software/rseqc/readdistribution/functions.nf b/modules/nf-core/modules/rseqc/readdistribution/functions.nf similarity index 100% rename from modules/nf-core/software/rseqc/readdistribution/functions.nf rename to modules/nf-core/modules/rseqc/readdistribution/functions.nf diff --git a/modules/nf-core/software/rseqc/readdistribution/main.nf b/modules/nf-core/modules/rseqc/readdistribution/main.nf similarity index 100% rename from modules/nf-core/software/rseqc/readdistribution/main.nf rename to modules/nf-core/modules/rseqc/readdistribution/main.nf diff --git a/modules/nf-core/software/rseqc/readdistribution/meta.yml b/modules/nf-core/modules/rseqc/readdistribution/meta.yml similarity index 100% rename from modules/nf-core/software/rseqc/readdistribution/meta.yml rename to modules/nf-core/modules/rseqc/readdistribution/meta.yml diff --git a/modules/nf-core/software/rseqc/readduplication/functions.nf b/modules/nf-core/modules/rseqc/readduplication/functions.nf similarity index 100% rename from modules/nf-core/software/rseqc/readduplication/functions.nf rename to modules/nf-core/modules/rseqc/readduplication/functions.nf diff --git a/modules/nf-core/software/rseqc/readduplication/main.nf b/modules/nf-core/modules/rseqc/readduplication/main.nf similarity index 100% rename from modules/nf-core/software/rseqc/readduplication/main.nf rename to modules/nf-core/modules/rseqc/readduplication/main.nf diff --git a/modules/nf-core/software/rseqc/readduplication/meta.yml b/modules/nf-core/modules/rseqc/readduplication/meta.yml similarity index 100% rename from modules/nf-core/software/rseqc/readduplication/meta.yml rename to modules/nf-core/modules/rseqc/readduplication/meta.yml diff --git a/modules/nf-core/software/salmon/index/functions.nf b/modules/nf-core/modules/salmon/index/functions.nf similarity index 100% rename from modules/nf-core/software/salmon/index/functions.nf rename to modules/nf-core/modules/salmon/index/functions.nf diff --git a/modules/nf-core/software/salmon/index/main.nf b/modules/nf-core/modules/salmon/index/main.nf similarity index 100% rename from modules/nf-core/software/salmon/index/main.nf rename to modules/nf-core/modules/salmon/index/main.nf diff --git a/modules/nf-core/software/salmon/index/meta.yml b/modules/nf-core/modules/salmon/index/meta.yml similarity index 100% rename from modules/nf-core/software/salmon/index/meta.yml rename to modules/nf-core/modules/salmon/index/meta.yml diff --git a/modules/nf-core/software/salmon/quant/functions.nf b/modules/nf-core/modules/salmon/quant/functions.nf similarity index 100% rename from modules/nf-core/software/salmon/quant/functions.nf rename to modules/nf-core/modules/salmon/quant/functions.nf diff --git a/modules/nf-core/software/salmon/quant/main.nf b/modules/nf-core/modules/salmon/quant/main.nf similarity index 100% rename from modules/nf-core/software/salmon/quant/main.nf rename to modules/nf-core/modules/salmon/quant/main.nf diff --git a/modules/nf-core/software/salmon/quant/meta.yml b/modules/nf-core/modules/salmon/quant/meta.yml similarity index 100% rename from modules/nf-core/software/salmon/quant/meta.yml rename to modules/nf-core/modules/salmon/quant/meta.yml diff --git a/modules/nf-core/software/samtools/flagstat/functions.nf b/modules/nf-core/modules/samtools/flagstat/functions.nf similarity index 100% rename from modules/nf-core/software/samtools/flagstat/functions.nf rename to modules/nf-core/modules/samtools/flagstat/functions.nf diff --git a/modules/nf-core/software/samtools/flagstat/main.nf b/modules/nf-core/modules/samtools/flagstat/main.nf similarity index 87% rename from modules/nf-core/software/samtools/flagstat/main.nf rename to modules/nf-core/modules/samtools/flagstat/main.nf index 7260f502c..a66ea56df 100644 --- a/modules/nf-core/software/samtools/flagstat/main.nf +++ b/modules/nf-core/modules/samtools/flagstat/main.nf @@ -11,11 +11,11 @@ process SAMTOOLS_FLAGSTAT { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } - conda (params.enable_conda ? "bioconda::samtools=1.10" : null) + conda (params.enable_conda ? "bioconda::samtools=1.12" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/samtools:1.10--h9402c20_2" + container "https://depot.galaxyproject.org/singularity/samtools:1.12--hd5e65b6_0" } else { - container "quay.io/biocontainers/samtools:1.10--h9402c20_2" + container "quay.io/biocontainers/samtools:1.12--hd5e65b6_0" } input: diff --git a/modules/nf-core/software/samtools/flagstat/meta.yml b/modules/nf-core/modules/samtools/flagstat/meta.yml similarity index 100% rename from modules/nf-core/software/samtools/flagstat/meta.yml rename to modules/nf-core/modules/samtools/flagstat/meta.yml diff --git a/modules/nf-core/software/samtools/idxstats/functions.nf b/modules/nf-core/modules/samtools/idxstats/functions.nf similarity index 100% rename from modules/nf-core/software/samtools/idxstats/functions.nf rename to modules/nf-core/modules/samtools/idxstats/functions.nf diff --git a/modules/nf-core/software/samtools/idxstats/main.nf b/modules/nf-core/modules/samtools/idxstats/main.nf similarity index 87% rename from modules/nf-core/software/samtools/idxstats/main.nf rename to modules/nf-core/modules/samtools/idxstats/main.nf index eb74a25e8..ff3cd9a68 100644 --- a/modules/nf-core/software/samtools/idxstats/main.nf +++ b/modules/nf-core/modules/samtools/idxstats/main.nf @@ -11,11 +11,11 @@ process SAMTOOLS_IDXSTATS { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } - conda (params.enable_conda ? "bioconda::samtools=1.10" : null) + conda (params.enable_conda ? "bioconda::samtools=1.12" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/samtools:1.10--h9402c20_2" + container "https://depot.galaxyproject.org/singularity/samtools:1.12--hd5e65b6_0" } else { - container "quay.io/biocontainers/samtools:1.10--h9402c20_2" + container "quay.io/biocontainers/samtools:1.12--hd5e65b6_0" } input: diff --git a/modules/nf-core/software/samtools/idxstats/meta.yml b/modules/nf-core/modules/samtools/idxstats/meta.yml similarity index 100% rename from modules/nf-core/software/samtools/idxstats/meta.yml rename to modules/nf-core/modules/samtools/idxstats/meta.yml diff --git a/modules/nf-core/software/samtools/index/functions.nf b/modules/nf-core/modules/samtools/index/functions.nf similarity index 100% rename from modules/nf-core/software/samtools/index/functions.nf rename to modules/nf-core/modules/samtools/index/functions.nf diff --git a/modules/nf-core/software/samtools/index/main.nf b/modules/nf-core/modules/samtools/index/main.nf similarity index 87% rename from modules/nf-core/software/samtools/index/main.nf rename to modules/nf-core/modules/samtools/index/main.nf index 2f323c817..778e9384e 100644 --- a/modules/nf-core/software/samtools/index/main.nf +++ b/modules/nf-core/modules/samtools/index/main.nf @@ -11,11 +11,11 @@ process SAMTOOLS_INDEX { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } - conda (params.enable_conda ? "bioconda::samtools=1.10" : null) + conda (params.enable_conda ? "bioconda::samtools=1.12" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/samtools:1.10--h9402c20_2" + container "https://depot.galaxyproject.org/singularity/samtools:1.12--hd5e65b6_0" } else { - container "quay.io/biocontainers/samtools:1.10--h9402c20_2" + container "quay.io/biocontainers/samtools:1.12--hd5e65b6_0" } input: diff --git a/modules/nf-core/software/samtools/index/meta.yml b/modules/nf-core/modules/samtools/index/meta.yml similarity index 100% rename from modules/nf-core/software/samtools/index/meta.yml rename to modules/nf-core/modules/samtools/index/meta.yml diff --git a/modules/nf-core/software/samtools/sort/functions.nf b/modules/nf-core/modules/samtools/sort/functions.nf similarity index 100% rename from modules/nf-core/software/samtools/sort/functions.nf rename to modules/nf-core/modules/samtools/sort/functions.nf diff --git a/modules/nf-core/software/samtools/sort/main.nf b/modules/nf-core/modules/samtools/sort/main.nf similarity index 88% rename from modules/nf-core/software/samtools/sort/main.nf rename to modules/nf-core/modules/samtools/sort/main.nf index ee09c6563..240e8e9f1 100644 --- a/modules/nf-core/software/samtools/sort/main.nf +++ b/modules/nf-core/modules/samtools/sort/main.nf @@ -11,11 +11,11 @@ process SAMTOOLS_SORT { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } - conda (params.enable_conda ? "bioconda::samtools=1.10" : null) + conda (params.enable_conda ? "bioconda::samtools=1.12" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/samtools:1.10--h9402c20_2" + container "https://depot.galaxyproject.org/singularity/samtools:1.12--hd5e65b6_0" } else { - container "quay.io/biocontainers/samtools:1.10--h9402c20_2" + container "quay.io/biocontainers/samtools:1.12--hd5e65b6_0" } input: diff --git a/modules/nf-core/software/samtools/sort/meta.yml b/modules/nf-core/modules/samtools/sort/meta.yml similarity index 100% rename from modules/nf-core/software/samtools/sort/meta.yml rename to modules/nf-core/modules/samtools/sort/meta.yml diff --git a/modules/nf-core/software/samtools/stats/functions.nf b/modules/nf-core/modules/samtools/stats/functions.nf similarity index 100% rename from modules/nf-core/software/samtools/stats/functions.nf rename to modules/nf-core/modules/samtools/stats/functions.nf diff --git a/modules/nf-core/software/samtools/stats/main.nf b/modules/nf-core/modules/samtools/stats/main.nf similarity index 86% rename from modules/nf-core/software/samtools/stats/main.nf rename to modules/nf-core/modules/samtools/stats/main.nf index c307f9e8c..6bb0a4c78 100644 --- a/modules/nf-core/software/samtools/stats/main.nf +++ b/modules/nf-core/modules/samtools/stats/main.nf @@ -11,11 +11,11 @@ process SAMTOOLS_STATS { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } - conda (params.enable_conda ? "bioconda::samtools=1.10" : null) + conda (params.enable_conda ? "bioconda::samtools=1.12" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/samtools:1.10--h9402c20_2" + container "https://depot.galaxyproject.org/singularity/samtools:1.12--hd5e65b6_0" } else { - container "quay.io/biocontainers/samtools:1.10--h9402c20_2" + container "quay.io/biocontainers/samtools:1.12--hd5e65b6_0" } input: diff --git a/modules/nf-core/software/samtools/stats/meta.yml b/modules/nf-core/modules/samtools/stats/meta.yml similarity index 100% rename from modules/nf-core/software/samtools/stats/meta.yml rename to modules/nf-core/modules/samtools/stats/meta.yml diff --git a/modules/nf-core/software/sortmerna/functions.nf b/modules/nf-core/modules/sortmerna/functions.nf similarity index 100% rename from modules/nf-core/software/sortmerna/functions.nf rename to modules/nf-core/modules/sortmerna/functions.nf diff --git a/modules/nf-core/software/sortmerna/main.nf b/modules/nf-core/modules/sortmerna/main.nf similarity index 100% rename from modules/nf-core/software/sortmerna/main.nf rename to modules/nf-core/modules/sortmerna/main.nf diff --git a/modules/nf-core/software/star/align/functions.nf b/modules/nf-core/modules/star/align/functions.nf similarity index 100% rename from modules/nf-core/software/star/align/functions.nf rename to modules/nf-core/modules/star/align/functions.nf diff --git a/modules/nf-core/software/star/align/main.nf b/modules/nf-core/modules/star/align/main.nf similarity index 100% rename from modules/nf-core/software/star/align/main.nf rename to modules/nf-core/modules/star/align/main.nf diff --git a/modules/nf-core/software/star/align/meta.yml b/modules/nf-core/modules/star/align/meta.yml similarity index 100% rename from modules/nf-core/software/star/align/meta.yml rename to modules/nf-core/modules/star/align/meta.yml diff --git a/modules/nf-core/software/star/genomegenerate/functions.nf b/modules/nf-core/modules/star/genomegenerate/functions.nf similarity index 100% rename from modules/nf-core/software/star/genomegenerate/functions.nf rename to modules/nf-core/modules/star/genomegenerate/functions.nf diff --git a/modules/nf-core/software/star/genomegenerate/main.nf b/modules/nf-core/modules/star/genomegenerate/main.nf similarity index 100% rename from modules/nf-core/software/star/genomegenerate/main.nf rename to modules/nf-core/modules/star/genomegenerate/main.nf diff --git a/modules/nf-core/software/star/genomegenerate/meta.yml b/modules/nf-core/modules/star/genomegenerate/meta.yml similarity index 100% rename from modules/nf-core/software/star/genomegenerate/meta.yml rename to modules/nf-core/modules/star/genomegenerate/meta.yml diff --git a/modules/nf-core/software/stringtie/stringtie/functions.nf b/modules/nf-core/modules/stringtie/stringtie/functions.nf similarity index 100% rename from modules/nf-core/software/stringtie/stringtie/functions.nf rename to modules/nf-core/modules/stringtie/stringtie/functions.nf diff --git a/modules/nf-core/software/stringtie/stringtie/main.nf b/modules/nf-core/modules/stringtie/stringtie/main.nf similarity index 86% rename from modules/nf-core/software/stringtie/stringtie/main.nf rename to modules/nf-core/modules/stringtie/stringtie/main.nf index eb751321e..6cff993a1 100644 --- a/modules/nf-core/software/stringtie/stringtie/main.nf +++ b/modules/nf-core/modules/stringtie/stringtie/main.nf @@ -11,11 +11,11 @@ process STRINGTIE { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } - conda (params.enable_conda ? "bioconda::stringtie=2.1.4" : null) + conda (params.enable_conda ? "bioconda::stringtie=2.1.7" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/stringtie:2.1.4--h7e0af3c_0" + container "https://depot.galaxyproject.org/singularity/stringtie:2.1.7--h978d192_0" } else { - container "quay.io/biocontainers/stringtie:2.1.4--h7e0af3c_0" + container "quay.io/biocontainers/stringtie:2.1.7--h978d192_0" } input: @@ -48,8 +48,9 @@ process STRINGTIE { -A ${prefix}.gene.abundance.txt \\ -C ${prefix}.coverage.gtf \\ -b ${prefix}.ballgown \\ + -p $task.cpus \\ $options.args - stringtie --version > ${software}.version.txt + echo \$(stringtie --version 2>&1) > ${software}.version.txt """ } diff --git a/modules/nf-core/software/stringtie/stringtie/meta.yml b/modules/nf-core/modules/stringtie/stringtie/meta.yml similarity index 100% rename from modules/nf-core/software/stringtie/stringtie/meta.yml rename to modules/nf-core/modules/stringtie/stringtie/meta.yml diff --git a/modules/nf-core/software/subread/featurecounts/functions.nf b/modules/nf-core/modules/subread/featurecounts/functions.nf similarity index 100% rename from modules/nf-core/software/subread/featurecounts/functions.nf rename to modules/nf-core/modules/subread/featurecounts/functions.nf diff --git a/modules/nf-core/software/subread/featurecounts/main.nf b/modules/nf-core/modules/subread/featurecounts/main.nf similarity index 100% rename from modules/nf-core/software/subread/featurecounts/main.nf rename to modules/nf-core/modules/subread/featurecounts/main.nf diff --git a/modules/nf-core/software/subread/featurecounts/meta.yml b/modules/nf-core/modules/subread/featurecounts/meta.yml similarity index 100% rename from modules/nf-core/software/subread/featurecounts/meta.yml rename to modules/nf-core/modules/subread/featurecounts/meta.yml diff --git a/modules/nf-core/software/trimgalore/functions.nf b/modules/nf-core/modules/trimgalore/functions.nf similarity index 100% rename from modules/nf-core/software/trimgalore/functions.nf rename to modules/nf-core/modules/trimgalore/functions.nf diff --git a/modules/nf-core/software/trimgalore/main.nf b/modules/nf-core/modules/trimgalore/main.nf similarity index 100% rename from modules/nf-core/software/trimgalore/main.nf rename to modules/nf-core/modules/trimgalore/main.nf diff --git a/modules/nf-core/software/trimgalore/meta.yml b/modules/nf-core/modules/trimgalore/meta.yml similarity index 100% rename from modules/nf-core/software/trimgalore/meta.yml rename to modules/nf-core/modules/trimgalore/meta.yml diff --git a/modules/nf-core/software/ucsc/bedclip/functions.nf b/modules/nf-core/modules/ucsc/bedclip/functions.nf similarity index 100% rename from modules/nf-core/software/ucsc/bedclip/functions.nf rename to modules/nf-core/modules/ucsc/bedclip/functions.nf diff --git a/modules/nf-core/software/ucsc/bedclip/main.nf b/modules/nf-core/modules/ucsc/bedclip/main.nf similarity index 100% rename from modules/nf-core/software/ucsc/bedclip/main.nf rename to modules/nf-core/modules/ucsc/bedclip/main.nf diff --git a/modules/nf-core/software/ucsc/bedclip/meta.yml b/modules/nf-core/modules/ucsc/bedclip/meta.yml similarity index 100% rename from modules/nf-core/software/ucsc/bedclip/meta.yml rename to modules/nf-core/modules/ucsc/bedclip/meta.yml diff --git a/modules/nf-core/software/ucsc/bedgraphtobigwig/functions.nf b/modules/nf-core/modules/ucsc/bedgraphtobigwig/functions.nf similarity index 100% rename from modules/nf-core/software/ucsc/bedgraphtobigwig/functions.nf rename to modules/nf-core/modules/ucsc/bedgraphtobigwig/functions.nf diff --git a/modules/nf-core/software/ucsc/bedgraphtobigwig/main.nf b/modules/nf-core/modules/ucsc/bedgraphtobigwig/main.nf similarity index 100% rename from modules/nf-core/software/ucsc/bedgraphtobigwig/main.nf rename to modules/nf-core/modules/ucsc/bedgraphtobigwig/main.nf diff --git a/modules/nf-core/modules/ucsc/bedgraphtobigwig/meta.yml b/modules/nf-core/modules/ucsc/bedgraphtobigwig/meta.yml new file mode 100644 index 000000000..31365f48f --- /dev/null +++ b/modules/nf-core/modules/ucsc/bedgraphtobigwig/meta.yml @@ -0,0 +1,46 @@ +name: ucsc_bedgraphtobigwig +description: Convert a bedGraph file to bigWig format. +keywords: + - bedgraph + - bigwig +tools: + - ucsc: + description: Convert a bedGraph file to bigWig format. + homepage: None + documentation: None + tool_dev_url: None + doi: "" + licence: ["varies; see http://genome.ucsc.edu/license"] + +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bedgraph: + type: file + description: bedGraph file + pattern: "*.{bedGraph}" + - sizes: + type: file + description: chromosome sizes file + pattern: "*.{sizes}" + +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - version: + type: file + description: File containing software version + pattern: "*.{version.txt}" + - bigwig: + type: file + description: bigWig file + pattern: "*.{bigWig}" + +authors: + - "@drpatelh" diff --git a/modules/nf-core/software/umitools/dedup/functions.nf b/modules/nf-core/modules/umitools/dedup/functions.nf similarity index 100% rename from modules/nf-core/software/umitools/dedup/functions.nf rename to modules/nf-core/modules/umitools/dedup/functions.nf diff --git a/modules/nf-core/software/umitools/dedup/main.nf b/modules/nf-core/modules/umitools/dedup/main.nf similarity index 74% rename from modules/nf-core/software/umitools/dedup/main.nf rename to modules/nf-core/modules/umitools/dedup/main.nf index 93ea6d451..f30ab1641 100644 --- a/modules/nf-core/software/umitools/dedup/main.nf +++ b/modules/nf-core/modules/umitools/dedup/main.nf @@ -11,11 +11,11 @@ process UMITOOLS_DEDUP { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } - conda (params.enable_conda ? "bioconda::umi_tools=1.1.1" : null) + conda (params.enable_conda ? "bioconda::umi_tools=1.1.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/umi_tools:1.1.1--py38h0213d0e_1" + container "https://depot.galaxyproject.org/singularity/umi_tools:1.1.2--py38h4a8c8d9_0" } else { - container "quay.io/biocontainers/umi_tools:1.1.1--py38h0213d0e_1" + container "quay.io/biocontainers/umi_tools:1.1.2--py38h4a8c8d9_0" } input: @@ -23,19 +23,19 @@ process UMITOOLS_DEDUP { output: tuple val(meta), path("*.bam"), emit: bam - tuple val(meta), path("*.tsv"), emit: tsv path "*.version.txt" , emit: version script: def software = getSoftwareName(task.process) def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" + def paired = meta.single_end ? "" : "--paired" """ umi_tools dedup \\ -I $bam \\ -S ${prefix}.bam \\ - --output-stats=$prefix \\ - $options.args \\ + $paired \\ + $options.args - umi_tools --version | sed -e "s/UMI-tools version: //g" > ${software}.version.txt + echo \$(umi_tools --version 2>&1) | sed 's/^.*UMI-tools version://; s/ *\$//' > ${software}.version.txt """ } diff --git a/modules/nf-core/software/umitools/extract/functions.nf b/modules/nf-core/modules/umitools/extract/functions.nf similarity index 100% rename from modules/nf-core/software/umitools/extract/functions.nf rename to modules/nf-core/modules/umitools/extract/functions.nf diff --git a/modules/nf-core/software/umitools/extract/main.nf b/modules/nf-core/modules/umitools/extract/main.nf similarity index 80% rename from modules/nf-core/software/umitools/extract/main.nf rename to modules/nf-core/modules/umitools/extract/main.nf index 581f41c3c..e5c4e21c8 100644 --- a/modules/nf-core/software/umitools/extract/main.nf +++ b/modules/nf-core/modules/umitools/extract/main.nf @@ -11,11 +11,11 @@ process UMITOOLS_EXTRACT { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } - conda (params.enable_conda ? "bioconda::umi_tools=1.1.1" : null) + conda (params.enable_conda ? "bioconda::umi_tools=1.1.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/umi_tools:1.1.1--py38h0213d0e_1" + container "https://depot.galaxyproject.org/singularity/umi_tools:1.1.2--py38h4a8c8d9_0" } else { - container "quay.io/biocontainers/umi_tools:1.1.1--py38h0213d0e_1" + container "quay.io/biocontainers/umi_tools:1.1.2--py38h4a8c8d9_0" } input: @@ -38,7 +38,7 @@ process UMITOOLS_EXTRACT { $options.args \\ > ${prefix}.umi_extract.log - umi_tools --version | sed -e "s/UMI-tools version: //g" > ${software}.version.txt + echo \$(umi_tools --version 2>&1) | sed 's/^.*UMI-tools version://; s/ *\$//' > ${software}.version.txt """ } else { """ @@ -51,7 +51,7 @@ process UMITOOLS_EXTRACT { $options.args \\ > ${prefix}.umi_extract.log - umi_tools --version | sed -e "s/UMI-tools version: //g" > ${software}.version.txt + echo \$(umi_tools --version 2>&1) | sed 's/^.*UMI-tools version://; s/ *\$//' > ${software}.version.txt """ } } diff --git a/modules/nf-core/software/untar/functions.nf b/modules/nf-core/modules/untar/functions.nf similarity index 100% rename from modules/nf-core/software/untar/functions.nf rename to modules/nf-core/modules/untar/functions.nf diff --git a/modules/nf-core/software/untar/main.nf b/modules/nf-core/modules/untar/main.nf similarity index 100% rename from modules/nf-core/software/untar/main.nf rename to modules/nf-core/modules/untar/main.nf diff --git a/modules/nf-core/software/untar/meta.yml b/modules/nf-core/modules/untar/meta.yml similarity index 100% rename from modules/nf-core/software/untar/meta.yml rename to modules/nf-core/modules/untar/meta.yml diff --git a/nextflow.config b/nextflow.config index 31288750e..714ac80d9 100644 --- a/nextflow.config +++ b/nextflow.config @@ -99,11 +99,12 @@ params { custom_config_version = 'master' custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" hostnames = [:] - config_profile_name = null config_profile_description = null config_profile_contact = null config_profile_url = null + config_profile_name = null + // Max resource options // Defaults only, expecting to be overwritten max_memory = '128.GB' max_cpus = 16 @@ -220,7 +221,7 @@ manifest { description = 'Nextflow RNA-Seq analysis pipeline, part of the nf-core community.' mainScript = 'main.nf' nextflowVersion = '!>=21.04.0' - version = '3.2' + version = '3.3' } // Function to ensure that resource requirements don't go beyond diff --git a/nextflow_schema.json b/nextflow_schema.json index 2b0b342dc..2bec50654 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -15,7 +15,7 @@ "type": "string", "format": "file-path", "mimetype": "text/csv", - "pattern": "\\.csv$", + "pattern": "^\\S+\\.csv$", "schema": "assets/schema_input.json", "description": "Path to comma-separated file containing information about the samples in the experiment.", "help_text": "You will need to create a design file with information about the samples in your experiment before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with 4 columns, and a header row. See [usage docs](https://nf-co.re/rnaseq/usage#samplesheet-input).", @@ -121,7 +121,7 @@ "type": "string", "format": "file-path", "mimetype": "text/plain", - "pattern": "\\.fn?a(sta)?(\\.gz)?$", + "pattern": "^\\S+\\.fn?a(sta)?(\\.gz)?$", "description": "Path to FASTA genome file.", "help_text": "This parameter is *mandatory* if `--genome` is not specified. If you don't have a BWA index available this will be generated for you automatically. Combine with `--save_reference` to save BWA index for future runs.", "fa_icon": "far fa-file-code" @@ -130,7 +130,7 @@ "type": "string", "format": "file-path", "mimetype": "text/plain", - "pattern": "\\.gtf(\\.gz)?$", + "pattern": "^\\S+\\.gtf(\\.gz)?$", "description": "Path to GTF annotation file.", "fa_icon": "fas fa-code-branch", "help_text": "This parameter is *mandatory* if `--genome` is not specified." @@ -139,7 +139,7 @@ "type": "string", "format": "file-path", "mimetype": "text/plain", - "pattern": "\\.gff(\\.gz)?$", + "pattern": "^\\S+\\.gff(\\.gz)?$", "fa_icon": "fas fa-code-branch", "description": "Path to GFF3 annotation file.", "help_text": "This parameter must be specified if `--genome` or `--gtf` are not specified." @@ -148,7 +148,7 @@ "type": "string", "format": "file-path", "mimetype": "text/plain", - "pattern": "\\.bed(\\.gz)?$", + "pattern": "^\\S+\\.bed(\\.gz)?$", "fa_icon": "fas fa-procedures", "description": "Path to BED file containing gene intervals. This will be created from the GTF file if not specified." }, @@ -156,7 +156,7 @@ "type": "string", "format": "file-path", "mimetype": "text/plain", - "pattern": "\\.fn?a(sta)?(\\.gz)?$", + "pattern": "^\\S+\\.fn?a(sta)?(\\.gz)?$", "fa_icon": "far fa-file-code", "description": "Path to FASTA transcriptome file." }, @@ -164,7 +164,7 @@ "type": "string", "format": "file-path", "mimetype": "text/plain", - "pattern": "\\.fn?a(sta)?(\\.gz)?$", + "pattern": "^\\S+\\.fn?a(sta)?(\\.gz)?$", "fa_icon": "far fa-file-code", "description": "FASTA file to concatenate to genome FASTA file e.g. containing spike-in sequences.", "help_text": "If provided, the sequences in this file will get concatenated to the existing genome FASTA file, a GTF file will be automatically created using the entire sequence as the gene, transcript, and exon features, and any alignment index will get created from the combined FASTA and GTF. It is recommended to save the reference with `--save_reference` to re-use the index for future runs so you do not need to create it again." diff --git a/subworkflows/local/prepare_genome.nf b/subworkflows/local/prepare_genome.nf index 600642642..5c2c102e6 100644 --- a/subworkflows/local/prepare_genome.nf +++ b/subworkflows/local/prepare_genome.nf @@ -16,18 +16,18 @@ include { GUNZIP as GUNZIP_GFF GUNZIP as GUNZIP_GENE_BED GUNZIP as GUNZIP_TRANSCRIPT_FASTA - GUNZIP as GUNZIP_ADDITIONAL_FASTA } from '../../modules/nf-core/software/gunzip/main' addParams( options: params.genome_options ) -include { UNTAR as UNTAR_STAR_INDEX } from '../../modules/nf-core/software/untar/main' addParams( options: params.star_index_options ) -include { UNTAR as UNTAR_RSEM_INDEX } from '../../modules/nf-core/software/untar/main' addParams( options: params.index_options ) -include { UNTAR as UNTAR_HISAT2_INDEX } from '../../modules/nf-core/software/untar/main' addParams( options: params.hisat2_index_options ) -include { UNTAR as UNTAR_SALMON_INDEX } from '../../modules/nf-core/software/untar/main' addParams( options: params.index_options ) -include { GFFREAD } from '../../modules/nf-core/software/gffread/main' addParams( options: params.gffread_options ) -include { STAR_GENOMEGENERATE } from '../../modules/nf-core/software/star/genomegenerate/main' addParams( options: params.star_index_options ) -include { HISAT2_EXTRACTSPLICESITES } from '../../modules/nf-core/software/hisat2/extractsplicesites/main' addParams( options: params.hisat2_index_options ) -include { HISAT2_BUILD } from '../../modules/nf-core/software/hisat2/build/main' addParams( options: params.hisat2_index_options ) -include { SALMON_INDEX } from '../../modules/nf-core/software/salmon/index/main' addParams( options: params.salmon_index_options ) -include { RSEM_PREPAREREFERENCE as RSEM_PREPAREREFERENCE } from '../../modules/nf-core/software/rsem/preparereference/main' addParams( options: params.rsem_index_options ) -include { RSEM_PREPAREREFERENCE as RSEM_PREPAREREFERENCE_TRANSCRIPTS } from '../../modules/nf-core/software/rsem/preparereference/main' addParams( options: params.genome_options ) + GUNZIP as GUNZIP_ADDITIONAL_FASTA } from '../../modules/nf-core/modules/gunzip/main' addParams( options: params.genome_options ) +include { UNTAR as UNTAR_STAR_INDEX } from '../../modules/nf-core/modules/untar/main' addParams( options: params.star_index_options ) +include { UNTAR as UNTAR_RSEM_INDEX } from '../../modules/nf-core/modules/untar/main' addParams( options: params.index_options ) +include { UNTAR as UNTAR_HISAT2_INDEX } from '../../modules/nf-core/modules/untar/main' addParams( options: params.hisat2_index_options ) +include { UNTAR as UNTAR_SALMON_INDEX } from '../../modules/nf-core/modules/untar/main' addParams( options: params.index_options ) +include { GFFREAD } from '../../modules/nf-core/modules/gffread/main' addParams( options: params.gffread_options ) +include { STAR_GENOMEGENERATE } from '../../modules/nf-core/modules/star/genomegenerate/main' addParams( options: params.star_index_options ) +include { HISAT2_EXTRACTSPLICESITES } from '../../modules/nf-core/modules/hisat2/extractsplicesites/main' addParams( options: params.hisat2_index_options ) +include { HISAT2_BUILD } from '../../modules/nf-core/modules/hisat2/build/main' addParams( options: params.hisat2_index_options ) +include { SALMON_INDEX } from '../../modules/nf-core/modules/salmon/index/main' addParams( options: params.salmon_index_options ) +include { RSEM_PREPAREREFERENCE as RSEM_PREPAREREFERENCE } from '../../modules/nf-core/modules/rsem/preparereference/main' addParams( options: params.rsem_index_options ) +include { RSEM_PREPAREREFERENCE as RSEM_PREPAREREFERENCE_TRANSCRIPTS } from '../../modules/nf-core/modules/rsem/preparereference/main' addParams( options: params.genome_options ) include { GTF2BED } from '../../modules/local/gtf2bed' addParams( options: params.genome_options ) include { CAT_ADDITIONAL_FASTA } from '../../modules/local/cat_additional_fasta' addParams( options: params.genome_options ) diff --git a/subworkflows/local/quantify_rsem.nf b/subworkflows/local/quantify_rsem.nf index 398e9a8cb..187571689 100644 --- a/subworkflows/local/quantify_rsem.nf +++ b/subworkflows/local/quantify_rsem.nf @@ -8,9 +8,9 @@ params.samtools_index_options = [:] params.samtools_stats_options = [:] params.merge_counts_options = [:] -include { RSEM_CALCULATEEXPRESSION } from '../../modules/nf-core/software/rsem/calculateexpression/main' addParams( options: params.calculateexpression_options ) -include { RSEM_MERGE_COUNTS } from '../../modules/local/rsem_merge_counts' addParams( options: params.merge_counts_options ) -include { BAM_SORT_SAMTOOLS } from '../nf-core/bam_sort_samtools' addParams( sort_options: params.samtools_sort_options, index_options: params.samtools_index_options, stats_options: params.samtools_stats_options ) +include { RSEM_CALCULATEEXPRESSION } from '../../modules/nf-core/modules/rsem/calculateexpression/main' addParams( options: params.calculateexpression_options ) +include { RSEM_MERGE_COUNTS } from '../../modules/local/rsem_merge_counts' addParams( options: params.merge_counts_options ) +include { BAM_SORT_SAMTOOLS } from '../nf-core/bam_sort_samtools' addParams( sort_options: params.samtools_sort_options, index_options: params.samtools_index_options, stats_options: params.samtools_stats_options ) workflow QUANTIFY_RSEM { take: diff --git a/subworkflows/local/quantify_salmon.nf b/subworkflows/local/quantify_salmon.nf index 68b9b9760..863b1c395 100644 --- a/subworkflows/local/quantify_salmon.nf +++ b/subworkflows/local/quantify_salmon.nf @@ -7,10 +7,10 @@ params.salmon_quant_options = [:] params.tximport_options = [:] params.merge_counts_options = [:] -include { SALMON_QUANT } from '../../modules/nf-core/software/salmon/quant/main' addParams( options: params.salmon_quant_options ) -include { SALMON_TX2GENE } from '../../modules/local/salmon_tx2gene' addParams( options: params.genome_options ) -include { SALMON_TXIMPORT } from '../../modules/local/salmon_tximport' addParams( options: params.tximport_options ) -include { SALMON_MERGE_COUNTS } from '../../modules/local/salmon_merge_counts' addParams( options: params.merge_counts_options ) +include { SALMON_QUANT } from '../../modules/nf-core/modules/salmon/quant/main' addParams( options: params.salmon_quant_options ) +include { SALMON_TX2GENE } from '../../modules/local/salmon_tx2gene' addParams( options: params.genome_options ) +include { SALMON_TXIMPORT } from '../../modules/local/salmon_tximport' addParams( options: params.tximport_options ) +include { SALMON_MERGE_COUNTS } from '../../modules/local/salmon_merge_counts' addParams( options: params.merge_counts_options ) include { SALMON_SUMMARIZEDEXPERIMENT as SALMON_SE_GENE SALMON_SUMMARIZEDEXPERIMENT as SALMON_SE_GENE_LENGTH_SCALED SALMON_SUMMARIZEDEXPERIMENT as SALMON_SE_GENE_SCALED diff --git a/subworkflows/nf-core/align_hisat2.nf b/subworkflows/nf-core/align_hisat2.nf index 1024cfa7d..a022bf94b 100644 --- a/subworkflows/nf-core/align_hisat2.nf +++ b/subworkflows/nf-core/align_hisat2.nf @@ -7,8 +7,8 @@ params.samtools_sort_options = [:] params.samtools_index_options = [:] params.samtools_stats_options = [:] -include { HISAT2_ALIGN } from '../../modules/nf-core/software/hisat2/align/main' addParams( options: params.align_options ) -include { BAM_SORT_SAMTOOLS } from './bam_sort_samtools' addParams( sort_options: params.samtools_sort_options, index_options: params.samtools_index_options, stats_options: params.samtools_stats_options ) +include { HISAT2_ALIGN } from '../../modules/nf-core/modules/hisat2/align/main' addParams( options: params.align_options ) +include { BAM_SORT_SAMTOOLS } from './bam_sort_samtools' addParams( sort_options: params.samtools_sort_options, index_options: params.samtools_index_options, stats_options: params.samtools_stats_options ) workflow ALIGN_HISAT2 { take: diff --git a/subworkflows/nf-core/align_star.nf b/subworkflows/nf-core/align_star.nf index 7d228e1a9..40cc68b6b 100644 --- a/subworkflows/nf-core/align_star.nf +++ b/subworkflows/nf-core/align_star.nf @@ -7,8 +7,8 @@ params.samtools_sort_options = [:] params.samtools_index_options = [:] params.samtools_stats_options = [:] -include { STAR_ALIGN } from '../../modules/nf-core/software/star/align/main' addParams( options: params.align_options ) -include { BAM_SORT_SAMTOOLS } from './bam_sort_samtools' addParams( sort_options: params.samtools_sort_options, index_options: params.samtools_index_options, stats_options: params.samtools_stats_options ) +include { STAR_ALIGN } from '../../modules/nf-core/modules/star/align/main' addParams( options: params.align_options ) +include { BAM_SORT_SAMTOOLS } from './bam_sort_samtools' addParams( sort_options: params.samtools_sort_options, index_options: params.samtools_index_options, stats_options: params.samtools_stats_options ) workflow ALIGN_STAR { take: diff --git a/subworkflows/nf-core/bam_sort_samtools.nf b/subworkflows/nf-core/bam_sort_samtools.nf index 4ae896dca..ba4d39efb 100644 --- a/subworkflows/nf-core/bam_sort_samtools.nf +++ b/subworkflows/nf-core/bam_sort_samtools.nf @@ -6,9 +6,9 @@ params.sort_options = [:] params.index_options = [:] params.stats_options = [:] -include { SAMTOOLS_SORT } from '../../modules/nf-core/software/samtools/sort/main' addParams( options: params.sort_options ) -include { SAMTOOLS_INDEX } from '../../modules/nf-core/software/samtools/index/main' addParams( options: params.index_options ) -include { BAM_STATS_SAMTOOLS } from './bam_stats_samtools' addParams( options: params.stats_options ) +include { SAMTOOLS_SORT } from '../../modules/nf-core/modules/samtools/sort/main' addParams( options: params.sort_options ) +include { SAMTOOLS_INDEX } from '../../modules/nf-core/modules/samtools/index/main' addParams( options: params.index_options ) +include { BAM_STATS_SAMTOOLS } from './bam_stats_samtools' addParams( options: params.stats_options ) workflow BAM_SORT_SAMTOOLS { take: diff --git a/subworkflows/nf-core/bam_stats_samtools.nf b/subworkflows/nf-core/bam_stats_samtools.nf index eca9b37ab..ca05241cd 100644 --- a/subworkflows/nf-core/bam_stats_samtools.nf +++ b/subworkflows/nf-core/bam_stats_samtools.nf @@ -4,9 +4,9 @@ params.options = [:] -include { SAMTOOLS_STATS } from '../../modules/nf-core/software/samtools/stats/main' addParams( options: params.options ) -include { SAMTOOLS_IDXSTATS } from '../../modules/nf-core/software/samtools/idxstats/main' addParams( options: params.options ) -include { SAMTOOLS_FLAGSTAT } from '../../modules/nf-core/software/samtools/flagstat/main' addParams( options: params.options ) +include { SAMTOOLS_STATS } from '../../modules/nf-core/modules/samtools/stats/main' addParams( options: params.options ) +include { SAMTOOLS_IDXSTATS } from '../../modules/nf-core/modules/samtools/idxstats/main' addParams( options: params.options ) +include { SAMTOOLS_FLAGSTAT } from '../../modules/nf-core/modules/samtools/flagstat/main' addParams( options: params.options ) workflow BAM_STATS_SAMTOOLS { take: diff --git a/subworkflows/nf-core/bedgraph_to_bigwig.nf b/subworkflows/nf-core/bedgraph_to_bigwig.nf index 319db6485..e843f543a 100644 --- a/subworkflows/nf-core/bedgraph_to_bigwig.nf +++ b/subworkflows/nf-core/bedgraph_to_bigwig.nf @@ -5,8 +5,8 @@ params.bedclip_options = [:] params.bedgraphtobigwig_options = [:] -include { UCSC_BEDCLIP } from '../../modules/nf-core/software/ucsc/bedclip/main' addParams( options: params.bedclip_options ) -include { UCSC_BEDGRAPHTOBIGWIG } from '../../modules/nf-core/software/ucsc/bedgraphtobigwig/main' addParams( options: params.bedgraphtobigwig_options ) +include { UCSC_BEDCLIP } from '../../modules/nf-core/modules/ucsc/bedclip/main' addParams( options: params.bedclip_options ) +include { UCSC_BEDGRAPHTOBIGWIG } from '../../modules/nf-core/modules/ucsc/bedgraphtobigwig/main' addParams( options: params.bedgraphtobigwig_options ) workflow BEDGRAPH_TO_BIGWIG { take: diff --git a/subworkflows/nf-core/dedup_umi_umitools.nf b/subworkflows/nf-core/dedup_umi_umitools.nf index d6cf69cf7..7ed6e7a54 100644 --- a/subworkflows/nf-core/dedup_umi_umitools.nf +++ b/subworkflows/nf-core/dedup_umi_umitools.nf @@ -6,9 +6,9 @@ params.umitools_options = [:] params.samtools_index_options = [:] params.samtools_stats_options = [:] -include { UMITOOLS_DEDUP } from '../../modules/nf-core/software/umitools/dedup/main' addParams( options: params.umitools_options ) -include { SAMTOOLS_INDEX } from '../../modules/nf-core/software/samtools/index/main' addParams( options: params.samtools_index_options ) -include { BAM_STATS_SAMTOOLS } from './bam_stats_samtools' addParams( options: params.samtools_stats_options ) +include { UMITOOLS_DEDUP } from '../../modules/nf-core/modules/umitools/dedup/main' addParams( options: params.umitools_options ) +include { SAMTOOLS_INDEX } from '../../modules/nf-core/modules/samtools/index/main' addParams( options: params.samtools_index_options ) +include { BAM_STATS_SAMTOOLS } from './bam_stats_samtools' addParams( options: params.samtools_stats_options ) workflow DEDUP_UMI_UMITOOLS { take: @@ -43,7 +43,6 @@ workflow DEDUP_UMI_UMITOOLS { emit: bam = UMITOOLS_DEDUP.out.bam // channel: [ val(meta), [ bam ] ] - tsv = UMITOOLS_DEDUP.out.tsv // channel: [ val(meta), [ tsv ] ] umitools_version = UMITOOLS_DEDUP.out.version // path: *.version.txt bai = SAMTOOLS_INDEX.out.bai // channel: [ val(meta), [ bai ] ] diff --git a/subworkflows/nf-core/fastqc_umitools_trimgalore.nf b/subworkflows/nf-core/fastqc_umitools_trimgalore.nf index 68fb3284e..827e53972 100644 --- a/subworkflows/nf-core/fastqc_umitools_trimgalore.nf +++ b/subworkflows/nf-core/fastqc_umitools_trimgalore.nf @@ -6,9 +6,9 @@ params.fastqc_options = [:] params.umitools_options = [:] params.trimgalore_options = [:] -include { FASTQC } from '../../modules/nf-core/software/fastqc/main' addParams( options: params.fastqc_options ) -include { UMITOOLS_EXTRACT } from '../../modules/nf-core/software/umitools/extract/main' addParams( options: params.umitools_options ) -include { TRIMGALORE } from '../../modules/nf-core/software/trimgalore/main' addParams( options: params.trimgalore_options ) +include { FASTQC } from '../../modules/nf-core/modules/fastqc/main' addParams( options: params.fastqc_options ) +include { UMITOOLS_EXTRACT } from '../../modules/nf-core/modules/umitools/extract/main' addParams( options: params.umitools_options ) +include { TRIMGALORE } from '../../modules/nf-core/modules/trimgalore/main' addParams( options: params.trimgalore_options ) workflow FASTQC_UMITOOLS_TRIMGALORE { take: diff --git a/subworkflows/nf-core/mark_duplicates_picard.nf b/subworkflows/nf-core/mark_duplicates_picard.nf index 7e59ac68c..2e8b676dc 100644 --- a/subworkflows/nf-core/mark_duplicates_picard.nf +++ b/subworkflows/nf-core/mark_duplicates_picard.nf @@ -6,9 +6,9 @@ params.markduplicates_options = [:] params.samtools_index_options = [:] params.samtools_stats_options = [:] -include { PICARD_MARKDUPLICATES } from '../../modules/nf-core/software/picard/markduplicates/main' addParams( options: params.markduplicates_options ) -include { SAMTOOLS_INDEX } from '../../modules/nf-core/software/samtools/index/main' addParams( options: params.samtools_index_options ) -include { BAM_STATS_SAMTOOLS } from './bam_stats_samtools' addParams( options: params.samtools_stats_options ) +include { PICARD_MARKDUPLICATES } from '../../modules/nf-core/modules/picard/markduplicates/main' addParams( options: params.markduplicates_options ) +include { SAMTOOLS_INDEX } from '../../modules/nf-core/modules/samtools/index/main' addParams( options: params.samtools_index_options ) +include { BAM_STATS_SAMTOOLS } from './bam_stats_samtools' addParams( options: params.samtools_stats_options ) workflow MARK_DUPLICATES_PICARD { take: diff --git a/subworkflows/nf-core/rseqc.nf b/subworkflows/nf-core/rseqc.nf index 9e21417d5..2aa5c7f52 100644 --- a/subworkflows/nf-core/rseqc.nf +++ b/subworkflows/nf-core/rseqc.nf @@ -10,13 +10,13 @@ params.junctionsaturation_options = [:] params.readdistribution_options = [:] params.readduplication_options = [:] -include { RSEQC_BAMSTAT } from '../../modules/nf-core/software/rseqc/bamstat/main' addParams( options: params.bamstat_options ) -include { RSEQC_INNERDISTANCE } from '../../modules/nf-core/software/rseqc/innerdistance/main' addParams( options: params.innerdistance_options ) -include { RSEQC_INFEREXPERIMENT } from '../../modules/nf-core/software/rseqc/inferexperiment/main' addParams( options: params.inferexperiment_options ) -include { RSEQC_JUNCTIONANNOTATION } from '../../modules/nf-core/software/rseqc/junctionannotation/main' addParams( options: params.junctionannotation_options ) -include { RSEQC_JUNCTIONSATURATION } from '../../modules/nf-core/software/rseqc/junctionsaturation/main' addParams( options: params.junctionsaturation_options ) -include { RSEQC_READDISTRIBUTION } from '../../modules/nf-core/software/rseqc/readdistribution/main' addParams( options: params.readdistribution_options ) -include { RSEQC_READDUPLICATION } from '../../modules/nf-core/software/rseqc/readduplication/main' addParams( options: params.readduplication_options ) +include { RSEQC_BAMSTAT } from '../../modules/nf-core/modules/rseqc/bamstat/main' addParams( options: params.bamstat_options ) +include { RSEQC_INNERDISTANCE } from '../../modules/nf-core/modules/rseqc/innerdistance/main' addParams( options: params.innerdistance_options ) +include { RSEQC_INFEREXPERIMENT } from '../../modules/nf-core/modules/rseqc/inferexperiment/main' addParams( options: params.inferexperiment_options ) +include { RSEQC_JUNCTIONANNOTATION } from '../../modules/nf-core/modules/rseqc/junctionannotation/main' addParams( options: params.junctionannotation_options ) +include { RSEQC_JUNCTIONSATURATION } from '../../modules/nf-core/modules/rseqc/junctionsaturation/main' addParams( options: params.junctionsaturation_options ) +include { RSEQC_READDISTRIBUTION } from '../../modules/nf-core/modules/rseqc/readdistribution/main' addParams( options: params.readdistribution_options ) +include { RSEQC_READDUPLICATION } from '../../modules/nf-core/modules/rseqc/readduplication/main' addParams( options: params.readduplication_options ) workflow RSEQC { take: diff --git a/workflows/rnaseq.nf b/workflows/rnaseq.nf index bc620af20..8c17d5633 100755 --- a/workflows/rnaseq.nf +++ b/workflows/rnaseq.nf @@ -166,13 +166,13 @@ def subread_featurecounts_options = modules['subread_featurecounts'] def biotype = params.gencode ? "gene_type" : params.featurecounts_group_type subread_featurecounts_options.args += Utils.joinModuleArgs(["-g $biotype", "-t $params.featurecounts_feature_type"]) -include { CAT_FASTQ } from '../modules/nf-core/software/cat/fastq/main' addParams( options: cat_fastq_options ) -include { SAMTOOLS_SORT } from '../modules/nf-core/software/samtools/sort/main' addParams( options: modules['umitools_dedup_transcriptome_sort'] ) -include { PRESEQ_LCEXTRAP } from '../modules/nf-core/software/preseq/lcextrap/main' addParams( options: modules['preseq_lcextrap'] ) -include { QUALIMAP_RNASEQ } from '../modules/nf-core/software/qualimap/rnaseq/main' addParams( options: modules['qualimap_rnaseq'] ) -include { SORTMERNA } from '../modules/nf-core/software/sortmerna/main' addParams( options: sortmerna_options ) -include { STRINGTIE } from '../modules/nf-core/software/stringtie/stringtie/main' addParams( options: stringtie_options ) -include { SUBREAD_FEATURECOUNTS } from '../modules/nf-core/software/subread/featurecounts/main' addParams( options: subread_featurecounts_options ) +include { CAT_FASTQ } from '../modules/nf-core/modules/cat/fastq/main' addParams( options: cat_fastq_options ) +include { SAMTOOLS_SORT } from '../modules/nf-core/modules/samtools/sort/main' addParams( options: modules['umitools_dedup_transcriptome_sort'] ) +include { PRESEQ_LCEXTRAP } from '../modules/nf-core/modules/preseq/lcextrap/main' addParams( options: modules['preseq_lcextrap'] ) +include { QUALIMAP_RNASEQ } from '../modules/nf-core/modules/qualimap/rnaseq/main' addParams( options: modules['qualimap_rnaseq'] ) +include { SORTMERNA } from '../modules/nf-core/modules/sortmerna/main' addParams( options: sortmerna_options ) +include { STRINGTIE } from '../modules/nf-core/modules/stringtie/stringtie/main' addParams( options: stringtie_options ) +include { SUBREAD_FEATURECOUNTS } from '../modules/nf-core/modules/subread/featurecounts/main' addParams( options: subread_featurecounts_options ) // // SUBWORKFLOW: Consisting entirely of nf-core/modules @@ -772,7 +772,9 @@ workflow RNASEQ { */ workflow.onComplete { - NfcoreTemplate.email(workflow, params, summary_params, projectDir, log, multiqc_report, fail_percent_mapped) + if (params.email || params.email_on_fail) { + NfcoreTemplate.email(workflow, params, summary_params, projectDir, log, multiqc_report, fail_percent_mapped) + } NfcoreTemplate.summary(workflow, params, log, fail_percent_mapped, pass_percent_mapped) }