Compare commits

...

3 Commits
v0.8.0 ... v0.8

Author SHA1 Message Date
CI
a3c5ac4841 Build branch v0.8 with version v0.8.3 (a62d4e3)
Build pipeline: viash-hub.htrnaseq.v0.8-zwzgt

Source commit: a62d4e3c95

Source message: Bump version to v0.8.3
2025-07-29 11:29:10 +00:00
CI
5289384cf0 Build branch v0.8 with version v0.8.2 (fc84d73)
Build pipeline: viash-hub.htrnaseq.v0.8-rsm6q

Source commit: fc84d739e6

Source message: Bump version to v0.8.2
2025-07-25 22:47:46 +00:00
CI
c13b816822 Build branch v0.8 with version v0.8.1 (b8046a7)
Build pipeline: viash-hub.htrnaseq.v0.8-qkgw6

Source commit: b8046a71eb

Source message: Merge remote-tracking branch 'origin/main' into v0.8
2025-05-16 09:56:49 +00:00
150 changed files with 3813 additions and 3221 deletions

View File

@@ -1,3 +1,29 @@
# htrnaseq v0.8.3
## Minor changes
* Bump craftbox to v0.2.0 (PR #62).
# htrnaseq v0.8.2
## Under the hood
* Add the package config (`_viash.yaml`) to every component's target dir. This makes introspection from, e.g. a `runner` workflow much more robust (PR #61)
# htrnaseq v0.8.1
## Bug fixes
* Fix an issue where the FASTQ files from different samples on the same sequencing run would overwrite each other (PR #56).
## Under the hood
* Moved the test resources to their new location (PR #47).
## Minor changes
* Bump `biobox` and `craftbox` dependencies to versions `0.3.1` and `0.2.0`, respectively (PR #60).
# htrnaseq v0.8.0
## New functionality

View File

@@ -9,7 +9,7 @@ License](https://img.shields.io/github/license/viash-hub/htrnaseq.svg)](https://
[![GitHub
Issues](https://img.shields.io/github/issues/viash-hub/htrnaseq.svg)](https://github.com/viash-hub/htrnaseq/issues)
[![Viash
version](https://img.shields.io/badge/Viash-v0.9.2-blue.svg)](https://viash.io)
version](https://img.shields.io/badge/Viash-v0.9.4-blue.svg)](https://viash.io)
## Introduction
@@ -90,7 +90,7 @@ subsampled to reduce the test runtime. We used
seqtk sample -s1 orig/SRR14730302/VH02001614_S8_R1_001.fastq.gz 10000 > 10k/SRR14730302/VH02001614_S8_R1_001.fastq.gz
```
This data is available at: `gs://viash-hub-resources/htrnaseq/v1/`.
This data is available at: `gs://viash-hub-test-data/htrnaseq/v1/`.
### Run from Viash Hub
@@ -166,7 +166,7 @@ using the following:
``` bash
nextflow run https://packages.viash-hub.com/vsh/htrnaseq.git \
-revision v0.3.0 \
-revision v0.8.1 \
-main-script target/nextflow/workflows/runner/main.nf \
--help
```

View File

@@ -113,7 +113,7 @@ Running from the CLI directly without using Viash hub is possible. The easiest i
```bash
nextflow run https://packages.viash-hub.com/vsh/htrnaseq.git \
-revision v0.3.0 \
-revision v0.8.1 \
-main-script target/nextflow/workflows/runner/main.nf \
--help
```

View File

@@ -1,5 +1,5 @@
name: htrnaseq
version: v0.8.0
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: |
@@ -46,10 +46,12 @@ viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-test-data/htrnaseq/v1/
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}

View File

@@ -35,7 +35,7 @@ repositories:
- name: cb
type: vsh
repo: craftbox
tag: v0.1.0
tag: v0.2.0
runners:
- type: nextflow

View File

@@ -135,7 +135,7 @@ repositories:
- name: bb
type: vsh
repo: biobox
tag: v0.1.0
tag: v0.3.1
runners:
- type: nextflow

View File

@@ -1,6 +1,6 @@
def date = new Date().format('yyyyMMdd_hhmmss')
def viash_config = java.nio.file.Paths.get("$projectDir/../../../../").toAbsolutePath().normalize().toString() + "/_viash.yaml"
def viash_config = java.nio.file.Paths.get("${moduleDir}/_viash.yaml")
def version = get_version(viash_config)
workflow run_wf {
@@ -195,10 +195,14 @@ workflow run_wf {
fastq_publish_ch = grouped_ch
| flatMap{id, state ->
def new_states = state.fastq_output.collect{fastq_dir ->
def new_id = fastq_dir.name // The folder name corresponds to the run
def run_id = fastq_dir.name // The folder name corresponds to the run
def sample = fastq_dir.parent.name // The parent folder name should be the sample
def new_id = "${run_id}/${sample}"
def fastq_files = fastq_dir.listFiles()
def new_state = [
"fastq_output": fastq_files
"fastq_output": fastq_files,
"sample_id": sample,
"run_id": run_id
]
return [new_id, new_state]
}
@@ -206,9 +210,9 @@ workflow run_wf {
}
| publish_fastqs.run(
fromState: { id, state ->
def id0 = "${id}"
def id0 = state.run_id
def id1 = (state.plain_output) ? id : "${id0}/${date}"
def id2 = (state.plain_output) ? id : "${id1}_htrnaseq_${version}"
def id2 = (state.plain_output) ? id : "${id1}_htrnaseq_${version}/${state.sample_id}"
if (id == id2) {
println("Publising fastqs to ${params.fastq_publish_dir}")

View File

@@ -65,11 +65,11 @@ repositories:
- name: bb
type: vsh
repo: biobox
tag: v0.3.0
tag: v0.3.1
- name: cb
type: vsh
repo: craftbox
tag: v0.1.0
tag: v0.2.0
runners:
- type: nextflow

View File

@@ -1,5 +1,5 @@
name: "cutadapt"
version: "v0.3.0"
version: "v0.3.1"
authors:
- name: "Toni Verbeiren"
roles:
@@ -633,6 +633,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -718,7 +721,7 @@ engines:
id: "docker"
image: "python:3.12"
target_registry: "images.viash-hub.com"
target_tag: "v0.3.0"
target_tag: "v0.3.1"
namespace_separator: "/"
setup:
- type: "python"
@@ -739,23 +742,34 @@ build_info:
engine: "docker|native"
output: "target/nextflow/cutadapt"
executable: "target/nextflow/cutadapt/main.nf"
viash_version: "0.9.0"
git_commit: "d86bd5cf62104af02caa852aacd352b1aa97ed60"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-29-gd86bd5c"
viash_version: "0.9.4"
git_commit: "98a5f3cc745525a65c10263d25cf414eb1093223"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.3.0-8-g98a5f3c"
package_config:
name: "biobox"
version: "v0.3.0"
description: "A collection of bioinformatics tools for working with sequence data.\n"
version: "v0.3.1"
summary: "A curated collection of high-quality, standalone bioinformatics components\
\ built with [Viash](https://viash.io).\n"
description: "`biobox` offers a suite of reliable bioinformatics components, similar\
\ to [nf-core/modules](https://github.com/nf-core/modules) and [snakemake-wrappers/bio](https://github.com/snakemake/snakemake-wrappers/tree/master/bio),\
\ but built using the [Viash](https://viash.io) framework.\n\nThis approach emphasizes\
\ **reusability**, **reproducibility**, and adherence to **best practices**. Key\
\ features of `biobox` components include:\n\n* **Standalone & Nextflow Ready:**\
\ Run components directly via the command line or seamlessly integrate them into\
\ Nextflow workflows.\n* **High Quality Standards:**\n * Comprehensive documentation\
\ for components and parameters.\n * Full exposure of underlying tool arguments.\n\
\ * Containerized (Docker) for dependency management and reproducibility.\n\
\ * Unit tested for verified functionality.\n"
info: null
viash_version: "0.9.0"
viash_version: "0.9.4"
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.3.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords:
- "bioinformatics"
- "modules"

View File

@@ -1,6 +1,6 @@
// cutadapt v0.3.0
// cutadapt v0.3.1
//
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
@@ -85,64 +85,56 @@ def _checkArgumentType(String stage, Map par, Object value, String errorIdentifi
foundClass = "List[${e.foundClass}]"
}
} else if (par.type == "string") {
// cast to string if need be
// cast to string if need be. only cast if the value is a GString
if (value instanceof GString) {
value = value.toString()
value = value as String
}
expectedClass = value instanceof String ? null : "String"
} else if (par.type == "integer") {
// cast to integer if need be
if (value instanceof String) {
if (value !instanceof Integer) {
try {
value = value.toInteger()
value = value as Integer
} catch (NumberFormatException e) {
// do nothing
expectedClass = "Integer"
}
}
if (value instanceof java.math.BigInteger) {
value = value.intValue()
}
expectedClass = value instanceof Integer ? null : "Integer"
} else if (par.type == "long") {
// cast to long if need be
if (value instanceof String) {
if (value !instanceof Long) {
try {
value = value.toLong()
value = value as Long
} catch (NumberFormatException e) {
// do nothing
expectedClass = "Long"
}
}
if (value instanceof Integer) {
value = value.toLong()
}
expectedClass = value instanceof Long ? null : "Long"
} else if (par.type == "double") {
// cast to double if need be
if (value instanceof String) {
if (value !instanceof Double) {
try {
value = value.toDouble()
value = value as Double
} catch (NumberFormatException e) {
// do nothing
expectedClass = "Double"
}
}
if (value instanceof java.math.BigDecimal) {
value = value.doubleValue()
} else if (par.type == "float") {
// cast to float if need be
if (value !instanceof Float) {
try {
value = value as Float
} catch (NumberFormatException e) {
expectedClass = "Float"
}
}
if (value instanceof Float) {
value = value.toDouble()
}
expectedClass = value instanceof Double ? null : "Double"
} else if (par.type == "boolean" | par.type == "boolean_true" | par.type == "boolean_false") {
// cast to boolean if need be
if (value instanceof String) {
def valueLower = value.toLowerCase()
if (valueLower == "true") {
value = true
} else if (valueLower == "false") {
value = false
if (value !instanceof Boolean) {
try {
value = value as Boolean
} catch (Exception e) {
expectedClass = "Boolean"
}
}
expectedClass = value instanceof Boolean ? null : "Boolean"
} else if (par.type == "file" && (par.direction == "input" || stage == "output")) {
// cast to path if need be
if (value instanceof String) {
@@ -154,10 +146,13 @@ def _checkArgumentType(String stage, Map par, Object value, String errorIdentifi
expectedClass = value instanceof Path ? null : "Path"
} else if (par.type == "file" && stage == "input" && par.direction == "output") {
// cast to string if need be
if (value instanceof GString) {
value = value.toString()
if (value !instanceof String) {
try {
value = value as String
} catch (Exception e) {
expectedClass = "String"
}
}
expectedClass = value instanceof String ? null : "String"
} else {
// didn't find a match for par.type
expectedClass = par.type
@@ -176,7 +171,7 @@ def _checkArgumentType(String stage, Map par, Object value, String errorIdentifi
Map _processInputValues(Map inputs, Map config, String id, String key) {
if (!workflow.stubRun) {
config.allArguments.each { arg ->
if (arg.required) {
if (arg.required && arg.direction == "input") {
assert inputs.containsKey(arg.plainName) && inputs.get(arg.plainName) != null :
"Error in module '${key}' id '${id}': required input argument '${arg.plainName}' is missing"
}
@@ -195,15 +190,8 @@ Map _processInputValues(Map inputs, Map config, String id, String key) {
}
// helper file: 'src/main/resources/io/viash/runners/nextflow/arguments/_processOutputValues.nf'
Map _processOutputValues(Map outputs, Map config, String id, String key) {
Map _checkValidOutputArgument(Map outputs, Map config, String id, String key) {
if (!workflow.stubRun) {
config.allArguments.each { arg ->
if (arg.direction == "output" && arg.required) {
assert outputs.containsKey(arg.plainName) && outputs.get(arg.plainName) != null :
"Error in module '${key}' id '${id}': required output argument '${arg.plainName}' is missing"
}
}
outputs = outputs.collectEntries { name, value ->
def par = config.allArguments.find { it.plainName == name && it.direction == "output" }
assert par != null : "Error in module '${key}' id '${id}': '${name}' is not a valid output argument"
@@ -216,6 +204,16 @@ Map _processOutputValues(Map outputs, Map config, String id, String key) {
return outputs
}
void _checkAllRequiredOuputsPresent(Map outputs, Map config, String id, String key) {
if (!workflow.stubRun) {
config.allArguments.each { arg ->
if (arg.direction == "output" && arg.required) {
assert outputs.containsKey(arg.plainName) && outputs.get(arg.plainName) != null :
"Error in module '${key}' id '${id}': required output argument '${arg.plainName}' is missing"
}
}
}
}
// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/IDChecker.nf'
class IDChecker {
final def items = [] as Set
@@ -1669,6 +1667,162 @@ def joinStates(Closure apply_) {
}
return joinStatesWf
}
// helper file: 'src/main/resources/io/viash/runners/nextflow/states/publishFiles.nf'
def publishFiles(Map args) {
def key_ = args.get("key")
assert key_ != null : "publishFiles: key must be specified"
workflow publishFilesWf {
take: input_ch
main:
input_ch
| map { tup ->
def id_ = tup[0]
def state_ = tup[1]
// the input files and the target output filenames
def inputoutputFilenames_ = collectInputOutputPaths(state_, id_ + "." + key_).transpose()
def inputFiles_ = inputoutputFilenames_[0]
def outputFilenames_ = inputoutputFilenames_[1]
[id_, inputFiles_, outputFilenames_]
}
| publishFilesProc
emit: input_ch
}
return publishFilesWf
}
process publishFilesProc {
// todo: check publishpath?
publishDir path: "${getPublishDir()}/", mode: "copy"
tag "$id"
input:
tuple val(id), path(inputFiles, stageAs: "_inputfile?/*"), val(outputFiles)
output:
tuple val(id), path{outputFiles}
script:
def copyCommands = [
inputFiles instanceof List ? inputFiles : [inputFiles],
outputFiles instanceof List ? outputFiles : [outputFiles]
]
.transpose()
.collectMany{infile, outfile ->
if (infile.toString() != outfile.toString()) {
[
"[ -d \"\$(dirname '${outfile.toString()}')\" ] || mkdir -p \"\$(dirname '${outfile.toString()}')\"",
"cp -r '${infile.toString()}' '${outfile.toString()}'"
]
} else {
// no need to copy if infile is the same as outfile
[]
}
}
"""
echo "Copying output files to destination folder"
${copyCommands.join("\n ")}
"""
}
// this assumes that the state contains no other values other than those specified in the config
def publishFilesByConfig(Map args) {
def config = args.get("config")
assert config != null : "publishFilesByConfig: config must be specified"
def key_ = args.get("key", config.name)
assert key_ != null : "publishFilesByConfig: key must be specified"
workflow publishFilesSimpleWf {
take: input_ch
main:
input_ch
| map { tup ->
def id_ = tup[0]
def state_ = tup[1] // e.g. [output: new File("myoutput.h5ad"), k: 10]
def origState_ = tup[2] // e.g. [output: '$id.$key.foo.h5ad']
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
// - key is a String
// - value is any object that can be serialized to a Yaml (so a String/Integer/Long/Double/Boolean, a List, a Map, or a Path)
// - inputPath is a List[Path]
// - outputFilename is a List[String]
// - (inputPath, outputFilename) are the files that will be copied from src to dest (relative to the state.yaml)
def processedState =
config.allArguments
.findAll { it.direction == "output" }
.collectMany { par ->
def plainName_ = par.plainName
// if the state does not contain the key, it's an
// optional argument for which the component did
// not generate any output OR multiple channels were emitted
// and the output was just not added to using the channel
// that is now being parsed
if (!state_.containsKey(plainName_)) {
return []
}
def value = state_[plainName_]
// if the parameter is not a file, it should be stored
// in the state as-is, but is not something that needs
// to be copied from the source path to the dest path
if (par.type != "file") {
return [[inputPath: [], outputFilename: []]]
}
// if the orig state does not contain this filename,
// it's an optional argument for which the user specified
// that it should not be returned as a state
if (!origState_.containsKey(plainName_)) {
return []
}
def filenameTemplate = origState_[plainName_]
// if the pararameter is multiple: true, fetch the template
if (par.multiple && filenameTemplate instanceof List) {
filenameTemplate = filenameTemplate[0]
}
// 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
// the index of the file
assert filename.contains("*") : "Module '${key_}' id '${id_}': Multiple output files specified, but no wildcard '*' in the filename: ${filename}"
def outputPerFile = value.withIndex().collect{ val, ix ->
def filename_ix = filename.replace("*", ix.toString())
def inputPath = val instanceof File ? val.toPath() : val
[inputPath: inputPath, outputFilename: filename_ix]
}
def transposedOutputs = ["inputPath", "outputFilename"].collectEntries{ key ->
[key, outputPerFile.collect{dic -> dic[key]}]
}
return [[key: plainName_] + transposedOutputs]
} else {
def value_ = java.nio.file.Paths.get(filename)
def inputPath = value instanceof File ? value.toPath() : value
return [[inputPath: [inputPath], outputFilename: [filename]]]
}
}
def inputPaths = processedState.collectMany{it.inputPath}
def outputFilenames = processedState.collectMany{it.outputFilename}
[id_, inputPaths, outputFilenames]
}
| publishFilesProc
emit: input_ch
}
return publishFilesSimpleWf
}
// helper file: 'src/main/resources/io/viash/runners/nextflow/states/publishStates.nf'
def collectFiles(obj) {
if (obj instanceof java.io.File || obj instanceof Path) {
@@ -1726,8 +1880,6 @@ def publishStates(Map args) {
// the input files and the target output filenames
def inputoutputFilenames_ = collectInputOutputPaths(state_, id_ + "." + key_).transpose()
def inputFiles_ = inputoutputFilenames_[0]
def outputFilenames_ = inputoutputFilenames_[1]
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
@@ -1740,7 +1892,7 @@ def publishStates(Map args) {
// convert state to yaml blob
def yamlBlob_ = toRelativeTaggedYamlBlob([id: id_] + state_, java.nio.file.Paths.get(yamlFilename))
[id_, yamlBlob_, yamlFilename, inputFiles_, outputFilenames_]
[id_, yamlBlob_, yamlFilename]
}
| publishStatesProc
emit: input_ch
@@ -1752,33 +1904,17 @@ process publishStatesProc {
publishDir path: "${getPublishDir()}/", mode: "copy"
tag "$id"
input:
tuple val(id), val(yamlBlob), val(yamlFile), path(inputFiles, stageAs: "_inputfile?/*"), val(outputFiles)
tuple val(id), val(yamlBlob), val(yamlFile)
output:
tuple val(id), path{[yamlFile] + outputFiles}
tuple val(id), path{[yamlFile]}
script:
def copyCommands = [
inputFiles instanceof List ? inputFiles : [inputFiles],
outputFiles instanceof List ? outputFiles : [outputFiles]
]
.transpose()
.collectMany{infile, outfile ->
if (infile.toString() != outfile.toString()) {
[
"[ -d \"\$(dirname '${outfile.toString()}')\" ] || mkdir -p \"\$(dirname '${outfile.toString()}')\"",
"cp -r '${infile.toString()}' '${outfile.toString()}'"
]
} else {
// no need to copy if infile is the same as outfile
[]
}
}
"""
mkdir -p "\$(dirname '${yamlFile}')"
echo "Storing state as yaml"
echo '${yamlBlob}' > '${yamlFile}'
echo "Copying output files to destination folder"
${copyCommands.join("\n ")}
"""
mkdir -p "\$(dirname '${yamlFile}')"
echo "Storing state as yaml"
cat > '${yamlFile}' << HERE
${yamlBlob}
HERE
"""
}
@@ -1809,13 +1945,10 @@ def publishStatesByConfig(Map args) {
.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
// the processed state is a list of [key, value] tuples, where
// - key is a String
// - value is any object that can be serialized to a Yaml (so a String/Integer/Long/Double/Boolean, a List, a Map, or a Path)
// - inputPath is a List[Path]
// - outputFilename is a List[String]
// - (key, value) are the tuples that will be saved to the state.yaml file
// - (inputPath, outputFilename) are the files that will be copied from src to dest (relative to the state.yaml)
def processedState =
config.allArguments
.findAll { it.direction == "output" }
@@ -1832,7 +1965,7 @@ def publishStatesByConfig(Map args) {
// in the state as-is, but is not something that needs
// to be copied from the source path to the dest path
if (par.type != "file") {
return [[key: plainName_, value: value, inputPath: [], outputFilename: []]]
return [[key: plainName_, value: value]]
}
// if the orig state does not contain this filename,
// it's an optional argument for which the user specified
@@ -1863,13 +1996,9 @@ def publishStatesByConfig(Map args) {
if (yamlDir != null) {
value_ = yamlDir.relativize(value_)
}
def inputPath = val instanceof File ? val.toPath() : val
[value: value_, inputPath: inputPath, outputFilename: filename_ix]
return value_
}
def transposedOutputs = ["value", "inputPath", "outputFilename"].collectEntries{ key ->
[key, outputPerFile.collect{dic -> dic[key]}]
}
return [[key: plainName_] + transposedOutputs]
return [["key": plainName_, "value": outputPerFile]]
} else {
def value_ = java.nio.file.Paths.get(filename)
// if id contains a slash
@@ -1877,18 +2006,17 @@ def publishStatesByConfig(Map args) {
value_ = yamlDir.relativize(value_)
}
def inputPath = value instanceof File ? value.toPath() : value
return [[key: plainName_, value: value_, inputPath: [inputPath], outputFilename: [filename]]]
return [["key": plainName_, value: value_]]
}
}
def updatedState_ = processedState.collectEntries{[it.key, it.value]}
def inputPaths = processedState.collectMany{it.inputPath}
def outputFilenames = processedState.collectMany{it.outputFilename}
// convert state to yaml blob
def yamlBlob_ = toTaggedYamlBlob([id: id_] + updatedState_)
[id_, yamlBlob_, yamlFilename, inputPaths, outputFilenames]
[id_, yamlBlob_, yamlFilename]
}
| publishStatesProc
emit: input_ch
@@ -2562,7 +2690,8 @@ def _debug(workflowArgs, debugKey) {
def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
def workflowArgs = processWorkflowArgs(args, defaultWfArgs, meta)
def key_ = workflowArgs["key"]
def multipleArgs = meta.config.allArguments.findAll{ it.multiple }.collect{it.plainName}
workflow workflowInstance {
take: input_
@@ -2719,12 +2848,36 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
}
// TODO: move some of the _meta.join_id wrangling to the safeJoin() function.
def chInitialOutput = chArgsWithDefaults
def chInitialOutputMulti = chArgsWithDefaults
| _debug(workflowArgs, "processed")
// run workflow
| innerWorkflowFactory(workflowArgs)
// check output tuple
| map { id_, output_ ->
def chInitialOutputList = chInitialOutputMulti instanceof List ? chInitialOutputMulti : [chInitialOutputMulti]
assert chInitialOutputList.size() > 0: "should have emitted at least one output channel"
// Add a channel ID to the events, which designates the channel the event was emitted from as a running number
// This number is used to sort the events later when the events are gathered from across the channels.
def chInitialOutputListWithIndexedEvents = chInitialOutputList.withIndex().collect{channel, channelIndex ->
def newChannel = channel
| map {tuple ->
assert tuple instanceof List :
"Error in module '${key_}': element in output channel should be a tuple [id, data, ...otherargs...]\n" +
" Example: [\"id\", [input: file('foo.txt'), arg: 10]].\n" +
" Expected class: List. Found: tuple.getClass() is ${tuple.getClass()}"
def newEvent = [channelIndex] + tuple
return newEvent
}
return newChannel
}
// Put the events into 1 channel, cover case where there is only one channel is emitted
def chInitialOutput = chInitialOutputList.size() > 1 ? \
chInitialOutputListWithIndexedEvents[0].mix(*chInitialOutputListWithIndexedEvents.tail()) : \
chInitialOutputListWithIndexedEvents[0]
def chInitialOutputProcessed = chInitialOutput
| map { tuple ->
def channelId = tuple[0]
def id_ = tuple[1]
def output_ = tuple[2]
// see if output map contains metadata
def meta_ =
@@ -2737,19 +2890,94 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
output_ = output_.findAll{k, v -> k != "_meta"}
// check value types
output_ = _processOutputValues(output_, meta.config, id_, key_)
output_ = _checkValidOutputArgument(output_, meta.config, id_, key_)
// simplify output if need be
if (workflowArgs.auto.simplifyOutput && output_.size() == 1) {
output_ = output_.values()[0]
}
[join_id, id_, output_]
[join_id, channelId, id_, output_]
}
// | view{"chInitialOutput: ${it.take(3)}"}
// join the output [prev_id, channel_id, new_id, output] with the previous state [prev_id, state, ...]
def chPublishWithPreviousState = safeJoin(chInitialOutputProcessed, chRunFiltered, key_)
// input tuple format: [join_id, channel_id, id, output, prev_state, ...]
// output tuple format: [join_id, channel_id, id, new_state, ...]
| map{ tup ->
def new_state = workflowArgs.toState(tup.drop(2).take(3))
tup.take(3) + [new_state] + tup.drop(5)
}
if (workflowArgs.auto.publish == "state") {
def chPublishFiles = chPublishWithPreviousState
// input tuple format: [join_id, channel_id, id, new_state, ...]
// output tuple format: [join_id, channel_id, id, new_state]
| map{ tup ->
tup.take(4)
}
safeJoin(chPublishFiles, chArgsWithDefaults, key_)
// input tuple format: [join_id, channel_id, id, new_state, orig_state, ...]
// output tuple format: [id, new_state, orig_state]
| map { tup ->
tup.drop(2).take(3)
}
| publishFilesByConfig(key: key_, config: meta.config)
}
// Join the state from the events that were emitted from different channels
def chJoined = chInitialOutputProcessed
| map {tuple ->
def join_id = tuple[0]
def channel_id = tuple[1]
def id = tuple[2]
def other = tuple.drop(3)
// Below, groupTuple is used to join the events. To make sure resuming a workflow
// keeps working, the output state must be deterministic. This means the state needs to be
// sorted with groupTuple's has a 'sort' argument. This argument can be set to 'hash',
// but hashing the state when it is large can be problematic in terms of performance.
// Therefore, a custom comparator function is provided. We add the channel ID to the
// states so that we can use the channel ID to sort the items.
def stateWithChannelID = [[channel_id] * other.size(), other].transpose()
// A comparator that is provided to groupTuple's 'sort' argument is applied
// to all elements of the event tuple (that is not the 'id'). The comparator
// closure that is used below expects the input to be List. So the join_id and
// channel_id must also be wrapped in a list.
[[join_id], [channel_id], id] + stateWithChannelID
}
| groupTuple(by: 2, sort: {a, b -> a[0] <=> b[0]}, size: chInitialOutputList.size(), remainder: true)
| map {join_ids, _, id, statesWithChannelID ->
// Remove the channel IDs from the states
def states = statesWithChannelID.collect{it[1]}
def newJoinId = join_ids.flatten().unique{a, b -> a <=> b}
assert newJoinId.size() == 1: "Multiple events were emitted for '$id'."
def newJoinIdUnique = newJoinId[0]
// Merge the states from the different channels
def newState = states.inject([:]){ old_state, state_to_add ->
return old_state + state_to_add.collectEntries{k, v ->
if (!multipleArgs.contains(k)) {
// if the key is not a multiple argument, we expect only one value
if (old_state.containsKey(k)) {
assert old_state[k] == v : "ID $id: multiple entries for argument $k were emitted."
}
[k, v]
} else {
// if the key is a multiple argument, append the different values into one list
def prevValue = old_state.getOrDefault(k, [])
def prevValueAsList = prevValue instanceof List ? prevValue : [prevValue]
[k, prevValueAsList + v]
}
}
}
_checkAllRequiredOuputsPresent(newState, meta.config, id, key_)
// simplify output if need be
if (workflowArgs.auto.simplifyOutput && newState.size() == 1) {
newState = newState.values()[0]
}
return [newJoinIdUnique, id, newState]
}
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
def chNewState = safeJoin(chJoined, chRunFiltered, key_)
// input tuple format: [join_id, id, output, prev_state, ...]
// output tuple format: [join_id, id, new_state, ...]
| map{ tup ->
@@ -2758,23 +2986,21 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
}
if (workflowArgs.auto.publish == "state") {
def chPublish = chNewState
def chPublishStates = chNewState
// input tuple format: [join_id, id, new_state, ...]
// output tuple format: [join_id, id, new_state]
| map{ tup ->
tup.take(3)
}
safeJoin(chPublish, chArgsWithDefaults, key_)
safeJoin(chPublishStates, chArgsWithDefaults, key_)
// input tuple format: [join_id, id, new_state, orig_state, ...]
// output tuple format: [id, new_state, orig_state]
| map { tup ->
tup.drop(1).take(3)
}
}
| publishStatesByConfig(key: key_, config: meta.config)
}
// remove join_id and meta
chReturn = chNewState
| map { tup ->
// input tuple format: [join_id, id, new_state, ...]
@@ -2808,7 +3034,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{
"name" : "cutadapt",
"version" : "v0.3.0",
"version" : "v0.3.1",
"authors" : [
{
"name" : "Toni Verbeiren",
@@ -3488,6 +3714,10 @@ meta = [
}
],
"status" : "enabled",
"scope" : {
"image" : "public",
"target" : "public"
},
"requirements" : {
"commands" : [
"ps"
@@ -3589,7 +3819,7 @@ meta = [
"id" : "docker",
"image" : "python:3.12",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.3.0",
"target_tag" : "v0.3.1",
"namespace_separator" : "/",
"setup" : [
{
@@ -3618,23 +3848,24 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/cutadapt",
"viash_version" : "0.9.0",
"git_commit" : "d86bd5cf62104af02caa852aacd352b1aa97ed60",
"git_remote" : "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox",
"git_tag" : "v0.2.0-29-gd86bd5c"
"viash_version" : "0.9.4",
"git_commit" : "98a5f3cc745525a65c10263d25cf414eb1093223",
"git_remote" : "https://github.com/viash-hub/biobox",
"git_tag" : "v0.3.0-8-g98a5f3c"
},
"package_config" : {
"name" : "biobox",
"version" : "v0.3.0",
"description" : "A collection of bioinformatics tools for working with sequence data.\n",
"viash_version" : "0.9.0",
"version" : "v0.3.1",
"summary" : "A curated collection of high-quality, standalone bioinformatics components built with [Viash](https://viash.io).\n",
"description" : "`biobox` offers a suite of reliable bioinformatics components, similar to [nf-core/modules](https://github.com/nf-core/modules) and [snakemake-wrappers/bio](https://github.com/snakemake/snakemake-wrappers/tree/master/bio), but built using the [Viash](https://viash.io) framework.\n\nThis approach emphasizes **reusability**, **reproducibility**, and adherence to **best practices**. Key features of `biobox` components include:\n\n* **Standalone & Nextflow Ready:** Run components directly via the command line or seamlessly integrate them into Nextflow workflows.\n* **High Quality Standards:**\n * Comprehensive documentation for components and parameters.\n * Full exposure of underlying tool arguments.\n * Containerized (Docker) for dependency management and reproducibility.\n * Unit tested for verified functionality.\n",
"viash_version" : "0.9.4",
"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.3.0'"
".engines[.type == 'docker'].target_tag := 'v0.3.1'"
],
"keywords" : [
"bioinformatics",
@@ -4320,7 +4551,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
// create process from temp file
def binding = new nextflow.script.ScriptBinding([:])
def session = nextflow.Nextflow.getSession()
def parser = new nextflow.script.ScriptParser(session)
def parser = _getScriptLoader(session)
.setModule(true)
.setBinding(binding)
def moduleScript = parser.runScript(tempFile)
@@ -4334,6 +4565,27 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
return scriptMeta.getProcess(procKey)
}
// use Reflection to get a ScriptParser / ScriptLoader
// <25.02.0-edge: new nextflow.script.ScriptParser(session)
// >=25.02.0-edge: nextflow.script.ScriptLoaderFactory.create(session)
def _getScriptLoader(nextflow.Session session) {
// try using the old method
try {
Class<?> scriptParserClass = Class.forName('nextflow.script.ScriptParser')
return scriptParserClass.getDeclaredConstructor(nextflow.Session).newInstance(session)
} catch (ClassNotFoundException e) {
// else try with the new method
try {
Class<?> scriptLoaderFactoryClass = Class.forName('nextflow.script.ScriptLoaderFactory')
def createMethod = scriptLoaderFactoryClass.getDeclaredMethod('create', nextflow.Session)
return createMethod.invoke(null, session) // null because create is static
} catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | java.lang.reflect.InvocationTargetException e2) {
// Handle the case where neither class is found
throw new Exception("Neither nextflow.script.ScriptParser nor nextflow.script.ScriptLoaderFactory could be found. Is this a compatible Nextflow version?", e2)
}
}
}
// defaults
meta["defaults"] = [
// key to be used to trace the process and determine output names
@@ -4347,7 +4599,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/biobox/cutadapt",
"tag" : "v0.3.0"
"tag" : "v0.3.1"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'cutadapt'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.3.0'
version = 'v0.3.1'
description = 'Cutadapt removes adapter sequences from high-throughput sequencing reads.\n'
author = 'Toni Verbeiren'
}

View File

@@ -1,5 +1,5 @@
name: "concat_text"
version: "v0.1.0"
version: "v0.2.0"
authors:
- name: "Toni Verbeiren"
roles:
@@ -64,6 +64,7 @@ resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
summary: "Concatenate a number of text files"
description: "Concatenate a number of text files, handle gzipped text files gracefully\
\ and\noptionally gzip the output text file.\n\nThis component is useful for concatening\
\ fastq files from different lanes, for instance.\n"
@@ -76,6 +77,9 @@ info:
\ of zipped and plain input files\n 2. Allow to specify a compression algorithm\
\ for the output\n"
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -152,7 +156,7 @@ engines:
id: "docker"
image: "alpine:latest"
target_registry: "images.viash-hub.com"
target_tag: "v0.1.0"
target_tag: "v0.2.0"
namespace_separator: "/"
setup:
- type: "apk"
@@ -170,26 +174,41 @@ build_info:
engine: "docker|native"
output: "target/nextflow/concat_text"
executable: "target/nextflow/concat_text/main.nf"
viash_version: "0.9.0"
git_commit: "3143dd6e4c2c3107f79639fe8602d92f3141ad82"
viash_version: "0.9.4"
git_commit: "1c1b0a4a1aff891ab678072b0ba915ac3ac71610"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-8-g1c1b0a4"
package_config:
name: "craftbox"
version: "v0.1.0"
description: "A collection of custom-tailored scripts and applied tools.\n"
version: "v0.2.0"
summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\
\ designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles,\
\ `craftbox` components aim for **reusability**, **reproducibility**, and adherence\
\ to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow\
\ Ready:** Components are built to run directly via the command line or be smoothly\
\ integrated into Nextflow workflows.\n* **Custom Implementations:** Contains\
\ scripts and tools developed for particular tasks that may not be found in broader\
\ collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear\
\ documentation for components and their parameters.\n * Full exposure of underlying\
\ script/tool arguments for fine-grained control.\n * Containerized (Docker)\
\ to ensure dependency management and a consistent, reproducible runtime environment.\n\
\ * Unit tested where applicable to ensure components function as expected.\n"
info: null
viash_version: "0.9.0"
viash_version: "0.9.4"
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 := 'v0.2.0'"
keywords:
- "scripts"
- "custom"
- "implementations"
- "utilities"
license: "MIT"
organization: "vsh"
links:

View File

@@ -1,6 +1,6 @@
// concat_text v0.1.0
// concat_text v0.2.0
//
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
// Intuitive.
//
@@ -86,64 +86,56 @@ def _checkArgumentType(String stage, Map par, Object value, String errorIdentifi
foundClass = "List[${e.foundClass}]"
}
} else if (par.type == "string") {
// cast to string if need be
// cast to string if need be. only cast if the value is a GString
if (value instanceof GString) {
value = value.toString()
value = value as String
}
expectedClass = value instanceof String ? null : "String"
} else if (par.type == "integer") {
// cast to integer if need be
if (value instanceof String) {
if (value !instanceof Integer) {
try {
value = value.toInteger()
value = value as Integer
} catch (NumberFormatException e) {
// do nothing
expectedClass = "Integer"
}
}
if (value instanceof java.math.BigInteger) {
value = value.intValue()
}
expectedClass = value instanceof Integer ? null : "Integer"
} else if (par.type == "long") {
// cast to long if need be
if (value instanceof String) {
if (value !instanceof Long) {
try {
value = value.toLong()
value = value as Long
} catch (NumberFormatException e) {
// do nothing
expectedClass = "Long"
}
}
if (value instanceof Integer) {
value = value.toLong()
}
expectedClass = value instanceof Long ? null : "Long"
} else if (par.type == "double") {
// cast to double if need be
if (value instanceof String) {
if (value !instanceof Double) {
try {
value = value.toDouble()
value = value as Double
} catch (NumberFormatException e) {
// do nothing
expectedClass = "Double"
}
}
if (value instanceof java.math.BigDecimal) {
value = value.doubleValue()
} else if (par.type == "float") {
// cast to float if need be
if (value !instanceof Float) {
try {
value = value as Float
} catch (NumberFormatException e) {
expectedClass = "Float"
}
}
if (value instanceof Float) {
value = value.toDouble()
}
expectedClass = value instanceof Double ? null : "Double"
} else if (par.type == "boolean" | par.type == "boolean_true" | par.type == "boolean_false") {
// cast to boolean if need be
if (value instanceof String) {
def valueLower = value.toLowerCase()
if (valueLower == "true") {
value = true
} else if (valueLower == "false") {
value = false
if (value !instanceof Boolean) {
try {
value = value as Boolean
} catch (Exception e) {
expectedClass = "Boolean"
}
}
expectedClass = value instanceof Boolean ? null : "Boolean"
} else if (par.type == "file" && (par.direction == "input" || stage == "output")) {
// cast to path if need be
if (value instanceof String) {
@@ -155,10 +147,13 @@ def _checkArgumentType(String stage, Map par, Object value, String errorIdentifi
expectedClass = value instanceof Path ? null : "Path"
} else if (par.type == "file" && stage == "input" && par.direction == "output") {
// cast to string if need be
if (value instanceof GString) {
value = value.toString()
if (value !instanceof String) {
try {
value = value as String
} catch (Exception e) {
expectedClass = "String"
}
}
expectedClass = value instanceof String ? null : "String"
} else {
// didn't find a match for par.type
expectedClass = par.type
@@ -177,7 +172,7 @@ def _checkArgumentType(String stage, Map par, Object value, String errorIdentifi
Map _processInputValues(Map inputs, Map config, String id, String key) {
if (!workflow.stubRun) {
config.allArguments.each { arg ->
if (arg.required) {
if (arg.required && arg.direction == "input") {
assert inputs.containsKey(arg.plainName) && inputs.get(arg.plainName) != null :
"Error in module '${key}' id '${id}': required input argument '${arg.plainName}' is missing"
}
@@ -196,15 +191,8 @@ Map _processInputValues(Map inputs, Map config, String id, String key) {
}
// helper file: 'src/main/resources/io/viash/runners/nextflow/arguments/_processOutputValues.nf'
Map _processOutputValues(Map outputs, Map config, String id, String key) {
Map _checkValidOutputArgument(Map outputs, Map config, String id, String key) {
if (!workflow.stubRun) {
config.allArguments.each { arg ->
if (arg.direction == "output" && arg.required) {
assert outputs.containsKey(arg.plainName) && outputs.get(arg.plainName) != null :
"Error in module '${key}' id '${id}': required output argument '${arg.plainName}' is missing"
}
}
outputs = outputs.collectEntries { name, value ->
def par = config.allArguments.find { it.plainName == name && it.direction == "output" }
assert par != null : "Error in module '${key}' id '${id}': '${name}' is not a valid output argument"
@@ -217,6 +205,16 @@ Map _processOutputValues(Map outputs, Map config, String id, String key) {
return outputs
}
void _checkAllRequiredOuputsPresent(Map outputs, Map config, String id, String key) {
if (!workflow.stubRun) {
config.allArguments.each { arg ->
if (arg.direction == "output" && arg.required) {
assert outputs.containsKey(arg.plainName) && outputs.get(arg.plainName) != null :
"Error in module '${key}' id '${id}': required output argument '${arg.plainName}' is missing"
}
}
}
}
// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/IDChecker.nf'
class IDChecker {
final def items = [] as Set
@@ -1670,6 +1668,162 @@ def joinStates(Closure apply_) {
}
return joinStatesWf
}
// helper file: 'src/main/resources/io/viash/runners/nextflow/states/publishFiles.nf'
def publishFiles(Map args) {
def key_ = args.get("key")
assert key_ != null : "publishFiles: key must be specified"
workflow publishFilesWf {
take: input_ch
main:
input_ch
| map { tup ->
def id_ = tup[0]
def state_ = tup[1]
// the input files and the target output filenames
def inputoutputFilenames_ = collectInputOutputPaths(state_, id_ + "." + key_).transpose()
def inputFiles_ = inputoutputFilenames_[0]
def outputFilenames_ = inputoutputFilenames_[1]
[id_, inputFiles_, outputFilenames_]
}
| publishFilesProc
emit: input_ch
}
return publishFilesWf
}
process publishFilesProc {
// todo: check publishpath?
publishDir path: "${getPublishDir()}/", mode: "copy"
tag "$id"
input:
tuple val(id), path(inputFiles, stageAs: "_inputfile?/*"), val(outputFiles)
output:
tuple val(id), path{outputFiles}
script:
def copyCommands = [
inputFiles instanceof List ? inputFiles : [inputFiles],
outputFiles instanceof List ? outputFiles : [outputFiles]
]
.transpose()
.collectMany{infile, outfile ->
if (infile.toString() != outfile.toString()) {
[
"[ -d \"\$(dirname '${outfile.toString()}')\" ] || mkdir -p \"\$(dirname '${outfile.toString()}')\"",
"cp -r '${infile.toString()}' '${outfile.toString()}'"
]
} else {
// no need to copy if infile is the same as outfile
[]
}
}
"""
echo "Copying output files to destination folder"
${copyCommands.join("\n ")}
"""
}
// this assumes that the state contains no other values other than those specified in the config
def publishFilesByConfig(Map args) {
def config = args.get("config")
assert config != null : "publishFilesByConfig: config must be specified"
def key_ = args.get("key", config.name)
assert key_ != null : "publishFilesByConfig: key must be specified"
workflow publishFilesSimpleWf {
take: input_ch
main:
input_ch
| map { tup ->
def id_ = tup[0]
def state_ = tup[1] // e.g. [output: new File("myoutput.h5ad"), k: 10]
def origState_ = tup[2] // e.g. [output: '$id.$key.foo.h5ad']
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
// - key is a String
// - value is any object that can be serialized to a Yaml (so a String/Integer/Long/Double/Boolean, a List, a Map, or a Path)
// - inputPath is a List[Path]
// - outputFilename is a List[String]
// - (inputPath, outputFilename) are the files that will be copied from src to dest (relative to the state.yaml)
def processedState =
config.allArguments
.findAll { it.direction == "output" }
.collectMany { par ->
def plainName_ = par.plainName
// if the state does not contain the key, it's an
// optional argument for which the component did
// not generate any output OR multiple channels were emitted
// and the output was just not added to using the channel
// that is now being parsed
if (!state_.containsKey(plainName_)) {
return []
}
def value = state_[plainName_]
// if the parameter is not a file, it should be stored
// in the state as-is, but is not something that needs
// to be copied from the source path to the dest path
if (par.type != "file") {
return [[inputPath: [], outputFilename: []]]
}
// if the orig state does not contain this filename,
// it's an optional argument for which the user specified
// that it should not be returned as a state
if (!origState_.containsKey(plainName_)) {
return []
}
def filenameTemplate = origState_[plainName_]
// if the pararameter is multiple: true, fetch the template
if (par.multiple && filenameTemplate instanceof List) {
filenameTemplate = filenameTemplate[0]
}
// 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
// the index of the file
assert filename.contains("*") : "Module '${key_}' id '${id_}': Multiple output files specified, but no wildcard '*' in the filename: ${filename}"
def outputPerFile = value.withIndex().collect{ val, ix ->
def filename_ix = filename.replace("*", ix.toString())
def inputPath = val instanceof File ? val.toPath() : val
[inputPath: inputPath, outputFilename: filename_ix]
}
def transposedOutputs = ["inputPath", "outputFilename"].collectEntries{ key ->
[key, outputPerFile.collect{dic -> dic[key]}]
}
return [[key: plainName_] + transposedOutputs]
} else {
def value_ = java.nio.file.Paths.get(filename)
def inputPath = value instanceof File ? value.toPath() : value
return [[inputPath: [inputPath], outputFilename: [filename]]]
}
}
def inputPaths = processedState.collectMany{it.inputPath}
def outputFilenames = processedState.collectMany{it.outputFilename}
[id_, inputPaths, outputFilenames]
}
| publishFilesProc
emit: input_ch
}
return publishFilesSimpleWf
}
// helper file: 'src/main/resources/io/viash/runners/nextflow/states/publishStates.nf'
def collectFiles(obj) {
if (obj instanceof java.io.File || obj instanceof Path) {
@@ -1727,8 +1881,6 @@ def publishStates(Map args) {
// the input files and the target output filenames
def inputoutputFilenames_ = collectInputOutputPaths(state_, id_ + "." + key_).transpose()
def inputFiles_ = inputoutputFilenames_[0]
def outputFilenames_ = inputoutputFilenames_[1]
def yamlFilename = yamlTemplate_
.replaceAll('\\$id', id_)
@@ -1741,7 +1893,7 @@ def publishStates(Map args) {
// convert state to yaml blob
def yamlBlob_ = toRelativeTaggedYamlBlob([id: id_] + state_, java.nio.file.Paths.get(yamlFilename))
[id_, yamlBlob_, yamlFilename, inputFiles_, outputFilenames_]
[id_, yamlBlob_, yamlFilename]
}
| publishStatesProc
emit: input_ch
@@ -1753,33 +1905,17 @@ process publishStatesProc {
publishDir path: "${getPublishDir()}/", mode: "copy"
tag "$id"
input:
tuple val(id), val(yamlBlob), val(yamlFile), path(inputFiles, stageAs: "_inputfile?/*"), val(outputFiles)
tuple val(id), val(yamlBlob), val(yamlFile)
output:
tuple val(id), path{[yamlFile] + outputFiles}
tuple val(id), path{[yamlFile]}
script:
def copyCommands = [
inputFiles instanceof List ? inputFiles : [inputFiles],
outputFiles instanceof List ? outputFiles : [outputFiles]
]
.transpose()
.collectMany{infile, outfile ->
if (infile.toString() != outfile.toString()) {
[
"[ -d \"\$(dirname '${outfile.toString()}')\" ] || mkdir -p \"\$(dirname '${outfile.toString()}')\"",
"cp -r '${infile.toString()}' '${outfile.toString()}'"
]
} else {
// no need to copy if infile is the same as outfile
[]
}
}
"""
mkdir -p "\$(dirname '${yamlFile}')"
echo "Storing state as yaml"
echo '${yamlBlob}' > '${yamlFile}'
echo "Copying output files to destination folder"
${copyCommands.join("\n ")}
"""
mkdir -p "\$(dirname '${yamlFile}')"
echo "Storing state as yaml"
cat > '${yamlFile}' << HERE
${yamlBlob}
HERE
"""
}
@@ -1810,13 +1946,10 @@ def publishStatesByConfig(Map args) {
.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
// the processed state is a list of [key, value] tuples, where
// - key is a String
// - value is any object that can be serialized to a Yaml (so a String/Integer/Long/Double/Boolean, a List, a Map, or a Path)
// - inputPath is a List[Path]
// - outputFilename is a List[String]
// - (key, value) are the tuples that will be saved to the state.yaml file
// - (inputPath, outputFilename) are the files that will be copied from src to dest (relative to the state.yaml)
def processedState =
config.allArguments
.findAll { it.direction == "output" }
@@ -1833,7 +1966,7 @@ def publishStatesByConfig(Map args) {
// in the state as-is, but is not something that needs
// to be copied from the source path to the dest path
if (par.type != "file") {
return [[key: plainName_, value: value, inputPath: [], outputFilename: []]]
return [[key: plainName_, value: value]]
}
// if the orig state does not contain this filename,
// it's an optional argument for which the user specified
@@ -1864,13 +1997,9 @@ def publishStatesByConfig(Map args) {
if (yamlDir != null) {
value_ = yamlDir.relativize(value_)
}
def inputPath = val instanceof File ? val.toPath() : val
[value: value_, inputPath: inputPath, outputFilename: filename_ix]
return value_
}
def transposedOutputs = ["value", "inputPath", "outputFilename"].collectEntries{ key ->
[key, outputPerFile.collect{dic -> dic[key]}]
}
return [[key: plainName_] + transposedOutputs]
return [["key": plainName_, "value": outputPerFile]]
} else {
def value_ = java.nio.file.Paths.get(filename)
// if id contains a slash
@@ -1878,18 +2007,17 @@ def publishStatesByConfig(Map args) {
value_ = yamlDir.relativize(value_)
}
def inputPath = value instanceof File ? value.toPath() : value
return [[key: plainName_, value: value_, inputPath: [inputPath], outputFilename: [filename]]]
return [["key": plainName_, value: value_]]
}
}
def updatedState_ = processedState.collectEntries{[it.key, it.value]}
def inputPaths = processedState.collectMany{it.inputPath}
def outputFilenames = processedState.collectMany{it.outputFilename}
// convert state to yaml blob
def yamlBlob_ = toTaggedYamlBlob([id: id_] + updatedState_)
[id_, yamlBlob_, yamlFilename, inputPaths, outputFilenames]
[id_, yamlBlob_, yamlFilename]
}
| publishStatesProc
emit: input_ch
@@ -2563,7 +2691,8 @@ def _debug(workflowArgs, debugKey) {
def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
def workflowArgs = processWorkflowArgs(args, defaultWfArgs, meta)
def key_ = workflowArgs["key"]
def multipleArgs = meta.config.allArguments.findAll{ it.multiple }.collect{it.plainName}
workflow workflowInstance {
take: input_
@@ -2720,12 +2849,36 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
}
// TODO: move some of the _meta.join_id wrangling to the safeJoin() function.
def chInitialOutput = chArgsWithDefaults
def chInitialOutputMulti = chArgsWithDefaults
| _debug(workflowArgs, "processed")
// run workflow
| innerWorkflowFactory(workflowArgs)
// check output tuple
| map { id_, output_ ->
def chInitialOutputList = chInitialOutputMulti instanceof List ? chInitialOutputMulti : [chInitialOutputMulti]
assert chInitialOutputList.size() > 0: "should have emitted at least one output channel"
// Add a channel ID to the events, which designates the channel the event was emitted from as a running number
// This number is used to sort the events later when the events are gathered from across the channels.
def chInitialOutputListWithIndexedEvents = chInitialOutputList.withIndex().collect{channel, channelIndex ->
def newChannel = channel
| map {tuple ->
assert tuple instanceof List :
"Error in module '${key_}': element in output channel should be a tuple [id, data, ...otherargs...]\n" +
" Example: [\"id\", [input: file('foo.txt'), arg: 10]].\n" +
" Expected class: List. Found: tuple.getClass() is ${tuple.getClass()}"
def newEvent = [channelIndex] + tuple
return newEvent
}
return newChannel
}
// Put the events into 1 channel, cover case where there is only one channel is emitted
def chInitialOutput = chInitialOutputList.size() > 1 ? \
chInitialOutputListWithIndexedEvents[0].mix(*chInitialOutputListWithIndexedEvents.tail()) : \
chInitialOutputListWithIndexedEvents[0]
def chInitialOutputProcessed = chInitialOutput
| map { tuple ->
def channelId = tuple[0]
def id_ = tuple[1]
def output_ = tuple[2]
// see if output map contains metadata
def meta_ =
@@ -2738,19 +2891,94 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
output_ = output_.findAll{k, v -> k != "_meta"}
// check value types
output_ = _processOutputValues(output_, meta.config, id_, key_)
output_ = _checkValidOutputArgument(output_, meta.config, id_, key_)
// simplify output if need be
if (workflowArgs.auto.simplifyOutput && output_.size() == 1) {
output_ = output_.values()[0]
}
[join_id, id_, output_]
[join_id, channelId, id_, output_]
}
// | view{"chInitialOutput: ${it.take(3)}"}
// join the output [prev_id, channel_id, new_id, output] with the previous state [prev_id, state, ...]
def chPublishWithPreviousState = safeJoin(chInitialOutputProcessed, chRunFiltered, key_)
// input tuple format: [join_id, channel_id, id, output, prev_state, ...]
// output tuple format: [join_id, channel_id, id, new_state, ...]
| map{ tup ->
def new_state = workflowArgs.toState(tup.drop(2).take(3))
tup.take(3) + [new_state] + tup.drop(5)
}
if (workflowArgs.auto.publish == "state") {
def chPublishFiles = chPublishWithPreviousState
// input tuple format: [join_id, channel_id, id, new_state, ...]
// output tuple format: [join_id, channel_id, id, new_state]
| map{ tup ->
tup.take(4)
}
safeJoin(chPublishFiles, chArgsWithDefaults, key_)
// input tuple format: [join_id, channel_id, id, new_state, orig_state, ...]
// output tuple format: [id, new_state, orig_state]
| map { tup ->
tup.drop(2).take(3)
}
| publishFilesByConfig(key: key_, config: meta.config)
}
// Join the state from the events that were emitted from different channels
def chJoined = chInitialOutputProcessed
| map {tuple ->
def join_id = tuple[0]
def channel_id = tuple[1]
def id = tuple[2]
def other = tuple.drop(3)
// Below, groupTuple is used to join the events. To make sure resuming a workflow
// keeps working, the output state must be deterministic. This means the state needs to be
// sorted with groupTuple's has a 'sort' argument. This argument can be set to 'hash',
// but hashing the state when it is large can be problematic in terms of performance.
// Therefore, a custom comparator function is provided. We add the channel ID to the
// states so that we can use the channel ID to sort the items.
def stateWithChannelID = [[channel_id] * other.size(), other].transpose()
// A comparator that is provided to groupTuple's 'sort' argument is applied
// to all elements of the event tuple (that is not the 'id'). The comparator
// closure that is used below expects the input to be List. So the join_id and
// channel_id must also be wrapped in a list.
[[join_id], [channel_id], id] + stateWithChannelID
}
| groupTuple(by: 2, sort: {a, b -> a[0] <=> b[0]}, size: chInitialOutputList.size(), remainder: true)
| map {join_ids, _, id, statesWithChannelID ->
// Remove the channel IDs from the states
def states = statesWithChannelID.collect{it[1]}
def newJoinId = join_ids.flatten().unique{a, b -> a <=> b}
assert newJoinId.size() == 1: "Multiple events were emitted for '$id'."
def newJoinIdUnique = newJoinId[0]
// Merge the states from the different channels
def newState = states.inject([:]){ old_state, state_to_add ->
return old_state + state_to_add.collectEntries{k, v ->
if (!multipleArgs.contains(k)) {
// if the key is not a multiple argument, we expect only one value
if (old_state.containsKey(k)) {
assert old_state[k] == v : "ID $id: multiple entries for argument $k were emitted."
}
[k, v]
} else {
// if the key is a multiple argument, append the different values into one list
def prevValue = old_state.getOrDefault(k, [])
def prevValueAsList = prevValue instanceof List ? prevValue : [prevValue]
[k, prevValueAsList + v]
}
}
}
_checkAllRequiredOuputsPresent(newState, meta.config, id, key_)
// simplify output if need be
if (workflowArgs.auto.simplifyOutput && newState.size() == 1) {
newState = newState.values()[0]
}
return [newJoinIdUnique, id, newState]
}
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
def chNewState = safeJoin(chJoined, chRunFiltered, key_)
// input tuple format: [join_id, id, output, prev_state, ...]
// output tuple format: [join_id, id, new_state, ...]
| map{ tup ->
@@ -2759,23 +2987,21 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
}
if (workflowArgs.auto.publish == "state") {
def chPublish = chNewState
def chPublishStates = chNewState
// input tuple format: [join_id, id, new_state, ...]
// output tuple format: [join_id, id, new_state]
| map{ tup ->
tup.take(3)
}
safeJoin(chPublish, chArgsWithDefaults, key_)
safeJoin(chPublishStates, chArgsWithDefaults, key_)
// input tuple format: [join_id, id, new_state, orig_state, ...]
// output tuple format: [id, new_state, orig_state]
| map { tup ->
tup.drop(1).take(3)
}
}
| publishStatesByConfig(key: key_, config: meta.config)
}
// remove join_id and meta
chReturn = chNewState
| map { tup ->
// input tuple format: [join_id, id, new_state, ...]
@@ -2809,7 +3035,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{
"name" : "concat_text",
"version" : "v0.1.0",
"version" : "v0.2.0",
"authors" : [
{
"name" : "Toni Verbeiren",
@@ -2906,6 +3132,7 @@ meta = [
"is_executable" : true
}
],
"summary" : "Concatenate a number of text files",
"description" : "Concatenate a number of text files, handle gzipped text files gracefully and\noptionally gzip the output text file.\n\nThis component is useful for concatening fastq files from different lanes, for instance.\n",
"test_resources" : [
{
@@ -2918,6 +3145,10 @@ meta = [
"improvements" : "This component could be improved in 2 ways:\n 1. Allow for a mix of zipped and plain input files\n 2. Allow to specify a compression algorithm for the output\n"
},
"status" : "enabled",
"scope" : {
"image" : "public",
"target" : "public"
},
"requirements" : {
"commands" : [
"ps"
@@ -3007,7 +3238,7 @@ meta = [
"id" : "docker",
"image" : "alpine:latest",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.1.0",
"target_tag" : "v0.2.0",
"namespace_separator" : "/",
"setup" : [
{
@@ -3030,27 +3261,30 @@ meta = [
"runner" : "nextflow",
"engine" : "docker|native",
"output" : "target/nextflow/concat_text",
"viash_version" : "0.9.0",
"git_commit" : "3143dd6e4c2c3107f79639fe8602d92f3141ad82",
"git_remote" : "https://github.com/viash-hub/craftbox"
"viash_version" : "0.9.4",
"git_commit" : "1c1b0a4a1aff891ab678072b0ba915ac3ac71610",
"git_remote" : "https://github.com/viash-hub/craftbox",
"git_tag" : "v0.1.0-8-g1c1b0a4"
},
"package_config" : {
"name" : "craftbox",
"version" : "v0.1.0",
"description" : "A collection of custom-tailored scripts and applied tools.\n",
"viash_version" : "0.9.0",
"version" : "v0.2.0",
"summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n",
"description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n",
"viash_version" : "0.9.4",
"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 := 'v0.2.0'"
],
"keywords" : [
"scripts",
"custom",
"implementations"
"implementations",
"utilities"
],
"license" : "MIT",
"organization" : "vsh",
@@ -3464,7 +3698,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
// create process from temp file
def binding = new nextflow.script.ScriptBinding([:])
def session = nextflow.Nextflow.getSession()
def parser = new nextflow.script.ScriptParser(session)
def parser = _getScriptLoader(session)
.setModule(true)
.setBinding(binding)
def moduleScript = parser.runScript(tempFile)
@@ -3478,6 +3712,27 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
return scriptMeta.getProcess(procKey)
}
// use Reflection to get a ScriptParser / ScriptLoader
// <25.02.0-edge: new nextflow.script.ScriptParser(session)
// >=25.02.0-edge: nextflow.script.ScriptLoaderFactory.create(session)
def _getScriptLoader(nextflow.Session session) {
// try using the old method
try {
Class<?> scriptParserClass = Class.forName('nextflow.script.ScriptParser')
return scriptParserClass.getDeclaredConstructor(nextflow.Session).newInstance(session)
} catch (ClassNotFoundException e) {
// else try with the new method
try {
Class<?> scriptLoaderFactoryClass = Class.forName('nextflow.script.ScriptLoaderFactory')
def createMethod = scriptLoaderFactoryClass.getDeclaredMethod('create', nextflow.Session)
return createMethod.invoke(null, session) // null because create is static
} catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | java.lang.reflect.InvocationTargetException e2) {
// Handle the case where neither class is found
throw new Exception("Neither nextflow.script.ScriptParser nor nextflow.script.ScriptLoaderFactory could be found. Is this a compatible Nextflow version?", e2)
}
}
}
// defaults
meta["defaults"] = [
// key to be used to trace the process and determine output names
@@ -3491,7 +3746,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/craftbox/concat_text",
"tag" : "v0.1.0"
"tag" : "v0.2.0"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'concat_text'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0'
version = 'v0.2.0'
description = 'Concatenate a number of text files, handle gzipped text files gracefully and\noptionally gzip the output text file.\n\nThis component is useful for concatening fastq files from different lanes, for instance.\n'
author = 'Toni Verbeiren, Dries Schaumont'
}

View File

@@ -40,7 +40,7 @@
"description": "Type: `boolean_true`, default: `false`. Should the output be zipped?",
"help_text": "Type: `boolean_true`, default: `false`. Should the output be zipped?"
,
"default": "False"
"default":false
}
@@ -51,7 +51,7 @@
"description": "Type: `file`, default: `$id.$key.output.txt`, example: `output.txt`. File to write the output to, optionally gzipped",
"help_text": "Type: `file`, default: `$id.$key.output.txt`, example: `output.txt`. File to write the output to, optionally gzipped."
,
"default": "$id.$key.output.txt"
"default":"$id.$key.output.txt"
}

View File

@@ -1,6 +1,6 @@
name: "create_eset"
namespace: "eset"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -82,6 +82,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
test_resources:
- type: "r_script"
path: "test.R"
@@ -175,7 +178,7 @@ engines:
id: "docker"
image: "rocker/r2u:24.04"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "r"
@@ -203,12 +206,12 @@ build_info:
output: "target/executable/eset/create_eset"
executable: "target/executable/eset/create_eset/create_eset"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -228,7 +231,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -236,10 +239,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# create_eset v0.8.0
# create_eset v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -456,10 +456,10 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("remotes", quietly = TR
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
LABEL org.opencontainers.image.description="Companion container for running component eset create_eset"
LABEL org.opencontainers.image.created="2025-05-08T13:57:06Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:57Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -576,7 +576,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "create_eset v0.8.0"
echo "create_eset v0.8.3"
echo ""
echo "Arguments:"
echo " --pDataFile"
@@ -642,7 +642,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "create_eset v0.8.0"
echo "create_eset v0.8.3"
exit
;;
--pDataFile)
@@ -794,7 +794,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/eset/create_eset:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/eset/create_eset:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "create_fdata"
namespace: "eset"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -61,6 +61,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Create a fdata file\n"
test_resources:
- type: "python_script"
@@ -151,7 +154,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -180,12 +183,12 @@ build_info:
output: "target/executable/eset/create_fdata"
executable: "target/executable/eset/create_fdata/create_fdata"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -205,7 +208,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -213,10 +216,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# create_fdata v0.8.0
# create_fdata v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -458,10 +458,10 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
LABEL org.opencontainers.image.description="Companion container for running component eset create_fdata"
LABEL org.opencontainers.image.created="2025-05-08T13:57:06Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:57Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -578,7 +578,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "create_fdata v0.8.0"
echo "create_fdata v0.8.3"
echo ""
echo "Create a fdata file"
echo ""
@@ -643,7 +643,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "create_fdata v0.8.0"
echo "create_fdata v0.8.3"
exit
;;
--gtf)
@@ -756,7 +756,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/eset/create_fdata:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/eset/create_fdata:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "create_pdata"
namespace: "eset"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -73,6 +73,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Create a pdata file by combining the mapping statistics \n"
test_resources:
- type: "python_script"
@@ -165,7 +168,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -194,12 +197,12 @@ build_info:
output: "target/executable/eset/create_pdata"
executable: "target/executable/eset/create_pdata/create_pdata"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -219,7 +222,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -227,10 +230,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# create_pdata v0.8.0
# create_pdata v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -458,10 +458,10 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
LABEL org.opencontainers.image.description="Companion container for running component eset create_pdata"
LABEL org.opencontainers.image.created="2025-05-08T13:57:06Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:57Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -578,7 +578,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "create_pdata v0.8.0"
echo "create_pdata v0.8.3"
echo ""
echo "Create a pdata file by combining the mapping statistics"
echo ""
@@ -653,7 +653,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "create_pdata v0.8.0"
echo "create_pdata v0.8.3"
exit
;;
--star_stats_file)
@@ -777,7 +777,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/eset/create_pdata:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/eset/create_pdata:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "check_eset"
namespace: "integration_test_components/htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -47,6 +47,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "This component test the ExpressionSet object as output by the main pipeline."
info: null
status: "enabled"
@@ -131,7 +134,7 @@ engines:
id: "docker"
image: "bioconductor/bioconductor_docker:3.19"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "r"
@@ -152,12 +155,12 @@ build_info:
output: "target/executable/integration_test_components/htrnaseq/check_eset"
executable: "target/executable/integration_test_components/htrnaseq/check_eset/check_eset"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -177,7 +180,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -185,10 +188,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# check_eset v0.8.0
# check_eset v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -455,10 +455,10 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("remotes", quietly = TR
LABEL org.opencontainers.image.authors="Dries Schaumont"
LABEL org.opencontainers.image.description="Companion container for running component integration_test_components/htrnaseq check_eset"
LABEL org.opencontainers.image.created="2025-05-08T13:57:05Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:58Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -575,7 +575,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "check_eset v0.8.0"
echo "check_eset v0.8.3"
echo ""
echo "This component test the ExpressionSet object as output by the main pipeline."
echo ""
@@ -635,7 +635,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "check_eset v0.8.0"
echo "check_eset v0.8.3"
exit
;;
--eset)
@@ -754,7 +754,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/integration_test_components/htrnaseq/check_eset:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/integration_test_components/htrnaseq/check_eset:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "check_cutadapt_output"
namespace: "integration_test_components/well_demultiplexing"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -54,6 +54,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "This component test the cutadapt output from the well_demultiplex subworkflow."
info: null
status: "enabled"
@@ -138,7 +141,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -161,12 +164,12 @@ build_info:
output: "target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output"
executable: "target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/check_cutadapt_output"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -186,7 +189,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -194,10 +197,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# check_cutadapt_output v0.8.0
# check_cutadapt_output v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -457,10 +457,10 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dries Schaumont"
LABEL org.opencontainers.image.description="Companion container for running component integration_test_components/well_demultiplexing check_cutadapt_output"
LABEL org.opencontainers.image.created="2025-05-08T13:57:07Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:58Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -577,7 +577,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "check_cutadapt_output v0.8.0"
echo "check_cutadapt_output v0.8.3"
echo ""
echo "This component test the cutadapt output from the well_demultiplex subworkflow."
echo ""
@@ -641,7 +641,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "check_cutadapt_output v0.8.0"
echo "check_cutadapt_output v0.8.3"
exit
;;
--fastq_r1)
@@ -783,7 +783,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/integration_test_components/well_demultiplexing/check_cutadapt_output:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/integration_test_components/well_demultiplexing/check_cutadapt_output:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "publish_fastqs"
namespace: "io"
version: "v0.8.0"
version: "v0.8.3"
argument_groups:
- name: "Input arguments"
arguments:
@@ -34,6 +34,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Publish the fastq files per well"
info: null
status: "enabled"
@@ -118,7 +121,7 @@ engines:
id: "docker"
image: "debian:stable-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -136,12 +139,12 @@ build_info:
output: "target/executable/io/publish_fastqs"
executable: "target/executable/io/publish_fastqs/publish_fastqs"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -161,7 +164,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -169,10 +172,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# publish_fastqs v0.8.0
# publish_fastqs v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -450,10 +450,10 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
LABEL org.opencontainers.image.description="Companion container for running component io publish_fastqs"
LABEL org.opencontainers.image.created="2025-05-08T13:57:05Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:57Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -570,7 +570,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "publish_fastqs v0.8.0"
echo "publish_fastqs v0.8.3"
echo ""
echo "Publish the fastq files per well"
echo ""
@@ -631,7 +631,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "publish_fastqs v0.8.0"
echo "publish_fastqs v0.8.3"
exit
;;
--input)
@@ -750,7 +750,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/io/publish_fastqs:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/io/publish_fastqs:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "publish_results"
namespace: "io"
version: "v0.8.0"
version: "v0.8.3"
argument_groups:
- name: "Input arguments"
arguments:
@@ -97,6 +97,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Publish the results"
info: null
status: "enabled"
@@ -181,7 +184,7 @@ engines:
id: "docker"
image: "debian:stable-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -199,12 +202,12 @@ build_info:
output: "target/executable/io/publish_results"
executable: "target/executable/io/publish_results/publish_results"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -224,7 +227,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -232,10 +235,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# publish_results v0.8.0
# publish_results v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -450,10 +450,10 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
LABEL org.opencontainers.image.description="Companion container for running component io publish_results"
LABEL org.opencontainers.image.created="2025-05-08T13:57:05Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:57Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -570,7 +570,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "publish_results v0.8.0"
echo "publish_results v0.8.3"
echo ""
echo "Publish the results"
echo ""
@@ -652,7 +652,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "publish_results v0.8.0"
echo "publish_results v0.8.3"
exit
;;
--star_output)
@@ -878,7 +878,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/io/publish_results:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/io/publish_results:v0.8.3'
fi
# print dockerfile

View File

@@ -1,5 +1,5 @@
name: "parallel_map"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -156,6 +156,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference\
\ (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n"
test_resources:
@@ -245,7 +248,7 @@ engines:
id: "docker"
image: "debian:stable-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -282,12 +285,12 @@ build_info:
output: "target/executable/parallel_map"
executable: "target/executable/parallel_map/parallel_map"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -307,7 +310,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -315,10 +318,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# parallel_map v0.8.0
# parallel_map v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -461,10 +461,10 @@ ENV STAR_BINARY=STAR
COPY STAR /usr/local/bin/$STAR_BINARY
LABEL org.opencontainers.image.authors="Dries Schaumont, Toni Verbeiren"
LABEL org.opencontainers.image.description="Companion container for running component parallel_map"
LABEL org.opencontainers.image.created="2025-05-08T13:57:06Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:58Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -581,7 +581,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "parallel_map v0.8.0"
echo "parallel_map v0.8.3"
echo ""
echo "Map wells in batch, using STAR"
echo "Spliced Transcripts Alignment to a Reference (C) Alexander Dobin"
@@ -705,7 +705,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "parallel_map v0.8.0"
echo "parallel_map v0.8.3"
exit
;;
--input_r1)
@@ -907,7 +907,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/parallel_map:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/parallel_map:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "create_report"
namespace: "report"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -66,6 +66,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Create a basic QC report in HTML format based on a number of esets.\n"
test_resources:
- type: "r_script"
@@ -156,7 +159,7 @@ engines:
id: "docker"
image: "rocker/r2u:24.04"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -212,12 +215,12 @@ build_info:
output: "target/executable/report/create_report"
executable: "target/executable/report/create_report/create_report"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -237,7 +240,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -245,10 +248,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# create_report v0.8.0
# create_report v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -465,10 +465,10 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("remotes", quietly = TR
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
LABEL org.opencontainers.image.description="Companion container for running component report create_report"
LABEL org.opencontainers.image.created="2025-05-08T13:57:06Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:56Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -585,7 +585,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "create_report v0.8.0"
echo "create_report v0.8.3"
echo ""
echo "Create a basic QC report in HTML format based on a number of esets."
echo ""
@@ -644,7 +644,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "create_report v0.8.0"
echo "create_report v0.8.3"
exit
;;
--eset)
@@ -763,7 +763,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/report/create_report:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/report/create_report:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "combine_star_logs"
namespace: "stats"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -83,6 +83,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
test_resources:
- type: "python_script"
path: "test.py"
@@ -172,7 +175,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -201,12 +204,12 @@ build_info:
output: "target/executable/stats/combine_star_logs"
executable: "target/executable/stats/combine_star_logs/combine_star_logs"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -226,7 +229,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -234,10 +237,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# combine_star_logs v0.8.0
# combine_star_logs v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -457,10 +457,10 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dries Schaumont"
LABEL org.opencontainers.image.description="Companion container for running component stats combine_star_logs"
LABEL org.opencontainers.image.created="2025-05-08T13:57:05Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:56Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -577,7 +577,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "combine_star_logs v0.8.0"
echo "combine_star_logs v0.8.3"
echo ""
echo "Arguments:"
echo " --barcodes"
@@ -655,7 +655,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "combine_star_logs v0.8.0"
echo "combine_star_logs v0.8.3"
exit
;;
--barcodes)
@@ -825,7 +825,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/stats/combine_star_logs:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/stats/combine_star_logs:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "generate_pool_statistics"
namespace: "stats"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -69,6 +69,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
test_resources:
- type: "python_script"
path: "test.py"
@@ -156,7 +159,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -185,12 +188,12 @@ build_info:
output: "target/executable/stats/generate_pool_statistics"
executable: "target/executable/stats/generate_pool_statistics/generate_pool_statistics"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -210,7 +213,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -218,10 +221,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# generate_pool_statistics v0.8.0
# generate_pool_statistics v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -458,10 +458,10 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
LABEL org.opencontainers.image.description="Companion container for running component stats generate_pool_statistics"
LABEL org.opencontainers.image.created="2025-05-08T13:57:05Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:56Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -578,7 +578,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "generate_pool_statistics v0.8.0"
echo "generate_pool_statistics v0.8.3"
echo ""
echo "Arguments:"
echo " --nrReadsNrGenesPerChrom"
@@ -648,7 +648,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "generate_pool_statistics v0.8.0"
echo "generate_pool_statistics v0.8.3"
exit
;;
--nrReadsNrGenesPerChrom)
@@ -767,7 +767,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/stats/generate_pool_statistics:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/stats/generate_pool_statistics:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "generate_well_statistics"
namespace: "stats"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -135,6 +135,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Generate summary statistics from BAM files generated by STAR solo."
test_resources:
- type: "python_script"
@@ -227,7 +230,7 @@ engines:
id: "docker"
image: "debian:stable-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "docker"
@@ -267,12 +270,12 @@ build_info:
output: "target/executable/stats/generate_well_statistics"
executable: "target/executable/stats/generate_well_statistics/generate_well_statistics"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -292,7 +295,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -300,10 +303,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# generate_well_statistics v0.8.0
# generate_well_statistics v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -461,10 +461,10 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
LABEL org.opencontainers.image.description="Companion container for running component stats generate_well_statistics"
LABEL org.opencontainers.image.created="2025-05-08T13:57:05Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:56Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -581,7 +581,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "generate_well_statistics v0.8.0"
echo "generate_well_statistics v0.8.3"
echo ""
echo "Generate summary statistics from BAM files generated by STAR solo."
echo ""
@@ -685,7 +685,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "generate_well_statistics v0.8.0"
echo "generate_well_statistics v0.8.3"
exit
;;
--input)
@@ -864,7 +864,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/stats/generate_well_statistics:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/stats/generate_well_statistics:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "save_params"
namespace: "utils"
version: "v0.8.0"
version: "v0.8.3"
argument_groups:
- name: "Inputs"
arguments:
@@ -41,6 +41,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Save parameters to a YAML file\n"
info: null
status: "enabled"
@@ -125,7 +128,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -148,12 +151,12 @@ build_info:
output: "target/executable/utils/save_params"
executable: "target/executable/utils/save_params/save_params"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -173,7 +176,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -181,10 +184,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# save_params v0.8.0
# save_params v0.8.3
#
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -453,10 +453,10 @@ RUN pip install --upgrade pip && \
pip install --upgrade --no-cache-dir "pyyaml"
LABEL org.opencontainers.image.description="Companion container for running component utils save_params"
LABEL org.opencontainers.image.created="2025-05-08T13:57:07Z"
LABEL org.opencontainers.image.created="2025-07-29T10:38:56Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
LABEL org.opencontainers.image.revision="f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
LABEL org.opencontainers.image.version="v0.8.0"
LABEL org.opencontainers.image.revision="a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
LABEL org.opencontainers.image.version="v0.8.3"
VIASHDOCKER
fi
@@ -573,7 +573,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "save_params v0.8.0"
echo "save_params v0.8.3"
echo ""
echo "Save parameters to a YAML file"
echo ""
@@ -639,7 +639,7 @@ while [[ $# -gt 0 ]]; do
shift 1
;;
--version)
echo "save_params v0.8.0"
echo "save_params v0.8.3"
exit
;;
--id)
@@ -763,7 +763,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/utils/save_params:v0.8.0'
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/htrnaseq/utils/save_params:v0.8.3'
fi
# print dockerfile

View File

@@ -1,6 +1,6 @@
name: "create_eset"
namespace: "eset"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -82,6 +82,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
test_resources:
- type: "r_script"
path: "test.R"
@@ -175,7 +178,7 @@ engines:
id: "docker"
image: "rocker/r2u:24.04"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "r"
@@ -203,12 +206,12 @@ build_info:
output: "target/nextflow/eset/create_eset"
executable: "target/nextflow/eset/create_eset/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -228,7 +231,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -236,10 +239,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// create_eset v0.8.0
// create_eset v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3036,7 +3036,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "create_eset",
"namespace" : "eset",
"version" : "v0.8.0",
"version" : "v0.8.3",
"authors" : [
{
"name" : "Dries Schaumont",
@@ -3148,6 +3148,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"test_resources" : [
@@ -3266,7 +3271,7 @@ meta = [
"id" : "docker",
"image" : "rocker/r2u:24.04",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3304,19 +3309,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/eset/create_eset",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3325,10 +3330,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -4203,7 +4208,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/eset/create_eset",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'eset/create_eset'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
author = 'Dries Schaumont, Marijke Van Moerbeke'
}

View File

@@ -1,111 +1,71 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "create_eset",
"description": "No description",
"type": "object",
"definitions": {
"arguments" : {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"pDataFile": {
"type":
"string",
"description": "Type: `file`, required. ",
"help_text": "Type: `file`, required. "
}
,
"fDataFile": {
"type":
"string",
"description": "Type: `file`, required. ",
"help_text": "Type: `file`, required. "
}
,
"mappingDir": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. "
}
,
"poolName": {
"type":
"string",
"description": "Type: `string`, required. ",
"help_text": "Type: `string`, required. "
}
,
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `eset.$id.rds`. ",
"help_text": "Type: `file`, required, default: `eset.$id.rds`. "
,
"default":"eset.$id.rds"
}
}
},
"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/arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "create_eset",
"description": "No description",
"type": "object",
"$defs": {
"arguments": {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"pDataFile": {
"type": "string",
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
},
"fDataFile": {
"type": "string",
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
},
"mappingDir": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"poolName": {
"type": "string",
"description": "",
"help_text": "Type: `string`, multiple: `False`, required. "
},
"output": {
"type": "string",
"format": "path",
"description": "",
"help_text": "Type: `file`, multiple: `False`, required, default: `\"eset.$id.rds\"`, direction: `output`. ",
"default": "eset.$id.rds"
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -1,6 +1,6 @@
name: "create_fdata"
namespace: "eset"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -61,6 +61,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Create a fdata file\n"
test_resources:
- type: "python_script"
@@ -151,7 +154,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -180,12 +183,12 @@ build_info:
output: "target/nextflow/eset/create_fdata"
executable: "target/nextflow/eset/create_fdata/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -205,7 +208,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -213,10 +216,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// create_fdata v0.8.0
// create_fdata v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3036,7 +3036,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "create_fdata",
"namespace" : "eset",
"version" : "v0.8.0",
"version" : "v0.8.3",
"authors" : [
{
"name" : "Dries Schaumont",
@@ -3122,6 +3122,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"description" : "Create a fdata file\n",
@@ -3233,7 +3238,7 @@ meta = [
"id" : "docker",
"image" : "python:3.12-slim",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3274,19 +3279,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/eset/create_fdata",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3295,10 +3300,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -3868,7 +3873,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/eset/create_fdata",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'eset/create_fdata'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
description = 'Create a fdata file\n'
author = 'Dries Schaumont, Marijke Van Moerbeke'
}

View File

@@ -1,81 +1,49 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "create_fdata",
"description": "Create a fdata file\n",
"type": "object",
"definitions": {
"arguments" : {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"gtf": {
"type":
"string",
"description": "Type: `file`, required. Genome annotation file in GTF format",
"help_text": "Type: `file`, required. Genome annotation file in GTF format."
}
,
"output": {
"type":
"string",
"description": "Type: `file`, default: `fData.$id.txt`. Tab-delimited text file containing information about the \u0027gene\u0027 or \u0027transcript\u0027\nentries from the input GTF file",
"help_text": "Type: `file`, default: `fData.$id.txt`. Tab-delimited text file containing information about the \u0027gene\u0027 or \u0027transcript\u0027\nentries from the input GTF file. The \u0027transcript\u0027 entries are used in case the source\nof the GTF was \u0027refGene\u0027 or \u0027ncbiRefSeq\u0027. \n"
,
"default":"fData.$id.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/arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "create_fdata",
"description": "Create a fdata file\n",
"type": "object",
"$defs": {
"arguments": {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"gtf": {
"type": "string",
"format": "path",
"exists": true,
"description": "Genome annotation file in GTF format.",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
},
"output": {
"type": "string",
"format": "path",
"description": "Tab-delimited text file containing information about the 'gene' or 'transcript'\nentries from the input GTF file",
"help_text": "Type: `file`, multiple: `False`, default: `\"fData.$id.txt\"`, direction: `output`. ",
"default": "fData.$id.txt"
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -1,6 +1,6 @@
name: "create_pdata"
namespace: "eset"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -73,6 +73,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Create a pdata file by combining the mapping statistics \n"
test_resources:
- type: "python_script"
@@ -165,7 +168,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -194,12 +197,12 @@ build_info:
output: "target/nextflow/eset/create_pdata"
executable: "target/nextflow/eset/create_pdata/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -219,7 +222,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -227,10 +230,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// create_pdata v0.8.0
// create_pdata v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3036,7 +3036,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "create_pdata",
"namespace" : "eset",
"version" : "v0.8.0",
"version" : "v0.8.3",
"authors" : [
{
"name" : "Dries Schaumont",
@@ -3132,6 +3132,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"description" : "Create a pdata file by combining the mapping statistics \n",
@@ -3247,7 +3252,7 @@ meta = [
"id" : "docker",
"image" : "python:3.12-slim",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3288,19 +3293,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/eset/create_pdata",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3309,10 +3314,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -3808,7 +3813,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/eset/create_pdata",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'eset/create_pdata'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
description = 'Create a pdata file by combining the mapping statistics \n'
author = 'Dries Schaumont, Marijke Van Moerbeke'
}

View File

@@ -1,91 +1,56 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "create_pdata",
"description": "Create a pdata file by combining the mapping statistics \n",
"type": "object",
"definitions": {
"arguments" : {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"star_stats_file": {
"type":
"string",
"description": "Type: `file`, required. Tab-delimited text file containing statistics (per column) that were generated\nfrom the STAR log files (Log",
"help_text": "Type: `file`, required. Tab-delimited text file containing statistics (per column) that were generated\nfrom the STAR log files (Log.final.out, Summary.csv, ReadsPerGene.out.tab).\nEach entry (row) in the file describes the values for one well (barcode).\n"
}
,
"nrReadsNrGenesPerChromPool": {
"type":
"string",
"description": "Type: `file`, required. Pivot table in tsv format of the combined nrReadsNrGenesPerChrom files from STAR",
"help_text": "Type: `file`, required. Pivot table in tsv format of the combined nrReadsNrGenesPerChrom files from STAR. \nDescribes per chromosome (as columns) the number of reads, as well as the total number \nof reads per cell barcode and the percentage of nuclear, ERCC and mitochondrial\nreads.\n"
}
,
"output": {
"type":
"string",
"description": "Type: `file`, default: `pData.$id.txt`. ",
"help_text": "Type: `file`, default: `pData.$id.txt`. "
,
"default":"pData.$id.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/arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "create_pdata",
"description": "Create a pdata file by combining the mapping statistics \n",
"type": "object",
"$defs": {
"arguments": {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"star_stats_file": {
"type": "string",
"format": "path",
"exists": true,
"description": "Tab-delimited text file containing statistics (per column) that were generated\nfrom the STAR log files (Log.final.out, Summary.csv, ReadsPerGene.out.tab).\nEach entry (row) in the file describes the values for one well (barcode).\n",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
},
"nrReadsNrGenesPerChromPool": {
"type": "string",
"format": "path",
"exists": true,
"description": "Pivot table in tsv format of the combined nrReadsNrGenesPerChrom files from STAR",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
},
"output": {
"type": "string",
"format": "path",
"description": "",
"help_text": "Type: `file`, multiple: `False`, default: `\"pData.$id.txt\"`, direction: `output`. ",
"default": "pData.$id.txt"
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -1,6 +1,6 @@
name: "check_eset"
namespace: "integration_test_components/htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -47,6 +47,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "This component test the ExpressionSet object as output by the main pipeline."
info: null
status: "enabled"
@@ -131,7 +134,7 @@ engines:
id: "docker"
image: "bioconductor/bioconductor_docker:3.19"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "r"
@@ -152,12 +155,12 @@ build_info:
output: "target/nextflow/integration_test_components/htrnaseq/check_eset"
executable: "target/nextflow/integration_test_components/htrnaseq/check_eset/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -177,7 +180,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -185,10 +188,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// check_eset v0.8.0
// check_eset v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3035,7 +3035,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "check_eset",
"namespace" : "integration_test_components/htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"authors" : [
{
"name" : "Dries Schaumont",
@@ -3101,6 +3101,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"description" : "This component test the ExpressionSet object as output by the main pipeline.",
@@ -3201,7 +3206,7 @@ meta = [
"id" : "docker",
"image" : "bioconductor/bioconductor_docker:3.19",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3228,19 +3233,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/integration_test_components/htrnaseq/check_eset",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3249,10 +3254,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -3902,7 +3907,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/integration_test_components/htrnaseq/check_eset",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'integration_test_components/htrnaseq/check_eset'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
description = 'This component test the ExpressionSet object as output by the main pipeline.'
author = 'Dries Schaumont'
}

View File

@@ -1,80 +1,52 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "check_eset",
"description": "This component test the ExpressionSet object as output by the main pipeline.",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"eset": {
"type":
"string",
"description": "Type: `file`, required, example: `eset.rds`. Path to an ExpressionSet object",
"help_text": "Type: `file`, required, example: `eset.rds`. Path to an ExpressionSet object."
}
,
"star_output": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. "
}
}
},
"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"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "check_eset",
"description": "This component test the ExpressionSet object as output by the main pipeline.",
"type": "object",
"$defs": {
"inputs": {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"eset": {
"type": "string",
"format": "path",
"exists": true,
"description": "Path to an ExpressionSet object.",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`, example: `\"eset.rds\"`. "
},
"star_output": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/inputs"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -1,6 +1,6 @@
name: "check_cutadapt_output"
namespace: "integration_test_components/well_demultiplexing"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -54,6 +54,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "This component test the cutadapt output from the well_demultiplex subworkflow."
info: null
status: "enabled"
@@ -138,7 +141,7 @@ engines:
id: "docker"
image: "python:3.12-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -161,12 +164,12 @@ build_info:
output: "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output"
executable: "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -186,7 +189,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -194,10 +197,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// check_cutadapt_output v0.8.0
// check_cutadapt_output v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3035,7 +3035,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "check_cutadapt_output",
"namespace" : "integration_test_components/well_demultiplexing",
"version" : "v0.8.0",
"version" : "v0.8.3",
"authors" : [
{
"name" : "Dries Schaumont",
@@ -3108,6 +3108,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"description" : "This component test the cutadapt output from the well_demultiplex subworkflow.",
@@ -3208,7 +3213,7 @@ meta = [
"id" : "docker",
"image" : "python:3.12-slim",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3239,19 +3244,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3260,10 +3265,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -3782,7 +3787,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/integration_test_components/well_demultiplexing/check_cutadapt_output",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'integration_test_components/well_demultiplexing/check_cutadapt_output'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
description = 'This component test the cutadapt output from the well_demultiplex subworkflow.'
author = 'Dries Schaumont'
}

View File

@@ -1,90 +1,63 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "check_cutadapt_output",
"description": "This component test the cutadapt output from the well_demultiplex subworkflow.",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"fastq_r1": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. Path to the forward reads to test",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. Path to the forward reads to test."
}
,
"fastq_r2": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. Path to the reverse reads to test",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. Path to the reverse reads to test."
}
,
"ids": {
"type":
"string",
"description": "Type: List of `string`, required, multiple_sep: `\";\"`. Well IDs for the corresponding fastq input",
"help_text": "Type: List of `string`, required, multiple_sep: `\";\"`. Well IDs for the corresponding fastq input"
}
}
},
"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"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "check_cutadapt_output",
"description": "This component test the cutadapt output from the well_demultiplex subworkflow.",
"type": "object",
"$defs": {
"inputs": {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"fastq_r1": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "Path to the forward reads to test.",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"fastq_r2": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "Path to the reverse reads to test.",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Well IDs for the corresponding fastq input",
"help_text": "Type: `string`, multiple: `True`, required. "
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/inputs"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -1,6 +1,6 @@
name: "publish_fastqs"
namespace: "io"
version: "v0.8.0"
version: "v0.8.3"
argument_groups:
- name: "Input arguments"
arguments:
@@ -34,6 +34,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Publish the fastq files per well"
info: null
status: "enabled"
@@ -118,7 +121,7 @@ engines:
id: "docker"
image: "debian:stable-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -136,12 +139,12 @@ build_info:
output: "target/nextflow/io/publish_fastqs"
executable: "target/nextflow/io/publish_fastqs/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -161,7 +164,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -169,10 +172,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// publish_fastqs v0.8.0
// publish_fastqs v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3032,7 +3032,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "publish_fastqs",
"namespace" : "io",
"version" : "v0.8.0",
"version" : "v0.8.3",
"argument_groups" : [
{
"name" : "Input arguments",
@@ -3079,6 +3079,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"description" : "Publish the fastq files per well",
@@ -3179,7 +3184,7 @@ meta = [
"id" : "docker",
"image" : "debian:stable-slim",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3202,19 +3207,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/io/publish_fastqs",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3223,10 +3228,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -3678,7 +3683,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/io/publish_fastqs",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'io/publish_fastqs'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
description = 'Publish the fastq files per well'
}

View File

@@ -1,95 +1,62 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "publish_fastqs",
"description": "Publish the fastq files per well",
"type": "object",
"definitions": {
"input arguments" : {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. Directory to write fastq data to",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. Directory to write fastq data to"
}
}
},
"output arguments" : {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, default: `$id`. ",
"help_text": "Type: `file`, default: `$id`. "
,
"default":"$id"
}
}
},
"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/input arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "publish_fastqs",
"description": "Publish the fastq files per well",
"type": "object",
"$defs": {
"input arguments": {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "Directory to write fastq data to",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
}
}
},
{
"$ref": "#/definitions/output arguments"
"output arguments": {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type": "string",
"format": "path",
"description": "",
"help_text": "Type: `file`, multiple: `False`, default: `\"$id\"`, direction: `output`. ",
"default": "$id"
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/input arguments"
},
{
"$ref": "#/$defs/output arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -1,6 +1,6 @@
name: "publish_results"
namespace: "io"
version: "v0.8.0"
version: "v0.8.3"
argument_groups:
- name: "Input arguments"
arguments:
@@ -97,6 +97,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Publish the results"
info: null
status: "enabled"
@@ -181,7 +184,7 @@ engines:
id: "docker"
image: "debian:stable-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -199,12 +202,12 @@ build_info:
output: "target/nextflow/io/publish_results"
executable: "target/nextflow/io/publish_results/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -224,7 +227,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -232,10 +235,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// publish_results v0.8.0
// publish_results v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3032,7 +3032,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "publish_results",
"namespace" : "io",
"version" : "v0.8.0",
"version" : "v0.8.3",
"argument_groups" : [
{
"name" : "Input arguments",
@@ -3149,6 +3149,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"description" : "Publish the results",
@@ -3249,7 +3254,7 @@ meta = [
"id" : "docker",
"image" : "debian:stable-slim",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3272,19 +3277,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/io/publish_results",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3293,10 +3298,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -3784,7 +3789,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/io/publish_results",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'io/publish_results'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
description = 'Publish the results'
}

View File

@@ -1,165 +1,126 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "publish_results",
"description": "Publish the results",
"type": "object",
"definitions": {
"input arguments" : {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"star_output": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. Output from mapping with STAR",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. Output from mapping with STAR"
}
,
"nrReadsNrGenesPerChrom": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. "
}
,
"star_qc_metrics": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. "
}
,
"eset": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. "
}
,
"f_data": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. "
}
,
"p_data": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. "
}
,
"html_report": {
"type":
"string",
"description": "Type: `file`, required. ",
"help_text": "Type: `file`, required. "
}
,
"run_params": {
"type":
"string",
"description": "Type: `file`, required. ",
"help_text": "Type: `file`, required. "
}
}
},
"output arguments" : {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, default: `$id`. ",
"help_text": "Type: `file`, default: `$id`. "
,
"default":"$id"
}
}
},
"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/input arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "publish_results",
"description": "Publish the results",
"type": "object",
"$defs": {
"input arguments": {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"star_output": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "Output from mapping with STAR",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"nrReadsNrGenesPerChrom": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"star_qc_metrics": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"eset": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"f_data": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"p_data": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"html_report": {
"type": "string",
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
},
"run_params": {
"type": "string",
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
}
}
},
{
"$ref": "#/definitions/output arguments"
"output arguments": {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type": "string",
"format": "path",
"description": "",
"help_text": "Type: `file`, multiple: `False`, default: `\"$id\"`, direction: `output`. ",
"default": "$id"
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/input arguments"
},
{
"$ref": "#/$defs/output arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -1,5 +1,5 @@
name: "parallel_map"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -156,6 +156,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference\
\ (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n"
test_resources:
@@ -245,7 +248,7 @@ engines:
id: "docker"
image: "debian:stable-slim"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -282,12 +285,12 @@ build_info:
output: "target/nextflow/parallel_map"
executable: "target/nextflow/parallel_map/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -307,7 +310,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -315,10 +318,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// parallel_map v0.8.0
// parallel_map v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3035,7 +3035,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{
"name" : "parallel_map",
"version" : "v0.8.0",
"version" : "v0.8.3",
"authors" : [
{
"name" : "Dries Schaumont",
@@ -3220,6 +3220,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"description" : "Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n",
@@ -3327,7 +3332,7 @@ meta = [
"id" : "docker",
"image" : "debian:stable-slim",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3374,19 +3379,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/parallel_map",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3395,10 +3400,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -4167,7 +4172,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/parallel_map",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'parallel_map'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
description = 'Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n'
author = 'Dries Schaumont, Toni Verbeiren'
}

View File

@@ -1,196 +1,135 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "parallel_map",
"description": "Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n",
"type": "object",
"definitions": {
"input arguments" : {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"input_r1": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. Input FASTQ files for the forward reads",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. Input FASTQ files for the forward reads. All FASTQ file names must start with the prefix \u0027{well_id}_R1\u0027, where\n\u0027well_id\u0027 can be found as the sequence identifier in the barcodes FASTA file (see \u0027barcodesFasta\u0027 argument).\nFor each FASTQ file, a matching FASTQ file for the reverse reads must be provided to the \u0027input_r2\u0027 argument,\nmeaning that their \u0027well_id\u0027 prefix must match. The number of items provided for \u0027input_r1\u0027 must be equal\nto the number of items for \u0027input_r2\u0027.\n"
}
,
"input_r2": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. Input FASTQ files for the reverse reads",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. Input FASTQ files for the reverse reads. All FASTQ file names must start with the prefix \u0027{well_id}_R2\u0027, where\n\u0027well_id\u0027 can be found as the sequence identifier in the barcodes FASTA file (see \u0027barcodesFasta\u0027 argument).\nFor each FASTQ file, a matching FASTQ file for the reverse reads must be provided to the \u0027input_r1\u0027 argument,\nmeaning that their \u0027well_id\u0027 prefix must match. The number of items provided for \u0027input_r1\u0027 must be equal\nto the number of items for \u0027input_r2\u0027.\n"
}
,
"genomeDir": {
"type":
"string",
"description": "Type: `file`, required. Reference genome to match to",
"help_text": "Type: `file`, required. Reference genome to match to. Can be generated from genomic FASTA sequences and a genome annotation\nby using STAR with \u0027--runMode genomeGenerate\u0027.\n"
}
,
"barcodesFasta": {
"type":
"string",
"description": "Type: `file`, required. FASTA file where each entry specifies a unique barcode sequence present at the start of the forward input reads\n(input_r1)",
"help_text": "Type: `file`, required. FASTA file where each entry specifies a unique barcode sequence present at the start of the forward input reads\n(input_r1). The IDs of each barcode (the start of the FASTA headers up until the first whitespace character) must\nmatch with the start of one input FASTQ pair.\n"
}
}
},
"barcode arguments" : {
"title": "Barcode arguments",
"type": "object",
"description": "No description",
"properties": {
"umiLength": {
"type":
"integer",
"description": "Type: `integer`, required. Length of the Unique Molecular Identifiers (UMI)",
"help_text": "Type: `integer`, required. Length of the Unique Molecular Identifiers (UMI). The UMI are expected to be located after the barcodes in the\nforwards reads.\n"
}
,
"limitBAMsortRAM": {
"type":
"string",
"description": "Type: `string`, default: `10000000000`. ",
"help_text": "Type: `string`, default: `10000000000`. "
,
"default":"10000000000"
}
}
},
"runtime arguments" : {
"title": "Runtime arguments",
"type": "object",
"description": "No description",
"properties": {
"runThreadN": {
"type":
"integer",
"description": "Type: `integer`, default: `1`. Number of threads to use for a single STAR execution",
"help_text": "Type: `integer`, default: `1`. Number of threads to use for a single STAR execution."
,
"default":1
}
}
},
"output arguments" : {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: List of `file`, required, default: `./*`, multiple_sep: `\";\"`. A list of output folders which are the result of using STAR to map each input FASTQ pair STAR to the reference genome",
"help_text": "Type: List of `file`, required, default: `./*`, multiple_sep: `\";\"`. A list of output folders which are the result of using STAR to map each input FASTQ pair STAR to the reference genome.\nThe order of the items DO NOT match with the order of the entries in the barcodes FASTA file or the input FASTQ pairs. \n"
,
"default":"./*"
}
,
"joblog": {
"type":
"string",
"description": "Type: `file`, default: `execution_log.txt`. Where to store the log file listing all the jobs",
"help_text": "Type: `file`, default: `execution_log.txt`. Where to store the log file listing all the jobs."
,
"default":"execution_log.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/input arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "parallel_map",
"description": "Map wells in batch, using STAR\nSpliced Transcripts Alignment to a Reference (C) Alexander Dobin\nhttps://github.com/alexdobin/STAR\n",
"type": "object",
"$defs": {
"input arguments": {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"input_r1": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "Input FASTQ files for the forward reads",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"input_r2": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "Input FASTQ files for the reverse reads",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"genomeDir": {
"type": "string",
"format": "path",
"exists": true,
"description": "Reference genome to match to",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
},
"barcodesFasta": {
"type": "string",
"format": "path",
"exists": true,
"description": "FASTA file where each entry specifies a unique barcode sequence present at the start of the forward input reads\n(input_r1)",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
}
}
},
{
"$ref": "#/definitions/barcode arguments"
"barcode arguments": {
"title": "Barcode arguments",
"type": "object",
"description": "No description",
"properties": {
"umiLength": {
"type": "integer",
"description": "Length of the Unique Molecular Identifiers (UMI)",
"help_text": "Type: `integer`, multiple: `False`, required. "
},
"limitBAMsortRAM": {
"type": "string",
"description": "",
"help_text": "Type: `string`, multiple: `False`, default: `\"10000000000\"`. ",
"default": "10000000000"
}
}
},
{
"$ref": "#/definitions/runtime arguments"
"runtime arguments": {
"title": "Runtime arguments",
"type": "object",
"description": "No description",
"properties": {
"runThreadN": {
"type": "integer",
"description": "Number of threads to use for a single STAR execution.",
"help_text": "Type: `integer`, multiple: `False`, default: `1`. ",
"default": 1
}
}
},
{
"$ref": "#/definitions/output arguments"
"output arguments": {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"description": "A list of output folders which are the result of using STAR to map each input FASTQ pair STAR to the reference genome.\nThe order of the items DO NOT match with the order of the entries in the barcodes FASTA file or the input FASTQ pairs",
"help_text": "Type: `file`, multiple: `True`, required, default: `[\"./*\"]`, direction: `output`. ",
"default": [
"./*"
]
},
"joblog": {
"type": "string",
"format": "path",
"description": "Where to store the log file listing all the jobs.",
"help_text": "Type: `file`, multiple: `False`, default: `\"execution_log.txt\"`, direction: `output`. ",
"default": "execution_log.txt"
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/input arguments"
},
{
"$ref": "#/$defs/barcode arguments"
},
{
"$ref": "#/$defs/runtime arguments"
},
{
"$ref": "#/$defs/output arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -1,6 +1,6 @@
name: "create_report"
namespace: "report"
version: "v0.8.0"
version: "v0.8.3"
authors:
- name: "Dries Schaumont"
roles:
@@ -66,6 +66,9 @@ resources:
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
- type: "file"
path: "_viash.yaml"
dest: "_viash.yaml"
description: "Create a basic QC report in HTML format based on a number of esets.\n"
test_resources:
- type: "r_script"
@@ -156,7 +159,7 @@ engines:
id: "docker"
image: "rocker/r2u:24.04"
target_registry: "images.viash-hub.com"
target_tag: "v0.8.0"
target_tag: "v0.8.3"
namespace_separator: "/"
setup:
- type: "apt"
@@ -212,12 +215,12 @@ build_info:
output: "target/nextflow/report/create_report"
executable: "target/nextflow/report/create_report/main.nf"
viash_version: "0.9.4"
git_commit: "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607"
git_commit: "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac"
git_remote: "https://github.com/viash-hub/htrnaseq"
git_tag: "v0.7.2-3-gf4d54d2"
git_tag: "v0.8.2-2-ga62d4e3"
package_config:
name: "htrnaseq"
version: "v0.8.0"
version: "v0.8.3"
summary: "A workflow for high-throughput RNA-seq data analyses.\n"
description: "This workflow is designed to process high-throughput RNA-seq data,\
\ where every\nwell of a microarray plate is a sample. A fasta file provided as\
@@ -237,7 +240,7 @@ package_config:
\ first.\n"
info:
test_resources:
- path: "gs://viash-hub-test-data/htrnaseq/v1/"
- path: "gs://viash-hub-resources/htrnaseq/v1"
dest: "resources_test"
viash_version: "0.9.4"
source: "src"
@@ -245,10 +248,11 @@ package_config:
config_mods:
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\
\ dest: 'nextflow_labels.config'}\n"
\ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\
\ '_viash.yaml'}\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.0'"
- ".engines[.type == 'docker'].target_tag := 'v0.8.3'"
keywords:
- "bioinformatics"
- "sequencing"

View File

@@ -0,0 +1,21 @@
name: htrnaseq
version: v0.8.3
summary: |
A workflow for high-throughput RNA-seq data analyses.
description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n"
license: MIT
keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow]
links:
issue_tracker: https://github.com/viash-hub/htrnaseq/issues
repository: https://github.com/viash-hub/htrnaseq
viash_version: 0.9.4
info:
test_resources:
- path: gs://viash-hub-resources/htrnaseq/v1
dest: resources_test
config_mods: |
.requirements.commands := ['ps']
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}
.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}
organization: vsh

View File

@@ -1,4 +1,4 @@
// create_report v0.8.0
// create_report v0.8.3
//
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3036,7 +3036,7 @@ meta = [
"config": processConfig(readJsonBlob('''{
"name" : "create_report",
"namespace" : "report",
"version" : "v0.8.0",
"version" : "v0.8.3",
"authors" : [
{
"name" : "Dries Schaumont",
@@ -3135,6 +3135,11 @@ meta = [
"type" : "file",
"path" : "/src/config/labels.config",
"dest" : "nextflow_labels.config"
},
{
"type" : "file",
"path" : "/_viash.yaml",
"dest" : "_viash.yaml"
}
],
"description" : "Create a basic QC report in HTML format based on a number of esets.\n",
@@ -3246,7 +3251,7 @@ meta = [
"id" : "docker",
"image" : "rocker/r2u:24.04",
"target_registry" : "images.viash-hub.com",
"target_tag" : "v0.8.0",
"target_tag" : "v0.8.3",
"namespace_separator" : "/",
"setup" : [
{
@@ -3318,19 +3323,19 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/report/create_report",
"viash_version" : "0.9.4",
"git_commit" : "f4d54d2a7fcd43f593aebd7c68d1cc16b6844607",
"git_commit" : "a62d4e3c959cf3cf7b46806acbaafed2526cc5ac",
"git_remote" : "https://github.com/viash-hub/htrnaseq",
"git_tag" : "v0.7.2-3-gf4d54d2"
"git_tag" : "v0.8.2-2-ga62d4e3"
},
"package_config" : {
"name" : "htrnaseq",
"version" : "v0.8.0",
"version" : "v0.8.3",
"summary" : "A workflow for high-throughput RNA-seq data analyses.\n",
"description" : "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n",
"info" : {
"test_resources" : [
{
"path" : "gs://viash-hub-test-data/htrnaseq/v1/",
"path" : "gs://viash-hub-resources/htrnaseq/v1",
"dest" : "resources_test"
}
]
@@ -3339,10 +3344,10 @@ meta = [
"source" : "src",
"target" : "target",
"config_mods" : [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n",
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n",
".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.8.0'"
".engines[.type == 'docker'].target_tag := 'v0.8.3'"
],
"keywords" : [
"bioinformatics",
@@ -3827,7 +3832,7 @@ meta["defaults"] = [
"container" : {
"registry" : "images.viash-hub.com",
"image" : "vsh/htrnaseq/report/create_report",
"tag" : "v0.8.0"
"tag" : "v0.8.3"
},
"tag" : "$id"
}'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'report/create_report'
mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge'
version = 'v0.8.0'
version = 'v0.8.3'
description = 'Create a basic QC report in HTML format based on a number of esets.\n'
author = 'Dries Schaumont, Marijke Van Moerbeke'
}

View File

@@ -1,81 +1,52 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "create_report",
"description": "Create a basic QC report in HTML format based on a number of esets.\n",
"type": "object",
"definitions": {
"arguments" : {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"eset": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. ",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. "
}
,
"output_report": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output_report.html`, example: `report.html`. ",
"help_text": "Type: `file`, required, default: `$id.$key.output_report.html`, example: `report.html`. "
,
"default":"$id.$key.output_report.html"
}
}
},
"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/arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "create_report",
"description": "Create a basic QC report in HTML format based on a number of esets.\n",
"type": "object",
"$defs": {
"arguments": {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"eset": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"output_report": {
"type": "string",
"format": "path",
"description": "",
"help_text": "Type: `file`, multiple: `False`, required, default: `\"$id.$key.output_report.html\"`, direction: `output`, example: `\"report.html\"`. ",
"default": "$id.$key.output_report.html"
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"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": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

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