Build branch main_pipeline with version main_pipeline (c918fed)

Build pipeline: viash-hub.htrnaseq.main-pipeline-tgkd9

Source commit: c918fed99a

Source message: Merge branch 'main' into main_pipeline
This commit is contained in:
CI
2024-08-20 15:49:37 +00:00
parent 15cd1e1fa3
commit 366c369df1
33 changed files with 609 additions and 63 deletions

View File

@@ -1,10 +1,98 @@
# Viash-enabled HT-RNAseq pipeline
# HT-RNAseq - A pipeline for processing high-throughput RNA-seq data
## Introduction
__TODO__: Add a description of the pipeline here.
## Test data
As test data, we use [a DRUGseq dataset](https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE176150) from the [NCBI Sequence Read Archive](https://www.ncbi.nlm.nih.gov/sra).
The original data has been (partly) subsampled to reduce the test runtime. We used [seqtk](https://github.com/lh3/seqtk) for this with a seed of 1, e.g.:
```bash
seqtk sample -s1 orig/SRR14730302/VH02001614_S8_R1_001.fastq.gz 10000 > 10k/SRR14730302/VH02001614_S8_R1_001.fastq.gz
```
The data is available at: `gs://viash-hub-test-data/htrnaseq/v1/`:
```
gcstree -f viash-hub-test-data/htrnaseq/v1/
viash-hub-test-data
└── htrnaseq
└── v1
├── [ 48] 2-wells.fasta
├── [465.3K] GSE176150_metadata.csv
├── 100k
│ ├── SRR14730301
│ │ ├── [8.5M] VH02001612_S9_R1_001.fastq
│ │ └── [14.9M] VH02001612_S9_R2_001.fastq
│ └── SRR14730302
│ ├── [8.5M] VH02001614_S8_R1_001.fastq.gz
│ └── [14.9M] VH02001614_S8_R2_001.fastq.gz
├── 10k
│ ├── SRR14730301
│ │ ├── [845.4K] VH02001612_S9_R1_001.fastq
│ │ └── [1.5M] VH02001612_S9_R2_001.fastq
│ └── SRR14730302
│ ├── [845.3K] VH02001614_S8_R1_001.fastq.gz
│ └── [1.5M] VH02001614_S8_R2_001.fastq.gz
└── orig
├── [20.4G] SRR14730301
│ └── [20.4G] SRR14730301
├── SRR14730301
│ ├── [9.1G] VH02001612_S9_R1_001.fastq.gz
│ └── [22.0G] VH02001612_S9_R2_001.fastq.gz
├── [16.9G] SRR14730302
│ └── [16.9G] SRR14730302
├── SRR14730302
│ ├── [7.6G] VH02001614_S8_R1_001.fastq.gz
│ └── [18.0G] VH02001614_S8_R2_001.fastq.gz
├── [18.0G] SRR14730303
│ └── [18.0G] SRR14730303
├── SRR14730303
│ ├── [8.1G] VH02001618_S7_R1_001.fastq.gz
│ └── [19.2G] VH02001618_S7_R2_001.fastq.gz
├── [16.5G] SRR14730304
│ └── [16.5G] SRR14730304
├── SRR14730304
│ ├── [7.5G] VH02001700_S6_R1_001.fastq.gz
│ └── [17.8G] VH02001700_S6_R2_001.fastq.gz
├── [19.0G] SRR14730305
│ └── [19.0G] SRR14730305
├── SRR14730305
│ ├── [8.4G] VH02001702_S5_R1_001.fastq.gz
│ └── [20.6G] VH02001702_S5_R2_001.fastq.gz
├── [14.6G] SRR14730306
│ └── [14.6G] SRR14730306
├── SRR14730306
│ ├── [6.6G] VH02001704_S4_R1_001.fastq.gz
│ └── [16.0G] VH02001704_S4_R2_001.fastq.gz
├── [21.5G] SRR14730307
│ └── [21.5G] SRR14730307
├── SRR14730307
│ ├── [9.6G] VH02001708_S3_R1_001.fastq.gz
│ └── [23.2G] VH02001708_S3_R2_001.fastq.gz
├── [20.7G] SRR14730308
│ └── [20.7G] SRR14730308
├── SRR14730308
│ ├── [9.3G] VH02001710_S2_R1_001.fastq.gz
│ └── [22.1G] VH02001710_S2_R2_001.fastq.gz
├── [15.8G] SRR14730309
│ └── [15.8G] SRR14730309
└── SRR14730309
├── [7.2G] VH02001712_S1_R1_001.fastq.gz
└── [16.9G] VH02001712_S1_R2_001.fastq.gz
18 directories, 37 files
```
The `orig` directory contains the original fastq files. The fastq files are available for 10k and 100k subsamples in the `10k` and `100k` directories, respectively.
The `2-wells.fasta` file contains the barcodes for 2 wells.
## Test run
The pipeline can be run by creating a `params.yaml` file like this:
```yaml

View File

@@ -1,6 +1,6 @@
name: htrnaseq
description: |
Demultiplexing pipeline [WIP]
High-throughput pipeline [WIP]
license: MIT
keywords: [bioinformatics, sequence, high-throughput, mapping, counting, pipeline]
links:
@@ -11,3 +11,5 @@ viash_version: 0.9.0-RC7
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}

View File

@@ -110,6 +110,9 @@ resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
description: "Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference\
\ (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n"
test_resources:
@@ -187,6 +190,8 @@ runners:
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
@@ -231,18 +236,20 @@ build_info:
output: "target/executable/parallel_map"
executable: "target/executable/parallel_map/parallel_map"
viash_version: "0.9.0-RC6"
git_commit: "bdd7091d5b5982b84103a43fece50c608810e0aa"
git_commit: "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
git_remote: "https://github.com/viash-hub/htrnaseq"
package_config:
name: "htrnaseq"
version: "main_pipeline"
description: "Demultiplexing pipeline [WIP]\n"
description: "High-throughput pipeline [WIP]\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -0,0 +1,43 @@
process {
// Default resources for components that hardly do any processing
memory = { 2.GB * task.attempt }
cpus = 1
// Retry for exit codes that have something to do with memory issues
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 3
maxMemory = null
// Resource labels
withLabel: singlecpu { cpus = 1 }
withLabel: lowcpu { cpus = 4 }
withLabel: midcpu { cpus = 10 }
withLabel: highcpu { cpus = 20 }
withLabel: lowmem { memory = { get_memory( 4.GB * task.attempt ) } }
withLabel: midmem { memory = { get_memory( 25.GB * task.attempt ) } }
withLabel: highmem { memory = { get_memory( 50.GB * task.attempt ) } }
withLabel: veryhighmem { memory = { get_memory( 75.GB * task.attempt ) } }
}
def get_memory(to_compare) {
if (!process.containsKey("maxMemory") || !process.maxMemory) {
return to_compare
}
try {
if (process.containsKey("maxRetries") && process.maxRetries && task.attempt == (process.maxRetries as int)) {
return process.maxMemory
}
else if (to_compare.compareTo(process.maxMemory as nextflow.util.MemoryUnit) == 1) {
return max_memory as nextflow.util.MemoryUnit
}
else {
return to_compare
}
} catch (all) {
println "Error processing memory resources. Please check that process.maxMemory '${process.maxMemory}' and process.maxRetries '${process.maxRetries}' are valid!"
System.exit(1)
}
}

View File

@@ -515,9 +515,9 @@ RUN wget -O $STAR_TARGET $STAR_SOURCE && \
rm $STAR_TARGET && rm -rf /tmp/STAR_$STAR_VERSION
LABEL org.opencontainers.image.description="Companion container for running component parallel_map"
LABEL org.opencontainers.image.created="2024-08-20T15:27:42Z"
LABEL org.opencontainers.image.created="2024-08-20T15:45:18Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="bdd7091d5b5982b84103a43fece50c608810e0aa"
LABEL org.opencontainers.image.revision="c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
LABEL org.opencontainers.image.version="main_pipeline"
VIASHDOCKER

View File

@@ -110,6 +110,9 @@ resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
description: "Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference\
\ (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n"
test_resources:
@@ -187,6 +190,8 @@ runners:
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
@@ -231,18 +236,20 @@ build_info:
output: "target/nextflow/parallel_map"
executable: "target/nextflow/parallel_map/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "bdd7091d5b5982b84103a43fece50c608810e0aa"
git_commit: "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
git_remote: "https://github.com/viash-hub/htrnaseq"
package_config:
name: "htrnaseq"
version: "main_pipeline"
description: "Demultiplexing pipeline [WIP]\n"
description: "High-throughput pipeline [WIP]\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -2916,6 +2916,11 @@ meta = [
"type" : "bash_script",
"path" : "script.sh",
"is_executable" : true
},
{
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
}
],
"description" : "Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n",
@@ -3004,7 +3009,10 @@ meta = [
"cpu200" : "cpus = 200",
"cpu500" : "cpus = 500",
"cpu1000" : "cpus = 1000"
}
},
"script" : [
"includeConfig(\\"nextflow_labels.config\\")"
]
},
"debug" : false,
"container" : "docker"
@@ -3059,18 +3067,18 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/parallel_map",
"viash_version" : "0.9.0-RC6",
"git_commit" : "bdd7091d5b5982b84103a43fece50c608810e0aa",
"git_commit" : "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf",
"git_remote" : "https://github.com/viash-hub/htrnaseq"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "main_pipeline",
"description" : "Demultiplexing pipeline [WIP]\n",
"description" : "High-throughput pipeline [WIP]\n",
"viash_version" : "0.9.0-RC6",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -122,4 +122,4 @@ process{
withLabel: cpu1000 { cpus = 1000 }
}
includeConfig("nextflow_labels.config")

View File

@@ -0,0 +1,43 @@
process {
// Default resources for components that hardly do any processing
memory = { 2.GB * task.attempt }
cpus = 1
// Retry for exit codes that have something to do with memory issues
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 3
maxMemory = null
// Resource labels
withLabel: singlecpu { cpus = 1 }
withLabel: lowcpu { cpus = 4 }
withLabel: midcpu { cpus = 10 }
withLabel: highcpu { cpus = 20 }
withLabel: lowmem { memory = { get_memory( 4.GB * task.attempt ) } }
withLabel: midmem { memory = { get_memory( 25.GB * task.attempt ) } }
withLabel: highmem { memory = { get_memory( 50.GB * task.attempt ) } }
withLabel: veryhighmem { memory = { get_memory( 75.GB * task.attempt ) } }
}
def get_memory(to_compare) {
if (!process.containsKey("maxMemory") || !process.maxMemory) {
return to_compare
}
try {
if (process.containsKey("maxRetries") && process.maxRetries && task.attempt == (process.maxRetries as int)) {
return process.maxMemory
}
else if (to_compare.compareTo(process.maxMemory as nextflow.util.MemoryUnit) == 1) {
return max_memory as nextflow.util.MemoryUnit
}
else {
return to_compare
}
} catch (all) {
println "Error processing memory resources. Please check that process.maxMemory '${process.maxMemory}' and process.maxRetries '${process.maxRetries}' are valid!"
System.exit(1)
}
}

View File

@@ -73,6 +73,9 @@ resources:
path: "main.nf"
is_executable: true
entrypoint: "run_wf"
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
info: null
status: "enabled"
requirements:
@@ -176,6 +179,8 @@ runners:
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
@@ -190,7 +195,7 @@ build_info:
output: "target/nextflow/workflows/htrnaseq"
executable: "target/nextflow/workflows/htrnaseq/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "bdd7091d5b5982b84103a43fece50c608810e0aa"
git_commit: "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
git_remote: "https://github.com/viash-hub/htrnaseq"
dependencies:
- "target/nextflow/workflows/well_demultiplex"
@@ -203,13 +208,15 @@ build_info:
package_config:
name: "htrnaseq"
version: "main_pipeline"
description: "Demultiplexing pipeline [WIP]\n"
description: "High-throughput pipeline [WIP]\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -2869,6 +2869,11 @@ meta = [
"path" : "main.nf",
"is_executable" : true,
"entrypoint" : "run_wf"
},
{
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
}
],
"status" : "enabled",
@@ -3008,7 +3013,10 @@ meta = [
"cpu200" : "cpus = 200",
"cpu500" : "cpus = 500",
"cpu1000" : "cpus = 1000"
}
},
"script" : [
"includeConfig(\\"nextflow_labels.config\\")"
]
},
"debug" : false,
"container" : "docker"
@@ -3030,18 +3038,18 @@ meta = [
"engine" : "native|native",
"output" : "target/nextflow/workflows/htrnaseq",
"viash_version" : "0.9.0-RC6",
"git_commit" : "bdd7091d5b5982b84103a43fece50c608810e0aa",
"git_commit" : "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf",
"git_remote" : "https://github.com/viash-hub/htrnaseq"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "main_pipeline",
"description" : "Demultiplexing pipeline [WIP]\n",
"description" : "High-throughput pipeline [WIP]\n",
"viash_version" : "0.9.0-RC6",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -121,4 +121,4 @@ process{
withLabel: cpu1000 { cpus = 1000 }
}
includeConfig("nextflow_labels.config")

View File

@@ -0,0 +1,43 @@
process {
// Default resources for components that hardly do any processing
memory = { 2.GB * task.attempt }
cpus = 1
// Retry for exit codes that have something to do with memory issues
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 3
maxMemory = null
// Resource labels
withLabel: singlecpu { cpus = 1 }
withLabel: lowcpu { cpus = 4 }
withLabel: midcpu { cpus = 10 }
withLabel: highcpu { cpus = 20 }
withLabel: lowmem { memory = { get_memory( 4.GB * task.attempt ) } }
withLabel: midmem { memory = { get_memory( 25.GB * task.attempt ) } }
withLabel: highmem { memory = { get_memory( 50.GB * task.attempt ) } }
withLabel: veryhighmem { memory = { get_memory( 75.GB * task.attempt ) } }
}
def get_memory(to_compare) {
if (!process.containsKey("maxMemory") || !process.maxMemory) {
return to_compare
}
try {
if (process.containsKey("maxRetries") && process.maxRetries && task.attempt == (process.maxRetries as int)) {
return process.maxMemory
}
else if (to_compare.compareTo(process.maxMemory as nextflow.util.MemoryUnit) == 1) {
return max_memory as nextflow.util.MemoryUnit
}
else {
return to_compare
}
} catch (all) {
println "Error processing memory resources. Please check that process.maxMemory '${process.maxMemory}' and process.maxRetries '${process.maxRetries}' are valid!"
System.exit(1)
}
}

View File

@@ -55,6 +55,9 @@ resources:
path: "main.nf"
is_executable: true
entrypoint: "run_wf"
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
description: "N/A\n"
info: null
status: "enabled"
@@ -124,6 +127,8 @@ runners:
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
@@ -136,18 +141,20 @@ build_info:
output: "target/nextflow/workflows/utils/groupLanes"
executable: "target/nextflow/workflows/utils/groupLanes/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "bdd7091d5b5982b84103a43fece50c608810e0aa"
git_commit: "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
git_remote: "https://github.com/viash-hub/htrnaseq"
package_config:
name: "htrnaseq"
version: "main_pipeline"
description: "Demultiplexing pipeline [WIP]\n"
description: "High-throughput pipeline [WIP]\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -2849,6 +2849,11 @@ meta = [
"path" : "main.nf",
"is_executable" : true,
"entrypoint" : "run_wf"
},
{
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
}
],
"description" : "N/A\n",
@@ -2925,7 +2930,10 @@ meta = [
"cpu200" : "cpus = 200",
"cpu500" : "cpus = 500",
"cpu1000" : "cpus = 1000"
}
},
"script" : [
"includeConfig(\\"nextflow_labels.config\\")"
]
},
"debug" : false,
"container" : "docker"
@@ -2943,18 +2951,18 @@ meta = [
"engine" : "native",
"output" : "target/nextflow/workflows/utils/groupLanes",
"viash_version" : "0.9.0-RC6",
"git_commit" : "bdd7091d5b5982b84103a43fece50c608810e0aa",
"git_commit" : "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf",
"git_remote" : "https://github.com/viash-hub/htrnaseq"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "main_pipeline",
"description" : "Demultiplexing pipeline [WIP]\n",
"description" : "High-throughput pipeline [WIP]\n",
"viash_version" : "0.9.0-RC6",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -122,4 +122,4 @@ process{
withLabel: cpu1000 { cpus = 1000 }
}
includeConfig("nextflow_labels.config")

View File

@@ -0,0 +1,43 @@
process {
// Default resources for components that hardly do any processing
memory = { 2.GB * task.attempt }
cpus = 1
// Retry for exit codes that have something to do with memory issues
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 3
maxMemory = null
// Resource labels
withLabel: singlecpu { cpus = 1 }
withLabel: lowcpu { cpus = 4 }
withLabel: midcpu { cpus = 10 }
withLabel: highcpu { cpus = 20 }
withLabel: lowmem { memory = { get_memory( 4.GB * task.attempt ) } }
withLabel: midmem { memory = { get_memory( 25.GB * task.attempt ) } }
withLabel: highmem { memory = { get_memory( 50.GB * task.attempt ) } }
withLabel: veryhighmem { memory = { get_memory( 75.GB * task.attempt ) } }
}
def get_memory(to_compare) {
if (!process.containsKey("maxMemory") || !process.maxMemory) {
return to_compare
}
try {
if (process.containsKey("maxRetries") && process.maxRetries && task.attempt == (process.maxRetries as int)) {
return process.maxMemory
}
else if (to_compare.compareTo(process.maxMemory as nextflow.util.MemoryUnit) == 1) {
return max_memory as nextflow.util.MemoryUnit
}
else {
return to_compare
}
} catch (all) {
println "Error processing memory resources. Please check that process.maxMemory '${process.maxMemory}' and process.maxRetries '${process.maxRetries}' are valid!"
System.exit(1)
}
}

View File

@@ -43,6 +43,9 @@ resources:
path: "main.nf"
is_executable: true
entrypoint: "run_wf"
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
description: "N/A\n"
info: null
status: "enabled"
@@ -112,6 +115,8 @@ runners:
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
@@ -124,18 +129,20 @@ build_info:
output: "target/nextflow/workflows/utils/groupPairs"
executable: "target/nextflow/workflows/utils/groupPairs/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "bdd7091d5b5982b84103a43fece50c608810e0aa"
git_commit: "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
git_remote: "https://github.com/viash-hub/htrnaseq"
package_config:
name: "htrnaseq"
version: "main_pipeline"
description: "Demultiplexing pipeline [WIP]\n"
description: "High-throughput pipeline [WIP]\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -2835,6 +2835,11 @@ meta = [
"path" : "main.nf",
"is_executable" : true,
"entrypoint" : "run_wf"
},
{
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
}
],
"description" : "N/A\n",
@@ -2911,7 +2916,10 @@ meta = [
"cpu200" : "cpus = 200",
"cpu500" : "cpus = 500",
"cpu1000" : "cpus = 1000"
}
},
"script" : [
"includeConfig(\\"nextflow_labels.config\\")"
]
},
"debug" : false,
"container" : "docker"
@@ -2929,18 +2937,18 @@ meta = [
"engine" : "native",
"output" : "target/nextflow/workflows/utils/groupPairs",
"viash_version" : "0.9.0-RC6",
"git_commit" : "bdd7091d5b5982b84103a43fece50c608810e0aa",
"git_commit" : "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf",
"git_remote" : "https://github.com/viash-hub/htrnaseq"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "main_pipeline",
"description" : "Demultiplexing pipeline [WIP]\n",
"description" : "High-throughput pipeline [WIP]\n",
"viash_version" : "0.9.0-RC6",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -122,4 +122,4 @@ process{
withLabel: cpu1000 { cpus = 1000 }
}
includeConfig("nextflow_labels.config")

View File

@@ -0,0 +1,43 @@
process {
// Default resources for components that hardly do any processing
memory = { 2.GB * task.attempt }
cpus = 1
// Retry for exit codes that have something to do with memory issues
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 3
maxMemory = null
// Resource labels
withLabel: singlecpu { cpus = 1 }
withLabel: lowcpu { cpus = 4 }
withLabel: midcpu { cpus = 10 }
withLabel: highcpu { cpus = 20 }
withLabel: lowmem { memory = { get_memory( 4.GB * task.attempt ) } }
withLabel: midmem { memory = { get_memory( 25.GB * task.attempt ) } }
withLabel: highmem { memory = { get_memory( 50.GB * task.attempt ) } }
withLabel: veryhighmem { memory = { get_memory( 75.GB * task.attempt ) } }
}
def get_memory(to_compare) {
if (!process.containsKey("maxMemory") || !process.maxMemory) {
return to_compare
}
try {
if (process.containsKey("maxRetries") && process.maxRetries && task.attempt == (process.maxRetries as int)) {
return process.maxMemory
}
else if (to_compare.compareTo(process.maxMemory as nextflow.util.MemoryUnit) == 1) {
return max_memory as nextflow.util.MemoryUnit
}
else {
return to_compare
}
} catch (all) {
println "Error processing memory resources. Please check that process.maxMemory '${process.maxMemory}' and process.maxRetries '${process.maxRetries}' are valid!"
System.exit(1)
}
}

View File

@@ -75,6 +75,9 @@ resources:
path: "main.nf"
is_executable: true
entrypoint: "run_wf"
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
description: "N/A\n"
info: null
status: "enabled"
@@ -144,6 +147,8 @@ runners:
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
@@ -156,18 +161,20 @@ build_info:
output: "target/nextflow/workflows/utils/groupWells"
executable: "target/nextflow/workflows/utils/groupWells/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "bdd7091d5b5982b84103a43fece50c608810e0aa"
git_commit: "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
git_remote: "https://github.com/viash-hub/htrnaseq"
package_config:
name: "htrnaseq"
version: "main_pipeline"
description: "Demultiplexing pipeline [WIP]\n"
description: "High-throughput pipeline [WIP]\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -2873,6 +2873,11 @@ meta = [
"path" : "main.nf",
"is_executable" : true,
"entrypoint" : "run_wf"
},
{
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
}
],
"description" : "N/A\n",
@@ -2949,7 +2954,10 @@ meta = [
"cpu200" : "cpus = 200",
"cpu500" : "cpus = 500",
"cpu1000" : "cpus = 1000"
}
},
"script" : [
"includeConfig(\\"nextflow_labels.config\\")"
]
},
"debug" : false,
"container" : "docker"
@@ -2967,18 +2975,18 @@ meta = [
"engine" : "native",
"output" : "target/nextflow/workflows/utils/groupWells",
"viash_version" : "0.9.0-RC6",
"git_commit" : "bdd7091d5b5982b84103a43fece50c608810e0aa",
"git_commit" : "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf",
"git_remote" : "https://github.com/viash-hub/htrnaseq"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "main_pipeline",
"description" : "Demultiplexing pipeline [WIP]\n",
"description" : "High-throughput pipeline [WIP]\n",
"viash_version" : "0.9.0-RC6",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -122,4 +122,4 @@ process{
withLabel: cpu1000 { cpus = 1000 }
}
includeConfig("nextflow_labels.config")

View File

@@ -0,0 +1,43 @@
process {
// Default resources for components that hardly do any processing
memory = { 2.GB * task.attempt }
cpus = 1
// Retry for exit codes that have something to do with memory issues
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 3
maxMemory = null
// Resource labels
withLabel: singlecpu { cpus = 1 }
withLabel: lowcpu { cpus = 4 }
withLabel: midcpu { cpus = 10 }
withLabel: highcpu { cpus = 20 }
withLabel: lowmem { memory = { get_memory( 4.GB * task.attempt ) } }
withLabel: midmem { memory = { get_memory( 25.GB * task.attempt ) } }
withLabel: highmem { memory = { get_memory( 50.GB * task.attempt ) } }
withLabel: veryhighmem { memory = { get_memory( 75.GB * task.attempt ) } }
}
def get_memory(to_compare) {
if (!process.containsKey("maxMemory") || !process.maxMemory) {
return to_compare
}
try {
if (process.containsKey("maxRetries") && process.maxRetries && task.attempt == (process.maxRetries as int)) {
return process.maxMemory
}
else if (to_compare.compareTo(process.maxMemory as nextflow.util.MemoryUnit) == 1) {
return max_memory as nextflow.util.MemoryUnit
}
else {
return to_compare
}
} catch (all) {
println "Error processing memory resources. Please check that process.maxMemory '${process.maxMemory}' and process.maxRetries '${process.maxRetries}' are valid!"
System.exit(1)
}
}

View File

@@ -61,6 +61,9 @@ resources:
path: "main.nf"
is_executable: true
entrypoint: "run_wf"
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
description: "N/A\n"
info: null
status: "enabled"
@@ -130,6 +133,8 @@ runners:
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
@@ -142,18 +147,20 @@ build_info:
output: "target/nextflow/workflows/utils/splitWells"
executable: "target/nextflow/workflows/utils/splitWells/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "bdd7091d5b5982b84103a43fece50c608810e0aa"
git_commit: "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
git_remote: "https://github.com/viash-hub/htrnaseq"
package_config:
name: "htrnaseq"
version: "main_pipeline"
description: "Demultiplexing pipeline [WIP]\n"
description: "High-throughput pipeline [WIP]\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -2856,6 +2856,11 @@ meta = [
"path" : "main.nf",
"is_executable" : true,
"entrypoint" : "run_wf"
},
{
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
}
],
"description" : "N/A\n",
@@ -2932,7 +2937,10 @@ meta = [
"cpu200" : "cpus = 200",
"cpu500" : "cpus = 500",
"cpu1000" : "cpus = 1000"
}
},
"script" : [
"includeConfig(\\"nextflow_labels.config\\")"
]
},
"debug" : false,
"container" : "docker"
@@ -2950,18 +2958,18 @@ meta = [
"engine" : "native",
"output" : "target/nextflow/workflows/utils/splitWells",
"viash_version" : "0.9.0-RC6",
"git_commit" : "bdd7091d5b5982b84103a43fece50c608810e0aa",
"git_commit" : "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf",
"git_remote" : "https://github.com/viash-hub/htrnaseq"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "main_pipeline",
"description" : "Demultiplexing pipeline [WIP]\n",
"description" : "High-throughput pipeline [WIP]\n",
"viash_version" : "0.9.0-RC6",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -122,4 +122,4 @@ process{
withLabel: cpu1000 { cpus = 1000 }
}
includeConfig("nextflow_labels.config")

View File

@@ -0,0 +1,43 @@
process {
// Default resources for components that hardly do any processing
memory = { 2.GB * task.attempt }
cpus = 1
// Retry for exit codes that have something to do with memory issues
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 3
maxMemory = null
// Resource labels
withLabel: singlecpu { cpus = 1 }
withLabel: lowcpu { cpus = 4 }
withLabel: midcpu { cpus = 10 }
withLabel: highcpu { cpus = 20 }
withLabel: lowmem { memory = { get_memory( 4.GB * task.attempt ) } }
withLabel: midmem { memory = { get_memory( 25.GB * task.attempt ) } }
withLabel: highmem { memory = { get_memory( 50.GB * task.attempt ) } }
withLabel: veryhighmem { memory = { get_memory( 75.GB * task.attempt ) } }
}
def get_memory(to_compare) {
if (!process.containsKey("maxMemory") || !process.maxMemory) {
return to_compare
}
try {
if (process.containsKey("maxRetries") && process.maxRetries && task.attempt == (process.maxRetries as int)) {
return process.maxMemory
}
else if (to_compare.compareTo(process.maxMemory as nextflow.util.MemoryUnit) == 1) {
return max_memory as nextflow.util.MemoryUnit
}
else {
return to_compare
}
} catch (all) {
println "Error processing memory resources. Please check that process.maxMemory '${process.maxMemory}' and process.maxRetries '${process.maxRetries}' are valid!"
System.exit(1)
}
}

View File

@@ -52,6 +52,9 @@ resources:
path: "main.nf"
is_executable: true
entrypoint: "run_wf"
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
description: "Demultiplexing on well level"
test_resources:
- type: "nextflow_script"
@@ -137,6 +140,8 @@ runners:
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
@@ -151,20 +156,22 @@ build_info:
output: "target/nextflow/workflows/well_demultiplex"
executable: "target/nextflow/workflows/well_demultiplex/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "bdd7091d5b5982b84103a43fece50c608810e0aa"
git_commit: "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf"
git_remote: "https://github.com/viash-hub/htrnaseq"
dependencies:
- "target/dependencies/vsh/vsh/biobox/v0.1.0/nextflow/cutadapt"
package_config:
name: "htrnaseq"
version: "main_pipeline"
description: "Demultiplexing pipeline [WIP]\n"
description: "High-throughput pipeline [WIP]\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -2845,6 +2845,11 @@ meta = [
"path" : "main.nf",
"is_executable" : true,
"entrypoint" : "run_wf"
},
{
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
}
],
"description" : "Demultiplexing on well level",
@@ -2947,7 +2952,10 @@ meta = [
"cpu200" : "cpus = 200",
"cpu500" : "cpus = 500",
"cpu1000" : "cpus = 1000"
}
},
"script" : [
"includeConfig(\\"nextflow_labels.config\\")"
]
},
"debug" : false,
"container" : "docker"
@@ -2969,18 +2977,18 @@ meta = [
"engine" : "native|native",
"output" : "target/nextflow/workflows/well_demultiplex",
"viash_version" : "0.9.0-RC6",
"git_commit" : "bdd7091d5b5982b84103a43fece50c608810e0aa",
"git_commit" : "c918fed99aca1cacf3b2c02ca13c2f0af5ecf3bf",
"git_remote" : "https://github.com/viash-hub/htrnaseq"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "main_pipeline",
"description" : "Demultiplexing pipeline [WIP]\n",
"description" : "High-throughput pipeline [WIP]\n",
"viash_version" : "0.9.0-RC6",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main_pipeline'"

View File

@@ -122,4 +122,4 @@ process{
withLabel: cpu1000 { cpus = 1000 }
}
includeConfig("nextflow_labels.config")

View File

@@ -0,0 +1,43 @@
process {
// Default resources for components that hardly do any processing
memory = { 2.GB * task.attempt }
cpus = 1
// Retry for exit codes that have something to do with memory issues
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
maxRetries = 3
maxMemory = null
// Resource labels
withLabel: singlecpu { cpus = 1 }
withLabel: lowcpu { cpus = 4 }
withLabel: midcpu { cpus = 10 }
withLabel: highcpu { cpus = 20 }
withLabel: lowmem { memory = { get_memory( 4.GB * task.attempt ) } }
withLabel: midmem { memory = { get_memory( 25.GB * task.attempt ) } }
withLabel: highmem { memory = { get_memory( 50.GB * task.attempt ) } }
withLabel: veryhighmem { memory = { get_memory( 75.GB * task.attempt ) } }
}
def get_memory(to_compare) {
if (!process.containsKey("maxMemory") || !process.maxMemory) {
return to_compare
}
try {
if (process.containsKey("maxRetries") && process.maxRetries && task.attempt == (process.maxRetries as int)) {
return process.maxMemory
}
else if (to_compare.compareTo(process.maxMemory as nextflow.util.MemoryUnit) == 1) {
return max_memory as nextflow.util.MemoryUnit
}
else {
return to_compare
}
} catch (all) {
println "Error processing memory resources. Please check that process.maxMemory '${process.maxMemory}' and process.maxRetries '${process.maxRetries}' are valid!"
System.exit(1)
}
}