Files
openpipeline_spatial/target/executable/convert/from_cells2stats_to_h5mu/.config.vsh.yaml
CI 8c9abfcde2 Build branch build/main with version build_main (6f308e6)
Build pipeline: openpipelines-bio.openpipeline-spatial.build-main-4vs7c

Source commit: 6f308e6a3c

Source message: deploy: 1caa96d9de9a6decd32f44c56ea33f7b9aff9791
2025-08-22 08:42:59 +00:00

322 lines
9.8 KiB
YAML

name: "from_cells2stats_to_h5mu"
namespace: "convert"
version: "build_main"
authors:
- name: "Dorien Roosen"
roles:
- "maintainer"
info:
role: "Core Team Member"
links:
email: "dorien@data-intuitive.com"
github: "dorien-er"
linkedin: "dorien-roosen"
organizations:
- name: "Data Intuitive"
href: "https://www.data-intuitive.com"
role: "Data Scientist"
argument_groups:
- name: "Inputs"
arguments:
- type: "file"
name: "--input"
description: "Path to the cells2stats output bundle. \nExpected folder structure\
\ (showing required files only):\n├── Cytoprofiling/\n│ └── Instrument/\n│\
\ └── RawCellStats.parquet\n└── Panel.json\n"
info: null
example:
- "path/to/aviti_output"
must_exist: true
create_parent: true
required: true
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Outputs"
arguments:
- type: "file"
name: "--output"
description: "Output H5MU file path."
info: null
example:
- "output.h5mu"
must_exist: true
create_parent: true
required: true
direction: "output"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--output_compression"
description: "Compression format to use for the output AnnData and/or Mudata objects.\n\
By default no compression is applied.\n"
info: null
example:
- "gzip"
required: false
choices:
- "gzip"
- "lzf"
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Options"
arguments:
- type: "string"
name: "--modality"
description: "The modality to which the processed data will be written to in the\
\ H5MU file."
info: null
default:
- "rna"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--obsm_coordinates"
description: "Key name to store the spatial coordinates (in pixels) in obsm.\n\
If present, spatial coordinates in micrometers will be stored under {obsm_coordinates}_um.\n\
The column names will be stored in uns.\n"
info: null
default:
- "spatial"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--layer_nuclear_counts"
description: "Name for nuclear counts layer. If specified, nuclear count data\
\ \nwill be stored as a separate layer in the AnnData object.\n"
info: null
example:
- "nuclear_counts"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--obsm_cell_paint"
description: "Key name for storing Cell Paint target intensities in obsm. \nIf\
\ provided, Cell Paint target intensity data will be stored as a separate matrix\
\ in the obsm field.\nThe column names will be stored in uns.\n"
info: null
example:
- "cell_paint"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--obsm_cell_paint_nuclear"
description: "Key name for storing Nuclear Cell Paint target intensities in obsm.\n\
If provided, Nuclear Cell Paint target intensity data will be stored as a separate\
\ matrix in the obsm field.\nThe column names will be stored in uns.\n"
info: null
example:
- "cell_paint_nuclear"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--obsm_cell_profiler"
description: "Key name for storing CellProfiler morphology metrics in obsm.\n\
If provided, CellProfiler morphology metrics will be stored as a separate matrix\
\ in the obsm field.\nThe column names will be stored in uns.\n"
info: null
example:
- "cell_profiler"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--obsm_unassigned_targets"
description: "Key name for storing any unassigned target data in obsm.\nIf provided,\
\ unassigned target data will be stored as a separate matrix in the obsm field.\n\
The column names will be stored in uns.\n"
info: null
example:
- "cell_profiler"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
resources:
- type: "python_script"
path: "script.py"
is_executable: true
- type: "file"
path: "setup_logger.py"
- type: "file"
path: "nextflow_labels.config"
dest: "nextflow_labels.config"
description: "Convert spatial data resulting from Aviti Teton sequencers that have\
\ been processed by the Element Biosciences cells2stats workflow to H5MU format.\n\
\nThis component processes cells2stats count matrices to create a standardized H5MU\
\ file for downstream analysis.\n\nThe component reads:\n- Parquet file containing\
\ the count matrix and metadata\n- Panel.json with target and batch information\n\
\nAnd outputs an H5MU file with:\n- Count data as the main .X matrix\n- Spatial\
\ coordinates in obsm\n- Cell Paint intensities in obsm (optional)\n- Nuclear count\
\ data as a layer (optional)\n- CellProfiler morphology metrics in obsm (optional)\n\
- Unassigned targets in obsm (optional)\n"
test_resources:
- type: "python_script"
path: "test.py"
is_executable: true
- type: "file"
path: "aviti"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
repositories:
- type: "github"
name: "openpipeline"
repo: "openpipelines-bio/openpipeline"
tag: "2.1.2"
links:
repository: "https://github.com/openpipelines-bio/openpipeline_spatial"
docker_registry: "ghcr.io"
runners:
- type: "executable"
id: "executable"
docker_setup_strategy: "ifneedbepullelsecachedbuild"
- type: "nextflow"
id: "nextflow"
directives:
label:
- "lowmem"
- "lowcpu"
tag: "$id"
auto:
simplifyInput: true
simplifyOutput: false
transcript: false
publish: false
config:
labels:
mem1gb: "memory = 1000000000.B"
mem2gb: "memory = 2000000000.B"
mem5gb: "memory = 5000000000.B"
mem10gb: "memory = 10000000000.B"
mem20gb: "memory = 20000000000.B"
mem50gb: "memory = 50000000000.B"
mem100gb: "memory = 100000000000.B"
mem200gb: "memory = 200000000000.B"
mem500gb: "memory = 500000000000.B"
mem1tb: "memory = 1000000000000.B"
mem2tb: "memory = 2000000000000.B"
mem5tb: "memory = 5000000000000.B"
mem10tb: "memory = 10000000000000.B"
mem20tb: "memory = 20000000000000.B"
mem50tb: "memory = 50000000000000.B"
mem100tb: "memory = 100000000000000.B"
mem200tb: "memory = 200000000000000.B"
mem500tb: "memory = 500000000000000.B"
mem1gib: "memory = 1073741824.B"
mem2gib: "memory = 2147483648.B"
mem4gib: "memory = 4294967296.B"
mem8gib: "memory = 8589934592.B"
mem16gib: "memory = 17179869184.B"
mem32gib: "memory = 34359738368.B"
mem64gib: "memory = 68719476736.B"
mem128gib: "memory = 137438953472.B"
mem256gib: "memory = 274877906944.B"
mem512gib: "memory = 549755813888.B"
mem1tib: "memory = 1099511627776.B"
mem2tib: "memory = 2199023255552.B"
mem4tib: "memory = 4398046511104.B"
mem8tib: "memory = 8796093022208.B"
mem16tib: "memory = 17592186044416.B"
mem32tib: "memory = 35184372088832.B"
mem64tib: "memory = 70368744177664.B"
mem128tib: "memory = 140737488355328.B"
mem256tib: "memory = 281474976710656.B"
mem512tib: "memory = 562949953421312.B"
cpu1: "cpus = 1"
cpu2: "cpus = 2"
cpu5: "cpus = 5"
cpu10: "cpus = 10"
cpu20: "cpus = 20"
cpu50: "cpus = 50"
cpu100: "cpus = 100"
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
script:
- "includeConfig(\"nextflow_labels.config\")"
debug: false
container: "docker"
engines:
- type: "docker"
id: "docker"
image: "python:3.13-slim"
target_registry: "images.viash-hub.com"
target_tag: "build_main"
namespace_separator: "/"
setup:
- type: "apt"
packages:
- "procps"
interactive: false
- type: "python"
user: false
packages:
- "anndata~=0.11.1"
- "mudata~=0.3.1"
- "pyarrow"
script:
- "exec(\"try:\\n import awkward\\nexcept ModuleNotFoundError:\\n exit(0)\\\
nelse: exit(1)\")"
upgrade: true
test_setup:
- type: "python"
user: false
packages:
- "viashpy==0.9.0"
upgrade: true
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/convert/from_cells2stats_to_h5mu/config.vsh.yaml"
runner: "executable"
engine: "docker|native"
output: "target/executable/convert/from_cells2stats_to_h5mu"
executable: "target/executable/convert/from_cells2stats_to_h5mu/from_cells2stats_to_h5mu"
viash_version: "0.9.4"
git_commit: "6f308e6a3cca52f1283fbba734a3cdc858e18e1b"
git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial"
package_config:
name: "openpipeline_spatial"
version: "build_main"
info:
test_resources:
- type: "s3"
path: "s3://openpipelines-bio/openpipeline_spatial/resources_test"
dest: "resources_test"
repositories:
- type: "github"
name: "openpipeline"
repo: "openpipelines-bio/openpipeline"
tag: "2.1.2"
viash_version: "0.9.4"
source: "src"
target: "target"
config_mods:
- ".resources += {path: '/src/workflows/utils/labels.config', dest: 'nextflow_labels.config'}\n\
.runners[.type == 'nextflow'].config.script := 'includeConfig(\"nextflow_labels.config\"\
)'"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'build_main'"
organization: "vsh"
links:
repository: "https://github.com/openpipelines-bio/openpipeline_spatial"
docker_registry: "ghcr.io"