name: "random_forest_annotation" namespace: "annotate" version: "fix-integration-tests" authors: - name: "Jakub Majercik" roles: - "author" info: role: "Contributor" links: email: "jakub@data-intuitive.com" github: "jakubmajercik" linkedin: "jakubmajercik" organizations: - name: "Data Intuitive" href: "https://www.data-intuitive.com" role: "Bioinformatics Engineer" argument_groups: - name: "Inputs" description: "Input dataset (query) arguments" arguments: - type: "file" name: "--input" description: "The input (query) data to be labeled. Should be a .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" description: "Which modality to process." info: null default: - "rna" required: false direction: "input" multiple: false multiple_sep: ";" - type: "string" name: "--input_layer" description: "The layer in the input data to be used for cell type annotation\ \ if .X is not to be used." info: null required: false direction: "input" multiple: false multiple_sep: ";" - name: "Reference" description: "Arguments related to the reference dataset." arguments: - type: "file" name: "--reference" description: "The reference data to train the CellTypist classifiers on. Only\ \ required if a pre-trained --model is not provided." info: null example: - "reference.h5mu" must_exist: true create_parent: true required: false direction: "input" multiple: false multiple_sep: ";" - type: "string" name: "--reference_layer" description: "The layer in the reference data to be used for cell type annotation\ \ if .X is not to be used. Data are expected to be processed in the same way\ \ as the --input query dataset." info: null required: false direction: "input" multiple: false multiple_sep: ";" - type: "string" name: "--reference_obs_target" description: "Key in obs field of reference modality with cell-type information." info: null required: true direction: "input" multiple: false multiple_sep: ";" - name: "Outputs" description: "Output arguments." arguments: - 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" info: null example: - "gzip" required: false choices: - "gzip" - "lzf" direction: "input" multiple: false multiple_sep: ";" - type: "string" name: "--output_obs_predictions" description: "In which `.obs` slots to store the predicted information.\n" info: null default: - "random_forest_pred" required: false direction: "input" multiple: false multiple_sep: ";" - type: "string" name: "--output_obs_probability" description: "In which `.obs` slots to store the probability of the predictions.\n" info: null default: - "random_forest_probability" required: false direction: "input" multiple: false multiple_sep: ";" - name: "Model arguments" description: "Model arguments." arguments: - type: "file" name: "--model" description: "Pretrained model in pkl format. If not provided, the model will\ \ be trained on the reference data and --reference should be provided." info: null example: - "pretrained_model.pkl" must_exist: true create_parent: true required: false direction: "input" multiple: false multiple_sep: ";" - type: "integer" name: "--n_estimators" description: "Number of trees in the random forest." info: null default: - 100 required: false direction: "input" multiple: false multiple_sep: ";" - type: "integer" name: "--max_depth" description: "Maximum depth of the trees in the random forest. \nIf not provided,\ \ the nodes are expanded until all leaves only contain a single sample.\n" info: null required: false direction: "input" multiple: false multiple_sep: ";" - type: "string" name: "--criterion" description: "The function to measure the quality of a split." info: null default: - "gini" required: false choices: - "gini" - "entropy" - "log_loss" direction: "input" multiple: false multiple_sep: ";" - type: "string" name: "--class_weight" description: "Weights associated with classes.\nThe `balanced` mode uses the values\ \ of y to automatically adjust weights inversely proportional to class frequencies\ \ in the input data.\nThe `balanced_subsample` mode is the same as `balanced`\ \ except that weights are computed based on the bootstrap sample for every tree\ \ grown.\nThe `uniform` mode gives all classes a weight of one.\n" info: null default: - "balanced_subsample" required: false choices: - "balanced" - "balanced_subsample" - "uniform" direction: "input" multiple: false multiple_sep: ";" - type: "string" name: "--max_features" description: "The number of features to consider when looking for the best split.\ \ The value can either be a positive integer or one of `sqrt`, `log2` or `all`.\n\ If integer: consider max_features features at each split.\nIf `sqrt`: max_features\ \ is the squareroot of all input features.\nIf `log2`: max_features is the log2\ \ of all input features.\nIf `all`: max features equals all input features.\n" info: null default: - "200" 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: "Automated cell type annotation tool for scRNA-seq datasets on the basis\ \ of random forest." test_resources: - type: "python_script" path: "test.py" is_executable: true - type: "file" path: "TS_Blood_filtered.h5mu" - type: "file" path: "pbmc_1k_protein_v3_filtered_feature_bc_matrix.h5mu" - 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: 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.12-slim" target_registry: "images.viash-hub.com" target_tag: "fix-integration-tests" namespace_separator: "/" setup: - type: "apt" packages: - "libhdf5-dev" - "procps" interactive: false - type: "python" user: false packages: - "scikit-learn==1.4.2" upgrade: true - type: "python" user: false packages: - "anndata==0.10.8" - "mudata~=0.2.4" - "pandas!=2.1.2" - "numpy<2.0.0" upgrade: true test_setup: - type: "docker" copy: - "openpipelinetestutils /opt/openpipelinetestutils" - type: "python" user: false packages: - "/opt/openpipelinetestutils" upgrade: true - type: "python" user: false packages: - "viashpy==0.8.0" upgrade: true entrypoint: [] cmd: null - type: "native" id: "native" build_info: config: "src/annotate/random_forest_annotation/config.vsh.yaml" runner: "executable" engine: "docker|native" output: "target/executable/annotate/random_forest_annotation" executable: "target/executable/annotate/random_forest_annotation/random_forest_annotation" 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"