Merge branch 'dev' into support-aligned-reads
3
.github/workflows/awsfulltest.yml
vendored
|
@ -28,6 +28,3 @@ jobs:
|
||||||
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/taxprofiler/results-${{ github.sha }}"
|
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/taxprofiler/results-${{ github.sha }}"
|
||||||
}
|
}
|
||||||
profiles: test_full,aws_tower
|
profiles: test_full,aws_tower
|
||||||
nextflow_config: |
|
|
||||||
process.errorStrategy = 'retry'
|
|
||||||
process.maxRetries = 3
|
|
||||||
|
|
3
.github/workflows/awstest.yml
vendored
|
@ -23,6 +23,3 @@ jobs:
|
||||||
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/taxprofiler/results-test-${{ github.sha }}"
|
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/taxprofiler/results-test-${{ github.sha }}"
|
||||||
}
|
}
|
||||||
profiles: test,aws_tower
|
profiles: test,aws_tower
|
||||||
nextflow_config: |
|
|
||||||
process.errorStrategy = 'retry'
|
|
||||||
process.maxRetries = 3
|
|
||||||
|
|
3
.github/workflows/branch.yml
vendored
|
@ -13,7 +13,7 @@ jobs:
|
||||||
- name: Check PRs
|
- name: Check PRs
|
||||||
if: github.repository == 'nf-core/taxprofiler'
|
if: github.repository == 'nf-core/taxprofiler'
|
||||||
run: |
|
run: |
|
||||||
"{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/taxprofiler ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]"
|
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/taxprofiler ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
|
||||||
|
|
||||||
# If the above check failed, post a comment on the PR explaining the failure
|
# If the above check failed, post a comment on the PR explaining the failure
|
||||||
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
|
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
|
||||||
|
@ -42,4 +42,3 @@ jobs:
|
||||||
Thanks again for your contribution!
|
Thanks again for your contribution!
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
allow-repeats: false
|
allow-repeats: false
|
||||||
#
|
|
||||||
|
|
4
.github/workflows/ci.yml
vendored
|
@ -38,7 +38,7 @@ jobs:
|
||||||
- "--shortread_clipmerge_tool adapterremoval --shortread_clipmerge_mergepairs --shortread_clipmerge_excludeunmerged"
|
- "--shortread_clipmerge_tool adapterremoval --shortread_clipmerge_mergepairs --shortread_clipmerge_excludeunmerged"
|
||||||
- "--shortread_clipmerge_tool adapterremoval --shortread_clipmerge_mergepairs"
|
- "--shortread_clipmerge_tool adapterremoval --shortread_clipmerge_mergepairs"
|
||||||
- "--shortread_complexityfilter_tool bbduk"
|
- "--shortread_complexityfilter_tool bbduk"
|
||||||
- "--shortread_complexityfilter_tool prinseq"
|
- "--shortread_complexityfilter_tool prinseqplusplus"
|
||||||
- "--perform_runmerging"
|
- "--perform_runmerging"
|
||||||
- "--perform_runmerging --shortread_clipmerge_mergepairs"
|
- "--perform_runmerging --shortread_clipmerge_mergepairs"
|
||||||
- "--shortread_complexityfilter false --perform_shortread_hostremoval"
|
- "--shortread_complexityfilter false --perform_shortread_hostremoval"
|
||||||
|
@ -71,5 +71,3 @@ jobs:
|
||||||
# Remember that you can parallelise this by using strategy.matrix
|
# Remember that you can parallelise this by using strategy.matrix
|
||||||
run: |
|
run: |
|
||||||
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results ${{ matrix.parameters }}
|
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results ${{ matrix.parameters }}
|
||||||
|
|
||||||
#
|
|
||||||
|
|
55
.github/workflows/fix-linting.yml
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
name: Fix linting from a comment
|
||||||
|
on:
|
||||||
|
issue_comment:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
# Only run if comment is on a PR with the main repo, and if it contains the magic keywords
|
||||||
|
if: >
|
||||||
|
contains(github.event.comment.html_url, '/pull/') &&
|
||||||
|
contains(github.event.comment.body, '@nf-core-bot fix linting') &&
|
||||||
|
github.repository == 'nf-core/taxprofiler'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# Use the @nf-core-bot token to check out so we can push later
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.nf_core_bot_auth_token }}
|
||||||
|
|
||||||
|
# Action runs on the issue comment, so we don't get the PR by default
|
||||||
|
# Use the gh cli to check out the PR
|
||||||
|
- name: Checkout Pull Request
|
||||||
|
run: gh pr checkout ${{ github.event.issue.number }}
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v2
|
||||||
|
|
||||||
|
- name: Install Prettier
|
||||||
|
run: npm install -g prettier @prettier/plugin-php
|
||||||
|
|
||||||
|
# Check that we actually need to fix something
|
||||||
|
- name: Run 'prettier --check'
|
||||||
|
id: prettier_status
|
||||||
|
run: |
|
||||||
|
if prettier --check ${GITHUB_WORKSPACE}; then
|
||||||
|
echo "::set-output name=result::pass"
|
||||||
|
else
|
||||||
|
echo "::set-output name=result::fail"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Run 'prettier --write'
|
||||||
|
if: steps.prettier_status.outputs.result == 'fail'
|
||||||
|
run: prettier --write ${GITHUB_WORKSPACE}
|
||||||
|
|
||||||
|
- name: Commit & push changes
|
||||||
|
if: steps.prettier_status.outputs.result == 'fail'
|
||||||
|
run: |
|
||||||
|
git config user.email "core@nf-co.re"
|
||||||
|
git config user.name "nf-core-bot"
|
||||||
|
git config push.default upstream
|
||||||
|
git add .
|
||||||
|
git status
|
||||||
|
git commit -m "[automated] Fix linting with Prettier"
|
||||||
|
git push
|
4
.github/workflows/linting.yml
vendored
|
@ -48,7 +48,7 @@ jobs:
|
||||||
wget -qO- get.nextflow.io | bash
|
wget -qO- get.nextflow.io | bash
|
||||||
sudo mv nextflow /usr/local/bin/
|
sudo mv nextflow /usr/local/bin/
|
||||||
|
|
||||||
- uses: actions/setup-python@v1
|
- uses: actions/setup-python@v3
|
||||||
with:
|
with:
|
||||||
python-version: "3.6"
|
python-version: "3.6"
|
||||||
architecture: "x64"
|
architecture: "x64"
|
||||||
|
@ -78,5 +78,3 @@ jobs:
|
||||||
lint_log.txt
|
lint_log.txt
|
||||||
lint_results.md
|
lint_results.md
|
||||||
PR_number.txt
|
PR_number.txt
|
||||||
|
|
||||||
#
|
|
||||||
|
|
1
.github/workflows/linting_comment.yml
vendored
|
@ -26,4 +26,3 @@ jobs:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
number: ${{ steps.pr_number.outputs.pr_number }}
|
number: ${{ steps.pr_number.outputs.pr_number }}
|
||||||
path: linting-logs/lint_results.md
|
path: linting-logs/lint_results.md
|
||||||
#
|
|
||||||
|
|
|
@ -1,2 +1,10 @@
|
||||||
|
email_template.html
|
||||||
|
.nextflow*
|
||||||
|
work/
|
||||||
|
data/
|
||||||
|
results/
|
||||||
|
.DS_Store
|
||||||
testing/
|
testing/
|
||||||
|
testing*
|
||||||
tests/
|
tests/
|
||||||
|
*.pyc
|
||||||
|
|
21
README.md
|
@ -1,18 +1,19 @@
|
||||||
# ![nf-core/taxprofiler](docs/images/nf-core-taxprofiler_logo_light.png#gh-light-mode-only) ![nf-core/taxprofiler](docs/images/nf-core-taxprofiler_logo_dark.png#gh-dark-mode-only)
|
# ![nf-core/taxprofiler](docs/images/nf-core-taxprofiler_logo_custom_light.png#gh-light-mode-only) ![nf-core/taxprofiler](docs/images/nf-core-taxprofiler_logo_custom_dark.png#gh-dark-mode-only)
|
||||||
|
|
||||||
[![GitHub Actions CI Status](https://github.com/nf-core/taxprofiler/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/taxprofiler/actions?query=workflow%3A%22nf-core+CI%22)
|
[![GitHub Actions CI Status](https://github.com/nf-core/taxprofiler/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/taxprofiler/actions?query=workflow%3A%22nf-core+CI%22)
|
||||||
[![GitHub Actions Linting Status](https://github.com/nf-core/taxprofiler/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/taxprofiler/actions?query=workflow%3A%22nf-core+linting%22)
|
[![GitHub Actions Linting Status](https://github.com/nf-core/taxprofiler/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/taxprofiler/actions?query=workflow%3A%22nf-core+linting%22)
|
||||||
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/taxprofiler/results)
|
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?logo=Amazon%20AWS)](https://nf-co.re/taxprofiler/results)
|
||||||
[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)
|
[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8)](https://doi.org/10.5281/zenodo.XXXXXXX)
|
||||||
|
|
||||||
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg?labelColor=000000)](https://www.nextflow.io/)
|
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg)](https://www.nextflow.io/)
|
||||||
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
|
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?logo=anaconda)](https://docs.conda.io/en/latest/)
|
||||||
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
|
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?logo=docker)](https://www.docker.com/)
|
||||||
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
|
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg)](https://sylabs.io/docs/)
|
||||||
|
[![Launch on Nextflow Tower](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Nextflow%20Tower-%234256e7)](https://tower.nf/launch?pipeline=https://github.com/nf-core/taxprofiler)
|
||||||
|
|
||||||
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23taxprofiler-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/taxprofiler)
|
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23taxprofiler-4A154B?logo=slack)](https://nfcore.slack.com/channels/taxprofiler)
|
||||||
[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/nf_core)
|
[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?logo=twitter)](https://twitter.com/nf_core)
|
||||||
[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)
|
[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?logo=youtube)](https://www.youtube.com/c/nf-core)
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
|
|
|
@ -1,111 +1,53 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
<!-- prettier-ignore -->
|
<meta name="description" content="nf-core/taxprofiler: Taxonomic profiling of shotgun metagenomic data">
|
||||||
<meta name="description" content="nf-core/taxprofiler: Taxonomic profiling of shotgun metagenomic data" />
|
|
||||||
<title>nf-core/taxprofiler Pipeline Report</title>
|
<title>nf-core/taxprofiler Pipeline Report</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div style="font-family: Helvetica, Arial, sans-serif; padding: 30px; max-width: 800px; margin: 0 auto">
|
<div style="font-family: Helvetica, Arial, sans-serif; padding: 30px; max-width: 800px; margin: 0 auto;">
|
||||||
<img src="cid:nfcorepipelinelogo" />
|
|
||||||
|
|
||||||
<h1>nf-core/taxprofiler v${version}</h1>
|
<img src="cid:nfcorepipelinelogo">
|
||||||
<h2>Run Name: $runName</h2>
|
|
||||||
|
|
||||||
<% if (!success){ out << """
|
<h1>nf-core/taxprofiler v${version}</h1>
|
||||||
<div
|
<h2>Run Name: $runName</h2>
|
||||||
style="
|
|
||||||
color: #a94442;
|
<% if (!success){
|
||||||
background-color: #f2dede;
|
out << """
|
||||||
border-color: #ebccd1;
|
<div style="color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;">
|
||||||
padding: 15px;
|
<h4 style="margin-top:0; color: inherit;">nf-core/taxprofiler execution completed unsuccessfully!</h4>
|
||||||
margin-bottom: 20px;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
border-radius: 4px;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<h4 style="margin-top: 0; color: inherit">nf-core/taxprofiler execution completed unsuccessfully!</h4>
|
|
||||||
<p>The exit status of the task that caused the workflow execution to fail was: <code>$exitStatus</code>.</p>
|
<p>The exit status of the task that caused the workflow execution to fail was: <code>$exitStatus</code>.</p>
|
||||||
<p>The full error message was:</p>
|
<p>The full error message was:</p>
|
||||||
<pre style="white-space: pre-wrap; overflow: visible; margin-bottom: 0">${errorReport}</pre>
|
<pre style="white-space: pre-wrap; overflow: visible; margin-bottom: 0;">${errorReport}</pre>
|
||||||
</div>
|
</div>
|
||||||
""" } else { out << """
|
"""
|
||||||
<div
|
} else {
|
||||||
style="
|
out << """
|
||||||
color: #3c763d;
|
<div style="color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;">
|
||||||
background-color: #dff0d8;
|
|
||||||
border-color: #d6e9c6;
|
|
||||||
padding: 15px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
border-radius: 4px;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
nf-core/taxprofiler execution completed successfully!
|
nf-core/taxprofiler execution completed successfully!
|
||||||
</div>
|
</div>
|
||||||
""" } %>
|
"""
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
|
||||||
<p>The workflow was completed at <strong>$dateComplete</strong> (duration: <strong>$duration</strong>)</p>
|
<p>The workflow was completed at <strong>$dateComplete</strong> (duration: <strong>$duration</strong>)</p>
|
||||||
<p>The command used to launch the workflow was as follows:</p>
|
<p>The command used to launch the workflow was as follows:</p>
|
||||||
<pre
|
<pre style="white-space: pre-wrap; overflow: visible; background-color: #ededed; padding: 15px; border-radius: 4px; margin-bottom:30px;">$commandLine</pre>
|
||||||
style="
|
|
||||||
white-space: pre-wrap;
|
|
||||||
overflow: visible;
|
|
||||||
background-color: #ededed;
|
|
||||||
padding: 15px;
|
|
||||||
border-radius: 4px;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
$commandLine</pre
|
|
||||||
>
|
|
||||||
|
|
||||||
<h3>Pipeline Configuration:</h3>
|
<h3>Pipeline Configuration:</h3>
|
||||||
<table
|
<table style="width:100%; max-width:100%; border-spacing: 0; border-collapse: collapse; border:0; margin-bottom: 30px;">
|
||||||
style="
|
<tbody style="border-bottom: 1px solid #ddd;">
|
||||||
width: 100%;
|
<% out << summary.collect{ k,v -> "<tr><th style='text-align:left; padding: 8px 0; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;'>$k</th><td style='text-align:left; padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;'><pre style='white-space: pre-wrap; overflow: visible;'>$v</pre></td></tr>" }.join("\n") %>
|
||||||
max-width: 100%;
|
|
||||||
border-spacing: 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
border: 0;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<tbody style="border-bottom: 1px solid #ddd">
|
|
||||||
<% out << summary.collect{ k,v -> "
|
|
||||||
<tr>
|
|
||||||
<th
|
|
||||||
style="
|
|
||||||
text-align: left;
|
|
||||||
padding: 8px 0;
|
|
||||||
line-height: 1.42857143;
|
|
||||||
vertical-align: top;
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
$k
|
|
||||||
</th>
|
|
||||||
<td
|
|
||||||
style="
|
|
||||||
text-align: left;
|
|
||||||
padding: 8px;
|
|
||||||
line-height: 1.42857143;
|
|
||||||
vertical-align: top;
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<pre style="white-space: pre-wrap; overflow: visible">$v</pre>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
" }.join("\n") %>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>nf-core/taxprofiler</p>
|
<p>nf-core/taxprofiler</p>
|
||||||
<p><a href="https://github.com/nf-core/taxprofiler">https://github.com/nf-core/taxprofiler</a></p>
|
<p><a href="https://github.com/nf-core/taxprofiler">https://github.com/nf-core/taxprofiler</a></p>
|
||||||
</div>
|
|
||||||
</body>
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -9,3 +9,7 @@ report_section_order:
|
||||||
order: -1001
|
order: -1001
|
||||||
|
|
||||||
export_plots: true
|
export_plots: true
|
||||||
|
|
||||||
|
custom_logo: "nf-core-taxprofiler_logo_custom_light.png"
|
||||||
|
custom_logo_url: https://nf-co.re/taxprofiler
|
||||||
|
custom_logo_title: "nf-core/taxprofiler"
|
||||||
|
|
|
@ -54,7 +54,8 @@ process {
|
||||||
params.shortread_clipmerge_skipadaptertrim ? "--disable_adapter_trimming" : "",
|
params.shortread_clipmerge_skipadaptertrim ? "--disable_adapter_trimming" : "",
|
||||||
params.shortread_clipmerge_adapter1 ? "--adapter_sequence ${params.shortread_clipmerge_adapter1}" : "",
|
params.shortread_clipmerge_adapter1 ? "--adapter_sequence ${params.shortread_clipmerge_adapter1}" : "",
|
||||||
// filtering options
|
// filtering options
|
||||||
"--length_required ${params.shortread_clipmerge_minlength}"
|
"--length_required ${params.shortread_clipmerge_minlength}",
|
||||||
|
(params.perform_shortread_complexityfilter && params.shortread_complexityfilter_tool == 'fastp') ? "--low_complexity_filter --complexity_threshold ${params.shortread_complexityfilter_fastp_threshold}" : ''
|
||||||
].join(' ').trim()
|
].join(' ').trim()
|
||||||
ext.prefix = { "${meta.id}_${meta.run_accession}" }
|
ext.prefix = { "${meta.id}_${meta.run_accession}" }
|
||||||
publishDir = [
|
publishDir = [
|
||||||
|
@ -74,7 +75,8 @@ process {
|
||||||
params.shortread_clipmerge_adapter1 ? "--adapter_sequence ${params.shortread_clipmerge_adapter1}" : "",
|
params.shortread_clipmerge_adapter1 ? "--adapter_sequence ${params.shortread_clipmerge_adapter1}" : "",
|
||||||
params.shortread_clipmerge_adapter2 ? "--adapter_sequence_r2 ${params.shortread_clipmerge_adapter2}" : "--detect_adapter_for_pe",
|
params.shortread_clipmerge_adapter2 ? "--adapter_sequence_r2 ${params.shortread_clipmerge_adapter2}" : "--detect_adapter_for_pe",
|
||||||
// filtering options
|
// filtering options
|
||||||
"--length_required ${params.shortread_clipmerge_minlength}"
|
"--length_required ${params.shortread_clipmerge_minlength}",
|
||||||
|
params.perform_shortread_complexityfilter && params.shortread_complexityfilter_tool == 'fastp' ? "--low_complexity_filter --complexity_threshold ${params.shortread_complexityfilter_fastp_threshold}" : ''
|
||||||
].join(' ').trim()
|
].join(' ').trim()
|
||||||
ext.prefix = { "${meta.id}_${meta.run_accession}" }
|
ext.prefix = { "${meta.id}_${meta.run_accession}" }
|
||||||
publishDir = [
|
publishDir = [
|
||||||
|
|
|
@ -29,6 +29,7 @@ params {
|
||||||
perform_shortread_complexityfilter = true
|
perform_shortread_complexityfilter = true
|
||||||
perform_shortread_hostremoval = true
|
perform_shortread_hostremoval = true
|
||||||
perform_longread_hostremoval = true
|
perform_longread_hostremoval = true
|
||||||
|
perform_runmerging = true
|
||||||
hostremoval_reference = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta'
|
hostremoval_reference = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta'
|
||||||
run_kaiju = true
|
run_kaiju = true
|
||||||
run_kraken2 = true
|
run_kraken2 = true
|
||||||
|
|
46
conf/test_nopreprocessing.config
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Nextflow config file for running minimal tests
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Defines input files and everything required to run a fast and simple pipeline test.
|
||||||
|
|
||||||
|
Use as follows:
|
||||||
|
nextflow run nf-core/taxprofiler -profile test,<docker/singularity> --outdir <OUTDIR>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
params {
|
||||||
|
config_profile_name = 'Test profile'
|
||||||
|
config_profile_description = 'Minimal test dataset skipping all preprocessing to check pipeline function'
|
||||||
|
|
||||||
|
// Limit resources so that this can run on GitHub Actions
|
||||||
|
max_cpus = 2
|
||||||
|
max_memory = '6.GB'
|
||||||
|
max_time = '6.h'
|
||||||
|
|
||||||
|
// Input data
|
||||||
|
// TODO nf-core: Specify the paths to your test data on nf-core/test-datasets
|
||||||
|
// TODO nf-core: Give any required params for the test so that command line flags are not needed
|
||||||
|
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/taxprofiler/samplesheet.csv'
|
||||||
|
databases = 'https://raw.githubusercontent.com/nf-core/test-datasets/taxprofiler/database.csv'
|
||||||
|
perform_shortread_clipmerge = false
|
||||||
|
perform_longread_clip = false
|
||||||
|
perform_shortread_complexityfilter = false
|
||||||
|
perform_shortread_hostremoval = false
|
||||||
|
perform_longread_hostremoval = false
|
||||||
|
perform_runmerging = false
|
||||||
|
hostremoval_reference = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta'
|
||||||
|
run_kaiju = true
|
||||||
|
run_kraken2 = true
|
||||||
|
run_malt = true
|
||||||
|
run_metaphlan3 = true
|
||||||
|
run_centrifuge = true
|
||||||
|
run_diamond = true
|
||||||
|
}
|
||||||
|
|
||||||
|
process {
|
||||||
|
withName: MALT_RUN {
|
||||||
|
maxForks = 1
|
||||||
|
}
|
||||||
|
}
|
46
conf/test_noprofiling.config
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Nextflow config file for running minimal tests
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Defines input files and everything required to run a fast and simple pipeline test.
|
||||||
|
|
||||||
|
Use as follows:
|
||||||
|
nextflow run nf-core/taxprofiler -profile test,<docker/singularity> --outdir <OUTDIR>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
params {
|
||||||
|
config_profile_name = 'Test profile'
|
||||||
|
config_profile_description = 'Minimal test dataset without performing any profiling to check pipeline function'
|
||||||
|
|
||||||
|
// Limit resources so that this can run on GitHub Actions
|
||||||
|
max_cpus = 2
|
||||||
|
max_memory = '6.GB'
|
||||||
|
max_time = '6.h'
|
||||||
|
|
||||||
|
// Input data
|
||||||
|
// TODO nf-core: Specify the paths to your test data on nf-core/test-datasets
|
||||||
|
// TODO nf-core: Give any required params for the test so that command line flags are not needed
|
||||||
|
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/taxprofiler/samplesheet.csv'
|
||||||
|
databases = 'https://raw.githubusercontent.com/nf-core/test-datasets/taxprofiler/database.csv'
|
||||||
|
perform_shortread_clipmerge = true
|
||||||
|
perform_longread_clip = true
|
||||||
|
perform_shortread_complexityfilter = true
|
||||||
|
perform_shortread_hostremoval = true
|
||||||
|
perform_longread_hostremoval = true
|
||||||
|
perform_runmerging = true
|
||||||
|
hostremoval_reference = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta'
|
||||||
|
run_kaiju = false
|
||||||
|
run_kraken2 = false
|
||||||
|
run_malt = false
|
||||||
|
run_metaphlan3 = false
|
||||||
|
run_centrifuge = false
|
||||||
|
run_diamond = false
|
||||||
|
}
|
||||||
|
|
||||||
|
process {
|
||||||
|
withName: MALT_RUN {
|
||||||
|
maxForks = 1
|
||||||
|
}
|
||||||
|
}
|
BIN
docs/images/nf-core-taxprofiler_icon.png
Normal file
After Width: | Height: | Size: 131 KiB |
444
docs/images/nf-core-taxprofiler_icon.svg
Normal file
|
@ -0,0 +1,444 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="160mm"
|
||||||
|
height="120mm"
|
||||||
|
viewBox="0 0 160 120"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5581"
|
||||||
|
inkscape:version="1.2 (1:1.2+202205241504+da316b6974)"
|
||||||
|
sodipodi:docname="nf-core-taxprofiler_icon.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview5583"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="0.41291035"
|
||||||
|
inkscape:cx="541.27972"
|
||||||
|
inkscape:cy="445.61731"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1043"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid6096"
|
||||||
|
originx="-7.7520637"
|
||||||
|
originy="-7.8991986" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs5578">
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient30057"
|
||||||
|
x1="10.213824"
|
||||||
|
y1="221.42242"
|
||||||
|
x2="218.95003"
|
||||||
|
y2="221.42242"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.6691607,0.01747377,-0.01751914,0.67089835,5.6293239,-100.28017)" />
|
||||||
|
<linearGradient
|
||||||
|
x1="0"
|
||||||
|
y1="0"
|
||||||
|
x2="1"
|
||||||
|
y2="0"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(37.87862,-29.594021,-29.594021,-37.87862,275.46292,136.24821)"
|
||||||
|
spreadMethod="pad"
|
||||||
|
id="linearGradient21662">
|
||||||
|
<stop
|
||||||
|
style="stop-opacity:1;stop-color:#000000"
|
||||||
|
offset="0"
|
||||||
|
id="stop21652" />
|
||||||
|
<stop
|
||||||
|
style="stop-opacity:1;stop-color:#0c542a"
|
||||||
|
offset="0.214724"
|
||||||
|
id="stop21654" />
|
||||||
|
<stop
|
||||||
|
style="stop-opacity:1;stop-color:#25af64"
|
||||||
|
offset="0.84662598"
|
||||||
|
id="stop21656" />
|
||||||
|
<stop
|
||||||
|
style="stop-opacity:1;stop-color:#25af64"
|
||||||
|
offset="0.846626"
|
||||||
|
id="stop21658" />
|
||||||
|
<stop
|
||||||
|
style="stop-opacity:1;stop-color:#25af64"
|
||||||
|
offset="1"
|
||||||
|
id="stop21660" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient2708"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6027"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6029"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6031"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6033"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6035"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6037"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6039"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6041"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6043"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6045"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6047"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6049"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6051"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6053"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6055"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6057"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6059"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6061"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6063"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6065"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6067"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21662"
|
||||||
|
id="linearGradient6069"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="14.381735"
|
||||||
|
y1="80.392174"
|
||||||
|
x2="49.04929"
|
||||||
|
y2="80.392174" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-7.7520638,-7.8991986)">
|
||||||
|
<g
|
||||||
|
id="g6123"
|
||||||
|
transform="translate(7.3175494,9.6409068)">
|
||||||
|
<path
|
||||||
|
id="path30012-5"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.424868;stroke-linecap:round"
|
||||||
|
d="M 9.5900834,8.8480637 C 7.5556439,12.028833 7.7408039,16.123943 7.7687039,19.769833 c 0.83412,6.65305 4.1623501,13.08043 9.6588001,17.05639 2.95411,2.45491 6.166,4.56934 9.30414,6.77667 -1.90794,4.17676 -2.98236,9.29825 -0.29786,13.40918 1.67713,3.72229 4.84583,6.89989 5.31985,11.06218 -0.73221,2.86643 -3.54676,6.3663 -0.97712,9.12477 2.12262,2.77099 4.06395,5.64907 5.35322,8.82231 2.02674,3.35439 6.5976,4.09759 10.20366,3.73748 2.47738,-0.18007 4.72202,-2.67715 3.28025,-5.08004 -1.18247,-2.55998 -4.28744,-2.18411 -6.38635,-3.25125 -1.36801,-2.44734 -3.00653,-5.99123 -0.26124,-8.17889 2.5926,-2.70872 4.69882,-5.81991 6.94515,-8.77398 2.71899,-1.24434 5.98816,-0.0654 8.84595,0.2859 10.88656,2.48435 21.31368,6.88721 32.36055,8.64773 3.13924,0.41138 6.76175,-0.45373 9.579516,0.92166 1.40942,4.43747 2.34224,9.45414 5.76225,12.84528 2.6934,1.93573 7.02228,2.12481 9.53599,-0.13787 1.60636,-2.93172 -1.52253,-5.89536 -4.20194,-6.62585 -0.40071,-2.8223 -0.37969,-5.87179 0.26854,-8.58529 3.77785,-0.24182 7.24094,1.16954 10.61732,2.45295 1.78619,3.3965 5.12259,5.96321 8.91186,6.64761 1.60415,-1.40492 2.56073,1.72858 3.8909,2.50862 2.79709,2.93023 6.8997,5.0038 10.99366,4.75587 3.26301,-0.67749 3.79546,-4.59452 2.47471,-7.17014 -0.80988,-4.2018 -3.22071,-8.59389 -1.2047,-12.82352 1.17357,-5.20598 -1.35199,-10.96325 -5.77146,-13.90702 -4.33733,-3.64436 -10.39077,-3.64653 -14.92742,-6.93614 -10.03223,-6.15469 -21.64077,-9.58338 -33.280326,-11.28456 -12.56653,-0.98847 -25.20371,-0.69003 -37.78225,-1.58411 -7.09295,-0.25502 -14.55087,-1.15633 -21.23347,1.84537 -3.9067,-0.36049 -7.22928,-2.98747 -10.60062,-4.8325 -3.63865,-2.26998 -7.6488,-4.94361 -8.46777,-9.49866 -1.63814,-4.07488 -1.20485,-8.6292 -2.57509,-12.7242393 -0.092,-1.43702 -3.1468606,-2.01015 -3.5173206,-0.42766 z" />
|
||||||
|
<path
|
||||||
|
style="fill:url(#linearGradient30057);fill-opacity:1;stroke:none;stroke-width:0.424868;stroke-linecap:round"
|
||||||
|
d="M 10.931314,9.9653233 C 9.7827934,11.308473 9.8484234,13.338583 9.5801634,15.027613 c -0.34115,2.76171 -0.29206,5.58762 0.6731896,8.22888 1.139301,3.87108 2.982591,7.65359 6.139101,10.27078 3.79198,3.54184 8.2401,6.33641 12.43029,9.30118 -0.91535,2.99306 -2.65543,5.87431 -2.30804,9.13471 0.18061,2.677 1.94571,4.91009 3.11856,7.23201 1.50937,2.8256 3.84729,5.54985 3.82514,8.91032 -0.0787,2.49314 -2.48083,4.5082 -1.96562,7.03872 1.67419,2.68138 3.992,4.96942 5.15932,7.96769 0.65556,1.60629 1.4695,3.40539 3.31812,3.87174 2.38126,0.82152 5.41091,1.64045 7.63103,0.0125 0.82635,-1.48261 -1.06902,-2.72955 -2.36736,-2.87342 -1.71199,-0.17589 -3.69466,-0.59568 -4.39228,-2.41244 -0.96281,-2.26721 -2.29358,-4.88743 -1.3576,-7.36922 2.00069,-3.29907 5.15025,-5.72284 7.05316,-9.10416 0.97281,-1.66962 2.43831,-3.35242 4.55042,-3.26353 6.66383,-0.13609 13.02922,2.25844 19.35504,4.0482 6.38637,1.7963 12.67764,4.02096 19.20445,5.25889 3.77887,0.58276 7.72718,-0.18602 11.419706,0.93529 1.63461,0.75428 1.35512,2.9334 2.05535,4.34159 1.1597,3.06423 1.81242,6.5515 4.16823,8.9707 1.76834,1.42588 4.39281,1.36118 6.4399,0.63293 1.20689,-0.70879 -0.0705,-2.295 -0.82735,-2.84018 -0.85353,-0.97431 -2.49109,-0.81793 -3.19991,-1.88904 -0.61703,-3.21399 -0.48223,-6.57875 0.0181,-9.80404 0.2319,-1.63989 2.04068,-2.10159 3.44204,-1.83986 3.30625,0.10127 6.50718,1.46919 9.55674,2.3424 -0.71254,-1.81326 -1.19119,-3.75193 -0.97348,-5.72815 0.0204,-1.69846 0.15688,-3.58482 1.5917,-4.73058 1.83011,-1.86627 3.60232,-3.85815 5.70315,-5.41088 0.57552,0.16274 -0.36083,0.85452 -0.4987,1.09386 -1.90807,2.09201 -4.24787,3.84191 -5.83093,6.20217 -0.46736,1.92903 -0.41493,3.99677 -0.24575,5.96645 0.84833,2.57726 2.1706,5.12487 4.1346,7.01585 1.36224,0.87656 2.75795,2.00764 4.37729,2.2713 1.6213,-0.74843 1.95011,-2.85006 2.55124,-4.35962 1.10913,-3.99969 1.90782,-8.08534 2.71945,-12.15319 0.1702,-1.75995 0.75519,-4.04477 -0.9398,-5.26766 -0.66443,-0.31636 -0.15084,-1.05324 0.36147,-0.52827 2.02638,1.51086 1.30614,4.35901 1.06011,6.49585 -0.85333,4.26646 -1.66477,8.56551 -2.96213,12.72302 -0.11797,0.91577 -1.34029,1.9982 -0.53389,2.72401 2.58751,2.57362 4.81242,5.92113 8.5085,6.96547 1.59827,0.50471 3.80045,1.66945 5.18808,0.14586 1.17766,-1.4017 -0.0976,-3.1877 -0.28432,-4.72092 -0.75396,-3.29433 -2.15674,-6.56045 -1.96438,-9.99106 0.37367,-2.10533 1.65495,-4.11536 1.02167,-6.32262 -0.34992,-2.84568 -1.45335,-5.69952 -3.77909,-7.50012 -2.77154,-2.67603 -6.40479,-4.14933 -10.09936,-5.01092 -3.81561,-1.24593 -6.9919,-3.83431 -10.61749,-5.50364 -6.72466,-3.69962 -14.2084,-5.65169 -21.615834,-7.44474 -8.303242,-1.93229 -16.888842,-1.47941 -25.343602,-1.84797 -8.46313,-0.1352 -16.90366,-0.80082 -25.3617,-1.05107 -4.38737,-0.20312 -8.92121,-0.0523 -12.99753,1.77349 -2.83378,1.235 -5.55113,-0.83445 -8.06653,-1.90121 -3.95435,-2.11512 -8.20653,-4.63235 -11.45036,-7.81607 -1.44093,-1.52832 -1.98381,-3.13498 -2.61394,-4.93556 -0.98461,-2.81345 -1.62386,-5.97312 -1.9462,-9.06999 -0.24149,-1.39646 -0.0764,-3.01443 -0.81326,-4.2426397 -0.0219,-0.007 -0.045,-0.0107 -0.0678,-0.007 z"
|
||||||
|
id="path30012"
|
||||||
|
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccscccc"
|
||||||
|
inkscape:export-filename="/Users/whx424/Pictures/Illustrations/taxprofiler_v11.png"
|
||||||
|
inkscape:export-xdpi="159"
|
||||||
|
inkscape:export-ydpi="159" />
|
||||||
|
<path
|
||||||
|
id="path1218-5-4"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 36.798094,98.985353 a 7.0058785,6.6371479 0 0 1 -7.00588,6.637147 7.0058785,6.6371479 0 0 1 -7.00589,-6.637147 7.0058785,6.6371479 0 0 1 7.00589,-6.63713 7.0058785,6.6371479 0 0 1 7.00588,6.63713 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-8-0"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 48.458974,96.857863 a 7.0058789,6.6371479 0 0 1 -7.00588,6.637147 7.0058789,6.6371479 0 0 1 -7.00588,-6.637147 7.0058789,6.6371479 0 0 1 7.00588,-6.63715 7.0058789,6.6371479 0 0 1 7.00588,6.63715 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-4-46"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 59.481564,99.639333 a 7.0058789,6.6371479 0 0 1 -7.00588,6.637157 7.0058789,6.6371479 0 0 1 -7.00588,-6.637157 7.0058789,6.6371479 0 0 1 7.00588,-6.63715 7.0058789,6.6371479 0 0 1 7.00588,6.63715 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-7-4"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 71.168234,96.889183 a 7.0058785,6.6371479 0 0 1 -7.00589,6.637157 7.0058785,6.6371479 0 0 1 -7.00588,-6.637157 7.0058785,6.6371479 0 0 1 7.00588,-6.63715 7.0058785,6.6371479 0 0 1 7.00589,6.63715 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-1-6"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 82.714904,99.255233 a 7.0058789,6.6371479 0 0 1 -7.00587,6.637147 7.0058789,6.6371479 0 0 1 -7.00588,-6.637147 7.0058789,6.6371479 0 0 1 7.00588,-6.63714 7.0058789,6.6371479 0 0 1 7.00587,6.63714 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-73-4"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 93.813184,96.584163 a 7.0058789,6.6371479 0 0 1 -7.00588,6.637147 7.0058789,6.6371479 0 0 1 -7.00587,-6.637147 7.0058789,6.6371479 0 0 1 7.00587,-6.63715 7.0058789,6.6371479 0 0 1 7.00588,6.63715 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-5-9-3"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 104.85924,98.601273 a 7.0058789,6.6371479 0 0 1 -7.005886,6.637147 7.0058789,6.6371479 0 0 1 -7.00588,-6.637147 7.0058789,6.6371479 0 0 1 7.00588,-6.63716 7.0058789,6.6371479 0 0 1 7.005886,6.63716 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-8-7-8"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 116.52015,96.473773 a 7.0058785,6.6371479 0 0 1 -7.00589,6.637127 7.0058785,6.6371479 0 0 1 -7.00588,-6.637127 7.0058785,6.6371479 0 0 1 7.00588,-6.63714 7.0058785,6.6371479 0 0 1 7.00589,6.63714 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-4-7-4"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 127.54274,99.255233 a 7.0058789,6.6371479 0 0 1 -7.00589,6.637147 7.0058789,6.6371479 0 0 1 -7.00588,-6.637147 7.0058789,6.6371479 0 0 1 7.00588,-6.63714 7.0058789,6.6371479 0 0 1 7.00589,6.63714 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-7-9-00"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 139.22941,96.505103 a 7.0058785,6.6371479 0 0 1 -7.00587,6.637147 7.0058785,6.6371479 0 0 1 -7.00588,-6.637147 7.0058785,6.6371479 0 0 1 7.00588,-6.63716 7.0058785,6.6371479 0 0 1 7.00587,6.63716 z" />
|
||||||
|
<path
|
||||||
|
id="path1218-1-5-9"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.68179;stroke-linecap:round"
|
||||||
|
d="m 150.77607,98.871153 a 7.0058785,6.6371479 0 0 1 -7.00588,6.637137 7.0058785,6.6371479 0 0 1 -7.00588,-6.637137 7.0058785,6.6371479 0 0 1 7.00588,-6.63715 7.0058785,6.6371479 0 0 1 7.00588,6.63715 z" />
|
||||||
|
<g
|
||||||
|
id="g2682"
|
||||||
|
style="fill:url(#linearGradient2708);fill-opacity:1;stroke:url(#linearGradient2708)"
|
||||||
|
inkscape:export-filename="/Users/whx424/Pictures/Illustrations/taxprofiler_v11.png"
|
||||||
|
inkscape:export-xdpi="159"
|
||||||
|
inkscape:export-ydpi="159"
|
||||||
|
transform="matrix(3.7156967,0,0,3.7156967,-30.828156,-200.55501)">
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6027);fill-opacity:1;stroke:url(#linearGradient6029);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-5"
|
||||||
|
cx="16.378149"
|
||||||
|
cy="80.642143"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6031);fill-opacity:1;stroke:url(#linearGradient6033);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-8"
|
||||||
|
cx="19.516428"
|
||||||
|
cy="80.069572"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6035);fill-opacity:1;stroke:url(#linearGradient6037);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-4"
|
||||||
|
cx="22.48292"
|
||||||
|
cy="80.818146"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6039);fill-opacity:1;stroke:url(#linearGradient6041);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-7"
|
||||||
|
cx="25.628136"
|
||||||
|
cy="80.078003"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6043);fill-opacity:1;stroke:url(#linearGradient6045);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-1"
|
||||||
|
cx="28.735676"
|
||||||
|
cy="80.714775"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6047);fill-opacity:1;stroke:url(#linearGradient6049);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-73"
|
||||||
|
cx="31.72254"
|
||||||
|
cy="79.995911"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6051);fill-opacity:1;stroke:url(#linearGradient6053);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-5-9"
|
||||||
|
cx="34.695347"
|
||||||
|
cy="80.538773"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6055);fill-opacity:1;stroke:url(#linearGradient6057);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-8-7"
|
||||||
|
cx="37.83363"
|
||||||
|
cy="79.966202"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6059);fill-opacity:1;stroke:url(#linearGradient6061);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-4-7"
|
||||||
|
cx="40.800121"
|
||||||
|
cy="80.714775"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6063);fill-opacity:1;stroke:url(#linearGradient6065);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-7-9"
|
||||||
|
cx="43.945339"
|
||||||
|
cy="79.974632"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
<ellipse
|
||||||
|
style="fill:url(#linearGradient6067);fill-opacity:1;stroke:url(#linearGradient6069);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path1218-1-5"
|
||||||
|
cx="47.052876"
|
||||||
|
cy="80.611404"
|
||||||
|
rx="1.4964142"
|
||||||
|
ry="1.4176555" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 22 KiB |
BIN
docs/images/nf-core-taxprofiler_logo_custom_dark.png
Normal file
After Width: | Height: | Size: 389 KiB |
2302
docs/images/nf-core-taxprofiler_logo_custom_dark.svg
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
docs/images/nf-core-taxprofiler_logo_custom_light.png
Normal file
After Width: | Height: | Size: 433 KiB |
2305
docs/images/nf-core-taxprofiler_logo_custom_light.svg
Normal file
After Width: | Height: | Size: 87 KiB |
3223
docs/images/taxprofiler_logo.svg
Normal file
After Width: | Height: | Size: 124 KiB |
|
@ -183,11 +183,11 @@ Complexity filtering can be activated via the `--perform_shortread_complexityfil
|
||||||
|
|
||||||
Complexity filtering is primarily a run-time optimisation step. It is not necessary for accurate taxonomic profiling, however it can speed up run-time of each tool by removing reads with low-diversity of nucleotides (e.g. with mono-nucleotide - `AAAAAAAA`, or di-nucleotide repeats `GAGAGAGAGAGAGAG`) that have a low-chance of giving an informative taxonomic ID as they can be associated with many different taxa. Removing these reads therefore saves computational time and resources.
|
Complexity filtering is primarily a run-time optimisation step. It is not necessary for accurate taxonomic profiling, however it can speed up run-time of each tool by removing reads with low-diversity of nucleotides (e.g. with mono-nucleotide - `AAAAAAAA`, or di-nucleotide repeats `GAGAGAGAGAGAGAG`) that have a low-chance of giving an informative taxonomic ID as they can be associated with many different taxa. Removing these reads therefore saves computational time and resources.
|
||||||
|
|
||||||
There are currently two options for short-read complexity filtering: [`bbduk`](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbduk-guide/) and [`prinseq++`](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbduk-guide/).
|
There are currently three options for short-read complexity filtering: [`bbduk`](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbduk-guide/), [`prinseq++`](https://github.com/Adrian-Cantu/PRINSEQ-plus-plus), and [`fastp`](https://github.com/OpenGene/fastp#low-complexity-filter).
|
||||||
|
|
||||||
The tools offer different algorithms and parameters for removing low complexity reads. We therefore recommend reviewing the pipeline's [parameter documentation](https://nf-co.re/taxprofiler/parameters) and the documentation of both tools (see links above) to decide on optimal methods and parameters for your dataset.
|
The tools offer different algorithms and parameters for removing low complexity reads. We therefore recommend reviewing the pipeline's [parameter documentation](https://nf-co.re/taxprofiler/parameters) and the documentation of the tools (see links above) to decide on optimal methods and parameters for your dataset.
|
||||||
|
|
||||||
You can optionally save the FASTQ output of the run merging with the `--save_complexityfiltered_reads`.
|
You can optionally save the FASTQ output of the run merging with the `--save_complexityfiltered_reads`. If running with `fastp`, complexity filtering happens inclusively within the earlier shortread preprocessing step. Therefore there will not be an independent pipeline step for complexity filtering, and no independent FASTQ file (i.e. `--save_complexityfiltered_reads` will be ignored) - your complexity filtered reads will also be in the `fastp/` folder in the same file(s) as the preprocessed read.
|
||||||
|
|
||||||
#### Host Removal
|
#### Host Removal
|
||||||
|
|
||||||
|
|
|
@ -74,6 +74,7 @@ params {
|
||||||
shortread_complexityfilter_bbduk_mask = false
|
shortread_complexityfilter_bbduk_mask = false
|
||||||
shortread_complexityfilter_prinseqplusplus_mode = 'entropy'
|
shortread_complexityfilter_prinseqplusplus_mode = 'entropy'
|
||||||
shortread_complexityfilter_prinseqplusplus_dustscore = 0.5
|
shortread_complexityfilter_prinseqplusplus_dustscore = 0.5
|
||||||
|
shortread_complexityfilter_fastp_threshold = 30
|
||||||
save_complexityfiltered_reads = false
|
save_complexityfiltered_reads = false
|
||||||
|
|
||||||
// run merging
|
// run merging
|
||||||
|
@ -131,11 +132,11 @@ try {
|
||||||
|
|
||||||
// Load nf-core/taxprofiler custom profiles from different institutions.
|
// Load nf-core/taxprofiler custom profiles from different institutions.
|
||||||
// Warning: Uncomment only if a pipeline-specific instititutional config already exists on nf-core/configs!
|
// Warning: Uncomment only if a pipeline-specific instititutional config already exists on nf-core/configs!
|
||||||
// try {
|
try {
|
||||||
// includeConfig "${params.custom_config_base}/pipeline/taxprofiler.config"
|
includeConfig "${params.custom_config_base}/pipeline/taxprofiler.config"
|
||||||
// } catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// System.err.println("WARNING: Could not load nf-core/config/taxprofiler profiles: ${params.custom_config_base}/pipeline/taxprofiler.config")
|
System.err.println("WARNING: Could not load nf-core/config/taxprofiler profiles: ${params.custom_config_base}/pipeline/taxprofiler.config")
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
profiles {
|
profiles {
|
||||||
|
@ -187,6 +188,8 @@ profiles {
|
||||||
}
|
}
|
||||||
test { includeConfig 'conf/test.config' }
|
test { includeConfig 'conf/test.config' }
|
||||||
test_full { includeConfig 'conf/test_full.config' }
|
test_full { includeConfig 'conf/test_full.config' }
|
||||||
|
test_noprofiling { includeConfig 'conf/test_noprofiling.config' }
|
||||||
|
test_nopreprocessing { includeConfig 'conf/test_preprocessing.config' }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load igenomes.config if required
|
// Load igenomes.config if required
|
||||||
|
@ -225,7 +228,7 @@ trace {
|
||||||
}
|
}
|
||||||
dag {
|
dag {
|
||||||
enabled = true
|
enabled = true
|
||||||
file = "${params.tracedir}/pipeline_dag_${trace_timestamp}.svg"
|
file = "${params.tracedir}/pipeline_dag_${trace_timestamp}.html"
|
||||||
}
|
}
|
||||||
|
|
||||||
manifest {
|
manifest {
|
||||||
|
|
|
@ -323,7 +323,8 @@
|
||||||
},
|
},
|
||||||
"shortread_complexityfilter_tool": {
|
"shortread_complexityfilter_tool": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "bbduk"
|
"default": "bbduk",
|
||||||
|
"enum": ["bbduk", "prinseqplusplus", "fastp"]
|
||||||
},
|
},
|
||||||
"shortread_complexityfilter_bbduk_windowsize": {
|
"shortread_complexityfilter_bbduk_windowsize": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
@ -427,6 +428,10 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "None"
|
"default": "None"
|
||||||
},
|
},
|
||||||
|
"shortread_complexityfilter_fastp_threshold": {
|
||||||
|
"type": "integer",
|
||||||
|
"default": 30
|
||||||
|
},
|
||||||
"malt_save_reads": {
|
"malt_save_reads": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,6 +13,7 @@ workflow SHORTREAD_COMPLEXITYFILTERING {
|
||||||
ch_versions = Channel.empty()
|
ch_versions = Channel.empty()
|
||||||
ch_multiqc_files = Channel.empty()
|
ch_multiqc_files = Channel.empty()
|
||||||
|
|
||||||
|
// fastp complexity filtering is activated via modules.conf in shortread_preprocessing
|
||||||
if ( params.shortread_complexityfilter_tool == 'bbduk' ) {
|
if ( params.shortread_complexityfilter_tool == 'bbduk' ) {
|
||||||
ch_filtered_reads = BBMAP_BBDUK ( reads, [] ).reads
|
ch_filtered_reads = BBMAP_BBDUK ( reads, [] ).reads
|
||||||
ch_versions = ch_versions.mix( BBMAP_BBDUK.out.versions.first() )
|
ch_versions = ch_versions.mix( BBMAP_BBDUK.out.versions.first() )
|
||||||
|
|
|
@ -19,9 +19,12 @@ for (param in checkPathParamList) { if (param) { file(param, checkIfExists: true
|
||||||
// Check mandatory parameters
|
// Check mandatory parameters
|
||||||
if (params.input ) { ch_input = file(params.input) } else { exit 1, 'Input samplesheet not specified!' }
|
if (params.input ) { ch_input = file(params.input) } else { exit 1, 'Input samplesheet not specified!' }
|
||||||
if (params.databases) { ch_databases = file(params.databases) } else { exit 1, 'Input database sheet not specified!' }
|
if (params.databases) { ch_databases = file(params.databases) } else { exit 1, 'Input database sheet not specified!' }
|
||||||
|
|
||||||
if (params.shortread_clipmerge_mergepairs && params.run_malt ) log.warn "[nf-core/taxprofiler] MALT does not accept uncollapsed paired-reads. Pairs will be profiled as separate files."
|
if (params.shortread_clipmerge_mergepairs && params.run_malt ) log.warn "[nf-core/taxprofiler] MALT does not accept uncollapsed paired-reads. Pairs will be profiled as separate files."
|
||||||
if (params.shortread_clipmerge_excludeunmerged && !params.shortread_clipmerge_mergepairs) exit 1, "ERROR: [nf-core/taxprofiler] cannot include unmerged reads when merging not turned on. Please specify --shortread_clipmerge_mergepairs"
|
if (params.shortread_clipmerge_excludeunmerged && !params.shortread_clipmerge_mergepairs) exit 1, "ERROR: [nf-core/taxprofiler] cannot include unmerged reads when merging not turned on. Please specify --shortread_clipmerge_mergepairs"
|
||||||
|
|
||||||
|
if (params.shortread_complexityfilter_tool == 'fastp' && ( params.perform_shortread_clipmerge == false || params.shortread_clipmerge_tool != 'fastp' )) exit 1, "ERROR: [nf-core/taxprofiler] cannot use fastp complexity filtering if preprocessing not turned on and/or tool is not fastp. Please specify --perform_shortread_clipmerge and/or --shortread_clipmerge_tool 'fastp'"
|
||||||
|
|
||||||
if (params.perform_shortread_hostremoval && !params.hostremoval_reference) { exit 1, "ERROR: [nf-core/taxprofiler] --shortread_hostremoval requested but no --hostremoval_reference FASTA supplied. Check input." }
|
if (params.perform_shortread_hostremoval && !params.hostremoval_reference) { exit 1, "ERROR: [nf-core/taxprofiler] --shortread_hostremoval requested but no --hostremoval_reference FASTA supplied. Check input." }
|
||||||
if (!params.hostremoval_reference && params.hostremoval_reference_index) { exit 1, "ERROR: [nf-core/taxprofiler] --shortread_hostremoval_index provided but no --hostremoval_reference FASTA supplied. Check input." }
|
if (!params.hostremoval_reference && params.hostremoval_reference_index) { exit 1, "ERROR: [nf-core/taxprofiler] --shortread_hostremoval_index provided but no --hostremoval_reference FASTA supplied. Check input." }
|
||||||
|
|
||||||
|
@ -86,6 +89,7 @@ def multiqc_report = []
|
||||||
workflow TAXPROFILER {
|
workflow TAXPROFILER {
|
||||||
|
|
||||||
ch_versions = Channel.empty()
|
ch_versions = Channel.empty()
|
||||||
|
ch_taxprofiler_logo = Channel.fromPath("$projectDir/docs/images/nf-core-taxprofiler_logo_custom_light.png")
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SUBWORKFLOW: Read in samplesheet, validate and stage input files
|
SUBWORKFLOW: Read in samplesheet, validate and stage input files
|
||||||
|
@ -133,7 +137,8 @@ workflow TAXPROFILER {
|
||||||
SUBWORKFLOW: COMPLEXITY FILTERING
|
SUBWORKFLOW: COMPLEXITY FILTERING
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( params.perform_shortread_complexityfilter ) {
|
// fastp complexity filtering is activated via modules.conf in shortread_preprocessing
|
||||||
|
if ( params.perform_shortread_complexityfilter && params.shortread_complexityfilter_tool != 'fastp' ) {
|
||||||
ch_shortreads_filtered = SHORTREAD_COMPLEXITYFILTERING ( ch_shortreads_preprocessed ).reads
|
ch_shortreads_filtered = SHORTREAD_COMPLEXITYFILTERING ( ch_shortreads_preprocessed ).reads
|
||||||
ch_versions = ch_versions.mix( SHORTREAD_COMPLEXITYFILTERING.out.versions )
|
ch_versions = ch_versions.mix( SHORTREAD_COMPLEXITYFILTERING.out.versions )
|
||||||
} else {
|
} else {
|
||||||
|
@ -222,6 +227,8 @@ workflow TAXPROFILER {
|
||||||
ch_multiqc_files = ch_multiqc_files.mix(CUSTOM_DUMPSOFTWAREVERSIONS.out.mqc_yml.collect())
|
ch_multiqc_files = ch_multiqc_files.mix(CUSTOM_DUMPSOFTWAREVERSIONS.out.mqc_yml.collect())
|
||||||
ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([]))
|
ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([]))
|
||||||
|
|
||||||
|
ch_multiqc_files = ch_multiqc_files.mix(ch_taxprofiler_logo.ifEmpty([]))
|
||||||
|
|
||||||
if (params.perform_shortread_clipmerge) {
|
if (params.perform_shortread_clipmerge) {
|
||||||
ch_multiqc_files = ch_multiqc_files.mix( SHORTREAD_PREPROCESSING.out.mqc.collect{it[1]}.ifEmpty([]) )
|
ch_multiqc_files = ch_multiqc_files.mix( SHORTREAD_PREPROCESSING.out.mqc.collect{it[1]}.ifEmpty([]) )
|
||||||
}
|
}
|
||||||
|
@ -230,7 +237,7 @@ workflow TAXPROFILER {
|
||||||
ch_multiqc_files = ch_multiqc_files.mix( LONGREAD_PREPROCESSING.out.mqc.collect{it[1]}.ifEmpty([]) )
|
ch_multiqc_files = ch_multiqc_files.mix( LONGREAD_PREPROCESSING.out.mqc.collect{it[1]}.ifEmpty([]) )
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.perform_shortread_complexityfilter){
|
if (params.perform_shortread_complexityfilter && params.shortread_complexityfilter_tool != 'fastp'){
|
||||||
ch_multiqc_files = ch_multiqc_files.mix( SHORTREAD_COMPLEXITYFILTERING.out.mqc.collect{it[1]}.ifEmpty([]) )
|
ch_multiqc_files = ch_multiqc_files.mix( SHORTREAD_COMPLEXITYFILTERING.out.mqc.collect{it[1]}.ifEmpty([]) )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|