omicverse.space.CAST¶
- omicverse.space.CAST(adata, sample_key=None, basis='spatial', layer='norm_1e4', output_path='output/CAST_Mark', gpu_t=0, device='cuda:0', **kwargs)[source]¶
CAST (Cell Annotation for Spatial Transcriptomics) embedding for multiple spatial samples.
This function implements the CAST algorithm to learn unified embeddings across multiple spatial transcriptomics samples, enabling joint analysis and integration of spatial data from different sources.
- Parameters:
adata (anndata.AnnData) – Multi-sample spatial AnnData object.
sample_key (str, optional) – Column in
adata.obsidentifying sample/batch labels.basis (str, default="spatial") – Key in
adata.obsmstoring spatial coordinates.layer (str, default="norm_1e4") – Layer key containing normalized expression used by CAST.
output_path (str, default="output/CAST_Mark") – Directory for CAST intermediate files and outputs.
gpu_t (int, default=0) – GPU index used by CAST backend.
device (str, default="cuda:0") – Torch device string passed to CAST backend.
**kwargs – Extra keyword arguments forwarded to
CAST_MARK.
- Returns:
anndata.AnnData – Updated AnnData with embedding saved in
adata.obsm['X_cast'].Notes –
Requires normalized expression data in specified layer
GPU acceleration is enabled by default
Creates output directory if it doesn’t exist
Progress is shown with tqdm progress bars
Examples – >>> import scanpy as sc >>> import omicverse as ov >>> # Load multiple samples >>> adata = sc.read_h5ad(‘spatial_samples.h5ad’) >>> # Run CAST integration >>> adata = ov.space.CAST( … adata, … sample_key=’sample_id’, … basis=’spatial’, … layer=’normalized_counts’ … ) >>> # Access CAST embeddings >>> cast_embeddings = adata.obsm[‘X_cast’]