Files
CI 29ec685ff2 Build branch fix-integration-tests with version fix-integration-tests (5e3f3231)
Build pipeline: vsh-ci-dev-9jqlj

Source commit: 5e3f323145

Source message: Fix config error
2024-11-18 10:10:50 +00:00

388 lines
12 KiB
YAML

name: "highly_variable_features_scanpy"
namespace: "feature_annotation"
version: "fix-integration-tests"
authors:
- name: "Dries De Maeyer"
roles:
- "contributor"
info:
role: "Core Team Member"
links:
email: "ddemaeyer@gmail.com"
github: "ddemaeyer"
linkedin: "dries-de-maeyer-b46a814"
organizations:
- name: "Janssen Pharmaceuticals"
href: "https://www.janssen.com"
role: "Principal Scientist"
- name: "Robrecht Cannoodt"
roles:
- "maintainer"
- "contributor"
info:
role: "Core Team Member"
links:
email: "robrecht@data-intuitive.com"
github: "rcannood"
orcid: "0000-0003-3641-729X"
linkedin: "robrechtcannoodt"
organizations:
- name: "Data Intuitive"
href: "https://www.data-intuitive.com"
role: "Data Science Engineer"
- name: "Open Problems"
href: "https://openproblems.bio"
role: "Core Member"
argument_groups:
- name: "Arguments"
arguments:
- type: "file"
name: "--input"
description: "Input h5mu file"
info: null
example:
- "input.h5mu"
must_exist: true
create_parent: true
required: true
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--modality"
info: null
default:
- "rna"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--layer"
description: "use adata.layers[layer] for expression values instead of adata.X."
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--output"
description: "Output h5mu file."
info: null
example:
- "output.h5mu"
must_exist: true
create_parent: true
required: false
direction: "output"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--output_compression"
description: "The compression format to be used on the output h5mu object."
info: null
example:
- "gzip"
required: false
choices:
- "gzip"
- "lzf"
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--var_name_filter"
description: "In which .var slot to store a boolean array corresponding to which\
\ observations should be filtered out."
info: null
default:
- "filter_with_hvg"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--varm_name"
description: "In which .varm slot to store additional metadata."
info: null
default:
- "hvg"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--flavor"
description: "Choose the flavor for identifying highly variable features. For\
\ the dispersion based methods\nin their default workflows, Seurat passes the\
\ cutoffs whereas Cell Ranger passes n_top_features.\n"
info: null
default:
- "seurat"
required: false
choices:
- "seurat"
- "cell_ranger"
- "seurat_v3"
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--n_top_features"
description: "Number of highly-variable features to keep. Mandatory if flavor='seurat_v3'."
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--min_mean"
description: "If n_top_features is defined, this and all other cutoffs for the\
\ means and the normalized dispersions are ignored. Ignored if flavor='seurat_v3'."
info: null
default:
- 0.0125
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--max_mean"
description: "If n_top_features is defined, this and all other cutoffs for the\
\ means and the normalized dispersions are ignored. Ignored if flavor='seurat_v3'."
info: null
default:
- 3.0
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--min_disp"
description: "If n_top_features is defined, this and all other cutoffs for the\
\ means and the normalized dispersions are ignored. Ignored if flavor='seurat_v3'."
info: null
default:
- 0.5
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--max_disp"
description: "If n_top_features is defined, this and all other cutoffs for the\
\ means and the normalized dispersions are ignored. Ignored if flavor='seurat_v3'.\
\ Default is +inf."
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--span"
description: "The fraction of the data (cells) used when estimating the variance\
\ in the loess model fit if flavor='seurat_v3'."
info: null
default:
- 0.3
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--n_bins"
description: "Number of bins for binning the mean feature expression. Normalization\
\ is done with respect to each bin. If just a single feature falls into a bin,\
\ the normalized dispersion is artificially set to 1."
info: null
default:
- 20
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--obs_batch_key"
description: "If specified, highly-variable features are selected within each\
\ batch separately and merged. This simple \nprocess avoids the selection of\
\ batch-specific features and acts as a lightweight batch correction method.\
\ \nFor all flavors, features are first sorted by how many batches they are\
\ a HVG. For dispersion-based flavors \nties are broken by normalized dispersion.\
\ If flavor = 'seurat_v3', ties are broken by the median (across\nbatches) rank\
\ based on within-batch normalized variance.\n"
info: null
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: "Annotate highly variable features [Satija15] [Zheng17] [Stuart19].\n\
\nExpects logarithmized data, except when flavor='seurat_v3' in which count data\
\ is expected.\n\nDepending on flavor, this reproduces the R-implementations of\
\ Seurat [Satija15], Cell Ranger [Zheng17], and Seurat v3 [Stuart19].\n\nFor the\
\ dispersion-based methods ([Satija15] and [Zheng17]), the normalized dispersion\
\ is obtained by scaling with the mean and standard deviation of the dispersions\
\ for features falling into a given bin for mean expression of features. This means\
\ that for each bin of mean expression, highly variable features are selected.\n\
\nFor [Stuart19], a normalized variance for each feature is computed. First, the\
\ data are standardized (i.e., z-score normalization per feature) with a regularized\
\ standard deviation. Next, the normalized variance is computed as the variance\
\ of each feature after the transformation. Features are ranked by the normalized\
\ variance.\n"
test_resources:
- type: "python_script"
path: "test.py"
is_executable: true
- type: "file"
path: "pbmc_1k_protein_v3"
- type: "file"
path: "openpipelinetestutils"
dest: "openpipelinetestutils"
info: null
status: "enabled"
links:
repository: "https://github.com/openpipelines-bio/openpipeline"
docker_registry: "ghcr.io"
runners:
- type: "executable"
id: "executable"
docker_setup_strategy: "ifneedbepullelsecachedbuild"
- type: "nextflow"
id: "nextflow"
directives:
label:
- "singlecpu"
- "lowmem"
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.9"
target_registry: "images.viash-hub.com"
target_tag: "fix-integration-tests"
namespace_separator: "/"
setup:
- type: "python"
user: false
packages:
- "anndata==0.10.8"
- "mudata~=0.2.4"
- "pandas!=2.1.2"
- "numpy<2.0.0"
- "scanpy~=1.9.6"
- "scikit-misc"
upgrade: true
test_setup:
- type: "python"
user: false
packages:
- "viashpy==0.8.0"
upgrade: true
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/feature_annotation/highly_variable_features_scanpy/config.vsh.yaml"
runner: "executable"
engine: "docker|native"
output: "target/executable/feature_annotation/highly_variable_features_scanpy"
executable: "target/executable/feature_annotation/highly_variable_features_scanpy/highly_variable_features_scanpy"
viash_version: "0.9.0"
git_commit: "5e3f3231456facaf14da57fa563d4de58492ca82"
git_remote: "https://x-access-token:ghs_EujrUcz58S6J44CLSvromEPEcaMxTc30MU1j@github.com/openpipelines-bio/openpipeline"
git_tag: "0.2.0-1942-g5e3f3231"
package_config:
name: "openpipeline"
version: "fix-integration-tests"
info:
test_resources:
- type: "s3"
path: "s3://openpipelines-data"
dest: "resources_test"
viash_version: "0.9.0"
source: "src"
target: "target"
config_mods:
- ".test_resources += {path: '/src/base/openpipelinetestutils', dest: 'openpipelinetestutils'}\n\
.resources += {path: '/src/workflows/utils/labels.config', dest: 'nextflow_labels.config'}\n\
.runners[.type == 'nextflow'].directives.tag := '$id'\n.runners[.type == 'nextflow'].config.script\
\ := 'includeConfig(\"nextflow_labels.config\")'\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'fix-integration-tests'"
organization: "vsh"
links:
repository: "https://github.com/openpipelines-bio/openpipeline"
docker_registry: "ghcr.io"
homepage: "https://openpipelines.bio"
documentation: "https://openpipelines.bio/fundamentals"
issue_tracker: "https://github.com/openpipelines-bio/openpipeline/issues"