Command Line Interface
vcp
VCP CLI - A command-line interface (CLI) to the Chan Zuckerberg Initiative’s Virtual Cells Platform (VCP)
vcp [OPTIONS] COMMAND [ARGS]...
benchmarks
View and run benchmarks available on the Virtual Cells Platform
vcp benchmarks [OPTIONS] COMMAND [ARGS]...
get
Fetch and display benchmark results with metrics.
Shows benchmarks from the VCP as well as locally cached results from previous user benchmark runs. Use filters to select by model, dataset, or task. Results include detailed performance metrics for each benchmark.
vcp benchmarks get [OPTIONS]
Options
- -b, --benchmark-key <benchmark_key>
Retrieve by benchmark key (exact match). Mutually-exclusive with filter options.
- -m, --model-filter <model_filter>
Filter by model key (substring match with ‘*’ wildcards, e.g. ‘scvi*v1’)
- -d, --dataset-filter <dataset_filter>
Filter by dataset key (substring match with ‘*’ wildcards, e.g ‘tsv2*liver’)
- -t, --task-filter <task_filter>
Filter by task key (substring match with ‘*’ wildcards, e.g. ‘label*pred’)
- -f, --format <format>
Output format
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --user-runs, --no-user-runs
Include or exclude locally cached results from previous user benchmark runs (default: include).
list
List available model, dataset and task benchmark combinations.
Shows benchmarks from the VCP as well as locally cached results from previous user benchmark runs. You can filter results by dataset, model, or task using glob patterns.
vcp benchmarks list [OPTIONS]
Options
- -b, --benchmark-key <benchmark_key>
Retrieve by benchmark key. Mutually-exclusive with filter options.
- -m, --model-filter <model_filter>
Filter by model key (substring match with ‘*’ wildcards, e.g. ‘scvi*v1’).
- -d, --dataset-filter <dataset_filter>
Filter by dataset key (substring match with ‘*’ wildcards, e.g. ‘tsv2*liver’).
- -t, --task-filter <task_filter>
Filter by task key (substring match with ‘*’ wildcards, e.g. ‘label*pred’).
- -f, --format <format>
Output format
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --user-runs, --no-user-runs
Include or exclude locally cached results from previous user benchmark runs (default: include).
run
Run a benchmark task on a cell representation, which can be provided in one of the following ways: 1) generate a cell representation by performing model inference on a specified dataset, using a specified model, or 2) specify use a previously-computed cell representation (skips performing model inference), or 3) have the task generate a baseline cell representation that is computed from a specified dataset.
Use vcp benchmarks run <task> –help to see all available options for that task.
vcp benchmarks run [OPTIONS] COMMAND [ARGS]...
Options
- -b, --benchmark-key <benchmark_key>
Run a benchmark using the model, dataset, and task of a VCP-published benchmark (run vcp benchmarks list for available benchmark keys).
batch_integration
Task for evaluating batch integration quality.
This task computes metrics to assess how well different batches are integrated in the embedding space while preserving biological signals.
Specify one of –model-key, –cell-representation, or –compute-baseline to generate or provide the benchmarked cell representation to the task.
Specify one of –dataset-key or –user-dataset to specify the associated dataset file(s) that contain ground truth data needed by the task for evaluation. These dataset options may be specified multiple times for multi-dataset tasks.
If –model-key is specified, dataset(s) will provide the input data to the model. If –compute-baseline is specified, dataset(s) will be used to compute a baseline cell representation. If –cell-representation is specified, a dataset is only used if task-specific option arguments reference ground truth data within the dataset.
vcp benchmarks run batch_integration [OPTIONS]
Options
- -m, --model-key <model_key>
Model key (e.g. SCVI-v1-homo_sapiens; run vcp benchmarks list for available model keys).
- -d, --dataset-key <dataset_key>
Dataset key from czbenchmarks datasets (e.g., tsv2_blood; run czbenchmarks list datasets for available dataset keys). Can be used multiple times.
- -u, --user-dataset <user_dataset>
Path to a user-provided .h5ad file. Provide as a JSON string with keys: ‘dataset_class’, ‘organism’, and ‘path’. Example: ‘{“dataset_class”: “czbenchmarks.datasets.SingleCellLabeledDataset”, “organism”: “HUMAN”, “path”: “~/mydata.h5ad”}’. Can be used multiple times.
- -c, --cell-representation <cell_representation>
Path to precomputed cell embeddings (.npy file) or AnnData reference (e.g., ‘@X’, ‘@obsm:X_pca’). Can be used multiple times.
- -B, --compute-baseline
Compute baseline for comparison. Cannot be used with –model-key or –cell-representation.
- -r, --random-seed <random_seed>
Set a random seed for reproducibility.
- -n, --no-cache
Disable caching. Forces all steps to run from scratch.
- -f, --format <format>
Output format (default: table).
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --use-gpu, --no-use-gpu
Enable GPU support for model inference (default: enabled).
- --batch-labels <batch_labels>
Batch labels for each cell (e.g. obs.batch from an AnnData object). Supports AnnData reference syntax (e.g. ‘@obs:batch’).
- --labels <labels>
Ground truth labels for metric calculation (e.g. obs.cell_type from an AnnData object). Supports AnnData reference syntax (e.g. ‘@obs:cell_type’).
- --baseline-n-top-genes <baseline_n_top_genes>
Number of highly variable genes for PCA baseline. [Default: 3000] [Required: False]
- --baseline-n-pcs <baseline_n_pcs>
Number of principal components for PCA baseline. [Default: 50] [Required: False]
- --baseline-obsm-key <baseline_obsm_key>
AnnData .obsm key to store the baseline PCA embedding. [Default: emb] [Required: False]
clustering
Task for evaluating clustering performance against ground truth labels.
This task performs clustering on embeddings and evaluates the results using multiple clustering metrics (ARI and NMI).
Specify one of –model-key, –cell-representation, or –compute-baseline to generate or provide the benchmarked cell representation to the task.
Specify one of –dataset-key or –user-dataset to specify the associated dataset file(s) that contain ground truth data needed by the task for evaluation. These dataset options may be specified multiple times for multi-dataset tasks.
If –model-key is specified, dataset(s) will provide the input data to the model. If –compute-baseline is specified, dataset(s) will be used to compute a baseline cell representation. If –cell-representation is specified, a dataset is only used if task-specific option arguments reference ground truth data within the dataset.
vcp benchmarks run clustering [OPTIONS]
Options
- -m, --model-key <model_key>
Model key (e.g. SCVI-v1-homo_sapiens; run vcp benchmarks list for available model keys).
- -d, --dataset-key <dataset_key>
Dataset key from czbenchmarks datasets (e.g., tsv2_blood; run czbenchmarks list datasets for available dataset keys). Can be used multiple times.
- -u, --user-dataset <user_dataset>
Path to a user-provided .h5ad file. Provide as a JSON string with keys: ‘dataset_class’, ‘organism’, and ‘path’. Example: ‘{“dataset_class”: “czbenchmarks.datasets.SingleCellLabeledDataset”, “organism”: “HUMAN”, “path”: “~/mydata.h5ad”}’. Can be used multiple times.
- -c, --cell-representation <cell_representation>
Path to precomputed cell embeddings (.npy file) or AnnData reference (e.g., ‘@X’, ‘@obsm:X_pca’). Can be used multiple times.
- -B, --compute-baseline
Compute baseline for comparison. Cannot be used with –model-key or –cell-representation.
- -r, --random-seed <random_seed>
Set a random seed for reproducibility.
- -n, --no-cache
Disable caching. Forces all steps to run from scratch.
- -f, --format <format>
Output format (default: table).
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --use-gpu, --no-use-gpu
Enable GPU support for model inference (default: enabled).
- --obs <obs>
Cell metadata DataFrame (e.g. the obs from an AnnData object). [Default: None] [Required: True] Supports AnnData reference syntax (e.g. ‘@obs’).
- --input-labels <input_labels>
Ground truth labels for metric calculation (e.g. obs.cell_type from an AnnData object). Supports AnnData reference syntax (e.g. ‘@obs:cell_type’).
- --use-rep <use_rep>
Data representation to use for clustering (e.g. the ‘X’ or obsm[‘X_pca’] from an AnnData object). [Default: X] [Required: False] Supports AnnData reference syntax (e.g. ‘X’).
- --n-iterations <n_iterations>
Number of iterations for the Leiden algorithm. [Default: 2] [Required: False]
- --flavor <flavor>
Algorithm for Leiden community detection. [Default: igraph] [Required: False] [Options : ‘leidenalg’, ‘igraph’]
- Options:
leidenalg | igraph
- --key-added <key_added>
Key in AnnData.obs where cluster assignments are stored. [Default: leiden] [Required: False]
- --baseline-n-top-genes <baseline_n_top_genes>
Number of highly variable genes for PCA baseline. [Default: 3000] [Required: False]
- --baseline-n-pcs <baseline_n_pcs>
Number of principal components for PCA baseline. [Default: 50] [Required: False]
- --baseline-obsm-key <baseline_obsm_key>
AnnData .obsm key to store the baseline PCA embedding. [Default: emb] [Required: False]
cross-species_integration
Task for evaluating cross-species integration quality.
This task computes metrics to assess how well different species’ data are integrated in the embedding space while preserving biological signals. It operates on multiple datasets from different species.
Specify one of –model-key, –cell-representation, or –compute-baseline to generate or provide the benchmarked cell representation to the task.
Specify one of –dataset-key or –user-dataset to specify the associated dataset file(s) that contain ground truth data needed by the task for evaluation. These dataset options may be specified multiple times for multi-dataset tasks.
If –model-key is specified, dataset(s) will provide the input data to the model. If –compute-baseline is specified, dataset(s) will be used to compute a baseline cell representation. If –cell-representation is specified, a dataset is only used if task-specific option arguments reference ground truth data within the dataset.
vcp benchmarks run cross-species_integration [OPTIONS]
Options
- -m, --model-key <model_key>
Model key (e.g. SCVI-v1-homo_sapiens; run vcp benchmarks list for available model keys).
- -d, --dataset-key <dataset_key>
Dataset key from czbenchmarks datasets (e.g., tsv2_blood; run czbenchmarks list datasets for available dataset keys). Can be used multiple times.
- -u, --user-dataset <user_dataset>
Path to a user-provided .h5ad file. Provide as a JSON string with keys: ‘dataset_class’, ‘organism’, and ‘path’. Example: ‘{“dataset_class”: “czbenchmarks.datasets.SingleCellLabeledDataset”, “organism”: “HUMAN”, “path”: “~/mydata.h5ad”}’. Can be used multiple times.
- -c, --cell-representation <cell_representation>
Path to precomputed cell embeddings (.npy file) or AnnData reference (e.g., ‘@X’, ‘@obsm:X_pca’). Can be used multiple times.
- -B, --compute-baseline
Compute baseline for comparison. Cannot be used with –model-key or –cell-representation.
- -r, --random-seed <random_seed>
Set a random seed for reproducibility.
- -n, --no-cache
Disable caching. Forces all steps to run from scratch.
- -f, --format <format>
Output format (default: table).
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --use-gpu, --no-use-gpu
Enable GPU support for model inference (default: enabled).
- --labels <labels>
List of ground truth labels for each species dataset (e.g., cell types). Can be specified multiple times. Supports AnnData reference syntax (e.g. ‘@obs:cell_type’).
- --organism-list <organism_list>
List of organisms corresponding to each dataset for cross-species evaluation. Can be specified multiple times.
cross-species_label_prediction
Task for cross-species label prediction evaluation.
This task evaluates cross-species transfer by training classifiers on one species and testing on another species. It computes accuracy, F1, precision, recall, and AUROC for multiple classifiers (Logistic Regression, KNN, Random Forest).
The task can optionally aggregate cell-level embeddings to sample/donor level before running classification.
Specify one of –model-key, –cell-representation, or –compute-baseline to generate or provide the benchmarked cell representation to the task.
Specify one of –dataset-key or –user-dataset to specify the associated dataset file(s) that contain ground truth data needed by the task for evaluation. These dataset options may be specified multiple times for multi-dataset tasks.
If –model-key is specified, dataset(s) will provide the input data to the model. If –compute-baseline is specified, dataset(s) will be used to compute a baseline cell representation. If –cell-representation is specified, a dataset is only used if task-specific option arguments reference ground truth data within the dataset.
vcp benchmarks run cross-species_label_prediction [OPTIONS]
Options
- -m, --model-key <model_key>
Model key (e.g. SCVI-v1-homo_sapiens; run vcp benchmarks list for available model keys).
- -d, --dataset-key <dataset_key>
Dataset key from czbenchmarks datasets (e.g., tsv2_blood; run czbenchmarks list datasets for available dataset keys). Can be used multiple times.
- -u, --user-dataset <user_dataset>
Path to a user-provided .h5ad file. Provide as a JSON string with keys: ‘dataset_class’, ‘organism’, and ‘path’. Example: ‘{“dataset_class”: “czbenchmarks.datasets.SingleCellLabeledDataset”, “organism”: “HUMAN”, “path”: “~/mydata.h5ad”}’. Can be used multiple times.
- -c, --cell-representation <cell_representation>
Path to precomputed cell embeddings (.npy file) or AnnData reference (e.g., ‘@X’, ‘@obsm:X_pca’). Can be used multiple times.
- -B, --compute-baseline
Compute baseline for comparison. Cannot be used with –model-key or –cell-representation.
- -r, --random-seed <random_seed>
Set a random seed for reproducibility.
- -n, --no-cache
Disable caching. Forces all steps to run from scratch.
- -f, --format <format>
Output format (default: table).
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --use-gpu, --no-use-gpu
Enable GPU support for model inference (default: enabled).
- --labels <labels>
List of ground truth labels for each species dataset (e.g., cell types). Can be specified multiple times. Supports AnnData reference syntax (e.g. ‘@obs:cell_type’).
- --organisms <organisms>
List of organisms corresponding to each dataset for cross-species evaluation. Can be specified multiple times.
- --sample-ids <sample_ids>
Optional list of sample/donor IDs for aggregation, one per dataset. Can be specified multiple times. Supports AnnData reference syntax (e.g. ‘None’).
- --aggregation-method <aggregation_method>
Method to aggregate cells with the same sample_id (‘none’, ‘mean’, or ‘median’). [Default: mean] [Required: False] [Options : ‘none’, ‘mean’, ‘median’]
- Options:
none | mean | median
- --n-folds <n_folds>
Number of cross-validation folds for intra-species evaluation. [Default: 5] [Required: False]
embedding
Task for evaluating cell representation quality using labeled data.
This task computes quality metrics for cell representations using ground truth labels. Currently supports silhouette score evaluation.
Specify one of –model-key, –cell-representation, or –compute-baseline to generate or provide the benchmarked cell representation to the task.
Specify one of –dataset-key or –user-dataset to specify the associated dataset file(s) that contain ground truth data needed by the task for evaluation. These dataset options may be specified multiple times for multi-dataset tasks.
If –model-key is specified, dataset(s) will provide the input data to the model. If –compute-baseline is specified, dataset(s) will be used to compute a baseline cell representation. If –cell-representation is specified, a dataset is only used if task-specific option arguments reference ground truth data within the dataset.
vcp benchmarks run embedding [OPTIONS]
Options
- -m, --model-key <model_key>
Model key (e.g. SCVI-v1-homo_sapiens; run vcp benchmarks list for available model keys).
- -d, --dataset-key <dataset_key>
Dataset key from czbenchmarks datasets (e.g., tsv2_blood; run czbenchmarks list datasets for available dataset keys). Can be used multiple times.
- -u, --user-dataset <user_dataset>
Path to a user-provided .h5ad file. Provide as a JSON string with keys: ‘dataset_class’, ‘organism’, and ‘path’. Example: ‘{“dataset_class”: “czbenchmarks.datasets.SingleCellLabeledDataset”, “organism”: “HUMAN”, “path”: “~/mydata.h5ad”}’. Can be used multiple times.
- -c, --cell-representation <cell_representation>
Path to precomputed cell embeddings (.npy file) or AnnData reference (e.g., ‘@X’, ‘@obsm:X_pca’). Can be used multiple times.
- -B, --compute-baseline
Compute baseline for comparison. Cannot be used with –model-key or –cell-representation.
- -r, --random-seed <random_seed>
Set a random seed for reproducibility.
- -n, --no-cache
Disable caching. Forces all steps to run from scratch.
- -f, --format <format>
Output format (default: table).
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --use-gpu, --no-use-gpu
Enable GPU support for model inference (default: enabled).
- --input-labels <input_labels>
Ground truth labels for metric calculation (e.g. obs.cell_type from an AnnData object). Supports AnnData reference syntax (e.g. ‘@obs:cell_type’).
- --baseline-n-top-genes <baseline_n_top_genes>
Number of highly variable genes for PCA baseline. [Default: 3000] [Required: False]
- --baseline-n-pcs <baseline_n_pcs>
Number of principal components for PCA baseline. [Default: 50] [Required: False]
- --baseline-obsm-key <baseline_obsm_key>
AnnData .obsm key to store the baseline PCA embedding. [Default: emb] [Required: False]
label_prediction
Task for predicting labels from embeddings using cross-validation.
Evaluates multiple classifiers (Logistic Regression, KNN) using k-fold cross-validation. Reports standard classification metrics.
Specify one of –model-key, –cell-representation, or –compute-baseline to generate or provide the benchmarked cell representation to the task.
Specify one of –dataset-key or –user-dataset to specify the associated dataset file(s) that contain ground truth data needed by the task for evaluation. These dataset options may be specified multiple times for multi-dataset tasks.
If –model-key is specified, dataset(s) will provide the input data to the model. If –compute-baseline is specified, dataset(s) will be used to compute a baseline cell representation. If –cell-representation is specified, a dataset is only used if task-specific option arguments reference ground truth data within the dataset.
vcp benchmarks run label_prediction [OPTIONS]
Options
- -m, --model-key <model_key>
Model key (e.g. SCVI-v1-homo_sapiens; run vcp benchmarks list for available model keys).
- -d, --dataset-key <dataset_key>
Dataset key from czbenchmarks datasets (e.g., tsv2_blood; run czbenchmarks list datasets for available dataset keys). Can be used multiple times.
- -u, --user-dataset <user_dataset>
Path to a user-provided .h5ad file. Provide as a JSON string with keys: ‘dataset_class’, ‘organism’, and ‘path’. Example: ‘{“dataset_class”: “czbenchmarks.datasets.SingleCellLabeledDataset”, “organism”: “HUMAN”, “path”: “~/mydata.h5ad”}’. Can be used multiple times.
- -c, --cell-representation <cell_representation>
Path to precomputed cell embeddings (.npy file) or AnnData reference (e.g., ‘@X’, ‘@obsm:X_pca’). Can be used multiple times.
- -B, --compute-baseline
Compute baseline for comparison. Cannot be used with –model-key or –cell-representation.
- -r, --random-seed <random_seed>
Set a random seed for reproducibility.
- -n, --no-cache
Disable caching. Forces all steps to run from scratch.
- -f, --format <format>
Output format (default: table).
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --use-gpu, --no-use-gpu
Enable GPU support for model inference (default: enabled).
- --labels <labels>
Ground truth labels for prediction (e.g. obs.cell_type from an AnnData object) Supports AnnData reference syntax (e.g. ‘@obs:cell_type’).
- --n-folds <n_folds>
Number of folds for stratified cross-validation. [Default: 5] [Required: False]
- --min-class-size <min_class_size>
Minimum number of samples required for a class to be included in evaluation. [Default: 10] [Required: False]
perturbation_expression_prediction
Task for evaluating perturbation-induced expression predictions against their ground truth values. This is done by calculating metrics derived from predicted and ground truth log fold change values for each condition. Currently, Spearman rank correlation is supported.
The following arguments are required and must be supplied by the task input class (PerturbationExpressionPredictionTaskInput) when running the task. These parameters are described below for documentation purposes:
- predictions_adata (ad.AnnData):
The anndata containing model predictions
- dataset_adata (ad.AnnData):
The anndata object from SingleCellPerturbationDataset.
- pred_effect_operation (Literal[“difference”, “ratio”]):
How to compute predicted effect between treated and control mean predictions over genes.
“ratio” uses \(\log\left(\frac{\text{mean}(\text{treated}) + \varepsilon}{\text{mean}(\text{control}) + \varepsilon}\right)\) when means are positive.
“difference” uses \(\text{mean}(\text{treated}) - \text{mean}(\text{control})\) and is generally safe across scales (probabilities, z-scores, raw expression).
Default is “ratio”.
- gene_index (Optional[pd.Index]):
The index of the genes in the predictions AnnData.
- cell_index (Optional[pd.Index]):
The index of the cells in the predictions AnnData.
Specify one of –model-key, –cell-representation, or –compute-baseline to generate or provide the benchmarked cell representation to the task.
Specify one of –dataset-key or –user-dataset to specify the associated dataset file(s) that contain ground truth data needed by the task for evaluation. These dataset options may be specified multiple times for multi-dataset tasks.
If –model-key is specified, dataset(s) will provide the input data to the model. If –compute-baseline is specified, dataset(s) will be used to compute a baseline cell representation. If –cell-representation is specified, a dataset is only used if task-specific option arguments reference ground truth data within the dataset.
vcp benchmarks run perturbation_expression_prediction [OPTIONS]
Options
- -m, --model-key <model_key>
Model key (e.g. SCVI-v1-homo_sapiens; run vcp benchmarks list for available model keys).
- -d, --dataset-key <dataset_key>
Dataset key from czbenchmarks datasets (e.g., tsv2_blood; run czbenchmarks list datasets for available dataset keys). Can be used multiple times.
- -u, --user-dataset <user_dataset>
Path to a user-provided .h5ad file. Provide as a JSON string with keys: ‘dataset_class’, ‘organism’, and ‘path’. Example: ‘{“dataset_class”: “czbenchmarks.datasets.SingleCellLabeledDataset”, “organism”: “HUMAN”, “path”: “~/mydata.h5ad”}’. Can be used multiple times.
- -c, --cell-representation <cell_representation>
Path to precomputed cell embeddings (.npy file) or AnnData reference (e.g., ‘@X’, ‘@obsm:X_pca’). Can be used multiple times.
- -B, --compute-baseline
Compute baseline for comparison. Cannot be used with –model-key or –cell-representation.
- -r, --random-seed <random_seed>
Set a random seed for reproducibility.
- -n, --no-cache
Disable caching. Forces all steps to run from scratch.
- -f, --format <format>
Output format (default: table).
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --use-gpu, --no-use-gpu
Enable GPU support for model inference (default: enabled).
- --adata <adata>
AnnData object from SingleCellPerturbationDataset containing perturbation data and metadata. [Default: None] [Required: True]
- --pred-effect-operation <pred_effect_operation>
Method to compute predicted effect: ‘difference’ (mean(treated) - mean(control)) or ‘ratio’ (log ratio of means). [Default: ratio] [Required: False] [Options : ‘difference’, ‘ratio’]
- Options:
difference | ratio
- --gene-index <gene_index>
Optional gene index for predictions to align model predictions with dataset genes.
- --cell-index <cell_index>
Optional cell index for predictions to align model predictions with dataset cells.
sequential_organization
Task for evaluating sequential consistency in embeddings.
This task computes sequential quality metrics for embeddings using time point labels. Evaluates how well embeddings preserve sequential organization between cells.
Specify one of –model-key, –cell-representation, or –compute-baseline to generate or provide the benchmarked cell representation to the task.
Specify one of –dataset-key or –user-dataset to specify the associated dataset file(s) that contain ground truth data needed by the task for evaluation. These dataset options may be specified multiple times for multi-dataset tasks.
If –model-key is specified, dataset(s) will provide the input data to the model. If –compute-baseline is specified, dataset(s) will be used to compute a baseline cell representation. If –cell-representation is specified, a dataset is only used if task-specific option arguments reference ground truth data within the dataset.
vcp benchmarks run sequential_organization [OPTIONS]
Options
- -m, --model-key <model_key>
Model key (e.g. SCVI-v1-homo_sapiens; run vcp benchmarks list for available model keys).
- -d, --dataset-key <dataset_key>
Dataset key from czbenchmarks datasets (e.g., tsv2_blood; run czbenchmarks list datasets for available dataset keys). Can be used multiple times.
- -u, --user-dataset <user_dataset>
Path to a user-provided .h5ad file. Provide as a JSON string with keys: ‘dataset_class’, ‘organism’, and ‘path’. Example: ‘{“dataset_class”: “czbenchmarks.datasets.SingleCellLabeledDataset”, “organism”: “HUMAN”, “path”: “~/mydata.h5ad”}’. Can be used multiple times.
- -c, --cell-representation <cell_representation>
Path to precomputed cell embeddings (.npy file) or AnnData reference (e.g., ‘@X’, ‘@obsm:X_pca’). Can be used multiple times.
- -B, --compute-baseline
Compute baseline for comparison. Cannot be used with –model-key or –cell-representation.
- -r, --random-seed <random_seed>
Set a random seed for reproducibility.
- -n, --no-cache
Disable caching. Forces all steps to run from scratch.
- -f, --format <format>
Output format (default: table).
- Options:
table | json
- --fit, --full
Column display for table format (default: fit). Use –full to show full column content; pair with a pager like ‘less -S’ for horizontal scrolling. Only applies to –format=table.
- --use-gpu, --no-use-gpu
Enable GPU support for model inference (default: enabled).
- --obs <obs>
Cell metadata DataFrame (e.g. the obs from an AnnData object). [Default: None] [Required: True] Supports AnnData reference syntax (e.g. ‘@obs’).
- --input-labels <input_labels>
Ground truth labels for metric calculation (e.g. obs.cell_type from an AnnData object). Supports AnnData reference syntax (e.g. ‘@obs:cell_type’).
- --k <k>
Number of nearest neighbors for k-NN based metrics. [Default: 15] [Required: False]
- --normalize
Whether to normalize the embedding for k-NN based metrics.
- --adaptive-k
Whether to use an adaptive number of nearest neighbors for k-NN based metrics.
- --baseline-n-top-genes <baseline_n_top_genes>
Number of highly variable genes for PCA baseline. [Default: 3000] [Required: False]
- --baseline-n-pcs <baseline_n_pcs>
Number of principal components for PCA baseline. [Default: 50] [Required: False]
- --baseline-obsm-key <baseline_obsm_key>
AnnData .obsm key to store the baseline PCA embedding. [Default: emb] [Required: False]
system-check
Display system hardware information for running VCP benchmarks.
Shows current system specifications including RAM, GPUs, CUDA version, and Docker availability compared against baseline requirements.
vcp benchmarks system-check [OPTIONS]
Options
- -v, --verbose
Display detailed NVIDIA GPU diagnostic information for troubleshooting.
cache
Manage vcp-cli cache and upload state.
The cache is used for embeddings, benchmark results, uploads (to allow resuming upon interruption), and new version checks
vcp cache [OPTIONS] COMMAND [ARGS]...
clean-uploads
Clean specific upload states from cache.
vcp cache clean-uploads [OPTIONS]
Options
- -m, --model <model>
Clean uploads for specific model
- -v, --version <version>
Clean uploads for specific version
- -f, --force
Skip confirmation prompt
clear
Clear cache data.
vcp cache clear [OPTIONS]
Options
- -t, --type <type>
Type of cache to clear
- Options:
all | uploads | benchmarks | version
- -f, --force
Skip confirmation prompt
history
Show upload history from cache.
vcp cache history [OPTIONS]
Options
- -l, --limit <limit>
Number of recent uploads to show
- -v, --verbose
Show detailed information
info
Show cache information and statistics.
vcp cache info [OPTIONS]
config
Print the current configuration.
vcp config [OPTIONS]
Options
- -c, --config <config>
Path to config file
- -f, --format <format>
Output format
- Options:
yaml | json
- --show-secrets, --hide-secrets
Show sensitive information
- -i, --init
Initialize a configuration if one does not exist
data
Data-related commands
vcp data [OPTIONS] COMMAND [ARGS]...
Data usage workflow
List searchable fields: vcp data metadata-list
Survey datasets based on searchable field: vcp data summary $FIELD
Search for datasets: vcp data search ‘$FIELD:$VALUE’
3.a … Restrict search: vcp data search ‘$FIELD:$VALUE_1 AND $FIELD:$VALUE_2’
3.b … Expand search: vcp data search ‘($FIELD:$VALUE_1 OR $FIELD:$VALUE_2) AND ($FIELD:$VALUE_3)’
4 Describe a single dataset: vcp data describe $DATASET_ID
5 Download:
5.a … a single dataset: vcp data download –id $DATASET_ID
5.b … multiple datasets matching search: vcp data search $QUERY –download
credentials
Get the credentials for a specific dataset by id. If you do not know the id, first use the search command to find the id.
vcp data credentials [OPTIONS] DATASET_ID
Arguments
- DATASET_ID
Required argument
describe
Describe a dataset with comprehensive metadata in tabular format.
Displays: • Basic Information (name, version, license, owner, DOI) • Biological Metadata (assays, organisms, tissues, diseases, etc.) • Distribution/Assets (download locations and formats)
vcp data describe [OPTIONS] DATASET_ID
Options
- --full
Show the complete DatasetRecord as pretty-printed JSON and exit.
- --raw
Show the raw returned record.
Arguments
- DATASET_ID
Required argument
download
Download dataset(s) by ID or search query. At least one of –id or –query is required.
vcp data download [OPTIONS]
Options
- --id <dataset_id>
Dataset ID to download a single dataset
- -q, --query <query>
Search query to download multiple datasets
- -o, --outdir <outdir>
Directory to write the files.
- -e, --exact
Use exact match when passing –query
Examples:
Download a SINGLE dataset by its exact ID
vcp data download –id $DATASET_ID
Download MULTIPLE datasets matching a search query
vcp data download –query $QUERY
… equivalent to vcp data search $QUERY –download
metadata-list
List available metadata fields for searching datasets.
vcp data metadata-list [OPTIONS]
preview
Generate a Neuroglancer preview URL for a dataset with zarr files.
DATASET_ID: The ID of the dataset to preview
Note: Preview is only available for microscopy datasets that contain zarr files. Use ‘vcp data describe DATASET_ID’ to check available file formats.
vcp data preview [OPTIONS] DATASET_ID
Options
- --open
Automatically open the preview URL in your browser
Arguments
- DATASET_ID
Required argument
search
Search for authorized datasets by TERM.
TERM can be a single word or a phrase in single quotes (e.g., microscopy or ‘brain tissue’)
vcp data search [OPTIONS] TERM
Options
- --download
Download every dataset returned
- --full
Show full details for each dataset as a small table
- -o, --outdir <outdir>
Directory for downloaded files (used with –download).
- --exact
Match term exactly (no partial matches)
- --latest-version, --all-versions
Specifies if all or just the latest version of each dataset (if multiple versions exist) should be returned. Defaults to –latest-version.
Arguments
- TERM
Required argument
Examples:
Use single quotes (’) around TERM that contains spaces
vcp data search ‘caudate lobe of liver’
Search by domain/topic
vcp data search domain:transcriptomics
vcp data search domain:microscopy
Search all datasets on a biological field (see below for details)
vcp data search ‘assay:Slide-seqV2’
Search for ontology terms; escape colons with a backslash (:)
vcp data search ‘assay_ontology_term_id:EFO:0030062’
Search for exact match to search TERM
vcp data search ‘caudate lobe of liver’ –exact
Download all datasets matching search TERM:
vcp data search ‘tissue:hard palate’ –download
… equivalent to: vcp data download –query ‘tissue:hard palate’
Combine –exact and –download:
vcp data search ‘bed nucleus of stria terminalis’ –exact –download
… equivalent to: vcp data download –query ‘bed nucleus of stria terminalis’ –exact
HINT: use vcp data metadata-list to see all searchable fields and their explanations.
HINT: use vcp data summary $FIELD to get a count of field values.
summary
Summarize counts of matched datasets against a specified FIELD.
vcp data summary [OPTIONS] {domain|namespace|assay|assay_ontology_term_id|tiss
ue|tissue_ontology_term_id|organism|organism_ontology_term_id
|disease|disease_ontology_term_id|tissue_type|cell_type|devel
opment_stage|development_stage_ontology_term_id}
Options
- -q, --query <query>
Search query to filter datasets.
- --latest-version, --all-versions
Specifies if all or just the latest version of each dataset (if multiple versions exist) should be counted. Defaults to –latest-version.
Arguments
- FIELD
Required argument
Examples:
Summarize by a Cross Modality field
vcp data summary assay
vcp data summary assay_ontology_term_id
Filter Summary by an additional search query
vcp data summary assay –query brain
login
Login to the Virtual Cells Platform
vcp login [OPTIONS]
Options
- -c, --config <config>
Path to configuration file
- -f, --force
Force login even if valid tokens exist
- -v, --verbose
Enable verbose output
- -u, --username <username>
Username for direct login
logout
Logout from the Virtual Cells Platform
vcp logout [OPTIONS]
Options
- -c, --config <config>
Path to configuration file
- -v, --verbose
Enable verbose output
model
Manage models in the Virtual Cells Platform.
Available commands:
vcp model [OPTIONS] COMMAND [ARGS]...
assist
Check model submission status and get guidance for VCP model commands.
This command helps you understand where you are in the model submission process and what the next steps should be.
vcp model assist [OPTIONS]
Options
- --work-dir <work_dir>
Path to the model repository work directory (defaults to current directory)
- --step <step>
Get detailed guidance for a specific workflow step
- Options:
init | status | metadata | weights | package | stage | submit
- -c, --config <config>
Path to config file
download
Download a specific version of a model from the model hub.
vcp model download [OPTIONS]
Options
- --model <model>
Required Name of the model to download
- --version <version>
Required Version of the model to download
- --output <output>
Directory to save the downloaded model (default: current directory)
- -c, --config <config>
Path to config file
- -v, --verbose
Show detailed debug information
- --variant <variant>
Variant name (e.g., homo_sapiens, mus_musculus)
- --max-workers <max_workers>
Maximum number of concurrent downloads (default: 4)
init
Initialize a new model in the VCP Model Hub API.
Runs in interactive mode by default when no parameters are provided. Use –work-dir to specify where to initialize the model repository
vcp model init [OPTIONS]
Options
- --model-name <model_name>
Name of the model to initialize.
- --model-version <model_version>
Version of the model to initialize.
- --license-type <license_type>
License type for the model (e.g., MIT, Apache-2.0).
- --work-dir <work_dir>
Path to the model repository work directory where the model will be initialized.
- --data-file <data_file>
JSON file containing template data to prefill answers.
- --interactive
Run in interactive mode to prompt for required parameters (default when no parameters provided).
- --workflow-help
Show workflow guidance and next steps after initialization.
- -v, --verbose
Enable verbose output for debugging and detailed information.
- --debug
Enable debug output (includes sensitive information - use with caution).
- --debug-file <debug_file>
Write debug output to file (automatically masks sensitive data for safe sharing).
- --iteration
Indicate this is an iteration on a previously submitted model.
- --skip-git
Skip git operations (clone, pull, branch creation) for faster initialization.
list
List available models and their versions from the VCP Model Hub API.
vcp model list [OPTIONS]
Options
- --format <format>
Output format (table or json)
- Options:
table | json
- -c, --config <config>
Path to config file
- -v, --verbose
Show detailed debug information
stage
Stage model files for upload to the VCP Model Hub.
vcp model stage [OPTIONS]
Options
- --model <model>
Name of the model
- --version <version>
Version of the model
- --data-path <data_path>
Directory path containing model files
- --work-dir <work_dir>
Path to the model repository work directory where model configuration is located
- -c, --config <config>
Path to config file
- -v, --verbose
Show detailed debug information
- --max-retries <max_retries>
Maximum number of retry attempts per file (default: 3)
- --no-resume
Start fresh without resuming from previous upload attempt
- --clean-state
Clean previous upload state and start fresh
- --batch-upload
[DEPRECATED] Batch upload is now the default behavior
- --interactive
Run in interactive mode to prompt for required parameters.
- --skip-packaging
Stage metadata only without packaging the model
status
Query and display the status of all model submissions from the VCP Model Hub.
This command shows the current status of all models that have been initialized or submitted to the VCP Model Hub.
vcp model status [OPTIONS]
Options
- --format <format>
Output format (table or json)
- Options:
table | json
- -c, --config <config>
Path to config file
- -v, --verbose
Show detailed debug information
- --work-dir <work_dir>
Path to the model repository work directory where model configuration is located
submit
Submit model for review with comprehensive validation.
vcp model submit [OPTIONS]
Options
- -c, --config <config>
Path to config file
- -v, --verbose
Show detailed debug information
- --work-dir <work_dir>
Path to the model repository work directory where model configuration is located
- --skip-git
Skip submission operations
- --skip-packaging
Submit metadata only without packaging the model
validate-model-metadata
Validates model metadata files against requirements in vcp-model-hub.
By default, looks for files in <work-dir>/model_card_docs/: - model_card_metadata.yaml - model_card_details.md
vcp model validate-model-metadata [OPTIONS]
Options
- --work-dir <work_dir>
Path to the model repository work directory (defaults to current directory)
- -c, --config <config>
Path to config file
- -v, --verbose
Show detailed debug information
version
Show version information and optionally check for updates.
vcp version [OPTIONS]
Options
- --check
Check for available updates on PyPI