Skip to content

Commit bf08d8b

Browse files
authored
Merge pull request #13 from UMCUGenetics/feature/nf-core_clean
NF core base to develop
2 parents d961d84 + b6465fd commit bf08d8b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+2258
-68
lines changed

.gitignore

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Nextflow
2+
.nextflow*
3+
work/
4+
5+
#JetBrains
6+
.idea/
7+
8+
# MacOS
9+
.DS_Store

.nf-core.yml

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
lint:
2+
files_exist:
3+
- .gitattributes
4+
- .editorconfig
5+
- .prettierignore
6+
- .prettierrc.yml
7+
- .github/CONTRIBUTING.md
8+
- .github/ISSUE_TEMPLATE/bug_report.yml
9+
- .github/ISSUE_TEMPLATE/config.yml
10+
- .github/ISSUE_TEMPLATE/feature_request.yml
11+
- .github/PULL_REQUEST_TEMPLATE.md
12+
- .github/.dockstore.yml
13+
- .github/workflows/ci.yml
14+
- .github/workflows/awstest.yml
15+
- .github/workflows/awsfulltest.yml
16+
- .github/workflows/branch.yml
17+
- .github/workflows/linting_comment.yml
18+
- .github/workflows/linting.yml
19+
- CODE_OF_CONDUCT.md
20+
- CHANGELOG.md
21+
- CITATIONS.md
22+
- assets/email_template.html
23+
- assets/email_template.txt
24+
- assets/sendmail_template.txt
25+
- assets/nf-core-DxNextflowRNA_logo_light.png
26+
- assets/nf-core-dxnextflowrna_logo_light.png
27+
- conf/igenomes.config
28+
- conf/modules.config
29+
- conf/test.config
30+
- conf/test_full.config
31+
- docs/images/nf-core-DxNextflowRNA_logo_light.png
32+
- docs/images/nf-core-DxNextflowRNA_logo_dark.png
33+
- docs/output.md
34+
- docs/README.md
35+
- docs/README.md
36+
- docs/usage.md
37+
- lib/nfcore_external_java_deps.jar
38+
- lib/NfcoreTemplate.groovy
39+
- lib/Utils.groovy
40+
- lib/WorkflowMain.groovy
41+
- lib/WorkflowDxNextflowRNA.groovy
42+
- pyproject.toml
43+
files_unchanged:
44+
- .github/ISSUE_TEMPLATE/bug_report.yml
45+
- .github/workflows/linting.yml
46+
- .gitignore
47+
- CODE_OF_CONDUCT.md
48+
- assets/nf-core-dxnextflowrna_logo_light.png
49+
- docs/images/nf-core-dxnextflowrna_logo_light.png
50+
- docs/images/nf-core-dxnextflowrna_logo_dark.png
51+
multiqc_config:
52+
- report_comment
53+
nextflow_config:
54+
- dag.enabled
55+
- dag.file
56+
- manifest.name
57+
- manifest.homePage
58+
- params.outdir
59+
- params.input
60+
- params.validationShowHiddenParams
61+
- params.validationSchemaIgnoreParams
62+
- process.cpus
63+
- process.memory
64+
- process.time
65+
- custom_config
66+
repository_type: pipeline

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) UMCU Genetics
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+27-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,28 @@
1-
# UMCUGenetics-DxNextflowRNA
2-
To run the workflow please use the following command (there will be bash script for the next version):
1+
[![GitHub Actions CI Status](https://github.com/UMCUGenetics/dxnextflowrna/workflows/nf-core%20CI/badge.svg)](https://github.com/UMCUGenetics/dxnextflowrna/actions?query=workflow%3A%22nf-core+CI%22)
2+
[![GitHub Actions Linting Status](https://github.com/UMCUGenetics/dxnextflowrna/workflows/nf-core%20linting/badge.svg)](https://github.com/UMCUGenetics/dxnextflowrna/actions?query=workflow%3A%22nf-core+linting%22)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)
33

4-
nextflow run -ansi-log false main.nf
4+
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A523.04.0-23aa62.svg)](https://www.nextflow.io/)
5+
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
6+
7+
# DxNextflowRNA
8+
UMCU Genetics Nextflow RNA workflow
9+
10+
## Usage
11+
12+
```bash
13+
export NXF_JAVA_HOME='/hpc/diaggen/projects/woc/rna/tools/jdk-18.0.2.1'
14+
/hpc/diaggen/projects/woc/rna/tools/nextflow run DxNextflowRNA --input /hpc/diaggen/projects/woc/rna/testdata/fastq --outdir ...
15+
```
16+
17+
## Citations
18+
19+
<!-- TODO nf-core: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file. -->
20+
<!-- If you use DxNextflowRNA for your analysis, please cite it using the following doi: [10.5281/zenodo.XXXXXX](https://doi.org/10.5281/zenodo.XXXXXX) -->
21+
22+
This pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/master/LICENSE).
23+
24+
> **The nf-core framework for community-curated bioinformatics pipelines.**
25+
>
26+
> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
27+
>
28+
> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).

assets/multiqc_config.yml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
top_modules:
2+
- 'fastqc'

conf/base.config

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/*
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
UMCUGenetics/DxNextflowRNA Nextflow base config file
4+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5+
*/
6+
7+
process {
8+
9+
// Defaults for all processes, based on HPC defaults
10+
cpus = { 2 * task.attempt }
11+
memory = { 10.GB * task.attempt }
12+
time = { 1.h * task.attempt }
13+
14+
errorStrategy = { task.exitStatus in ((130..145) + 104) ? 'retry' : 'finish' }
15+
maxRetries = 1
16+
maxErrors = '-1'
17+
18+
executor = 'slurm'
19+
queue = 'cpu'
20+
// clusterOptions = "$params.cluster_options"
21+
22+
// Process-specific resource requirements
23+
// See https://www.nextflow.io/docs/latest/config.html#config-process-selectors
24+
withLabel:process_single {
25+
cpus = { 2 }
26+
memory = { 8.GB * task.attempt }
27+
time = { 4.h * task.attempt }
28+
}
29+
withLabel:process_low {
30+
cpus = { 2 * task.attempt }
31+
memory = { 16.GB * task.attempt }
32+
time = { 4.h * task.attempt }
33+
}
34+
withLabel:process_medium {
35+
cpus = { 6 * task.attempt }
36+
memory = { 32.GB * task.attempt }
37+
time = { 8.h * task.attempt }
38+
}
39+
withLabel:process_high {
40+
cpus = { 12 * task.attempt }
41+
memory = { 64.GB * task.attempt }
42+
time = { 16.h * task.attempt }
43+
}
44+
withLabel:process_long {
45+
time = { 20.h * task.attempt }
46+
}
47+
withLabel:process_high_memory {
48+
memory = { 128.GB * task.attempt }
49+
}
50+
withLabel:error_ignore {
51+
errorStrategy = 'ignore'
52+
}
53+
withLabel:error_retry {
54+
errorStrategy = 'retry'
55+
maxRetries = 2
56+
}
57+
}
58+
59+
singularity {
60+
enabled = true
61+
runOptions = '-B /hpc:/hpc -B $TMPDIR:$TMPDIR'
62+
autoMounts = true
63+
cacheDir = '/hpc/diaggen/projects/woc/rna/container'
64+
}
65+
66+
executor {
67+
queueSize = 1000
68+
pollInterval = '1min'
69+
queueStatInterval = '5min'
70+
submitRatelimit = '10sec'
71+
}
72+
73+
mail {
74+
smtp.host = 'localhost'
75+
}

conf/modules.config

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
Config file for defining DSL2 per module options and publishing paths
4+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5+
Available keys to override module options:
6+
ext.args = Additional arguments appended to command in module.
7+
ext.args2 = Second set of arguments appended to command in module (multi-tool modules).
8+
ext.args3 = Third set of arguments appended to command in module (multi-tool modules).
9+
ext.prefix = File name prefix for output files.
10+
----------------------------------------------------------------------------------------
11+
*/
12+
13+
process {
14+
withName: FASTQC {
15+
ext.args = '--quiet'
16+
publishDir = [
17+
[path: "$params.outdir/QC/", mode: params.publish_dir_mode, pattern: '*_{fastqc.html}']
18+
]
19+
cpus = 2
20+
memory = { 8.GB * task.attempt }
21+
time = { 15.m * task.attempt }
22+
}
23+
24+
withName: SAMTOOLS_MERGE {
25+
cpus = { 8 * task.attempt }
26+
memory = { 8.GB * task.attempt }
27+
time = { 1.h * task.attempt }
28+
}
29+
30+
withName: STAR_ALIGN {
31+
cpus = { 12 * task.attempt }
32+
memory = { 40.GB * task.attempt }
33+
time = { 1.h * task.attempt }
34+
ext.args = '--readFilesCommand zcat --outSAMtype BAM SortedByCoordinate'
35+
}
36+
37+
withName: MULTIQC {
38+
publishDir = [
39+
path: { "${params.outdir}/QC" },
40+
mode: params.publish_dir_mode,
41+
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
42+
]
43+
}
44+
45+
withName: UMITOOLS_DEDUP {
46+
ext.args = "--umi-separator=:"
47+
ext.prefix = { "${meta.id}.markdup" }
48+
publishDir = [
49+
[path: "$params.outdir/bam_files/", mode: params.publish_dir_mode, pattern: '*.ba*']
50+
]
51+
clusterOptions = "--gres=tmpspace:50G"
52+
}
53+
54+
withName: SUBREAD_FEATURECOUNTS {
55+
publishDir = [
56+
[path: "$params.outdir/feature_counts/", mode: params.publish_dir_mode, pattern: '*featureCounts.txt*'],
57+
]
58+
}
59+
}

0 commit comments

Comments
 (0)