Build branch main with version main (cb9b328)

Build pipeline: viash-hub.rnaseq.main-mf5kg

Source commit: cb9b328834

Source message: Update pointers to biobox and craftbox
This commit is contained in:
CI
2024-09-13 11:32:59 +00:00
parent 1ebb61f1e8
commit 92b5a42360
284 changed files with 1310 additions and 29225 deletions

View File

@@ -177,9 +177,9 @@ repositories:
- name: biobox
type: vsh
repo: vsh/biobox
# tag: v0.1
tag: v0.2.0
runners:
- type: executable
- type: nextflow
- type: nextflow

View File

@@ -159,8 +159,8 @@ repositories:
- name: biobox
type: vsh
repo: vsh/biobox
tag: v0.1
tag: v0.2.0
runners:
- type: executable
- type: nextflow
- type: nextflow

View File

@@ -271,7 +271,7 @@ repositories:
- name: biobox
type: vsh
repo: vsh/biobox
tag: v0.1
tag: v0.2.0
runners:
- type: executable

View File

@@ -168,11 +168,11 @@ repositories:
- name: biobox
type: vsh
repo: biobox
tag: main
tag: v0.2.0
- name: craftbox
type: vsh
repo: craftbox
tag: main
tag: v0.1.0
runners:
- type: executable

View File

@@ -87,8 +87,8 @@ repositories:
- name: biobox
type: vsh
repo: vsh/biobox
tag: v0.1
tag: v0.2.0
runners:
- type: executable
- type: nextflow
- type: nextflow

View File

@@ -656,9 +656,9 @@ repositories:
- name: biobox
type: vsh
repo: vsh/biobox
tag: v0.1
tag: v0.2.0
runners:
- type: executable
- type: nextflow
- type: nextflow

View File

@@ -1,125 +0,0 @@
manifest {
name = 'salmon/salmon_quant'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
description = 'Salmon is a tool for wicked-fast transcript quantification from RNA-seq data. It can either make use of pre-computed alignments (in the form of a SAM/BAM file) to the transcripts rather than the raw reads, or can be run in the mapping-based mode. \n'
}
process.container = 'nextflow/bash:latest'
// detect tempdir
tempDir = java.nio.file.Paths.get(
System.getenv('NXF_TEMP') ?:
System.getenv('VIASH_TEMP') ?:
System.getenv('TEMPDIR') ?:
System.getenv('TMPDIR') ?:
'/tmp'
).toAbsolutePath()
profiles {
no_publish {
process {
withName: '.*' {
publishDir = [
enabled: false
]
}
}
}
mount_temp {
docker.temp = tempDir
podman.temp = tempDir
charliecloud.temp = tempDir
}
docker {
docker.enabled = true
// docker.userEmulation = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
podman {
podman.enabled = true
docker.enabled = false
singularity.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
shifter {
shifter.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
charliecloud.enabled = false
}
charliecloud {
charliecloud.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
}
}
process{
withLabel: mem1gb { memory = 1000000000.B }
withLabel: mem2gb { memory = 2000000000.B }
withLabel: mem5gb { memory = 5000000000.B }
withLabel: mem10gb { memory = 10000000000.B }
withLabel: mem20gb { memory = 20000000000.B }
withLabel: mem50gb { memory = 50000000000.B }
withLabel: mem100gb { memory = 100000000000.B }
withLabel: mem200gb { memory = 200000000000.B }
withLabel: mem500gb { memory = 500000000000.B }
withLabel: mem1tb { memory = 1000000000000.B }
withLabel: mem2tb { memory = 2000000000000.B }
withLabel: mem5tb { memory = 5000000000000.B }
withLabel: mem10tb { memory = 10000000000000.B }
withLabel: mem20tb { memory = 20000000000000.B }
withLabel: mem50tb { memory = 50000000000000.B }
withLabel: mem100tb { memory = 100000000000000.B }
withLabel: mem200tb { memory = 200000000000000.B }
withLabel: mem500tb { memory = 500000000000000.B }
withLabel: mem1gib { memory = 1073741824.B }
withLabel: mem2gib { memory = 2147483648.B }
withLabel: mem4gib { memory = 4294967296.B }
withLabel: mem8gib { memory = 8589934592.B }
withLabel: mem16gib { memory = 17179869184.B }
withLabel: mem32gib { memory = 34359738368.B }
withLabel: mem64gib { memory = 68719476736.B }
withLabel: mem128gib { memory = 137438953472.B }
withLabel: mem256gib { memory = 274877906944.B }
withLabel: mem512gib { memory = 549755813888.B }
withLabel: mem1tib { memory = 1099511627776.B }
withLabel: mem2tib { memory = 2199023255552.B }
withLabel: mem4tib { memory = 4398046511104.B }
withLabel: mem8tib { memory = 8796093022208.B }
withLabel: mem16tib { memory = 17592186044416.B }
withLabel: mem32tib { memory = 35184372088832.B }
withLabel: mem64tib { memory = 70368744177664.B }
withLabel: mem128tib { memory = 140737488355328.B }
withLabel: mem256tib { memory = 281474976710656.B }
withLabel: mem512tib { memory = 562949953421312.B }
withLabel: cpu1 { cpus = 1 }
withLabel: cpu2 { cpus = 2 }
withLabel: cpu5 { cpus = 5 }
withLabel: cpu10 { cpus = 10 }
withLabel: cpu20 { cpus = 20 }
withLabel: cpu50 { cpus = 50 }
withLabel: cpu100 { cpus = 100 }
withLabel: cpu200 { cpus = 200 }
withLabel: cpu500 { cpus = 500 }
withLabel: cpu1000 { cpus = 1000 }
}

View File

@@ -1,185 +0,0 @@
name: "samtools_flagstat"
namespace: "samtools"
version: "v0.1.0"
argument_groups:
- name: "Inputs"
arguments:
- type: "file"
name: "--bam"
description: "BAM input files.\n"
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--bai"
description: "BAM index file.\n"
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Outputs"
arguments:
- type: "file"
name: "--output"
description: "File containing samtools stats output.\n"
info: null
example:
- "output.flagstat"
must_exist: true
create_parent: true
required: true
direction: "output"
multiple: false
multiple_sep: ";"
resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
description: "Counts the number of alignments in SAM/BAM/CRAM files for each FLAG\
\ type."
test_resources:
- type: "bash_script"
path: "test.sh"
is_executable: true
- type: "file"
path: "test_data"
info: null
status: "enabled"
requirements:
commands:
- "ps"
keywords:
- "stats"
- "mapping"
- "counts"
- "bam"
- "sam"
- "cram"
license: "MIT/Expat"
references:
doi:
- "10.1093/bioinformatics/btp352"
- "10.1093/gigascience/giab008"
links:
repository: "https://github.com/samtools/samtools"
homepage: "https://www.htslib.org/"
documentation: "https://www.htslib.org/doc/samtools-flagstat.html"
runners:
- type: "executable"
id: "executable"
docker_setup_strategy: "ifneedbepullelsecachedbuild"
- type: "nextflow"
id: "nextflow"
directives:
tag: "$id"
auto:
simplifyInput: true
simplifyOutput: false
transcript: false
publish: false
config:
labels:
mem1gb: "memory = 1000000000.B"
mem2gb: "memory = 2000000000.B"
mem5gb: "memory = 5000000000.B"
mem10gb: "memory = 10000000000.B"
mem20gb: "memory = 20000000000.B"
mem50gb: "memory = 50000000000.B"
mem100gb: "memory = 100000000000.B"
mem200gb: "memory = 200000000000.B"
mem500gb: "memory = 500000000000.B"
mem1tb: "memory = 1000000000000.B"
mem2tb: "memory = 2000000000000.B"
mem5tb: "memory = 5000000000000.B"
mem10tb: "memory = 10000000000000.B"
mem20tb: "memory = 20000000000000.B"
mem50tb: "memory = 50000000000000.B"
mem100tb: "memory = 100000000000000.B"
mem200tb: "memory = 200000000000000.B"
mem500tb: "memory = 500000000000000.B"
mem1gib: "memory = 1073741824.B"
mem2gib: "memory = 2147483648.B"
mem4gib: "memory = 4294967296.B"
mem8gib: "memory = 8589934592.B"
mem16gib: "memory = 17179869184.B"
mem32gib: "memory = 34359738368.B"
mem64gib: "memory = 68719476736.B"
mem128gib: "memory = 137438953472.B"
mem256gib: "memory = 274877906944.B"
mem512gib: "memory = 549755813888.B"
mem1tib: "memory = 1099511627776.B"
mem2tib: "memory = 2199023255552.B"
mem4tib: "memory = 4398046511104.B"
mem8tib: "memory = 8796093022208.B"
mem16tib: "memory = 17592186044416.B"
mem32tib: "memory = 35184372088832.B"
mem64tib: "memory = 70368744177664.B"
mem128tib: "memory = 140737488355328.B"
mem256tib: "memory = 281474976710656.B"
mem512tib: "memory = 562949953421312.B"
cpu1: "cpus = 1"
cpu2: "cpus = 2"
cpu5: "cpus = 5"
cpu10: "cpus = 10"
cpu20: "cpus = 20"
cpu50: "cpus = 50"
cpu100: "cpus = 100"
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
debug: false
container: "docker"
engines:
- type: "docker"
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
namespace_separator: "/"
setup:
- type: "docker"
run:
- "samtools --version 2>&1 | grep -E '^(samtools|Using htslib)' | \\\nsed 's#Using\
\ ##;s# \\([0-9\\.]*\\)$#: \\1#' > /var/software_versions.txt\n"
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/samtools/samtools_flagstat/config.vsh.yaml"
runner: "nextflow"
engine: "docker|native"
output: "target/nextflow/samtools/samtools_flagstat"
executable: "target/nextflow/samtools/samtools_flagstat/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "b84b29747d0635f2ac83ea63b496be9a9edb6724"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "v0.1.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
keywords:
- "bioinformatics"
- "modules"
- "sequencing"
license: "MIT"
organization: "vsh"
links:
repository: "https://github.com/viash-hub/biobox"
issue_tracker: "https://github.com/viash-hub/biobox/issues"

View File

@@ -1,125 +0,0 @@
manifest {
name = 'samtools/samtools_flagstat'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
description = 'Counts the number of alignments in SAM/BAM/CRAM files for each FLAG type.'
}
process.container = 'nextflow/bash:latest'
// detect tempdir
tempDir = java.nio.file.Paths.get(
System.getenv('NXF_TEMP') ?:
System.getenv('VIASH_TEMP') ?:
System.getenv('TEMPDIR') ?:
System.getenv('TMPDIR') ?:
'/tmp'
).toAbsolutePath()
profiles {
no_publish {
process {
withName: '.*' {
publishDir = [
enabled: false
]
}
}
}
mount_temp {
docker.temp = tempDir
podman.temp = tempDir
charliecloud.temp = tempDir
}
docker {
docker.enabled = true
// docker.userEmulation = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
podman {
podman.enabled = true
docker.enabled = false
singularity.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
shifter {
shifter.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
charliecloud.enabled = false
}
charliecloud {
charliecloud.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
}
}
process{
withLabel: mem1gb { memory = 1000000000.B }
withLabel: mem2gb { memory = 2000000000.B }
withLabel: mem5gb { memory = 5000000000.B }
withLabel: mem10gb { memory = 10000000000.B }
withLabel: mem20gb { memory = 20000000000.B }
withLabel: mem50gb { memory = 50000000000.B }
withLabel: mem100gb { memory = 100000000000.B }
withLabel: mem200gb { memory = 200000000000.B }
withLabel: mem500gb { memory = 500000000000.B }
withLabel: mem1tb { memory = 1000000000000.B }
withLabel: mem2tb { memory = 2000000000000.B }
withLabel: mem5tb { memory = 5000000000000.B }
withLabel: mem10tb { memory = 10000000000000.B }
withLabel: mem20tb { memory = 20000000000000.B }
withLabel: mem50tb { memory = 50000000000000.B }
withLabel: mem100tb { memory = 100000000000000.B }
withLabel: mem200tb { memory = 200000000000000.B }
withLabel: mem500tb { memory = 500000000000000.B }
withLabel: mem1gib { memory = 1073741824.B }
withLabel: mem2gib { memory = 2147483648.B }
withLabel: mem4gib { memory = 4294967296.B }
withLabel: mem8gib { memory = 8589934592.B }
withLabel: mem16gib { memory = 17179869184.B }
withLabel: mem32gib { memory = 34359738368.B }
withLabel: mem64gib { memory = 68719476736.B }
withLabel: mem128gib { memory = 137438953472.B }
withLabel: mem256gib { memory = 274877906944.B }
withLabel: mem512gib { memory = 549755813888.B }
withLabel: mem1tib { memory = 1099511627776.B }
withLabel: mem2tib { memory = 2199023255552.B }
withLabel: mem4tib { memory = 4398046511104.B }
withLabel: mem8tib { memory = 8796093022208.B }
withLabel: mem16tib { memory = 17592186044416.B }
withLabel: mem32tib { memory = 35184372088832.B }
withLabel: mem64tib { memory = 70368744177664.B }
withLabel: mem128tib { memory = 140737488355328.B }
withLabel: mem256tib { memory = 281474976710656.B }
withLabel: mem512tib { memory = 562949953421312.B }
withLabel: cpu1 { cpus = 1 }
withLabel: cpu2 { cpus = 2 }
withLabel: cpu5 { cpus = 5 }
withLabel: cpu10 { cpus = 10 }
withLabel: cpu20 { cpus = 20 }
withLabel: cpu50 { cpus = 50 }
withLabel: cpu100 { cpus = 100 }
withLabel: cpu200 { cpus = 200 }
withLabel: cpu500 { cpus = 500 }
withLabel: cpu1000 { cpus = 1000 }
}

View File

@@ -1,105 +0,0 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "samtools_flagstat",
"description": "Counts the number of alignments in SAM/BAM/CRAM files for each FLAG type.",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"bam": {
"type":
"string",
"description": "Type: `file`. BAM input files",
"help_text": "Type: `file`. BAM input files.\n"
}
,
"bai": {
"type":
"string",
"description": "Type: `file`. BAM index file",
"help_text": "Type: `file`. BAM index file.\n"
}
}
},
"outputs" : {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output.flagstat`, example: `output.flagstat`. File containing samtools stats output",
"help_text": "Type: `file`, required, default: `$id.$key.output.flagstat`, example: `output.flagstat`. File containing samtools stats output.\n"
,
"default": "$id.$key.output.flagstat"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/inputs"
},
{
"$ref": "#/definitions/outputs"
},
{
"$ref": "#/definitions/nextflow input-output arguments"
}
]
}

View File

@@ -1,195 +0,0 @@
name: "samtools_idxstats"
namespace: "samtools"
version: "v0.1.0"
argument_groups:
- name: "Inputs"
arguments:
- type: "file"
name: "--bam"
description: "BAM input file."
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--bai"
description: "BAM index file."
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--fasta"
description: "Reference file the CRAM was created with (optional)."
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Outputs"
arguments:
- type: "file"
name: "--output"
description: "File containing samtools stats output in tab-delimited format.\n"
info: null
example:
- "output.idxstats"
must_exist: true
create_parent: true
required: true
direction: "output"
multiple: false
multiple_sep: ";"
resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
description: "Reports alignment summary statistics for a BAM file."
test_resources:
- type: "bash_script"
path: "test.sh"
is_executable: true
- type: "file"
path: "test_data"
info: null
status: "enabled"
requirements:
commands:
- "ps"
keywords:
- "stats"
- "mapping"
- "counts"
- "chromosome"
- "bam"
- "sam"
- "cram"
license: "MIT/Expat"
references:
doi:
- "10.1093/bioinformatics/btp352"
- "10.1093/gigascience/giab008"
links:
repository: "https://github.com/samtools/samtools"
homepage: "https://www.htslib.org/"
documentation: "https://www.htslib.org/doc/samtools-idxstats.html"
runners:
- type: "executable"
id: "executable"
docker_setup_strategy: "ifneedbepullelsecachedbuild"
- type: "nextflow"
id: "nextflow"
directives:
tag: "$id"
auto:
simplifyInput: true
simplifyOutput: false
transcript: false
publish: false
config:
labels:
mem1gb: "memory = 1000000000.B"
mem2gb: "memory = 2000000000.B"
mem5gb: "memory = 5000000000.B"
mem10gb: "memory = 10000000000.B"
mem20gb: "memory = 20000000000.B"
mem50gb: "memory = 50000000000.B"
mem100gb: "memory = 100000000000.B"
mem200gb: "memory = 200000000000.B"
mem500gb: "memory = 500000000000.B"
mem1tb: "memory = 1000000000000.B"
mem2tb: "memory = 2000000000000.B"
mem5tb: "memory = 5000000000000.B"
mem10tb: "memory = 10000000000000.B"
mem20tb: "memory = 20000000000000.B"
mem50tb: "memory = 50000000000000.B"
mem100tb: "memory = 100000000000000.B"
mem200tb: "memory = 200000000000000.B"
mem500tb: "memory = 500000000000000.B"
mem1gib: "memory = 1073741824.B"
mem2gib: "memory = 2147483648.B"
mem4gib: "memory = 4294967296.B"
mem8gib: "memory = 8589934592.B"
mem16gib: "memory = 17179869184.B"
mem32gib: "memory = 34359738368.B"
mem64gib: "memory = 68719476736.B"
mem128gib: "memory = 137438953472.B"
mem256gib: "memory = 274877906944.B"
mem512gib: "memory = 549755813888.B"
mem1tib: "memory = 1099511627776.B"
mem2tib: "memory = 2199023255552.B"
mem4tib: "memory = 4398046511104.B"
mem8tib: "memory = 8796093022208.B"
mem16tib: "memory = 17592186044416.B"
mem32tib: "memory = 35184372088832.B"
mem64tib: "memory = 70368744177664.B"
mem128tib: "memory = 140737488355328.B"
mem256tib: "memory = 281474976710656.B"
mem512tib: "memory = 562949953421312.B"
cpu1: "cpus = 1"
cpu2: "cpus = 2"
cpu5: "cpus = 5"
cpu10: "cpus = 10"
cpu20: "cpus = 20"
cpu50: "cpus = 50"
cpu100: "cpus = 100"
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
debug: false
container: "docker"
engines:
- type: "docker"
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
namespace_separator: "/"
setup:
- type: "docker"
run:
- "samtools --version 2>&1 | grep -E '^(samtools|Using htslib)' | \\\nsed 's#Using\
\ ##;s# \\([0-9\\.]*\\)$#: \\1#' > /var/software_versions.txt\n"
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/samtools/samtools_idxstats/config.vsh.yaml"
runner: "nextflow"
engine: "docker|native"
output: "target/nextflow/samtools/samtools_idxstats"
executable: "target/nextflow/samtools/samtools_idxstats/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "b84b29747d0635f2ac83ea63b496be9a9edb6724"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "v0.1.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
keywords:
- "bioinformatics"
- "modules"
- "sequencing"
license: "MIT"
organization: "vsh"
links:
repository: "https://github.com/viash-hub/biobox"
issue_tracker: "https://github.com/viash-hub/biobox/issues"

View File

@@ -1,125 +0,0 @@
manifest {
name = 'samtools/samtools_idxstats'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
description = 'Reports alignment summary statistics for a BAM file.'
}
process.container = 'nextflow/bash:latest'
// detect tempdir
tempDir = java.nio.file.Paths.get(
System.getenv('NXF_TEMP') ?:
System.getenv('VIASH_TEMP') ?:
System.getenv('TEMPDIR') ?:
System.getenv('TMPDIR') ?:
'/tmp'
).toAbsolutePath()
profiles {
no_publish {
process {
withName: '.*' {
publishDir = [
enabled: false
]
}
}
}
mount_temp {
docker.temp = tempDir
podman.temp = tempDir
charliecloud.temp = tempDir
}
docker {
docker.enabled = true
// docker.userEmulation = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
podman {
podman.enabled = true
docker.enabled = false
singularity.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
shifter {
shifter.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
charliecloud.enabled = false
}
charliecloud {
charliecloud.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
}
}
process{
withLabel: mem1gb { memory = 1000000000.B }
withLabel: mem2gb { memory = 2000000000.B }
withLabel: mem5gb { memory = 5000000000.B }
withLabel: mem10gb { memory = 10000000000.B }
withLabel: mem20gb { memory = 20000000000.B }
withLabel: mem50gb { memory = 50000000000.B }
withLabel: mem100gb { memory = 100000000000.B }
withLabel: mem200gb { memory = 200000000000.B }
withLabel: mem500gb { memory = 500000000000.B }
withLabel: mem1tb { memory = 1000000000000.B }
withLabel: mem2tb { memory = 2000000000000.B }
withLabel: mem5tb { memory = 5000000000000.B }
withLabel: mem10tb { memory = 10000000000000.B }
withLabel: mem20tb { memory = 20000000000000.B }
withLabel: mem50tb { memory = 50000000000000.B }
withLabel: mem100tb { memory = 100000000000000.B }
withLabel: mem200tb { memory = 200000000000000.B }
withLabel: mem500tb { memory = 500000000000000.B }
withLabel: mem1gib { memory = 1073741824.B }
withLabel: mem2gib { memory = 2147483648.B }
withLabel: mem4gib { memory = 4294967296.B }
withLabel: mem8gib { memory = 8589934592.B }
withLabel: mem16gib { memory = 17179869184.B }
withLabel: mem32gib { memory = 34359738368.B }
withLabel: mem64gib { memory = 68719476736.B }
withLabel: mem128gib { memory = 137438953472.B }
withLabel: mem256gib { memory = 274877906944.B }
withLabel: mem512gib { memory = 549755813888.B }
withLabel: mem1tib { memory = 1099511627776.B }
withLabel: mem2tib { memory = 2199023255552.B }
withLabel: mem4tib { memory = 4398046511104.B }
withLabel: mem8tib { memory = 8796093022208.B }
withLabel: mem16tib { memory = 17592186044416.B }
withLabel: mem32tib { memory = 35184372088832.B }
withLabel: mem64tib { memory = 70368744177664.B }
withLabel: mem128tib { memory = 140737488355328.B }
withLabel: mem256tib { memory = 281474976710656.B }
withLabel: mem512tib { memory = 562949953421312.B }
withLabel: cpu1 { cpus = 1 }
withLabel: cpu2 { cpus = 2 }
withLabel: cpu5 { cpus = 5 }
withLabel: cpu10 { cpus = 10 }
withLabel: cpu20 { cpus = 20 }
withLabel: cpu50 { cpus = 50 }
withLabel: cpu100 { cpus = 100 }
withLabel: cpu200 { cpus = 200 }
withLabel: cpu500 { cpus = 500 }
withLabel: cpu1000 { cpus = 1000 }
}

View File

@@ -1,115 +0,0 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "samtools_idxstats",
"description": "Reports alignment summary statistics for a BAM file.",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"bam": {
"type":
"string",
"description": "Type: `file`. BAM input file",
"help_text": "Type: `file`. BAM input file."
}
,
"bai": {
"type":
"string",
"description": "Type: `file`. BAM index file",
"help_text": "Type: `file`. BAM index file."
}
,
"fasta": {
"type":
"string",
"description": "Type: `file`. Reference file the CRAM was created with (optional)",
"help_text": "Type: `file`. Reference file the CRAM was created with (optional)."
}
}
},
"outputs" : {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output.idxstats`, example: `output.idxstats`. File containing samtools stats output in tab-delimited format",
"help_text": "Type: `file`, required, default: `$id.$key.output.idxstats`, example: `output.idxstats`. File containing samtools stats output in tab-delimited format.\n"
,
"default": "$id.$key.output.idxstats"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/inputs"
},
{
"$ref": "#/definitions/outputs"
},
{
"$ref": "#/definitions/nextflow input-output arguments"
}
]
}

View File

@@ -1,201 +0,0 @@
name: "samtools_index"
namespace: "samtools"
version: "v0.1.0"
argument_groups:
- name: "Inputs"
arguments:
- type: "file"
name: "--input"
description: "Input file name"
info: null
must_exist: true
create_parent: true
required: true
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Outputs"
arguments:
- type: "file"
name: "--output"
alternatives:
- "-o"
description: "Output file name"
info: null
example:
- "out.bam.bai"
must_exist: true
create_parent: true
required: true
direction: "output"
multiple: false
multiple_sep: ";"
- name: "Options"
arguments:
- type: "boolean_true"
name: "--bai"
alternatives:
- "-b"
description: "Generate BAM index"
info: null
direction: "input"
- type: "boolean_true"
name: "--csi"
alternatives:
- "-c"
description: "Create a CSI index for BAM files instead of the traditional BAI\
\ \nindex. This will be required for genomes with larger chromosome \nsizes.\n"
info: null
direction: "input"
- type: "integer"
name: "--min_shift"
alternatives:
- "-m"
description: "Create a CSI index, with a minimum interval size of 2^INT.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
description: "Index SAM/BAM/CRAM files."
test_resources:
- type: "bash_script"
path: "test.sh"
is_executable: true
- type: "file"
path: "test_data"
info: null
status: "enabled"
requirements:
commands:
- "ps"
keywords:
- "index"
- "bam"
- "sam"
- "cram"
license: "MIT/Expat"
references:
doi:
- "10.1093/bioinformatics/btp352"
- "10.1093/gigascience/giab008"
links:
repository: "https://github.com/samtools/samtools"
homepage: "https://www.htslib.org/"
documentation: "https://www.htslib.org/doc/samtools-index.html"
runners:
- type: "executable"
id: "executable"
docker_setup_strategy: "ifneedbepullelsecachedbuild"
- type: "nextflow"
id: "nextflow"
directives:
tag: "$id"
auto:
simplifyInput: true
simplifyOutput: false
transcript: false
publish: false
config:
labels:
mem1gb: "memory = 1000000000.B"
mem2gb: "memory = 2000000000.B"
mem5gb: "memory = 5000000000.B"
mem10gb: "memory = 10000000000.B"
mem20gb: "memory = 20000000000.B"
mem50gb: "memory = 50000000000.B"
mem100gb: "memory = 100000000000.B"
mem200gb: "memory = 200000000000.B"
mem500gb: "memory = 500000000000.B"
mem1tb: "memory = 1000000000000.B"
mem2tb: "memory = 2000000000000.B"
mem5tb: "memory = 5000000000000.B"
mem10tb: "memory = 10000000000000.B"
mem20tb: "memory = 20000000000000.B"
mem50tb: "memory = 50000000000000.B"
mem100tb: "memory = 100000000000000.B"
mem200tb: "memory = 200000000000000.B"
mem500tb: "memory = 500000000000000.B"
mem1gib: "memory = 1073741824.B"
mem2gib: "memory = 2147483648.B"
mem4gib: "memory = 4294967296.B"
mem8gib: "memory = 8589934592.B"
mem16gib: "memory = 17179869184.B"
mem32gib: "memory = 34359738368.B"
mem64gib: "memory = 68719476736.B"
mem128gib: "memory = 137438953472.B"
mem256gib: "memory = 274877906944.B"
mem512gib: "memory = 549755813888.B"
mem1tib: "memory = 1099511627776.B"
mem2tib: "memory = 2199023255552.B"
mem4tib: "memory = 4398046511104.B"
mem8tib: "memory = 8796093022208.B"
mem16tib: "memory = 17592186044416.B"
mem32tib: "memory = 35184372088832.B"
mem64tib: "memory = 70368744177664.B"
mem128tib: "memory = 140737488355328.B"
mem256tib: "memory = 281474976710656.B"
mem512tib: "memory = 562949953421312.B"
cpu1: "cpus = 1"
cpu2: "cpus = 2"
cpu5: "cpus = 5"
cpu10: "cpus = 10"
cpu20: "cpus = 20"
cpu50: "cpus = 50"
cpu100: "cpus = 100"
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
debug: false
container: "docker"
engines:
- type: "docker"
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
namespace_separator: "/"
setup:
- type: "docker"
run:
- "samtools --version 2>&1 | grep -E '^(samtools|Using htslib)' | \\\nsed 's#Using\
\ ##;s# \\([0-9\\.]*\\)$#: \\1#' > /var/software_versions.txt\n"
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/samtools/samtools_index/config.vsh.yaml"
runner: "nextflow"
engine: "docker|native"
output: "target/nextflow/samtools/samtools_index"
executable: "target/nextflow/samtools/samtools_index/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "b84b29747d0635f2ac83ea63b496be9a9edb6724"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "v0.1.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
keywords:
- "bioinformatics"
- "modules"
- "sequencing"
license: "MIT"
organization: "vsh"
links:
repository: "https://github.com/viash-hub/biobox"
issue_tracker: "https://github.com/viash-hub/biobox/issues"

View File

@@ -1,125 +0,0 @@
manifest {
name = 'samtools/samtools_index'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
description = 'Index SAM/BAM/CRAM files.'
}
process.container = 'nextflow/bash:latest'
// detect tempdir
tempDir = java.nio.file.Paths.get(
System.getenv('NXF_TEMP') ?:
System.getenv('VIASH_TEMP') ?:
System.getenv('TEMPDIR') ?:
System.getenv('TMPDIR') ?:
'/tmp'
).toAbsolutePath()
profiles {
no_publish {
process {
withName: '.*' {
publishDir = [
enabled: false
]
}
}
}
mount_temp {
docker.temp = tempDir
podman.temp = tempDir
charliecloud.temp = tempDir
}
docker {
docker.enabled = true
// docker.userEmulation = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
podman {
podman.enabled = true
docker.enabled = false
singularity.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
shifter {
shifter.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
charliecloud.enabled = false
}
charliecloud {
charliecloud.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
}
}
process{
withLabel: mem1gb { memory = 1000000000.B }
withLabel: mem2gb { memory = 2000000000.B }
withLabel: mem5gb { memory = 5000000000.B }
withLabel: mem10gb { memory = 10000000000.B }
withLabel: mem20gb { memory = 20000000000.B }
withLabel: mem50gb { memory = 50000000000.B }
withLabel: mem100gb { memory = 100000000000.B }
withLabel: mem200gb { memory = 200000000000.B }
withLabel: mem500gb { memory = 500000000000.B }
withLabel: mem1tb { memory = 1000000000000.B }
withLabel: mem2tb { memory = 2000000000000.B }
withLabel: mem5tb { memory = 5000000000000.B }
withLabel: mem10tb { memory = 10000000000000.B }
withLabel: mem20tb { memory = 20000000000000.B }
withLabel: mem50tb { memory = 50000000000000.B }
withLabel: mem100tb { memory = 100000000000000.B }
withLabel: mem200tb { memory = 200000000000000.B }
withLabel: mem500tb { memory = 500000000000000.B }
withLabel: mem1gib { memory = 1073741824.B }
withLabel: mem2gib { memory = 2147483648.B }
withLabel: mem4gib { memory = 4294967296.B }
withLabel: mem8gib { memory = 8589934592.B }
withLabel: mem16gib { memory = 17179869184.B }
withLabel: mem32gib { memory = 34359738368.B }
withLabel: mem64gib { memory = 68719476736.B }
withLabel: mem128gib { memory = 137438953472.B }
withLabel: mem256gib { memory = 274877906944.B }
withLabel: mem512gib { memory = 549755813888.B }
withLabel: mem1tib { memory = 1099511627776.B }
withLabel: mem2tib { memory = 2199023255552.B }
withLabel: mem4tib { memory = 4398046511104.B }
withLabel: mem8tib { memory = 8796093022208.B }
withLabel: mem16tib { memory = 17592186044416.B }
withLabel: mem32tib { memory = 35184372088832.B }
withLabel: mem64tib { memory = 70368744177664.B }
withLabel: mem128tib { memory = 140737488355328.B }
withLabel: mem256tib { memory = 281474976710656.B }
withLabel: mem512tib { memory = 562949953421312.B }
withLabel: cpu1 { cpus = 1 }
withLabel: cpu2 { cpus = 2 }
withLabel: cpu5 { cpus = 5 }
withLabel: cpu10 { cpus = 10 }
withLabel: cpu20 { cpus = 20 }
withLabel: cpu50 { cpus = 50 }
withLabel: cpu100 { cpus = 100 }
withLabel: cpu200 { cpus = 200 }
withLabel: cpu500 { cpus = 500 }
withLabel: cpu1000 { cpus = 1000 }
}

View File

@@ -1,141 +0,0 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "samtools_index",
"description": "Index SAM/BAM/CRAM files.",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: `file`, required. Input file name",
"help_text": "Type: `file`, required. Input file name"
}
}
},
"outputs" : {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output.bai`, example: `out.bam.bai`. Output file name",
"help_text": "Type: `file`, required, default: `$id.$key.output.bai`, example: `out.bam.bai`. Output file name"
,
"default": "$id.$key.output.bai"
}
}
},
"options" : {
"title": "Options",
"type": "object",
"description": "No description",
"properties": {
"bai": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Generate BAM index",
"help_text": "Type: `boolean_true`, default: `false`. Generate BAM index"
,
"default": "False"
}
,
"csi": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Create a CSI index for BAM files instead of the traditional BAI \nindex",
"help_text": "Type: `boolean_true`, default: `false`. Create a CSI index for BAM files instead of the traditional BAI \nindex. This will be required for genomes with larger chromosome \nsizes.\n"
,
"default": "False"
}
,
"min_shift": {
"type":
"integer",
"description": "Type: `integer`. Create a CSI index, with a minimum interval size of 2^INT",
"help_text": "Type: `integer`. Create a CSI index, with a minimum interval size of 2^INT.\n"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/inputs"
},
{
"$ref": "#/definitions/outputs"
},
{
"$ref": "#/definitions/options"
},
{
"$ref": "#/definitions/nextflow input-output arguments"
}
]
}

View File

@@ -1,344 +0,0 @@
name: "samtools_sort"
namespace: "samtools"
version: "v0.1.0"
argument_groups:
- name: "Inputs"
arguments:
- type: "file"
name: "--input"
description: "SAM/BAM/CRAM input file."
info: null
must_exist: true
create_parent: true
required: true
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Outputs"
arguments:
- type: "file"
name: "--output"
description: "Write final output to file.\n"
info: null
example:
- "out.bam"
must_exist: true
create_parent: true
required: true
direction: "output"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--output_fmt"
alternatives:
- "-O"
description: "Specify output format (SAM, BAM, CRAM).\n"
info: null
example:
- "BAM"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--output_fmt_option"
description: "Specify a single output file format option in the form\nof OPTION\
\ or OPTION=VALUE.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--reference"
description: "Reference sequence FASTA FILE.\n"
info: null
example:
- "ref.fa"
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--write_index"
description: "Automatically index the output files.\n"
info: null
direction: "input"
- type: "string"
name: "--prefix"
alternatives:
- "-T"
description: "Write temporary files to PREFIX.nnnn.bam.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--no_PG"
description: "Do not add a PG line.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--template_coordinate"
description: "Sort by template-coordinate.\n"
info: null
direction: "input"
- type: "string"
name: "--input_fmt_option"
description: "Specify a single input file format option in the form\nof OPTION\
\ or OPTION=VALUE.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Options"
arguments:
- type: "integer"
name: "--compression"
alternatives:
- "-l"
description: "Set compression level, from 0 (uncompressed) to 9 (best).\n"
info: null
default:
- 0
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--uncompressed"
alternatives:
- "-u"
description: "Output uncompressed data (equivalent to --compression 0).\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--minimiser"
alternatives:
- "-M"
description: "Use minimiser for clustering unaligned/unplaced reads.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--not_reverse"
alternatives:
- "-R"
description: "Do not use reverse strand (only compatible with --minimiser)\n"
info: null
direction: "input"
- type: "integer"
name: "--kmer_size"
alternatives:
- "-K"
description: "Kmer size to use for minimiser.\n"
info: null
example:
- 20
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--order"
alternatives:
- "-I"
description: "Order minimisers by their position in FILE FASTA.\n"
info: null
example:
- "ref.fa"
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--window"
alternatives:
- "-w"
description: "Window size for minimiser INDEXING VIA --order REF.FA.\n"
info: null
example:
- 100
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--homopolymers"
alternatives:
- "-H"
description: "Squash homopolymers when computing minimiser.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--natural_sort"
alternatives:
- "-n"
description: "Sort by read name (natural): cannot be used with samtools index.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--ascii_sort"
alternatives:
- "-N"
description: "Sort by read name (ASCII): cannot be used with samtools index.\n"
info: null
direction: "input"
- type: "string"
name: "--tag"
alternatives:
- "-t"
description: "Sort by value of TAG. Uses position as secondary index \n(or read\
\ name if --natural_sort is set).\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
description: "Sort SAM/BAM/CRAM file."
test_resources:
- type: "bash_script"
path: "test.sh"
is_executable: true
- type: "file"
path: "test_data"
info: null
status: "enabled"
requirements:
commands:
- "ps"
keywords:
- "sort"
- "bam"
- "sam"
- "cram"
license: "MIT/Expat"
references:
doi:
- "10.1093/bioinformatics/btp352"
- "10.1093/gigascience/giab008"
links:
repository: "https://github.com/samtools/samtools"
homepage: "https://www.htslib.org/"
documentation: "https://www.htslib.org/doc/samtools-sort.html"
runners:
- type: "executable"
id: "executable"
docker_setup_strategy: "ifneedbepullelsecachedbuild"
- type: "nextflow"
id: "nextflow"
directives:
tag: "$id"
auto:
simplifyInput: true
simplifyOutput: false
transcript: false
publish: false
config:
labels:
mem1gb: "memory = 1000000000.B"
mem2gb: "memory = 2000000000.B"
mem5gb: "memory = 5000000000.B"
mem10gb: "memory = 10000000000.B"
mem20gb: "memory = 20000000000.B"
mem50gb: "memory = 50000000000.B"
mem100gb: "memory = 100000000000.B"
mem200gb: "memory = 200000000000.B"
mem500gb: "memory = 500000000000.B"
mem1tb: "memory = 1000000000000.B"
mem2tb: "memory = 2000000000000.B"
mem5tb: "memory = 5000000000000.B"
mem10tb: "memory = 10000000000000.B"
mem20tb: "memory = 20000000000000.B"
mem50tb: "memory = 50000000000000.B"
mem100tb: "memory = 100000000000000.B"
mem200tb: "memory = 200000000000000.B"
mem500tb: "memory = 500000000000000.B"
mem1gib: "memory = 1073741824.B"
mem2gib: "memory = 2147483648.B"
mem4gib: "memory = 4294967296.B"
mem8gib: "memory = 8589934592.B"
mem16gib: "memory = 17179869184.B"
mem32gib: "memory = 34359738368.B"
mem64gib: "memory = 68719476736.B"
mem128gib: "memory = 137438953472.B"
mem256gib: "memory = 274877906944.B"
mem512gib: "memory = 549755813888.B"
mem1tib: "memory = 1099511627776.B"
mem2tib: "memory = 2199023255552.B"
mem4tib: "memory = 4398046511104.B"
mem8tib: "memory = 8796093022208.B"
mem16tib: "memory = 17592186044416.B"
mem32tib: "memory = 35184372088832.B"
mem64tib: "memory = 70368744177664.B"
mem128tib: "memory = 140737488355328.B"
mem256tib: "memory = 281474976710656.B"
mem512tib: "memory = 562949953421312.B"
cpu1: "cpus = 1"
cpu2: "cpus = 2"
cpu5: "cpus = 5"
cpu10: "cpus = 10"
cpu20: "cpus = 20"
cpu50: "cpus = 50"
cpu100: "cpus = 100"
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
debug: false
container: "docker"
engines:
- type: "docker"
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
namespace_separator: "/"
setup:
- type: "docker"
run:
- "samtools --version 2>&1 | grep -E '^(samtools|Using htslib)' | \\\nsed 's#Using\
\ ##;s# \\([0-9\\.]*\\)$#: \\1#' > /var/software_versions.txt\n"
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/samtools/samtools_sort/config.vsh.yaml"
runner: "nextflow"
engine: "docker|native"
output: "target/nextflow/samtools/samtools_sort"
executable: "target/nextflow/samtools/samtools_sort/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "b84b29747d0635f2ac83ea63b496be9a9edb6724"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "v0.1.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
keywords:
- "bioinformatics"
- "modules"
- "sequencing"
license: "MIT"
organization: "vsh"
links:
repository: "https://github.com/viash-hub/biobox"
issue_tracker: "https://github.com/viash-hub/biobox/issues"

View File

@@ -1,125 +0,0 @@
manifest {
name = 'samtools/samtools_sort'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
description = 'Sort SAM/BAM/CRAM file.'
}
process.container = 'nextflow/bash:latest'
// detect tempdir
tempDir = java.nio.file.Paths.get(
System.getenv('NXF_TEMP') ?:
System.getenv('VIASH_TEMP') ?:
System.getenv('TEMPDIR') ?:
System.getenv('TMPDIR') ?:
'/tmp'
).toAbsolutePath()
profiles {
no_publish {
process {
withName: '.*' {
publishDir = [
enabled: false
]
}
}
}
mount_temp {
docker.temp = tempDir
podman.temp = tempDir
charliecloud.temp = tempDir
}
docker {
docker.enabled = true
// docker.userEmulation = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
podman {
podman.enabled = true
docker.enabled = false
singularity.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
shifter {
shifter.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
charliecloud.enabled = false
}
charliecloud {
charliecloud.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
}
}
process{
withLabel: mem1gb { memory = 1000000000.B }
withLabel: mem2gb { memory = 2000000000.B }
withLabel: mem5gb { memory = 5000000000.B }
withLabel: mem10gb { memory = 10000000000.B }
withLabel: mem20gb { memory = 20000000000.B }
withLabel: mem50gb { memory = 50000000000.B }
withLabel: mem100gb { memory = 100000000000.B }
withLabel: mem200gb { memory = 200000000000.B }
withLabel: mem500gb { memory = 500000000000.B }
withLabel: mem1tb { memory = 1000000000000.B }
withLabel: mem2tb { memory = 2000000000000.B }
withLabel: mem5tb { memory = 5000000000000.B }
withLabel: mem10tb { memory = 10000000000000.B }
withLabel: mem20tb { memory = 20000000000000.B }
withLabel: mem50tb { memory = 50000000000000.B }
withLabel: mem100tb { memory = 100000000000000.B }
withLabel: mem200tb { memory = 200000000000000.B }
withLabel: mem500tb { memory = 500000000000000.B }
withLabel: mem1gib { memory = 1073741824.B }
withLabel: mem2gib { memory = 2147483648.B }
withLabel: mem4gib { memory = 4294967296.B }
withLabel: mem8gib { memory = 8589934592.B }
withLabel: mem16gib { memory = 17179869184.B }
withLabel: mem32gib { memory = 34359738368.B }
withLabel: mem64gib { memory = 68719476736.B }
withLabel: mem128gib { memory = 137438953472.B }
withLabel: mem256gib { memory = 274877906944.B }
withLabel: mem512gib { memory = 549755813888.B }
withLabel: mem1tib { memory = 1099511627776.B }
withLabel: mem2tib { memory = 2199023255552.B }
withLabel: mem4tib { memory = 4398046511104.B }
withLabel: mem8tib { memory = 8796093022208.B }
withLabel: mem16tib { memory = 17592186044416.B }
withLabel: mem32tib { memory = 35184372088832.B }
withLabel: mem64tib { memory = 70368744177664.B }
withLabel: mem128tib { memory = 140737488355328.B }
withLabel: mem256tib { memory = 281474976710656.B }
withLabel: mem512tib { memory = 562949953421312.B }
withLabel: cpu1 { cpus = 1 }
withLabel: cpu2 { cpus = 2 }
withLabel: cpu5 { cpus = 5 }
withLabel: cpu10 { cpus = 10 }
withLabel: cpu20 { cpus = 20 }
withLabel: cpu50 { cpus = 50 }
withLabel: cpu100 { cpus = 100 }
withLabel: cpu200 { cpus = 200 }
withLabel: cpu500 { cpus = 500 }
withLabel: cpu1000 { cpus = 1000 }
}

View File

@@ -1,309 +0,0 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "samtools_sort",
"description": "Sort SAM/BAM/CRAM file.",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: `file`, required. SAM/BAM/CRAM input file",
"help_text": "Type: `file`, required. SAM/BAM/CRAM input file."
}
}
},
"outputs" : {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output.bam`, example: `out.bam`. Write final output to file",
"help_text": "Type: `file`, required, default: `$id.$key.output.bam`, example: `out.bam`. Write final output to file.\n"
,
"default": "$id.$key.output.bam"
}
,
"output_fmt": {
"type":
"string",
"description": "Type: `string`, example: `BAM`. Specify output format (SAM, BAM, CRAM)",
"help_text": "Type: `string`, example: `BAM`. Specify output format (SAM, BAM, CRAM).\n"
}
,
"output_fmt_option": {
"type":
"string",
"description": "Type: `string`. Specify a single output file format option in the form\nof OPTION or OPTION=VALUE",
"help_text": "Type: `string`. Specify a single output file format option in the form\nof OPTION or OPTION=VALUE.\n"
}
,
"reference": {
"type":
"string",
"description": "Type: `file`, example: `ref.fa`. Reference sequence FASTA FILE",
"help_text": "Type: `file`, example: `ref.fa`. Reference sequence FASTA FILE.\n"
}
,
"write_index": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Automatically index the output files",
"help_text": "Type: `boolean_true`, default: `false`. Automatically index the output files.\n"
,
"default": "False"
}
,
"prefix": {
"type":
"string",
"description": "Type: `string`. Write temporary files to PREFIX",
"help_text": "Type: `string`. Write temporary files to PREFIX.nnnn.bam.\n"
}
,
"no_PG": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Do not add a PG line",
"help_text": "Type: `boolean_true`, default: `false`. Do not add a PG line.\n"
,
"default": "False"
}
,
"template_coordinate": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Sort by template-coordinate",
"help_text": "Type: `boolean_true`, default: `false`. Sort by template-coordinate.\n"
,
"default": "False"
}
,
"input_fmt_option": {
"type":
"string",
"description": "Type: `string`. Specify a single input file format option in the form\nof OPTION or OPTION=VALUE",
"help_text": "Type: `string`. Specify a single input file format option in the form\nof OPTION or OPTION=VALUE.\n"
}
}
},
"options" : {
"title": "Options",
"type": "object",
"description": "No description",
"properties": {
"compression": {
"type":
"integer",
"description": "Type: `integer`, default: `0`. Set compression level, from 0 (uncompressed) to 9 (best)",
"help_text": "Type: `integer`, default: `0`. Set compression level, from 0 (uncompressed) to 9 (best).\n"
,
"default": "0"
}
,
"uncompressed": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Output uncompressed data (equivalent to --compression 0)",
"help_text": "Type: `boolean_true`, default: `false`. Output uncompressed data (equivalent to --compression 0).\n"
,
"default": "False"
}
,
"minimiser": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Use minimiser for clustering unaligned/unplaced reads",
"help_text": "Type: `boolean_true`, default: `false`. Use minimiser for clustering unaligned/unplaced reads.\n"
,
"default": "False"
}
,
"not_reverse": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Do not use reverse strand (only compatible with --minimiser)\n",
"help_text": "Type: `boolean_true`, default: `false`. Do not use reverse strand (only compatible with --minimiser)\n"
,
"default": "False"
}
,
"kmer_size": {
"type":
"integer",
"description": "Type: `integer`, example: `20`. Kmer size to use for minimiser",
"help_text": "Type: `integer`, example: `20`. Kmer size to use for minimiser.\n"
}
,
"order": {
"type":
"string",
"description": "Type: `file`, example: `ref.fa`. Order minimisers by their position in FILE FASTA",
"help_text": "Type: `file`, example: `ref.fa`. Order minimisers by their position in FILE FASTA.\n"
}
,
"window": {
"type":
"integer",
"description": "Type: `integer`, example: `100`. Window size for minimiser INDEXING VIA --order REF",
"help_text": "Type: `integer`, example: `100`. Window size for minimiser INDEXING VIA --order REF.FA.\n"
}
,
"homopolymers": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Squash homopolymers when computing minimiser",
"help_text": "Type: `boolean_true`, default: `false`. Squash homopolymers when computing minimiser.\n"
,
"default": "False"
}
,
"natural_sort": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Sort by read name (natural): cannot be used with samtools index",
"help_text": "Type: `boolean_true`, default: `false`. Sort by read name (natural): cannot be used with samtools index.\n"
,
"default": "False"
}
,
"ascii_sort": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Sort by read name (ASCII): cannot be used with samtools index",
"help_text": "Type: `boolean_true`, default: `false`. Sort by read name (ASCII): cannot be used with samtools index.\n"
,
"default": "False"
}
,
"tag": {
"type":
"string",
"description": "Type: `string`. Sort by value of TAG",
"help_text": "Type: `string`. Sort by value of TAG. Uses position as secondary index \n(or read name if --natural_sort is set).\n"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/inputs"
},
{
"$ref": "#/definitions/outputs"
},
{
"$ref": "#/definitions/options"
},
{
"$ref": "#/definitions/nextflow input-output arguments"
}
]
}

View File

@@ -1,406 +0,0 @@
name: "samtools_stats"
namespace: "samtools"
version: "v0.1.0"
argument_groups:
- name: "Inputs"
arguments:
- type: "file"
name: "--input"
description: "Input file.\n"
info: null
must_exist: true
create_parent: true
required: true
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--bai"
description: "Index file.\n"
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--fasta"
description: "Reference file the CRAM was created with.\n"
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--coverage"
alternatives:
- "-c"
description: "Coverage distribution min,max,step [1,1000,1].\n"
info: null
required: false
direction: "input"
multiple: true
multiple_sep: ","
- type: "boolean_true"
name: "--remove_dups"
alternatives:
- "-d"
description: "Exclude from statistics reads marked as duplicates.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--customized_index_file"
alternatives:
- "-X"
description: "Use a customized index file.\n"
info: null
direction: "input"
- type: "string"
name: "--required_flag"
alternatives:
- "-f"
description: "Required flag, 0 for unset. See also `samtools flags`.\n"
info: null
default:
- "0"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--filtering_flag"
alternatives:
- "-F"
description: "Filtering flag, 0 for unset. See also `samtools flags`.\n"
info: null
default:
- "0"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--GC_depth"
description: "The size of GC-depth bins (decreasing bin size increases memory\
\ requirement).\n"
info: null
default:
- 20000.0
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--insert_size"
alternatives:
- "-i"
description: "Maximum insert size.\n"
info: null
default:
- 8000
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--id"
alternatives:
- "-I"
description: "Include only listed read group or sample name.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--read_length"
alternatives:
- "-l"
description: "Include in the statistics only reads with the given read length.\n"
info: null
default:
- -1
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--most_inserts"
alternatives:
- "-m"
description: "Report only the main part of inserts.\n"
info: null
default:
- 0.99
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--split_prefix"
alternatives:
- "-P"
description: "Path or string prefix for filepaths output by --split (default is\
\ input filename).\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--trim_quality"
alternatives:
- "-q"
description: "The BWA trimming parameter.\n"
info: null
default:
- 0
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--ref_seq"
alternatives:
- "-r"
description: "Reference sequence (required for GC-depth and mismatches-per-cycle\
\ calculation).\n"
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--split"
alternatives:
- "-S"
description: "Also write statistics to separate files split by tagged field.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--target_regions"
alternatives:
- "-t"
description: "Do stats in these regions only. Tab-delimited file chr,from,to,\
\ 1-based, inclusive.\n"
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--sparse"
alternatives:
- "-x"
description: "Suppress outputting IS rows where there are no insertions.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--remove_overlaps"
alternatives:
- "-p"
description: "Remove overlaps of paired-end reads from coverage and base count\
\ computations.\n"
info: null
direction: "input"
- type: "integer"
name: "--cov_threshold"
alternatives:
- "-g"
description: "Only bases with coverage above this value will be included in the\
\ target percentage computation.\n"
info: null
default:
- 0
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--input_fmt_option"
description: "Specify a single input file format option in the form of OPTION\
\ or OPTION=VALUE.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--reference"
description: "Reference sequence FASTA FILE.\n"
info: null
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Outputs"
arguments:
- type: "file"
name: "--output"
alternatives:
- "-o"
description: "Output file.\n"
info: null
default:
- "out.txt"
must_exist: true
create_parent: true
required: true
direction: "output"
multiple: false
multiple_sep: ";"
resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
description: "Reports alignment summary statistics for a BAM file."
test_resources:
- type: "bash_script"
path: "test.sh"
is_executable: true
- type: "file"
path: "test_data"
info: null
status: "enabled"
requirements:
commands:
- "ps"
keywords:
- "statistics"
- "counts"
- "bam"
- "sam"
- "cram"
license: "MIT/Expat"
references:
doi:
- "10.1093/bioinformatics/btp352"
- "10.1093/gigascience/giab008"
links:
repository: "https://github.com/samtools/samtools"
homepage: "https://www.htslib.org/"
documentation: "https://www.htslib.org/doc/samtools-stats.html"
runners:
- type: "executable"
id: "executable"
docker_setup_strategy: "ifneedbepullelsecachedbuild"
- type: "nextflow"
id: "nextflow"
directives:
tag: "$id"
auto:
simplifyInput: true
simplifyOutput: false
transcript: false
publish: false
config:
labels:
mem1gb: "memory = 1000000000.B"
mem2gb: "memory = 2000000000.B"
mem5gb: "memory = 5000000000.B"
mem10gb: "memory = 10000000000.B"
mem20gb: "memory = 20000000000.B"
mem50gb: "memory = 50000000000.B"
mem100gb: "memory = 100000000000.B"
mem200gb: "memory = 200000000000.B"
mem500gb: "memory = 500000000000.B"
mem1tb: "memory = 1000000000000.B"
mem2tb: "memory = 2000000000000.B"
mem5tb: "memory = 5000000000000.B"
mem10tb: "memory = 10000000000000.B"
mem20tb: "memory = 20000000000000.B"
mem50tb: "memory = 50000000000000.B"
mem100tb: "memory = 100000000000000.B"
mem200tb: "memory = 200000000000000.B"
mem500tb: "memory = 500000000000000.B"
mem1gib: "memory = 1073741824.B"
mem2gib: "memory = 2147483648.B"
mem4gib: "memory = 4294967296.B"
mem8gib: "memory = 8589934592.B"
mem16gib: "memory = 17179869184.B"
mem32gib: "memory = 34359738368.B"
mem64gib: "memory = 68719476736.B"
mem128gib: "memory = 137438953472.B"
mem256gib: "memory = 274877906944.B"
mem512gib: "memory = 549755813888.B"
mem1tib: "memory = 1099511627776.B"
mem2tib: "memory = 2199023255552.B"
mem4tib: "memory = 4398046511104.B"
mem8tib: "memory = 8796093022208.B"
mem16tib: "memory = 17592186044416.B"
mem32tib: "memory = 35184372088832.B"
mem64tib: "memory = 70368744177664.B"
mem128tib: "memory = 140737488355328.B"
mem256tib: "memory = 281474976710656.B"
mem512tib: "memory = 562949953421312.B"
cpu1: "cpus = 1"
cpu2: "cpus = 2"
cpu5: "cpus = 5"
cpu10: "cpus = 10"
cpu20: "cpus = 20"
cpu50: "cpus = 50"
cpu100: "cpus = 100"
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
debug: false
container: "docker"
engines:
- type: "docker"
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
namespace_separator: "/"
setup:
- type: "docker"
run:
- "samtools --version 2>&1 | grep -E '^(samtools|Using htslib)' | \\\nsed 's#Using\
\ ##;s# \\([0-9\\.]*\\)$#: \\1#' > /var/software_versions.txt\n"
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/samtools/samtools_stats/config.vsh.yaml"
runner: "nextflow"
engine: "docker|native"
output: "target/nextflow/samtools/samtools_stats"
executable: "target/nextflow/samtools/samtools_stats/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "b84b29747d0635f2ac83ea63b496be9a9edb6724"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "v0.1.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC6"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
keywords:
- "bioinformatics"
- "modules"
- "sequencing"
license: "MIT"
organization: "vsh"
links:
repository: "https://github.com/viash-hub/biobox"
issue_tracker: "https://github.com/viash-hub/biobox/issues"

View File

@@ -1,125 +0,0 @@
manifest {
name = 'samtools/samtools_stats'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
description = 'Reports alignment summary statistics for a BAM file.'
}
process.container = 'nextflow/bash:latest'
// detect tempdir
tempDir = java.nio.file.Paths.get(
System.getenv('NXF_TEMP') ?:
System.getenv('VIASH_TEMP') ?:
System.getenv('TEMPDIR') ?:
System.getenv('TMPDIR') ?:
'/tmp'
).toAbsolutePath()
profiles {
no_publish {
process {
withName: '.*' {
publishDir = [
enabled: false
]
}
}
}
mount_temp {
docker.temp = tempDir
podman.temp = tempDir
charliecloud.temp = tempDir
}
docker {
docker.enabled = true
// docker.userEmulation = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
podman {
podman.enabled = true
docker.enabled = false
singularity.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
shifter {
shifter.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
charliecloud.enabled = false
}
charliecloud {
charliecloud.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
}
}
process{
withLabel: mem1gb { memory = 1000000000.B }
withLabel: mem2gb { memory = 2000000000.B }
withLabel: mem5gb { memory = 5000000000.B }
withLabel: mem10gb { memory = 10000000000.B }
withLabel: mem20gb { memory = 20000000000.B }
withLabel: mem50gb { memory = 50000000000.B }
withLabel: mem100gb { memory = 100000000000.B }
withLabel: mem200gb { memory = 200000000000.B }
withLabel: mem500gb { memory = 500000000000.B }
withLabel: mem1tb { memory = 1000000000000.B }
withLabel: mem2tb { memory = 2000000000000.B }
withLabel: mem5tb { memory = 5000000000000.B }
withLabel: mem10tb { memory = 10000000000000.B }
withLabel: mem20tb { memory = 20000000000000.B }
withLabel: mem50tb { memory = 50000000000000.B }
withLabel: mem100tb { memory = 100000000000000.B }
withLabel: mem200tb { memory = 200000000000000.B }
withLabel: mem500tb { memory = 500000000000000.B }
withLabel: mem1gib { memory = 1073741824.B }
withLabel: mem2gib { memory = 2147483648.B }
withLabel: mem4gib { memory = 4294967296.B }
withLabel: mem8gib { memory = 8589934592.B }
withLabel: mem16gib { memory = 17179869184.B }
withLabel: mem32gib { memory = 34359738368.B }
withLabel: mem64gib { memory = 68719476736.B }
withLabel: mem128gib { memory = 137438953472.B }
withLabel: mem256gib { memory = 274877906944.B }
withLabel: mem512gib { memory = 549755813888.B }
withLabel: mem1tib { memory = 1099511627776.B }
withLabel: mem2tib { memory = 2199023255552.B }
withLabel: mem4tib { memory = 4398046511104.B }
withLabel: mem8tib { memory = 8796093022208.B }
withLabel: mem16tib { memory = 17592186044416.B }
withLabel: mem32tib { memory = 35184372088832.B }
withLabel: mem64tib { memory = 70368744177664.B }
withLabel: mem128tib { memory = 140737488355328.B }
withLabel: mem256tib { memory = 281474976710656.B }
withLabel: mem512tib { memory = 562949953421312.B }
withLabel: cpu1 { cpus = 1 }
withLabel: cpu2 { cpus = 2 }
withLabel: cpu5 { cpus = 5 }
withLabel: cpu10 { cpus = 10 }
withLabel: cpu20 { cpus = 20 }
withLabel: cpu50 { cpus = 50 }
withLabel: cpu100 { cpus = 100 }
withLabel: cpu200 { cpus = 200 }
withLabel: cpu500 { cpus = 500 }
withLabel: cpu1000 { cpus = 1000 }
}

View File

@@ -1,327 +0,0 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "samtools_stats",
"description": "Reports alignment summary statistics for a BAM file.",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: `file`, required. Input file",
"help_text": "Type: `file`, required. Input file.\n"
}
,
"bai": {
"type":
"string",
"description": "Type: `file`. Index file",
"help_text": "Type: `file`. Index file.\n"
}
,
"fasta": {
"type":
"string",
"description": "Type: `file`. Reference file the CRAM was created with",
"help_text": "Type: `file`. Reference file the CRAM was created with.\n"
}
,
"coverage": {
"type":
"string",
"description": "Type: List of `integer`, multiple_sep: `\",\"`. Coverage distribution min,max,step [1,1000,1]",
"help_text": "Type: List of `integer`, multiple_sep: `\",\"`. Coverage distribution min,max,step [1,1000,1].\n"
}
,
"remove_dups": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Exclude from statistics reads marked as duplicates",
"help_text": "Type: `boolean_true`, default: `false`. Exclude from statistics reads marked as duplicates.\n"
,
"default": "False"
}
,
"customized_index_file": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Use a customized index file",
"help_text": "Type: `boolean_true`, default: `false`. Use a customized index file.\n"
,
"default": "False"
}
,
"required_flag": {
"type":
"string",
"description": "Type: `string`, default: `0`. Required flag, 0 for unset",
"help_text": "Type: `string`, default: `0`. Required flag, 0 for unset. See also `samtools flags`.\n"
,
"default": "0"
}
,
"filtering_flag": {
"type":
"string",
"description": "Type: `string`, default: `0`. Filtering flag, 0 for unset",
"help_text": "Type: `string`, default: `0`. Filtering flag, 0 for unset. See also `samtools flags`.\n"
,
"default": "0"
}
,
"GC_depth": {
"type":
"number",
"description": "Type: `double`, default: `20000.0`. The size of GC-depth bins (decreasing bin size increases memory requirement)",
"help_text": "Type: `double`, default: `20000.0`. The size of GC-depth bins (decreasing bin size increases memory requirement).\n"
,
"default": "20000.0"
}
,
"insert_size": {
"type":
"integer",
"description": "Type: `integer`, default: `8000`. Maximum insert size",
"help_text": "Type: `integer`, default: `8000`. Maximum insert size.\n"
,
"default": "8000"
}
,
"id": {
"type":
"string",
"description": "Type: `string`. Include only listed read group or sample name",
"help_text": "Type: `string`. Include only listed read group or sample name.\n"
}
,
"read_length": {
"type":
"integer",
"description": "Type: `integer`, default: `-1`. Include in the statistics only reads with the given read length",
"help_text": "Type: `integer`, default: `-1`. Include in the statistics only reads with the given read length.\n"
,
"default": "-1"
}
,
"most_inserts": {
"type":
"number",
"description": "Type: `double`, default: `0.99`. Report only the main part of inserts",
"help_text": "Type: `double`, default: `0.99`. Report only the main part of inserts.\n"
,
"default": "0.99"
}
,
"split_prefix": {
"type":
"string",
"description": "Type: `string`. Path or string prefix for filepaths output by --split (default is input filename)",
"help_text": "Type: `string`. Path or string prefix for filepaths output by --split (default is input filename).\n"
}
,
"trim_quality": {
"type":
"integer",
"description": "Type: `integer`, default: `0`. The BWA trimming parameter",
"help_text": "Type: `integer`, default: `0`. The BWA trimming parameter.\n"
,
"default": "0"
}
,
"ref_seq": {
"type":
"string",
"description": "Type: `file`. Reference sequence (required for GC-depth and mismatches-per-cycle calculation)",
"help_text": "Type: `file`. Reference sequence (required for GC-depth and mismatches-per-cycle calculation).\n"
}
,
"split": {
"type":
"string",
"description": "Type: `string`. Also write statistics to separate files split by tagged field",
"help_text": "Type: `string`. Also write statistics to separate files split by tagged field.\n"
}
,
"target_regions": {
"type":
"string",
"description": "Type: `file`. Do stats in these regions only",
"help_text": "Type: `file`. Do stats in these regions only. Tab-delimited file chr,from,to, 1-based, inclusive.\n"
}
,
"sparse": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Suppress outputting IS rows where there are no insertions",
"help_text": "Type: `boolean_true`, default: `false`. Suppress outputting IS rows where there are no insertions.\n"
,
"default": "False"
}
,
"remove_overlaps": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Remove overlaps of paired-end reads from coverage and base count computations",
"help_text": "Type: `boolean_true`, default: `false`. Remove overlaps of paired-end reads from coverage and base count computations.\n"
,
"default": "False"
}
,
"cov_threshold": {
"type":
"integer",
"description": "Type: `integer`, default: `0`. Only bases with coverage above this value will be included in the target percentage computation",
"help_text": "Type: `integer`, default: `0`. Only bases with coverage above this value will be included in the target percentage computation.\n"
,
"default": "0"
}
,
"input_fmt_option": {
"type":
"string",
"description": "Type: `string`. Specify a single input file format option in the form of OPTION or OPTION=VALUE",
"help_text": "Type: `string`. Specify a single input file format option in the form of OPTION or OPTION=VALUE.\n"
}
,
"reference": {
"type":
"string",
"description": "Type: `file`. Reference sequence FASTA FILE",
"help_text": "Type: `file`. Reference sequence FASTA FILE.\n"
}
}
},
"outputs" : {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output.txt`. Output file",
"help_text": "Type: `file`, required, default: `$id.$key.output.txt`. Output file.\n"
,
"default": "$id.$key.output.txt"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/inputs"
},
{
"$ref": "#/definitions/outputs"
},
{
"$ref": "#/definitions/nextflow input-output arguments"
}
]
}

View File

@@ -1,5 +1,23 @@
name: "fastp"
version: "v0.1.0"
version: "0.2.0"
authors:
- name: "Robrecht Cannoodt"
roles:
- "author"
- "maintainer"
info:
links:
email: "robrecht@data-intuitive.com"
github: "rcannood"
orcid: "0000-0003-3641-729X"
linkedin: "robrechtcannoodt"
organizations:
- name: "Data Intuitive"
href: "https://www.data-intuitive.com"
role: "Data Science Engineer"
- name: "Open Problems"
href: "https://openproblems.bio"
role: "Core Member"
argument_groups:
- name: "Inputs"
description: "`fastp` supports both single-end (SE) and paired-end (PE) input.\n\
@@ -1048,7 +1066,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/fastp:0.23.4--hadf994f_2"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -1064,22 +1082,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/fastp"
executable: "target/nextflow/fastp/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "b84b29747d0635f2ac83ea63b496be9a9edb6724"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "v0.1.0"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC6"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,13 +1,16 @@
// fastp v0.1.0
// fastp 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
// files, or include a separate license file detailing the licenses of all included
// files.
//
// Component authors:
// * Robrecht Cannoodt (author, maintainer)
////////////////////////////
// VDSL3 helper functions //
@@ -760,8 +763,11 @@ def runEach(Map args) {
def fromState_ = args.fromState
def toState_ = args.toState
def filter_ = args.filter
def runIf_ = args.runIf
def id_ = args.id
assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf."
workflow runEachWf {
take: input_ch
main:
@@ -783,7 +789,20 @@ def runEach(Map args) {
[new_id] + tup.drop(1)
}
: filter_ch
def data_ch = id_ch | map{tup ->
def chPassthrough = null
def chRun = null
if (runIf_) {
def idRunIfBranch = id_ch.branch{ tup ->
run: runIf_(tup[0], tup[1], comp_)
passthrough: true
}
chPassthrough = idRunIfBranch.passthrough
chRun = idRunIfBranch.run
} else {
chRun = id_ch
chPassthrough = Channel.empty()
}
def data_ch = chRun | map{tup ->
def new_data = tup[1]
if (fromState_ instanceof Map) {
new_data = fromState_.collectEntries{ key0, key1 ->
@@ -821,8 +840,11 @@ def runEach(Map args) {
[tup[0], new_state] + tup.drop(3)
}
: out_ch
def return_ch = post_ch
| concat(chPassthrough)
post_ch
return_ch
}
// mix all results
@@ -1598,8 +1620,8 @@ def findStates(Map params, Map config) {
// construct renameMap
if (args.rename_keys) {
def renameMap = args.rename_keys.collectEntries{renameString ->
def split = renameString.split(";")
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey,newKey:oldKey'"
def split = renameString.split(":")
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values"
split
}
@@ -1709,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1780,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1822,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2626,30 +2654,31 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
tuple
}
def chModifiedFiltered = workflowArgs.filter ?
chModified | filter{workflowArgs.filter(it)} :
chModified
def chRun = null
def chPassthrough = null
if (workflowArgs.runIf) {
def runIfBranch = chModifiedFiltered.branch{ tup ->
def runIfBranch = chModified.branch{ tup ->
run: workflowArgs.runIf(tup[0], tup[1])
passthrough: true
}
chRun = runIfBranch.run
chPassthrough = runIfBranch.passthrough
} else {
chRun = chModifiedFiltered
chRun = chModified
chPassthrough = Channel.empty()
}
def chRunFiltered = workflowArgs.filter ?
chRun | filter{workflowArgs.filter(it)} :
chRun
def chArgs = workflowArgs.fromState ?
chRun | map{
chRunFiltered | map{
def new_data = workflowArgs.fromState(it.take(2))
[it[0], new_data]
} :
chRun | map {tup -> tup.take(2)}
chRunFiltered | map {tup -> tup.take(2)}
// fill in defaults
def chArgsWithDefaults = chArgs
@@ -2720,7 +2749,7 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
// | view{"chInitialOutput: ${it.take(3)}"}
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
def chNewState = safeJoin(chInitialOutput, chModifiedFiltered, key_)
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
// input tuple format: [join_id, id, output, prev_state, ...]
// output tuple format: [join_id, id, new_state, ...]
| map{ tup ->
@@ -2779,7 +2808,36 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{
"name" : "fastp",
"version" : "v0.1.0",
"version" : "0.2.0",
"authors" : [
{
"name" : "Robrecht Cannoodt",
"roles" : [
"author",
"maintainer"
],
"info" : {
"links" : {
"email" : "robrecht@data-intuitive.com",
"github" : "rcannood",
"orcid" : "0000-0003-3641-729X",
"linkedin" : "robrechtcannoodt"
},
"organizations" : [
{
"name" : "Data Intuitive",
"href" : "https://www.data-intuitive.com",
"role" : "Data Science Engineer"
},
{
"name" : "Open Problems",
"href" : "https://openproblems.bio",
"role" : "Core Member"
}
]
}
}
],
"argument_groups" : [
{
"name" : "Inputs",
@@ -3943,7 +4001,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/fastp:0.23.4--hadf994f_2",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.1.0",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3964,22 +4022,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/fastp",
"viash_version" : "0.9.0-RC6",
"git_commit" : "b84b29747d0635f2ac83ea63b496be9a9edb6724",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "v0.1.0",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC6",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -4107,25 +4165,32 @@ $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}"
## VIASH END
# disable flags
[[ "\\$par_disable_adapter_trimming" == "false" ]] && unset par_disable_adapter_trimming
[[ "\\$par_detect_adapter_for_pe" == "false" ]] && unset par_detect_adapter_for_pe
[[ "\\$par_merge" == "false" ]] && unset par_merge
[[ "\\$par_include_unmerged" == "false" ]] && unset par_include_unmerged
[[ "\\$par_interleaved_in" == "false" ]] && unset par_interleaved_in
[[ "\\$par_fix_mgi_id" == "false" ]] && unset par_fix_mgi_id
[[ "\\$par_phred64" == "false" ]] && unset par_phred64
[[ "\\$par_dont_overwrite" == "false" ]] && unset par_dont_overwrite
[[ "\\$par_verbose" == "false" ]] && unset par_verbose
[[ "\\$par_dedup" == "false" ]] && unset par_dedup
[[ "\\$par_dont_eval_duplication" == "false" ]] && unset par_dont_eval_duplication
[[ "\\$par_trim_poly_g" == "false" ]] && unset par_trim_poly_g
[[ "\\$par_disable_trim_poly_g" == "false" ]] && unset par_disable_trim_poly_g
[[ "\\$par_trim_poly_x" == "false" ]] && unset par_trim_poly_x
[[ "\\$par_disable_quality_filtering" == "false" ]] && unset par_disable_quality_filtering
[[ "\\$par_disable_length_filtering" == "false" ]] && unset par_disable_length_filtering
[[ "\\$par_low_complexity_filter" == "false" ]] && unset par_low_complexity_filter
[[ "\\$par_umi" == "false" ]] && unset par_umi
[[ "\\$par_overrepresentation_analysis" == "false" ]] && unset par_overrepresentation_analysis
unset_if_false=(
par_disable_adapter_trimming
par_detect_adapter_for_pe
par_merge
par_include_unmerged
par_interleaved_in
par_fix_mgi_id
par_phred64
par_dont_overwrite
par_verbose
par_dedup
par_dont_eval_duplication
par_trim_poly_g
par_disable_trim_poly_g
par_trim_poly_x
par_disable_quality_filtering
par_disable_length_filtering
par_low_complexity_filter
par_umi
par_overrepresentation_analysis
)
for par in \\${unset_if_false[@]}; do
test_val="\\${!par}"
[[ "\\$test_val" == "false" ]] && unset \\$par
done
# run command
fastp \\\\
@@ -4286,7 +4351,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -4417,7 +4486,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -4425,8 +4495,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -4463,6 +4533,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -4474,10 +4545,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -4562,7 +4632,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/fastp",
"tag" : "v0.1.0"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,8 +2,9 @@ manifest {
name = 'fastp'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
version = '0.2.0'
description = 'An ultra-fast all-in-one FASTQ preprocessor (QC/adapters/trimming/filtering/splitting/merging...).\n\nFeatures:\n\n - comprehensive quality profiling for both before and after filtering data (quality curves, base contents, KMER, Q20/Q30, GC Ratio, duplication, adapter contents...)\n - filter out bad reads (too low quality, too short, or too many N...)\n - cut low quality bases for per read in its 5\' and 3\' by evaluating the mean quality from a sliding window (like Trimmomatic but faster).\n - trim all reads in front and tail\n - cut adapters. Adapter sequences can be automatically detected, which means you don\'t have to input the adapter sequences to trim them.\n - correct mismatched base pairs in overlapped regions of paired end reads, if one base is with high quality while the other is with ultra low quality\n - trim polyG in 3\' ends, which is commonly seen in NovaSeq/NextSeq data. Trim polyX in 3\' ends to remove unwanted polyX tailing (i.e. polyA tailing for mRNA-Seq data)\n - preprocess unique molecular identifier (UMI) enabled data, shift UMI to sequence name.\n - report JSON format result for further interpreting.\n - visualize quality control and filtering results on a single HTML page (like FASTQC but faster and more informative).\n - split the output to multiple files (0001.R1.gz, 0002.R1.gz...) to support parallel processing. Two modes can be used, limiting the total split file number, or limitting the lines of each split file.\n - support long reads (data from PacBio / Nanopore devices).\n - support reading from STDIN and writing to STDOUT\n - support interleaved input\n - support ultra-fast FASTQ-level deduplication\n'
author = 'Robrecht Cannoodt'
}
process.container = 'nextflow/bash:latest'

View File

@@ -1,5 +1,19 @@
name: "featurecounts"
version: "v0.1.0"
version: "0.2.0"
authors:
- name: "Sai Nirmayi Yasa"
roles:
- "author"
- "maintainer"
info:
links:
email: "nirmayi@data-intuitive.com"
github: "sainirmayi"
linkedin: "sai-nirmayi-yasa"
organizations:
- name: "Data Intuitive"
href: "https://www.data-intuitive.com"
role: "Junior Bioinformatics Researcher"
argument_groups:
- name: "Inputs"
arguments:
@@ -613,7 +627,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/subread:2.0.6--he4a0461_0"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -630,22 +644,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/featurecounts"
executable: "target/nextflow/featurecounts/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "b84b29747d0635f2ac83ea63b496be9a9edb6724"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "v0.1.0"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC6"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,13 +1,16 @@
// featurecounts v0.1.0
// featurecounts 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
// files, or include a separate license file detailing the licenses of all included
// files.
//
// Component authors:
// * Sai Nirmayi Yasa (author, maintainer)
////////////////////////////
// VDSL3 helper functions //
@@ -760,8 +763,11 @@ def runEach(Map args) {
def fromState_ = args.fromState
def toState_ = args.toState
def filter_ = args.filter
def runIf_ = args.runIf
def id_ = args.id
assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf."
workflow runEachWf {
take: input_ch
main:
@@ -783,7 +789,20 @@ def runEach(Map args) {
[new_id] + tup.drop(1)
}
: filter_ch
def data_ch = id_ch | map{tup ->
def chPassthrough = null
def chRun = null
if (runIf_) {
def idRunIfBranch = id_ch.branch{ tup ->
run: runIf_(tup[0], tup[1], comp_)
passthrough: true
}
chPassthrough = idRunIfBranch.passthrough
chRun = idRunIfBranch.run
} else {
chRun = id_ch
chPassthrough = Channel.empty()
}
def data_ch = chRun | map{tup ->
def new_data = tup[1]
if (fromState_ instanceof Map) {
new_data = fromState_.collectEntries{ key0, key1 ->
@@ -821,8 +840,11 @@ def runEach(Map args) {
[tup[0], new_state] + tup.drop(3)
}
: out_ch
def return_ch = post_ch
| concat(chPassthrough)
post_ch
return_ch
}
// mix all results
@@ -1598,8 +1620,8 @@ def findStates(Map params, Map config) {
// construct renameMap
if (args.rename_keys) {
def renameMap = args.rename_keys.collectEntries{renameString ->
def split = renameString.split(";")
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey,newKey:oldKey'"
def split = renameString.split(":")
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values"
split
}
@@ -1709,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1780,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1822,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2626,30 +2654,31 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
tuple
}
def chModifiedFiltered = workflowArgs.filter ?
chModified | filter{workflowArgs.filter(it)} :
chModified
def chRun = null
def chPassthrough = null
if (workflowArgs.runIf) {
def runIfBranch = chModifiedFiltered.branch{ tup ->
def runIfBranch = chModified.branch{ tup ->
run: workflowArgs.runIf(tup[0], tup[1])
passthrough: true
}
chRun = runIfBranch.run
chPassthrough = runIfBranch.passthrough
} else {
chRun = chModifiedFiltered
chRun = chModified
chPassthrough = Channel.empty()
}
def chRunFiltered = workflowArgs.filter ?
chRun | filter{workflowArgs.filter(it)} :
chRun
def chArgs = workflowArgs.fromState ?
chRun | map{
chRunFiltered | map{
def new_data = workflowArgs.fromState(it.take(2))
[it[0], new_data]
} :
chRun | map {tup -> tup.take(2)}
chRunFiltered | map {tup -> tup.take(2)}
// fill in defaults
def chArgsWithDefaults = chArgs
@@ -2720,7 +2749,7 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
// | view{"chInitialOutput: ${it.take(3)}"}
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
def chNewState = safeJoin(chInitialOutput, chModifiedFiltered, key_)
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
// input tuple format: [join_id, id, output, prev_state, ...]
// output tuple format: [join_id, id, new_state, ...]
| map{ tup ->
@@ -2779,7 +2808,30 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{
"name" : "featurecounts",
"version" : "v0.1.0",
"version" : "0.2.0",
"authors" : [
{
"name" : "Sai Nirmayi Yasa",
"roles" : [
"author",
"maintainer"
],
"info" : {
"links" : {
"email" : "nirmayi@data-intuitive.com",
"github" : "sainirmayi",
"linkedin" : "sai-nirmayi-yasa"
},
"organizations" : [
{
"name" : "Data Intuitive",
"href" : "https://www.data-intuitive.com",
"role" : "Junior Bioinformatics Researcher"
}
]
}
}
],
"argument_groups" : [
{
"name" : "Inputs",
@@ -3475,7 +3527,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/subread:2.0.6--he4a0461_0",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.1.0",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3496,22 +3548,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/featurecounts",
"viash_version" : "0.9.0-RC6",
"git_commit" : "b84b29747d0635f2ac83ea63b496be9a9edb6724",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "v0.1.0",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC6",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3622,24 +3674,31 @@ par_feature_type=\\$(echo \\$par_feature_type | tr ',' ';')
par_extra_attributes=\\$(echo \\$par_extra_attributes | tr ',' ';')
# unset flag variables
[[ "\\$par_feature_level" == "false" ]] && unset par_feature_level
[[ "\\$par_overlapping" == "false" ]] && unset par_overlapping
[[ "\\$par_largest_overlap" == "false" ]] && unset par_largest_overlap
[[ "\\$par_multi_mapping" == "false" ]] && unset par_multi_mapping
[[ "\\$par_fraction" == "false" ]] && unset par_fraction
[[ "\\$par_split_only" == "false" ]] && unset par_split_only
[[ "\\$par_non_split_only" == "false" ]] && unset par_non_split_only
[[ "\\$par_primary" == "false" ]] && unset par_primary
[[ "\\$par_ignore_dup" == "false" ]] && unset par_ignore_dup
[[ "\\$par_paired" == "false" ]] && unset par_paired
[[ "\\$par_count_read_pairs" == "false" ]] && unset par_count_read_pairs
[[ "\\$par_both_aligned" == "false" ]] && unset par_both_aligned
[[ "\\$par_check_pe_dist" == "false" ]] && unset par_check_pe_dist
[[ "\\$par_same_strand" == "false" ]] && unset par_same_strand
[[ "\\$par_donotsort" == "false" ]] && unset par_donotsort
[[ "\\$par_by_read_group" == "false" ]] && unset par_by_read_group
[[ "\\$par_long_reads" == "false" ]] && unset par_long_reads
[[ "\\$par_verbose" == "false" ]] && unset par_verbose
unset_if_false=(
par_feature_level
par_overlapping
par_largest_overlap
par_multi_mapping
par_fraction
par_split_only
par_non_split_only
par_primary
par_ignore_dup
par_paired
par_count_read_pairs
par_both_aligned
par_check_pe_dist
par_same_strand
par_donotsort
par_by_read_group
par_long_reads
par_verbose
)
for par in \\${unset_if_false[@]}; do
test_val="\\${!par}"
[[ "\\$test_val" == "false" ]] && unset \\$par
done
IFS=";" read -ra input <<< \\$par_input
@@ -3775,7 +3834,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3906,7 +3969,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3914,8 +3978,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3952,6 +4016,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3963,10 +4028,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -4051,7 +4115,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/featurecounts",
"tag" : "v0.1.0"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,8 +2,9 @@ manifest {
name = 'featurecounts'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
version = '0.2.0'
description = 'featureCounts is a read summarization program for counting reads generated from either RNA or genomic DNA sequencing experiments by implementing highly efficient chromosome hashing and feature blocking techniques. It works with either single or paired-end reads and provides a wide range of options appropriate for different sequencing applications.\n'
author = 'Sai Nirmayi Yasa'
}
process.container = 'nextflow/bash:latest'

View File

@@ -27,8 +27,8 @@
"input": {
"type":
"string",
"description": "Type: List of `file`, required, example: `input_file1.bam`, multiple_sep: `\":\"`. A list of SAM or BAM format files separated by semi-colon (;)",
"help_text": "Type: List of `file`, required, example: `input_file1.bam`, multiple_sep: `\":\"`. A list of SAM or BAM format files separated by semi-colon (;). They can be either name or location sorted. Location-sorted paired-end reads are automatically sorted by read names.\n"
"description": "Type: List of `file`, required, example: `input_file1.bam`, multiple_sep: `\";\"`. A list of SAM or BAM format files separated by semi-colon (;)",
"help_text": "Type: List of `file`, required, example: `input_file1.bam`, multiple_sep: `\";\"`. A list of SAM or BAM format files separated by semi-colon (;). They can be either name or location sorted. Location-sorted paired-end reads are automatically sorted by read names.\n"
}
@@ -102,8 +102,8 @@
"feature_type": {
"type":
"string",
"description": "Type: List of `string`, example: `exon`, multiple_sep: `\":\"`. Specify feature type(s) in a GTF annotation",
"help_text": "Type: List of `string`, example: `exon`, multiple_sep: `\":\"`. Specify feature type(s) in a GTF annotation. If multiple types are provided, they should be separated by \u0027;\u0027 with no space in between. \u0027exon\u0027 by default. Rows in the annotation with a matched feature will be extracted and used for read mapping.\n"
"description": "Type: List of `string`, example: `exon`, multiple_sep: `\";\"`. Specify feature type(s) in a GTF annotation",
"help_text": "Type: List of `string`, example: `exon`, multiple_sep: `\";\"`. Specify feature type(s) in a GTF annotation. If multiple types are provided, they should be separated by \u0027;\u0027 with no space in between. \u0027exon\u0027 by default. Rows in the annotation with a matched feature will be extracted and used for read mapping.\n"
}
@@ -122,8 +122,8 @@
"extra_attributes": {
"type":
"string",
"description": "Type: List of `string`, multiple_sep: `\":\"`. Extract extra attribute types from the provided GTF annotation and include them in the counting output",
"help_text": "Type: List of `string`, multiple_sep: `\":\"`. Extract extra attribute types from the provided GTF annotation and include them in the counting output. These attribute types will not be used to group features. If more than one attribute type is provided they should be separated by semicolon (;).\n"
"description": "Type: List of `string`, multiple_sep: `\";\"`. Extract extra attribute types from the provided GTF annotation and include them in the counting output",
"help_text": "Type: List of `string`, multiple_sep: `\";\"`. Extract extra attribute types from the provided GTF annotation and include them in the counting output. These attribute types will not be used to group features. If more than one attribute type is provided they should be separated by semicolon (;).\n"
}
@@ -194,8 +194,8 @@
"frac_overlap": {
"type":
"number",
"description": "Type: `double`, example: `0`. Minimum fraction of overlapping bases in a read that is required for read assignment",
"help_text": "Type: `double`, example: `0`. Minimum fraction of overlapping bases in a read that is required for read assignment. Value should be within range [0,1]. 0 by default. Number of overlapping bases is counted from both reads if paired end. Both this option and \u0027--min_overlap\u0027 option need to be satisfied for read assignment.\n"
"description": "Type: `double`, example: `0.0`. Minimum fraction of overlapping bases in a read that is required for read assignment",
"help_text": "Type: `double`, example: `0.0`. Minimum fraction of overlapping bases in a read that is required for read assignment. Value should be within range [0,1]. 0 by default. Number of overlapping bases is counted from both reads if paired end. Both this option and \u0027--min_overlap\u0027 option need to be satisfied for read assignment.\n"
}
@@ -204,8 +204,8 @@
"frac_overlap_feature": {
"type":
"number",
"description": "Type: `double`, example: `0`. Minimum fraction of overlapping bases in a feature that is required for read assignment",
"help_text": "Type: `double`, example: `0`. Minimum fraction of overlapping bases in a feature that is required for read assignment. Value should be within range [0,1]. 0 by default.\n"
"description": "Type: `double`, example: `0.0`. Minimum fraction of overlapping bases in a feature that is required for read assignment",
"help_text": "Type: `double`, example: `0.0`. Minimum fraction of overlapping bases in a feature that is required for read assignment. Value should be within range [0,1]. 0 by default.\n"
}
@@ -573,8 +573,8 @@
"detailed_results": {
"type":
"string",
"description": "Type: `file`, default: `$id.$key.detailed_results.detailed_results`, example: `detailed_results/`. Directory to save the detailed assignment results",
"help_text": "Type: `file`, default: `$id.$key.detailed_results.detailed_results`, example: `detailed_results/`. Directory to save the detailed assignment results. Use `--detailed_results_format` to determine the format of the detailed results.\n"
"description": "Type: `file`, default: `$id.$key.detailed_results.detailed_results`, example: `detailed_results`. Directory to save the detailed assignment results",
"help_text": "Type: `file`, default: `$id.$key.detailed_results.detailed_results`, example: `detailed_results`. Directory to save the detailed assignment results. Use `--detailed_results_format` to determine the format of the detailed results.\n"
,
"default": "$id.$key.detailed_results.detailed_results"
}

View File

@@ -1,5 +1,5 @@
name: "gffread"
version: "main"
version: "0.2.0"
authors:
- name: "Emma Rousseau"
roles:
@@ -668,7 +668,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/gffread:0.12.7--hdcf5f25_3"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -684,22 +684,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/gffread"
executable: "target/nextflow/gffread/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// gffread main
// gffread 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2802,7 +2808,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{
"name" : "gffread",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Emma Rousseau",
@@ -3578,7 +3584,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/gffread:0.12.7--hdcf5f25_3",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3599,22 +3605,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/gffread",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3931,7 +3937,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -4062,7 +4072,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -4070,8 +4081,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -4108,6 +4119,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -4119,10 +4131,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -4207,7 +4218,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/gffread",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'gffread'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Validate, filter, convert and perform various other operations on GFF files.'
author = 'Emma Rousseau'
}

View File

@@ -1,5 +1,19 @@
name: "multiqc"
version: "v0.1.0"
version: "0.2.0"
authors:
- name: "Dorien Roosen"
roles:
- "author"
- "maintainer"
info:
links:
email: "dorien@data-intuitive.com"
github: "dorien-er"
linkedin: "dorien-roosen"
organizations:
- name: "Data Intuitive"
href: "https://www.data-intuitive.com"
role: "Data Scientist"
argument_groups:
- name: "Input"
arguments:
@@ -63,39 +77,43 @@ argument_groups:
description: "Use only these module"
info: null
example:
- "fastqc,cutadapt"
- "fastqc"
- "cutadapt"
required: false
direction: "input"
multiple: true
multiple_sep: ","
multiple_sep: ";"
- type: "string"
name: "--exclude_modules"
description: "Do not use only these modules"
info: null
example:
- "fastqc,cutadapt"
- "fastqc"
- "cutadapt"
required: false
direction: "input"
multiple: true
multiple_sep: ","
multiple_sep: ";"
- type: "string"
name: "--ignore_analysis"
info: null
example:
- "run_one/*,run_two/*"
- "run_one/*"
- "run_two/*"
required: false
direction: "input"
multiple: true
multiple_sep: ","
multiple_sep: ";"
- type: "string"
name: "--ignore_samples"
info: null
example:
- "sample_1*,sample_3*"
- "sample_1*"
- "sample_3*"
required: false
direction: "input"
multiple: true
multiple_sep: ","
multiple_sep: ";"
- type: "boolean_true"
name: "--ignore_symlinks"
description: "Ignore symlinked directories and files"
@@ -415,7 +433,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/multiqc:1.21--pyhdfd78af_0"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -437,22 +455,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/multiqc"
executable: "target/nextflow/multiqc/main.nf"
viash_version: "0.9.0-RC6"
git_commit: "b84b29747d0635f2ac83ea63b496be9a9edb6724"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "v0.1.0"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC6"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,13 +1,16 @@
// multiqc v0.1.0
// multiqc 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
// files, or include a separate license file detailing the licenses of all included
// files.
//
// Component authors:
// * Dorien Roosen (author, maintainer)
////////////////////////////
// VDSL3 helper functions //
@@ -760,8 +763,11 @@ def runEach(Map args) {
def fromState_ = args.fromState
def toState_ = args.toState
def filter_ = args.filter
def runIf_ = args.runIf
def id_ = args.id
assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf."
workflow runEachWf {
take: input_ch
main:
@@ -783,7 +789,20 @@ def runEach(Map args) {
[new_id] + tup.drop(1)
}
: filter_ch
def data_ch = id_ch | map{tup ->
def chPassthrough = null
def chRun = null
if (runIf_) {
def idRunIfBranch = id_ch.branch{ tup ->
run: runIf_(tup[0], tup[1], comp_)
passthrough: true
}
chPassthrough = idRunIfBranch.passthrough
chRun = idRunIfBranch.run
} else {
chRun = id_ch
chPassthrough = Channel.empty()
}
def data_ch = chRun | map{tup ->
def new_data = tup[1]
if (fromState_ instanceof Map) {
new_data = fromState_.collectEntries{ key0, key1 ->
@@ -821,8 +840,11 @@ def runEach(Map args) {
[tup[0], new_state] + tup.drop(3)
}
: out_ch
def return_ch = post_ch
| concat(chPassthrough)
post_ch
return_ch
}
// mix all results
@@ -1598,8 +1620,8 @@ def findStates(Map params, Map config) {
// construct renameMap
if (args.rename_keys) {
def renameMap = args.rename_keys.collectEntries{renameString ->
def split = renameString.split(";")
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey,newKey:oldKey'"
def split = renameString.split(":")
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values"
split
}
@@ -1709,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1780,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1822,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2626,30 +2654,31 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
tuple
}
def chModifiedFiltered = workflowArgs.filter ?
chModified | filter{workflowArgs.filter(it)} :
chModified
def chRun = null
def chPassthrough = null
if (workflowArgs.runIf) {
def runIfBranch = chModifiedFiltered.branch{ tup ->
def runIfBranch = chModified.branch{ tup ->
run: workflowArgs.runIf(tup[0], tup[1])
passthrough: true
}
chRun = runIfBranch.run
chPassthrough = runIfBranch.passthrough
} else {
chRun = chModifiedFiltered
chRun = chModified
chPassthrough = Channel.empty()
}
def chRunFiltered = workflowArgs.filter ?
chRun | filter{workflowArgs.filter(it)} :
chRun
def chArgs = workflowArgs.fromState ?
chRun | map{
chRunFiltered | map{
def new_data = workflowArgs.fromState(it.take(2))
[it[0], new_data]
} :
chRun | map {tup -> tup.take(2)}
chRunFiltered | map {tup -> tup.take(2)}
// fill in defaults
def chArgsWithDefaults = chArgs
@@ -2720,7 +2749,7 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
// | view{"chInitialOutput: ${it.take(3)}"}
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
def chNewState = safeJoin(chInitialOutput, chModifiedFiltered, key_)
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
// input tuple format: [join_id, id, output, prev_state, ...]
// output tuple format: [join_id, id, new_state, ...]
| map{ tup ->
@@ -2779,7 +2808,30 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{
"name" : "multiqc",
"version" : "v0.1.0",
"version" : "0.2.0",
"authors" : [
{
"name" : "Dorien Roosen",
"roles" : [
"author",
"maintainer"
],
"info" : {
"links" : {
"email" : "dorien@data-intuitive.com",
"github" : "dorien-er",
"linkedin" : "dorien-roosen"
},
"organizations" : [
{
"name" : "Data Intuitive",
"href" : "https://www.data-intuitive.com",
"role" : "Data Scientist"
}
]
}
}
],
"argument_groups" : [
{
"name" : "Input",
@@ -2855,46 +2907,50 @@ meta = [
"name" : "--include_modules",
"description" : "Use only these module",
"example" : [
"fastqc,cutadapt"
"fastqc",
"cutadapt"
],
"required" : false,
"direction" : "input",
"multiple" : true,
"multiple_sep" : ","
"multiple_sep" : ";"
},
{
"type" : "string",
"name" : "--exclude_modules",
"description" : "Do not use only these modules",
"example" : [
"fastqc,cutadapt"
"fastqc",
"cutadapt"
],
"required" : false,
"direction" : "input",
"multiple" : true,
"multiple_sep" : ","
"multiple_sep" : ";"
},
{
"type" : "string",
"name" : "--ignore_analysis",
"example" : [
"run_one/*,run_two/*"
"run_one/*",
"run_two/*"
],
"required" : false,
"direction" : "input",
"multiple" : true,
"multiple_sep" : ","
"multiple_sep" : ";"
},
{
"type" : "string",
"name" : "--ignore_samples",
"example" : [
"sample_1*,sample_3*"
"sample_1*",
"sample_3*"
],
"required" : false,
"direction" : "input",
"multiple" : true,
"multiple_sep" : ","
"multiple_sep" : ";"
},
{
"type" : "boolean_true",
@@ -3279,7 +3335,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/multiqc:1.21--pyhdfd78af_0",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.1.0",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3309,22 +3365,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/multiqc",
"viash_version" : "0.9.0-RC6",
"git_commit" : "b84b29747d0635f2ac83ea63b496be9a9edb6724",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "v0.1.0",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC6",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3411,26 +3467,32 @@ $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}"
#!/bin/bash
# disable flags
[[ "\\$par_ignore_symlinks" == "false" ]] && unset par_ignore_symlinks
[[ "\\$par_dirs" == "false" ]] && unset par_dirs
[[ "\\$par_full_names" == "false" ]] && unset par_full_names
[[ "\\$par_fn_as_s_name" == "false" ]] && unset par_fn_as_s_name
[[ "\\$par_profile_runtime" == "false" ]] && unset par_profile_runtime
[[ "\\$par_verbose" == "false" ]] && unset par_verbose
[[ "\\$par_quiet" == "false" ]] && unset par_quiet
[[ "\\$par_strict" == "false" ]] && unset par_strict
[[ "\\$par_development" == "false" ]] && unset par_development
[[ "\\$par_require_logs" == "false" ]] && unset par_require_logs
[[ "\\$par_no_megaqc_upload" == "false" ]] && unset par_no_megaqc_upload
[[ "\\$par_no_ansi" == "false" ]] && unset par_no_ansi
[[ "\\$par_flat" == "false" ]] && unset par_flat
[[ "\\$par_interactive" == "false" ]] && unset par_interactive
[[ "\\$par_static_plot_export" == "false" ]] && unset par_static_plot_export
[[ "\\$par_data_dir" == "false" ]] && unset par_data_dir
[[ "\\$par_no_data_dir" == "false" ]] && unset par_no_data_dir
[[ "\\$par_zip_data_dir" == "false" ]] && unset par_zip_data_dir
[[ "\\$par_pdf" == "false" ]] && unset par_pdf
unset_if_false=(
par_ignore_symlinks
par_dirs
par_full_names
par_fn_as_s_name
par_profile_runtime
par_verbose
par_quiet
par_strict
par_development
par_require_logs
par_no_megaqc_upload
par_no_ansi
par_flat
par_interactive
par_static_plot_export
par_data_dir
par_no_data_dir
par_zip_data_dir
par_pdf
)
for par in \\${unset_if_false[@]}; do
test_val="\\${!par}"
[[ "\\$test_val" == "false" ]] && unset \\$par
done
# handle inputs
out_dir=\\$(dirname "\\$par_output_report")
@@ -3448,7 +3510,7 @@ IFS=";" read -ra inputs <<< \\$par_input
if [[ -n "\\$par_include_modules" ]]; then
include_modules=""
IFS="," read -ra incl_modules <<< \\$par_include_modules
IFS=";" read -ra incl_modules <<< \\$par_include_modules
for i in "\\${incl_modules[@]}"; do
include_modules+="--include \\$i "
done
@@ -3457,7 +3519,7 @@ fi
if [[ -n "\\$par_exclude_modules" ]]; then
exclude_modules=""
IFS="," read -ra excl_modules <<< \\$par_exclude_modules
IFS=";" read -ra excl_modules <<< \\$par_exclude_modules
for i in "\\${excl_modules[@]}"; do
exclude_modules+="--exclude \\$i"
done
@@ -3466,7 +3528,7 @@ fi
if [[ -n "\\$par_ignore_analysis" ]]; then
ignore=""
IFS="," read -ra ignore_analysis <<< \\$par_ignore_analysis
IFS=";" read -ra ignore_analysis <<< \\$par_ignore_analysis
for i in "\\${ignore_analysis[@]}"; do
ignore+="--ignore \\$i "
done
@@ -3475,7 +3537,7 @@ fi
if [[ -n "\\$par_ignore_samples" ]]; then
ignore_samples=""
IFS="," read -ra ign_samples <<< \\$par_ignore_samples
IFS=";" read -ra ign_samples <<< \\$par_ignore_samples
for i in "\\${ign_samples[@]}"; do
ignore_samples+="--ignore-samples \\$i"
done
@@ -3618,7 +3680,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3749,7 +3815,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3757,8 +3824,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3795,6 +3862,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3806,10 +3874,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3894,7 +3961,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/multiqc",
"tag" : "v0.1.0"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,8 +2,9 @@ manifest {
name = 'multiqc'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
version = '0.2.0'
description = 'MultiQC aggregates results from bioinformatics analyses across many samples into a single report.\nIt searches a given directory for analysis logs and compiles a HTML report. It\'s a general use tool, perfect for summarising the output from numerous bioinformatics tools.\n'
author = 'Dorien Roosen'
}
process.container = 'nextflow/bash:latest'

View File

@@ -17,8 +17,8 @@
"input": {
"type":
"string",
"description": "Type: List of `file`, required, example: `data/results/`, multiple_sep: `\":\"`. File paths to be searched for analysis results to be included in the report",
"help_text": "Type: List of `file`, required, example: `data/results/`, multiple_sep: `\":\"`. File paths to be searched for analysis results to be included in the report.\n"
"description": "Type: List of `file`, required, example: `data/results`, multiple_sep: `\";\"`. File paths to be searched for analysis results to be included in the report",
"help_text": "Type: List of `file`, required, example: `data/results`, multiple_sep: `\";\"`. File paths to be searched for analysis results to be included in the report.\n"
}
@@ -80,8 +80,8 @@
"include_modules": {
"type":
"string",
"description": "Type: List of `string`, example: `fastqc,cutadapt`, multiple_sep: `\",\"`. Use only these module",
"help_text": "Type: List of `string`, example: `fastqc,cutadapt`, multiple_sep: `\",\"`. Use only these module"
"description": "Type: List of `string`, example: `fastqc;cutadapt`, multiple_sep: `\";\"`. Use only these module",
"help_text": "Type: List of `string`, example: `fastqc;cutadapt`, multiple_sep: `\";\"`. Use only these module"
}
@@ -90,8 +90,8 @@
"exclude_modules": {
"type":
"string",
"description": "Type: List of `string`, example: `fastqc,cutadapt`, multiple_sep: `\",\"`. Do not use only these modules",
"help_text": "Type: List of `string`, example: `fastqc,cutadapt`, multiple_sep: `\",\"`. Do not use only these modules"
"description": "Type: List of `string`, example: `fastqc;cutadapt`, multiple_sep: `\";\"`. Do not use only these modules",
"help_text": "Type: List of `string`, example: `fastqc;cutadapt`, multiple_sep: `\";\"`. Do not use only these modules"
}
@@ -100,8 +100,8 @@
"ignore_analysis": {
"type":
"string",
"description": "Type: List of `string`, example: `run_one/*,run_two/*`, multiple_sep: `\",\"`. ",
"help_text": "Type: List of `string`, example: `run_one/*,run_two/*`, multiple_sep: `\",\"`. "
"description": "Type: List of `string`, example: `run_one/*;run_two/*`, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `string`, example: `run_one/*;run_two/*`, multiple_sep: `\";\"`. "
}
@@ -110,8 +110,8 @@
"ignore_samples": {
"type":
"string",
"description": "Type: List of `string`, example: `sample_1*,sample_3*`, multiple_sep: `\",\"`. ",
"help_text": "Type: List of `string`, example: `sample_1*,sample_3*`, multiple_sep: `\",\"`. "
"description": "Type: List of `string`, example: `sample_1*;sample_3*`, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `string`, example: `sample_1*;sample_3*`, multiple_sep: `\";\"`. "
}

View File

@@ -1,6 +1,6 @@
name: "rsem_prepare_reference"
namespace: "rsem"
version: "main"
version: "0.2.0"
authors:
- name: "Sai Nirmayi Yasa"
roles:
@@ -352,7 +352,7 @@ engines:
id: "docker"
image: "ubuntu:22.04"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "apt"
@@ -415,22 +415,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/rsem/rsem_prepare_reference"
executable: "target/nextflow/rsem/rsem_prepare_reference/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// rsem_prepare_reference main
// rsem_prepare_reference 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "rsem_prepare_reference",
"namespace" : "rsem",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Sai Nirmayi Yasa",
@@ -3179,7 +3185,7 @@ meta = [
"id" : "docker",
"image" : "ubuntu:22.04",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3238,22 +3244,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/rsem/rsem_prepare_reference",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3444,7 +3450,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3575,7 +3585,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3583,8 +3594,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3621,6 +3632,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3632,10 +3644,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3720,7 +3731,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/rsem/rsem_prepare_reference",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'rsem/rsem_prepare_reference'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'RSEM is a software package for estimating gene and isoform expression levels from RNA-Seq data. This component prepares transcript references for RSEM.\n'
author = 'Sai Nirmayi Yasa'
}

View File

@@ -1,6 +1,6 @@
name: "salmon_index"
namespace: "salmon"
version: "main"
version: "0.2.0"
authors:
- name: "Sai Nirmayi Yasa"
roles:
@@ -260,7 +260,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/salmon:1.10.2--hecfa306_0"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -276,22 +276,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/salmon/salmon_index"
executable: "target/nextflow/salmon/salmon_index/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// salmon_index main
// salmon_index 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "salmon_index",
"namespace" : "salmon",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Sai Nirmayi Yasa",
@@ -3101,7 +3107,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/salmon:1.10.2--hecfa306_0",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3122,22 +3128,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/salmon/salmon_index",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3332,7 +3338,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3463,7 +3473,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3471,8 +3482,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3509,6 +3520,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3520,10 +3532,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3608,7 +3619,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/salmon/salmon_index",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'salmon/salmon_index'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Salmon is a tool for wicked-fast transcript quantification from RNA-seq data. It can either make use of pre-computed alignments (in the form of a SAM/BAM file) to the transcripts rather than the raw reads, or can be run in the mapping-based mode. This component creates a salmon index for the transcriptome to use Salmon in the mapping-based mode. It is generally recommend that you build a decoy-aware transcriptome file. This is done using the entire genome of the organism as the decoy sequence by concatenating the genome to the end of the transcriptome to be indexed and populating the decoys.txt file with the chromosome names.\n'
author = 'Sai Nirmayi Yasa'
}

View File

@@ -1,6 +1,6 @@
name: "salmon_quant"
namespace: "salmon"
version: "main"
version: "0.2.0"
authors:
- name: "Sai Nirmayi Yasa"
roles:
@@ -1156,7 +1156,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/salmon:1.10.2--hecfa306_0"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -1172,22 +1172,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/salmon/salmon_quant"
executable: "target/nextflow/salmon/salmon_quant/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// salmon_quant main
// salmon_quant 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "salmon_quant",
"namespace" : "salmon",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Sai Nirmayi Yasa",
@@ -3936,7 +3942,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/salmon:1.10.2--hecfa306_0",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3957,22 +3963,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/salmon/salmon_quant",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -4347,7 +4353,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -4478,7 +4488,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -4486,8 +4497,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -4524,6 +4535,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -4535,10 +4547,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -4623,7 +4634,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/salmon/salmon_quant",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'salmon/salmon_quant'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Salmon is a tool for wicked-fast transcript quantification from RNA-seq data. It can either make use of pre-computed alignments (in the form of a SAM/BAM file) to the transcripts rather than the raw reads, or can be run in the mapping-based mode. \n'
author = 'Sai Nirmayi Yasa'
}

View File

@@ -1,6 +1,6 @@
name: "samtools_flagstat"
namespace: "samtools"
version: "main"
version: "0.2.0"
authors:
- name: "Emma Rousseau"
roles:
@@ -155,7 +155,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -172,22 +172,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/samtools/samtools_flagstat"
executable: "target/nextflow/samtools/samtools_flagstat/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// samtools_flagstat main
// samtools_flagstat 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "samtools_flagstat",
"namespace" : "samtools",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Emma Rousseau",
@@ -3000,7 +3006,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3021,22 +3027,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/samtools/samtools_flagstat",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3176,7 +3182,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3307,7 +3317,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3315,8 +3326,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3353,6 +3364,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3364,10 +3376,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3452,7 +3463,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/samtools/samtools_flagstat",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'samtools/samtools_flagstat'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Counts the number of alignments in SAM/BAM/CRAM files for each FLAG type.'
author = 'Emma Rousseau'
}

View File

@@ -1,6 +1,6 @@
name: "samtools_idxstats"
namespace: "samtools"
version: "main"
version: "0.2.0"
authors:
- name: "Emma Rousseau"
roles:
@@ -165,7 +165,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -182,22 +182,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/samtools/samtools_idxstats"
executable: "target/nextflow/samtools/samtools_idxstats/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// samtools_idxstats main
// samtools_idxstats 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "samtools_idxstats",
"namespace" : "samtools",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Emma Rousseau",
@@ -3012,7 +3018,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3033,22 +3039,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/samtools/samtools_idxstats",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3186,7 +3192,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3317,7 +3327,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3325,8 +3336,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3363,6 +3374,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3374,10 +3386,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3462,7 +3473,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/samtools/samtools_idxstats",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'samtools/samtools_idxstats'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Reports alignment summary statistics for a BAM file.'
author = 'Emma Rousseau'
}

View File

@@ -1,6 +1,6 @@
name: "samtools_index"
namespace: "samtools"
version: "main"
version: "0.2.0"
authors:
- name: "Emma Rousseau"
roles:
@@ -171,7 +171,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -188,22 +188,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/samtools/samtools_index"
executable: "target/nextflow/samtools/samtools_index/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// samtools_index main
// samtools_index 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "samtools_index",
"namespace" : "samtools",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Emma Rousseau",
@@ -3025,7 +3031,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3046,22 +3052,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/samtools/samtools_index",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3210,7 +3216,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3341,7 +3351,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3349,8 +3360,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3387,6 +3398,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3398,10 +3410,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3486,7 +3497,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/samtools/samtools_index",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'samtools/samtools_index'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Index SAM/BAM/CRAM files.'
author = 'Emma Rousseau'
}

View File

@@ -1,6 +1,6 @@
name: "samtools_sort"
namespace: "samtools"
version: "main"
version: "0.2.0"
authors:
- name: "Emma Rousseau"
roles:
@@ -314,7 +314,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -331,22 +331,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/samtools/samtools_sort"
executable: "target/nextflow/samtools/samtools_sort/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// samtools_sort main
// samtools_sort 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "samtools_sort",
"namespace" : "samtools",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Emma Rousseau",
@@ -3197,7 +3203,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3218,22 +3224,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/samtools/samtools_sort",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3430,7 +3436,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3561,7 +3571,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3569,8 +3580,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3607,6 +3618,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3618,10 +3630,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3706,7 +3717,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/samtools/samtools_sort",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'samtools/samtools_sort'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Sort SAM/BAM/CRAM file.'
author = 'Emma Rousseau'
}

View File

@@ -1,6 +1,6 @@
name: "samtools_stats"
namespace: "samtools"
version: "main"
version: "0.2.0"
authors:
- name: "Emma Rousseau"
roles:
@@ -383,7 +383,7 @@ engines:
id: "docker"
image: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -400,22 +400,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/samtools/samtools_stats"
executable: "target/nextflow/samtools/samtools_stats/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// samtools_stats main
// samtools_stats 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "samtools_stats",
"namespace" : "samtools",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Emma Rousseau",
@@ -3267,7 +3273,7 @@ meta = [
"id" : "docker",
"image" : "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_1",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3288,22 +3294,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/samtools/samtools_stats",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3492,7 +3498,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3623,7 +3633,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3631,8 +3642,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3669,6 +3680,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3680,10 +3692,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3768,7 +3779,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/samtools/samtools_stats",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'samtools/samtools_stats'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Reports alignment summary statistics for a BAM file.'
author = 'Emma Rousseau'
}

View File

@@ -1,6 +1,6 @@
name: "star_align_reads"
namespace: "star"
version: "main"
version: "0.2.0"
authors:
- name: "Angela Oliveira Pisco"
roles:
@@ -2624,7 +2624,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "apt"
@@ -2662,22 +2662,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/star/star_align_reads"
executable: "target/nextflow/star/star_align_reads/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// star_align_reads main
// star_align_reads 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1732,7 +1732,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1803,7 +1805,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1845,7 +1849,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2804,7 +2810,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "star_align_reads",
"namespace" : "star",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Angela Oliveira Pisco",
@@ -4564,7 +4570,7 @@ meta = [
{
"type" : "integer",
"name" : "--seed_split_min",
"description" : "min length of the seed sequen''' + '''ces split by Ns or mate gap",
"description" : "min length of the seed seque''' + '''nces split by Ns or mate gap",
"info" : {
"orig_name" : "--seedSplitMin"
},
@@ -5888,7 +5894,7 @@ meta = [
"id" : "docker",
"image" : "python:3.12-slim",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -5936,22 +5942,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/star/star_align_reads",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -6384,7 +6390,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -6515,7 +6525,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -6523,8 +6534,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -6561,6 +6572,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -6572,10 +6584,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -6660,7 +6671,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/star/star_align_reads",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'star/star_align_reads'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Aligns reads to a reference genome using STAR.\n'
author = 'Angela Oliveira Pisco, Robrecht Cannoodt'
}

View File

@@ -1,6 +1,6 @@
name: "star_genome_generate"
namespace: "star"
version: "main"
version: "0.2.0"
authors:
- name: "Sai Nirmayi Yasa"
roles:
@@ -305,7 +305,7 @@ engines:
id: "docker"
image: "ubuntu:22.04"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "0.2.0"
namespace_separator: "/"
setup:
- type: "docker"
@@ -332,22 +332,22 @@ build_info:
engine: "docker|native"
output: "target/nextflow/star/star_genome_generate"
executable: "target/nextflow/star/star_genome_generate/main.nf"
viash_version: "0.9.0-RC7"
git_commit: "bd8ca889d13784c5a7502bb977c6659fe420d973"
viash_version: "0.9.0"
git_commit: "5526b3e939030daea80595fa98387b469329bbfa"
git_remote: "https://github.com/viash-hub/biobox"
package_config:
name: "biobox"
version: "main"
version: "0.2.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
info: null
viash_version: "0.9.0-RC7"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := '0.2.0'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,8 +1,8 @@
// star_genome_generate main
// star_genome_generate 0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
// Data Intuitive.
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
// The component may contain files which fall under a different license. The
// authors of this component should specify the license in the header of such
@@ -1731,7 +1731,9 @@ def publishStates(Map args) {
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
// TODO: do the pathnames in state_ match up with the outputFilenames_?
@@ -1802,7 +1804,9 @@ def publishStatesByConfig(Map args) {
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
def yamlFilename = yamlTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
@@ -1844,7 +1848,9 @@ def publishStatesByConfig(Map args) {
// instantiate the template
def filename = filenameTemplate
.replaceAll('\\$id', id_)
.replaceAll('\\$\\{id\\}', id_)
.replaceAll('\\$key', key_)
.replaceAll('\\$\\{key\\}', key_)
if (par.multiple) {
// if the parameter is multiple: true, the filename
// should contain a wildcard '*' that is replaced with
@@ -2803,7 +2809,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "star_genome_generate",
"namespace" : "star",
"version" : "main",
"version" : "0.2.0",
"authors" : [
{
"name" : "Sai Nirmayi Yasa",
@@ -3157,7 +3163,7 @@ meta = [
"id" : "docker",
"image" : "ubuntu:22.04",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3188,22 +3194,22 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/star/star_genome_generate",
"viash_version" : "0.9.0-RC7",
"git_commit" : "bd8ca889d13784c5a7502bb977c6659fe420d973",
"viash_version" : "0.9.0",
"git_commit" : "5526b3e939030daea80595fa98387b469329bbfa",
"git_remote" : "https://github.com/viash-hub/biobox"
},
"package_config" : {
"name" : "biobox",
"version" : "main",
"version" : "0.2.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0-RC7",
"viash_version" : "0.9.0",
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := '0.2.0'"
],
"keywords" : [
"bioinformatics",
@@ -3375,7 +3381,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
val = val.join(par.multiple_sep)
}
if (par.direction == "output" && par.type == "file") {
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
val = val
.replaceAll('\\$id', id)
.replaceAll('\\$\\{id\\}', id)
.replaceAll('\\$key', key)
.replaceAll('\\$\\{key\\}', key)
}
[parName, val]
}
@@ -3506,7 +3516,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def createParentStr = meta.config.allArguments
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
.collect { par ->
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
}
.join("\n")
@@ -3514,8 +3525,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def inputFileExports = meta.config.allArguments
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
.collect { par ->
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
}
// NOTE: if using docker, use /tmp instead of tmpDir!
@@ -3552,6 +3563,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
def procStr =
"""nextflow.enable.dsl=2
|
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|process $procKey {$drctvStrs
|input:
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
@@ -3563,10 +3575,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|$stub
|\"\"\"
|script:$assertStr
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|def parInject = args
| .findAll{key, value -> value != null}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
| .join("\\n")
|\"\"\"
|# meta exports
@@ -3651,7 +3662,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/star/star_genome_generate",
"tag" : "main"
"tag" : "0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'star/star_genome_generate'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = '0.2.0'
description = 'Create index for STAR\n'
author = 'Sai Nirmayi Yasa'
}

View File

@@ -1,5 +1,5 @@
name: "untar"
version: "main"
version: "v0.1.0"
argument_groups:
- name: "Input arguments"
arguments:
@@ -129,7 +129,7 @@ engines:
id: "docker"
image: "debian:stable-slim"
target_registry: "images.viash-hub.com"
target_tag: "main"
target_tag: "v0.1.0"
namespace_separator: "/"
setup:
- type: "apt"
@@ -147,11 +147,11 @@ build_info:
output: "target/nextflow/untar"
executable: "target/nextflow/untar/main.nf"
viash_version: "0.9.0"
git_commit: "3fecd6a214295592c65d5ef03b8b7115867f8752"
git_commit: "3143dd6e4c2c3107f79639fe8602d92f3141ad82"
git_remote: "https://github.com/viash-hub/craftbox"
package_config:
name: "craftbox"
version: "main"
version: "v0.1.0"
description: "A collection of custom-tailored scripts and applied tools.\n"
info: null
viash_version: "0.9.0"
@@ -161,7 +161,7 @@ package_config:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
keywords:
- "scripts"
- "custom"

View File

@@ -1,4 +1,4 @@
// untar main
// untar v0.1.0
//
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -2805,7 +2805,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{
"name" : "untar",
"version" : "main",
"version" : "v0.1.0",
"argument_groups" : [
{
"name" : "Input arguments",
@@ -2965,7 +2965,7 @@ meta = [
"id" : "docker",
"image" : "debian:stable-slim",
"target_registry" : "images.viash-hub.com",
"target_tag" : "main",
"target_tag" : "v0.1.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -2988,12 +2988,12 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/untar",
"viash_version" : "0.9.0",
"git_commit" : "3fecd6a214295592c65d5ef03b8b7115867f8752",
"git_commit" : "3143dd6e4c2c3107f79639fe8602d92f3141ad82",
"git_remote" : "https://github.com/viash-hub/craftbox"
},
"package_config" : {
"name" : "craftbox",
"version" : "main",
"version" : "v0.1.0",
"description" : "A collection of custom-tailored scripts and applied tools.\n",
"viash_version" : "0.9.0",
"source" : "src",
@@ -3002,7 +3002,7 @@ meta = [
".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'main'"
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
],
"keywords" : [
"scripts",
@@ -3454,7 +3454,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/craftbox/untar",
"tag" : "main"
"tag" : "v0.1.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'untar'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'main'
version = 'v0.1.0'
description = 'Unpack a .tar file. When the contents of the .tar file is just a single directory,\nput the contents of the directory into the output folder instead of that directory.\n'
}

View File

@@ -229,7 +229,7 @@ build_info:
output: "target/executable/bbmap_bbsplit"
executable: "target/executable/bbmap_bbsplit/bbmap_bbsplit"
viash_version: "0.9.0"
git_commit: "1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
git_commit: "cb9b32883494c48f394213551a82e9103f2e620c"
git_remote: "https://github.com/viash-hub/rnaseq"
package_config:
version: "main"

View File

@@ -506,9 +506,9 @@ tar xzf BBMap_39.01.tar.gz && \
cp -r bbmap/* /usr/local/bin
LABEL org.opencontainers.image.description="Companion container for running component bbmap_bbsplit"
LABEL org.opencontainers.image.created="2024-09-13T06:49:49Z"
LABEL org.opencontainers.image.created="2024-09-13T10:19:10Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/rnaseq"
LABEL org.opencontainers.image.revision="1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
LABEL org.opencontainers.image.revision="cb9b32883494c48f394213551a82e9103f2e620c"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

View File

@@ -169,7 +169,7 @@ build_info:
output: "target/executable/bedtools_genomecov"
executable: "target/executable/bedtools_genomecov/bedtools_genomecov"
viash_version: "0.9.0"
git_commit: "1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
git_commit: "cb9b32883494c48f394213551a82e9103f2e620c"
git_remote: "https://github.com/viash-hub/rnaseq"
package_config:
version: "main"

View File

@@ -481,9 +481,9 @@ mv bedtools.static /usr/local/bin/bedtools && \
chmod a+x /usr/local/bin/bedtools
LABEL org.opencontainers.image.description="Companion container for running component bedtools_genomecov"
LABEL org.opencontainers.image.created="2024-09-13T06:49:49Z"
LABEL org.opencontainers.image.created="2024-09-13T10:19:11Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/rnaseq"
LABEL org.opencontainers.image.revision="1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
LABEL org.opencontainers.image.revision="cb9b32883494c48f394213551a82e9103f2e620c"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

View File

@@ -173,7 +173,7 @@ build_info:
output: "target/executable/cat_additional_fasta"
executable: "target/executable/cat_additional_fasta/cat_additional_fasta"
viash_version: "0.9.0"
git_commit: "1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
git_commit: "cb9b32883494c48f394213551a82e9103f2e620c"
git_remote: "https://github.com/viash-hub/rnaseq"
package_config:
version: "main"

View File

@@ -480,9 +480,9 @@ function ViashDockerfile {
FROM python:latest
ENTRYPOINT []
LABEL org.opencontainers.image.description="Companion container for running component cat_additional_fasta"
LABEL org.opencontainers.image.created="2024-09-13T06:49:57Z"
LABEL org.opencontainers.image.created="2024-09-13T10:19:17Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/rnaseq"
LABEL org.opencontainers.image.revision="1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
LABEL org.opencontainers.image.revision="cb9b32883494c48f394213551a82e9103f2e620c"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

View File

@@ -160,7 +160,7 @@ build_info:
output: "target/executable/cat_fastq"
executable: "target/executable/cat_fastq/cat_fastq"
viash_version: "0.9.0"
git_commit: "1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
git_commit: "cb9b32883494c48f394213551a82e9103f2e620c"
git_remote: "https://github.com/viash-hub/rnaseq"
package_config:
version: "main"

View File

@@ -472,9 +472,9 @@ function ViashDockerfile {
FROM ubuntu:22.04
ENTRYPOINT []
LABEL org.opencontainers.image.description="Companion container for running component cat_fastq"
LABEL org.opencontainers.image.created="2024-09-13T06:49:57Z"
LABEL org.opencontainers.image.created="2024-09-13T10:19:18Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/rnaseq"
LABEL org.opencontainers.image.revision="1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
LABEL org.opencontainers.image.revision="cb9b32883494c48f394213551a82e9103f2e620c"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

View File

@@ -228,7 +228,7 @@ build_info:
output: "target/executable/deseq2_qc"
executable: "target/executable/deseq2_qc/deseq2_qc"
viash_version: "0.9.0"
git_commit: "1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
git_commit: "cb9b32883494c48f394213551a82e9103f2e620c"
git_remote: "https://github.com/viash-hub/rnaseq"
package_config:
version: "main"

View File

@@ -502,9 +502,9 @@ RUN Rscript -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packag
Rscript -e 'remotes::install_url(c("https://cran.r-project.org/src/contrib/Archive/matrixStats/matrixStats_1.1.0.tar.gz"), repos = "https://cran.rstudio.com")'
LABEL org.opencontainers.image.description="Companion container for running component deseq2_qc"
LABEL org.opencontainers.image.created="2024-09-13T06:50:07Z"
LABEL org.opencontainers.image.created="2024-09-13T10:19:30Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/rnaseq"
LABEL org.opencontainers.image.revision="1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
LABEL org.opencontainers.image.revision="cb9b32883494c48f394213551a82e9103f2e620c"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

Some files were not shown because too many files have changed in this diff Show More