1 Commits
v0.1.0 ... v0.1

Author SHA1 Message Date
CI
57d3d9e78b Build branch openpipeline_qc/v0.1 with version v0.1.1 to openpipeline_qc on branch v0.1 (f9c63d1)
Build pipeline: openpipelines-bio.openpipeline-qc.0.1.1-976qz

Source commit: f9c63d1286

Source message: bump version to v0.1.1
2025-10-02 08:31:47 +00:00
21 changed files with 144 additions and 86 deletions

View File

@@ -1,3 +1,9 @@
# openpipeline_qc 0.1.1
## MINOR CHANGES
* Add a README (PR #9).
# openpipeline_qc 0.1.0 # openpipeline_qc 0.1.0
Initial release containing a QC Reporting workflow for Xenium or CellRanger Multi ingested data, with corresponding components. Initial release containing a QC Reporting workflow for Xenium or CellRanger Multi ingested data, with corresponding components.

52
README.md Normal file
View File

@@ -0,0 +1,52 @@
# OpenPipeline QC
OpenPipeline QC contains an extensible workflow for the generation of a stand-alone, interactive ingestion QC report for single-cell and spatial omics data. It is part of the [OpenPipeline](https://github.com/openpipelines-bio/openpipeline/) ecosystem and extends it with specialized functionality for ingestion quality control.
[![ViashHub](https://img.shields.io/badge/ViashHub-openpipeline_qc-7a4baa.svg)](https://www.viash-hub.com/packages/openpipeline_qc)
[![GitHub](https://img.shields.io/badge/GitHub-openpipelines--bio%2Fopenpipeline_qc-blue.svg)](https://github.com/openpipelines-bio/openpipeline_qc)
[![GitHub License](https://img.shields.io/github/license/openpipelines-bio/openpipeline_qc.svg)](https://github.com/openpipelines-bio/openpipeline_qc/blob/main/LICENSE)
[![GitHub Issues](https://img.shields.io/github/issues/openpipelines-bio/openpipeline_qc.svg)](https://github.com/openpipelines-bio/openpipeline_qc/issues)
[![Viash version](https://img.shields.io/badge/Viash-v0.9.3-blue.svg)](https://viash.io)
## Functionality
### 1. QC Metrics Calculation
The workflow calculates extensive ingestion QC metrics at both the observation and feature levels. **Observation-level metrics** include total counts per cell, gene detection rates, mitochondrial and ribosomal gene percentages, and expression concentration in top genes. **Feature-level metrics** cover gene expression summaries such as total counts per gene, detection rates across cells, mean expression levels, and dropout percentages.
**Spatial data metrics:**
For spatial data, the workflow also surfaces segmentation metrics.
### 2. Interactive Report Generation
After calculating QC metrics, the workflow generates a standalone interactive report using the [siqc](https://github.com/openpipelines-bio/siqc) package (standalone, interactive QC reporting engine).
**siqc features:**
- 🚀 **Progressive Loading**: Large datasets (millions of cells) load incrementally without blocking the UI
- 📊 **Interactive Visualizations**: Histograms, scatter plots, heatmaps, and spatial plots with Plotly.js
- 🗜️ **Efficient Compression**: Binary data format with gzip compression for optimal file sizes
- 📄 **Standalone Reports**: Single HTML file with no external dependencies
- 🎯 **Spatial Analysis**: Advanced spatial plotting with faceting and optimization
-**Performance Optimized**: Web Workers, typed arrays, and multi-scale rendering
### 3. Quality Assessment for Downstream Processing
The generated report can be used to set thresholds for QC-based filtering, which can then be applied for further processing of the data using the core [OpenPipeline](https://github.com/openpipelines-bio/openpipeline/) of [OpenPipeline Spatial](https://github.com/openpipelines-bio/openpipeline_spatial/) packages.
**Supported platforms:**
- 10x Genomics single-cell multi-omics (Cellranger Multi output)
- 10x Genomics Xenium spatial transcriptomics
## Execution via CLI or Seqera Cloud
The openpipeline_qc package is available via [Viash Hub](https://www.viash-hub.com/packages/openpipeline_qc/latest/), where you can receive instructions on how to run the end-to-end workflow as well as individual subworkflows or components.
It's possible to run the workflow directly from Seqera Cloud. The necessary Nextflow schema files have been [built and provided with the workflows](https://packages.viash-hub.com/vsh/openpipeline_qc/-/tree/build/main/target/nextflow/workflows/generate_qc_report) in order to use the form-based input. However, Seqera Cloud can not deal with multiple-value parameters for batch processing of multiple samples. Therefore, it's better to use Viash Hub also here for launching the workflow on Seqera Cloud.
* Navigate to the [Viash Hub package page](https://www.viash-hub.com/packages/openpipeline_qc/latest/), select the workflow you want to launch and click the `launch` button.
* Select the execution environment of choice (e.g. `Seqera Cloud`, `Nextflow` or `Executable`)
* Fill in the form with the required parameters and launch the workflow.
## Support
For issues specific to quality control analysis, please use the [GitHub issues tracker](https://github.com/openpipelines-bio/openpipeline_qc/issues). For general OpenPipeline questions, refer to the main [OpenPipeline documentation](https://openpipelines.bio/).

View File

@@ -1,5 +1,5 @@
viash_version: 0.9.4 viash_version: 0.9.4
version: v0.1.0 version: v0.1.1
source: src source: src
target: target target: target
name: openpipeline_qc name: openpipeline_qc

View File

@@ -1,6 +1,6 @@
name: "h5mu_to_qc_json" name: "h5mu_to_qc_json"
namespace: "ingestion_qc" namespace: "ingestion_qc"
version: "v0.1.0" version: "v0.1.1"
authors: authors:
- name: "Jakub Majercik" - name: "Jakub Majercik"
roles: roles:
@@ -408,7 +408,7 @@ engines:
id: "docker" id: "docker"
image: "python:3.12-slim" image: "python:3.12-slim"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.1.0" target_tag: "v0.1.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -447,11 +447,11 @@ build_info:
output: "target/_private/executable/ingestion_qc/h5mu_to_qc_json" output: "target/_private/executable/ingestion_qc/h5mu_to_qc_json"
executable: "target/_private/executable/ingestion_qc/h5mu_to_qc_json/h5mu_to_qc_json" executable: "target/_private/executable/ingestion_qc/h5mu_to_qc_json/h5mu_to_qc_json"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "32fff3144efcca38eedbd666f52dd3fec369d929" git_commit: "f9c63d1286be56f8be94712d9c1079c1a474ce4d"
git_remote: "https://github.com/openpipelines-bio/openpipeline_qc" git_remote: "https://github.com/openpipelines-bio/openpipeline_qc"
package_config: package_config:
name: "openpipeline_qc" name: "openpipeline_qc"
version: "v0.1.0" version: "v0.1.1"
info: info:
test_resources: test_resources:
- type: "s3" - type: "s3"
@@ -476,7 +476,7 @@ package_config:
)'" )'"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'" - ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
organization: "vsh" organization: "vsh"
links: links:
repository: "https://github.com/openpipelines-bio/openpipeline_qc" repository: "https://github.com/openpipelines-bio/openpipeline_qc"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# h5mu_to_qc_json v0.1.0 # h5mu_to_qc_json v0.1.1
# #
# This wrapper script is auto-generated by viash 0.9.4 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 # 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="Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz" LABEL org.opencontainers.image.authors="Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz"
LABEL org.opencontainers.image.description="Companion container for running component ingestion_qc h5mu_to_qc_json" LABEL org.opencontainers.image.description="Companion container for running component ingestion_qc h5mu_to_qc_json"
LABEL org.opencontainers.image.created="2025-09-29T15:35:11Z" LABEL org.opencontainers.image.created="2025-10-02T08:17:41Z"
LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_qc" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_qc"
LABEL org.opencontainers.image.revision="32fff3144efcca38eedbd666f52dd3fec369d929" LABEL org.opencontainers.image.revision="f9c63d1286be56f8be94712d9c1079c1a474ce4d"
LABEL org.opencontainers.image.version="v0.1.0" LABEL org.opencontainers.image.version="v0.1.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -581,7 +581,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "h5mu_to_qc_json v0.1.0" echo "h5mu_to_qc_json v0.1.1"
echo "" echo ""
echo "Takes H5MU files that have been ingested by CellRanger, Xenium or CosMx and" echo "Takes H5MU files that have been ingested by CellRanger, Xenium or CosMx and"
echo "processed by the QC workflow, and generates:" echo "processed by the QC workflow, and generates:"
@@ -752,7 +752,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "h5mu_to_qc_json v0.1.0" echo "h5mu_to_qc_json v0.1.1"
exit exit
;; ;;
--input) --input)
@@ -1092,7 +1092,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/openpipeline_qc/ingestion_qc/h5mu_to_qc_json:v0.1.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/openpipeline_qc/ingestion_qc/h5mu_to_qc_json:v0.1.1'
fi fi
# print dockerfile # print dockerfile

View File

@@ -1,6 +1,6 @@
name: "h5mu_to_qc_json" name: "h5mu_to_qc_json"
namespace: "ingestion_qc" namespace: "ingestion_qc"
version: "v0.1.0" version: "v0.1.1"
authors: authors:
- name: "Jakub Majercik" - name: "Jakub Majercik"
roles: roles:
@@ -408,7 +408,7 @@ engines:
id: "docker" id: "docker"
image: "python:3.12-slim" image: "python:3.12-slim"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.1.0" target_tag: "v0.1.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -447,11 +447,11 @@ build_info:
output: "target/_private/nextflow/ingestion_qc/h5mu_to_qc_json" output: "target/_private/nextflow/ingestion_qc/h5mu_to_qc_json"
executable: "target/_private/nextflow/ingestion_qc/h5mu_to_qc_json/main.nf" executable: "target/_private/nextflow/ingestion_qc/h5mu_to_qc_json/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "32fff3144efcca38eedbd666f52dd3fec369d929" git_commit: "f9c63d1286be56f8be94712d9c1079c1a474ce4d"
git_remote: "https://github.com/openpipelines-bio/openpipeline_qc" git_remote: "https://github.com/openpipelines-bio/openpipeline_qc"
package_config: package_config:
name: "openpipeline_qc" name: "openpipeline_qc"
version: "v0.1.0" version: "v0.1.1"
info: info:
test_resources: test_resources:
- type: "s3" - type: "s3"
@@ -476,7 +476,7 @@ package_config:
)'" )'"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'" - ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
organization: "vsh" organization: "vsh"
links: links:
repository: "https://github.com/openpipelines-bio/openpipeline_qc" repository: "https://github.com/openpipelines-bio/openpipeline_qc"

View File

@@ -1,4 +1,4 @@
// h5mu_to_qc_json v0.1.0 // h5mu_to_qc_json v0.1.1
// //
// This wrapper script is auto-generated by viash 0.9.4 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 // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3038,7 +3038,7 @@ meta = [
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "h5mu_to_qc_json", "name" : "h5mu_to_qc_json",
"namespace" : "ingestion_qc", "namespace" : "ingestion_qc",
"version" : "v0.1.0", "version" : "v0.1.1",
"authors" : [ "authors" : [
{ {
"name" : "Jakub Majercik", "name" : "Jakub Majercik",
@@ -3561,7 +3561,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "python:3.12-slim", "image" : "python:3.12-slim",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.1.0", "target_tag" : "v0.1.1",
"namespace_separator" : "/", "namespace_separator" : "/",
"setup" : [ "setup" : [
{ {
@@ -3616,12 +3616,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "/workdir/root/repo/target/_private/nextflow/ingestion_qc/h5mu_to_qc_json", "output" : "/workdir/root/repo/target/_private/nextflow/ingestion_qc/h5mu_to_qc_json",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "32fff3144efcca38eedbd666f52dd3fec369d929", "git_commit" : "f9c63d1286be56f8be94712d9c1079c1a474ce4d",
"git_remote" : "https://github.com/openpipelines-bio/openpipeline_qc" "git_remote" : "https://github.com/openpipelines-bio/openpipeline_qc"
}, },
"package_config" : { "package_config" : {
"name" : "openpipeline_qc", "name" : "openpipeline_qc",
"version" : "v0.1.0", "version" : "v0.1.1",
"info" : { "info" : {
"test_resources" : [ "test_resources" : [
{ {
@@ -3652,7 +3652,7 @@ meta = [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag := '$id'\n.resources += {path: '/src/configs/labels.config', dest: 'nextflow_labels.config'}\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'", ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag := '$id'\n.resources += {path: '/src/configs/labels.config', dest: 'nextflow_labels.config'}\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.1.0'" ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
], ],
"organization" : "vsh", "organization" : "vsh",
"links" : { "links" : {
@@ -4447,7 +4447,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/openpipeline_qc/ingestion_qc/h5mu_to_qc_json", "image" : "vsh/openpipeline_qc/ingestion_qc/h5mu_to_qc_json",
"tag" : "v0.1.0" "tag" : "v0.1.1"
}, },
"label" : [ "label" : [
"midmem", "midmem",

View File

@@ -2,7 +2,7 @@ manifest {
name = 'ingestion_qc/h5mu_to_qc_json' name = 'ingestion_qc/h5mu_to_qc_json'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0' version = 'v0.1.1'
description = 'Takes H5MU files that have been ingested by CellRanger, Xenium or CosMx and processed by the QC workflow, and generates:\n- A JSON file that contains the combined data for the QC report\n- A JSON file that defines the layout and structure of the QC report\n' description = 'Takes H5MU files that have been ingested by CellRanger, Xenium or CosMx and processed by the QC workflow, and generates:\n- A JSON file that contains the combined data for the QC report\n- A JSON file that defines the layout and structure of the QC report\n'
author = 'Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz' author = 'Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz'
} }

View File

@@ -1,6 +1,6 @@
name: "detect_ingestion_method" name: "detect_ingestion_method"
namespace: "ingestion_qc" namespace: "ingestion_qc"
version: "v0.1.0" version: "v0.1.1"
authors: authors:
- name: "Dorien Roosen" - name: "Dorien Roosen"
roles: roles:
@@ -190,7 +190,7 @@ engines:
id: "docker" id: "docker"
image: "python:3.12-slim" image: "python:3.12-slim"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.1.0" target_tag: "v0.1.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -229,11 +229,11 @@ build_info:
output: "target/executable/ingestion_qc/detect_ingestion_method" output: "target/executable/ingestion_qc/detect_ingestion_method"
executable: "target/executable/ingestion_qc/detect_ingestion_method/detect_ingestion_method" executable: "target/executable/ingestion_qc/detect_ingestion_method/detect_ingestion_method"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "32fff3144efcca38eedbd666f52dd3fec369d929" git_commit: "f9c63d1286be56f8be94712d9c1079c1a474ce4d"
git_remote: "https://github.com/openpipelines-bio/openpipeline_qc" git_remote: "https://github.com/openpipelines-bio/openpipeline_qc"
package_config: package_config:
name: "openpipeline_qc" name: "openpipeline_qc"
version: "v0.1.0" version: "v0.1.1"
info: info:
test_resources: test_resources:
- type: "s3" - type: "s3"
@@ -258,7 +258,7 @@ package_config:
)'" )'"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'" - ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
organization: "vsh" organization: "vsh"
links: links:
repository: "https://github.com/openpipelines-bio/openpipeline_qc" repository: "https://github.com/openpipelines-bio/openpipeline_qc"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# detect_ingestion_method v0.1.0 # detect_ingestion_method v0.1.1
# #
# This wrapper script is auto-generated by viash 0.9.4 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 # work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -459,10 +459,10 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dorien Roosen, Weiwei Schultz" LABEL org.opencontainers.image.authors="Dorien Roosen, Weiwei Schultz"
LABEL org.opencontainers.image.description="Companion container for running component ingestion_qc detect_ingestion_method" LABEL org.opencontainers.image.description="Companion container for running component ingestion_qc detect_ingestion_method"
LABEL org.opencontainers.image.created="2025-09-29T15:35:11Z" LABEL org.opencontainers.image.created="2025-10-02T08:17:41Z"
LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_qc" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_qc"
LABEL org.opencontainers.image.revision="32fff3144efcca38eedbd666f52dd3fec369d929" LABEL org.opencontainers.image.revision="f9c63d1286be56f8be94712d9c1079c1a474ce4d"
LABEL org.opencontainers.image.version="v0.1.0" LABEL org.opencontainers.image.version="v0.1.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -579,7 +579,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "detect_ingestion_method v0.1.0" echo "detect_ingestion_method v0.1.1"
echo "" echo ""
echo "Detects the ingestion method of a dataset." echo "Detects the ingestion method of a dataset."
echo "Currently detects either 10X CellRanger Multi, 10X Xenium or Nanostring CosMx," echo "Currently detects either 10X CellRanger Multi, 10X Xenium or Nanostring CosMx,"
@@ -656,7 +656,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "detect_ingestion_method v0.1.0" echo "detect_ingestion_method v0.1.1"
exit exit
;; ;;
--input) --input)
@@ -791,7 +791,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/openpipeline_qc/ingestion_qc/detect_ingestion_method:v0.1.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/openpipeline_qc/ingestion_qc/detect_ingestion_method:v0.1.1'
fi fi
# print dockerfile # print dockerfile

View File

@@ -1,6 +1,6 @@
name: "generate_html" name: "generate_html"
namespace: "ingestion_qc" namespace: "ingestion_qc"
version: "v0.1.0" version: "v0.1.1"
authors: authors:
- name: "Jakub Majercik" - name: "Jakub Majercik"
roles: roles:
@@ -209,7 +209,7 @@ engines:
id: "docker" id: "docker"
image: "node:latest" image: "node:latest"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.1.0" target_tag: "v0.1.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -231,11 +231,11 @@ build_info:
output: "target/executable/ingestion_qc/generate_html" output: "target/executable/ingestion_qc/generate_html"
executable: "target/executable/ingestion_qc/generate_html/generate_html" executable: "target/executable/ingestion_qc/generate_html/generate_html"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "32fff3144efcca38eedbd666f52dd3fec369d929" git_commit: "f9c63d1286be56f8be94712d9c1079c1a474ce4d"
git_remote: "https://github.com/openpipelines-bio/openpipeline_qc" git_remote: "https://github.com/openpipelines-bio/openpipeline_qc"
package_config: package_config:
name: "openpipeline_qc" name: "openpipeline_qc"
version: "v0.1.0" version: "v0.1.1"
info: info:
test_resources: test_resources:
- type: "s3" - type: "s3"
@@ -260,7 +260,7 @@ package_config:
)'" )'"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'" - ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
organization: "vsh" organization: "vsh"
links: links:
repository: "https://github.com/openpipelines-bio/openpipeline_qc" repository: "https://github.com/openpipelines-bio/openpipeline_qc"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# generate_html v0.1.0 # generate_html v0.1.1
# #
# This wrapper script is auto-generated by viash 0.9.4 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 # work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -462,10 +462,10 @@ RUN npm install -g pnpm@latest-10 \
LABEL org.opencontainers.image.authors="Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz" LABEL org.opencontainers.image.authors="Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz"
LABEL org.opencontainers.image.description="Companion container for running component ingestion_qc generate_html" LABEL org.opencontainers.image.description="Companion container for running component ingestion_qc generate_html"
LABEL org.opencontainers.image.created="2025-09-29T15:35:11Z" LABEL org.opencontainers.image.created="2025-10-02T08:17:42Z"
LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_qc" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_qc"
LABEL org.opencontainers.image.revision="32fff3144efcca38eedbd666f52dd3fec369d929" LABEL org.opencontainers.image.revision="f9c63d1286be56f8be94712d9c1079c1a474ce4d"
LABEL org.opencontainers.image.version="v0.1.0" LABEL org.opencontainers.image.version="v0.1.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -582,7 +582,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "generate_html v0.1.0" echo "generate_html v0.1.1"
echo "" echo ""
echo "Generate an HTML report from the QC metrics" echo "Generate an HTML report from the QC metrics"
echo "" echo ""
@@ -650,7 +650,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "generate_html v0.1.0" echo "generate_html v0.1.1"
exit exit
;; ;;
--input_data) --input_data)
@@ -774,7 +774,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/openpipeline_qc/ingestion_qc/generate_html:v0.1.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/openpipeline_qc/ingestion_qc/generate_html:v0.1.1'
fi fi
# print dockerfile # print dockerfile

View File

@@ -1,6 +1,6 @@
name: "detect_ingestion_method" name: "detect_ingestion_method"
namespace: "ingestion_qc" namespace: "ingestion_qc"
version: "v0.1.0" version: "v0.1.1"
authors: authors:
- name: "Dorien Roosen" - name: "Dorien Roosen"
roles: roles:
@@ -190,7 +190,7 @@ engines:
id: "docker" id: "docker"
image: "python:3.12-slim" image: "python:3.12-slim"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.1.0" target_tag: "v0.1.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -229,11 +229,11 @@ build_info:
output: "target/nextflow/ingestion_qc/detect_ingestion_method" output: "target/nextflow/ingestion_qc/detect_ingestion_method"
executable: "target/nextflow/ingestion_qc/detect_ingestion_method/main.nf" executable: "target/nextflow/ingestion_qc/detect_ingestion_method/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "32fff3144efcca38eedbd666f52dd3fec369d929" git_commit: "f9c63d1286be56f8be94712d9c1079c1a474ce4d"
git_remote: "https://github.com/openpipelines-bio/openpipeline_qc" git_remote: "https://github.com/openpipelines-bio/openpipeline_qc"
package_config: package_config:
name: "openpipeline_qc" name: "openpipeline_qc"
version: "v0.1.0" version: "v0.1.1"
info: info:
test_resources: test_resources:
- type: "s3" - type: "s3"
@@ -258,7 +258,7 @@ package_config:
)'" )'"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'" - ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
organization: "vsh" organization: "vsh"
links: links:
repository: "https://github.com/openpipelines-bio/openpipeline_qc" repository: "https://github.com/openpipelines-bio/openpipeline_qc"

View File

@@ -1,4 +1,4 @@
// detect_ingestion_method v0.1.0 // detect_ingestion_method v0.1.1
// //
// This wrapper script is auto-generated by viash 0.9.4 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 // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3036,7 +3036,7 @@ meta = [
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "detect_ingestion_method", "name" : "detect_ingestion_method",
"namespace" : "ingestion_qc", "namespace" : "ingestion_qc",
"version" : "v0.1.0", "version" : "v0.1.1",
"authors" : [ "authors" : [
{ {
"name" : "Dorien Roosen", "name" : "Dorien Roosen",
@@ -3290,7 +3290,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "python:3.12-slim", "image" : "python:3.12-slim",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.1.0", "target_tag" : "v0.1.1",
"namespace_separator" : "/", "namespace_separator" : "/",
"setup" : [ "setup" : [
{ {
@@ -3345,12 +3345,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "/workdir/root/repo/target/nextflow/ingestion_qc/detect_ingestion_method", "output" : "/workdir/root/repo/target/nextflow/ingestion_qc/detect_ingestion_method",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "32fff3144efcca38eedbd666f52dd3fec369d929", "git_commit" : "f9c63d1286be56f8be94712d9c1079c1a474ce4d",
"git_remote" : "https://github.com/openpipelines-bio/openpipeline_qc" "git_remote" : "https://github.com/openpipelines-bio/openpipeline_qc"
}, },
"package_config" : { "package_config" : {
"name" : "openpipeline_qc", "name" : "openpipeline_qc",
"version" : "v0.1.0", "version" : "v0.1.1",
"info" : { "info" : {
"test_resources" : [ "test_resources" : [
{ {
@@ -3381,7 +3381,7 @@ meta = [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag := '$id'\n.resources += {path: '/src/configs/labels.config', dest: 'nextflow_labels.config'}\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'", ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag := '$id'\n.resources += {path: '/src/configs/labels.config', dest: 'nextflow_labels.config'}\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.1.0'" ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
], ],
"organization" : "vsh", "organization" : "vsh",
"links" : { "links" : {
@@ -3872,7 +3872,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/openpipeline_qc/ingestion_qc/detect_ingestion_method", "image" : "vsh/openpipeline_qc/ingestion_qc/detect_ingestion_method",
"tag" : "v0.1.0" "tag" : "v0.1.1"
}, },
"label" : [ "label" : [
"lowmem", "lowmem",

View File

@@ -2,7 +2,7 @@ manifest {
name = 'ingestion_qc/detect_ingestion_method' name = 'ingestion_qc/detect_ingestion_method'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0' version = 'v0.1.1'
description = 'Detects the ingestion method of a dataset.\nCurrently detects either 10X CellRanger Multi, 10X Xenium or Nanostring CosMx, but can be extended to other technologies upon request.\n' description = 'Detects the ingestion method of a dataset.\nCurrently detects either 10X CellRanger Multi, 10X Xenium or Nanostring CosMx, but can be extended to other technologies upon request.\n'
author = 'Dorien Roosen, Weiwei Schultz' author = 'Dorien Roosen, Weiwei Schultz'
} }

View File

@@ -1,6 +1,6 @@
name: "generate_html" name: "generate_html"
namespace: "ingestion_qc" namespace: "ingestion_qc"
version: "v0.1.0" version: "v0.1.1"
authors: authors:
- name: "Jakub Majercik" - name: "Jakub Majercik"
roles: roles:
@@ -209,7 +209,7 @@ engines:
id: "docker" id: "docker"
image: "node:latest" image: "node:latest"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.1.0" target_tag: "v0.1.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -231,11 +231,11 @@ build_info:
output: "target/nextflow/ingestion_qc/generate_html" output: "target/nextflow/ingestion_qc/generate_html"
executable: "target/nextflow/ingestion_qc/generate_html/main.nf" executable: "target/nextflow/ingestion_qc/generate_html/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "32fff3144efcca38eedbd666f52dd3fec369d929" git_commit: "f9c63d1286be56f8be94712d9c1079c1a474ce4d"
git_remote: "https://github.com/openpipelines-bio/openpipeline_qc" git_remote: "https://github.com/openpipelines-bio/openpipeline_qc"
package_config: package_config:
name: "openpipeline_qc" name: "openpipeline_qc"
version: "v0.1.0" version: "v0.1.1"
info: info:
test_resources: test_resources:
- type: "s3" - type: "s3"
@@ -260,7 +260,7 @@ package_config:
)'" )'"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'" - ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
organization: "vsh" organization: "vsh"
links: links:
repository: "https://github.com/openpipelines-bio/openpipeline_qc" repository: "https://github.com/openpipelines-bio/openpipeline_qc"

View File

@@ -1,4 +1,4 @@
// generate_html v0.1.0 // generate_html v0.1.1
// //
// This wrapper script is auto-generated by viash 0.9.4 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 // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3038,7 +3038,7 @@ meta = [
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "generate_html", "name" : "generate_html",
"namespace" : "ingestion_qc", "namespace" : "ingestion_qc",
"version" : "v0.1.0", "version" : "v0.1.1",
"authors" : [ "authors" : [
{ {
"name" : "Jakub Majercik", "name" : "Jakub Majercik",
@@ -3330,7 +3330,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "node:latest", "image" : "node:latest",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.1.0", "target_tag" : "v0.1.1",
"namespace_separator" : "/", "namespace_separator" : "/",
"setup" : [ "setup" : [
{ {
@@ -3359,12 +3359,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "/workdir/root/repo/target/nextflow/ingestion_qc/generate_html", "output" : "/workdir/root/repo/target/nextflow/ingestion_qc/generate_html",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "32fff3144efcca38eedbd666f52dd3fec369d929", "git_commit" : "f9c63d1286be56f8be94712d9c1079c1a474ce4d",
"git_remote" : "https://github.com/openpipelines-bio/openpipeline_qc" "git_remote" : "https://github.com/openpipelines-bio/openpipeline_qc"
}, },
"package_config" : { "package_config" : {
"name" : "openpipeline_qc", "name" : "openpipeline_qc",
"version" : "v0.1.0", "version" : "v0.1.1",
"info" : { "info" : {
"test_resources" : [ "test_resources" : [
{ {
@@ -3395,7 +3395,7 @@ meta = [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag := '$id'\n.resources += {path: '/src/configs/labels.config', dest: 'nextflow_labels.config'}\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'", ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag := '$id'\n.resources += {path: '/src/configs/labels.config', dest: 'nextflow_labels.config'}\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.1.0'" ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
], ],
"organization" : "vsh", "organization" : "vsh",
"links" : { "links" : {
@@ -3840,7 +3840,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/openpipeline_qc/ingestion_qc/generate_html", "image" : "vsh/openpipeline_qc/ingestion_qc/generate_html",
"tag" : "v0.1.0" "tag" : "v0.1.1"
}, },
"label" : [ "label" : [
"lowmem", "lowmem",

View File

@@ -2,7 +2,7 @@ manifest {
name = 'ingestion_qc/generate_html' name = 'ingestion_qc/generate_html'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0' version = 'v0.1.1'
description = 'Generate an HTML report from the QC metrics' description = 'Generate an HTML report from the QC metrics'
author = 'Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz' author = 'Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz'
} }

View File

@@ -1,6 +1,6 @@
name: "generate_qc_report" name: "generate_qc_report"
namespace: "workflows" namespace: "workflows"
version: "v0.1.0" version: "v0.1.1"
authors: authors:
- name: "Jakub Majercik" - name: "Jakub Majercik"
roles: roles:
@@ -375,7 +375,7 @@ build_info:
output: "target/nextflow/workflows/generate_qc_report" output: "target/nextflow/workflows/generate_qc_report"
executable: "target/nextflow/workflows/generate_qc_report/main.nf" executable: "target/nextflow/workflows/generate_qc_report/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "32fff3144efcca38eedbd666f52dd3fec369d929" git_commit: "f9c63d1286be56f8be94712d9c1079c1a474ce4d"
git_remote: "https://github.com/openpipelines-bio/openpipeline_qc" git_remote: "https://github.com/openpipelines-bio/openpipeline_qc"
dependencies: dependencies:
- "target/dependencies/vsh/vsh/openpipeline/v3.0.0/nextflow/metadata/add_id" - "target/dependencies/vsh/vsh/openpipeline/v3.0.0/nextflow/metadata/add_id"
@@ -386,7 +386,7 @@ build_info:
- "target/dependencies/vsh/vsh/craftbox/v0.2.0/nextflow/move_files_to_directory" - "target/dependencies/vsh/vsh/craftbox/v0.2.0/nextflow/move_files_to_directory"
package_config: package_config:
name: "openpipeline_qc" name: "openpipeline_qc"
version: "v0.1.0" version: "v0.1.1"
info: info:
test_resources: test_resources:
- type: "s3" - type: "s3"
@@ -411,7 +411,7 @@ package_config:
)'" )'"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'" - ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
organization: "vsh" organization: "vsh"
links: links:
repository: "https://github.com/openpipelines-bio/openpipeline_qc" repository: "https://github.com/openpipelines-bio/openpipeline_qc"

View File

@@ -1,4 +1,4 @@
// generate_qc_report v0.1.0 // generate_qc_report v0.1.1
// //
// This wrapper script is auto-generated by viash 0.9.4 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 // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3038,7 +3038,7 @@ meta = [
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "generate_qc_report", "name" : "generate_qc_report",
"namespace" : "workflows", "namespace" : "workflows",
"version" : "v0.1.0", "version" : "v0.1.1",
"authors" : [ "authors" : [
{ {
"name" : "Jakub Majercik", "name" : "Jakub Majercik",
@@ -3532,12 +3532,12 @@ meta = [
"engine" : "native", "engine" : "native",
"output" : "/workdir/root/repo/target/nextflow/workflows/generate_qc_report", "output" : "/workdir/root/repo/target/nextflow/workflows/generate_qc_report",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "32fff3144efcca38eedbd666f52dd3fec369d929", "git_commit" : "f9c63d1286be56f8be94712d9c1079c1a474ce4d",
"git_remote" : "https://github.com/openpipelines-bio/openpipeline_qc" "git_remote" : "https://github.com/openpipelines-bio/openpipeline_qc"
}, },
"package_config" : { "package_config" : {
"name" : "openpipeline_qc", "name" : "openpipeline_qc",
"version" : "v0.1.0", "version" : "v0.1.1",
"info" : { "info" : {
"test_resources" : [ "test_resources" : [
{ {
@@ -3568,7 +3568,7 @@ meta = [
".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag := '$id'\n.resources += {path: '/src/configs/labels.config', dest: 'nextflow_labels.config'}\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'", ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag := '$id'\n.resources += {path: '/src/configs/labels.config', dest: 'nextflow_labels.config'}\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.1.0'" ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
], ],
"organization" : "vsh", "organization" : "vsh",
"links" : { "links" : {

View File

@@ -2,7 +2,7 @@ manifest {
name = 'workflows/generate_qc_report' name = 'workflows/generate_qc_report'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.1.0' version = 'v0.1.1'
description = 'Run the ingestion QC report generation' description = 'Run the ingestion QC report generation'
author = 'Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz' author = 'Jakub Majercik, Dorien Roosen, Robrecht Cannoodt, Weiwei Schultz'
} }