bulkrna-batch-correcti…
Load when correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation. Skip…
Load when extracting a niche / microenvironment subset around a center cell-type by spatial
$ npx -y skills add tiangzlab/omicsclaw --skill spatial-microenvironment-subset --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/spatial-microenvironment-subsetContext preview
The summary Claude sees to decide when to auto-load this skill.
Load when extracting a niche / microenvironment subset around a center cell-type by spatial
name: spatial-microenvironment-subset description: Load when extracting a niche / microenvironment subset around a center cell-type by spatial radius from a labelled spatial AnnData, producing a smaller AnnData of centers + their within-radius neighbours. Skip when running global tissue-domain detection (use spatial-domains); cross-condition comparison (use spatial-condition). trigger: microenvironment, neighborhood subset, spatial radius, neighboring cells, nearby cells, tumor microenvironment, extract cells within 50 microns tags: - spatial - microenvironment - niche - subsetting - neighbourhood - visium - xenium
Extract centers and nearby observations. Use spatial-domains for global regions and spatial-condition for condition comparisons.
from skills._sdk.notebook import load_skill, read_input, write_output
library = load_skill("spatial-microenvironment-subset")
data = read_input("input.h5ad")
data = library.subset(data, center_key="cell_type", center_values=["Tumor"], radius_native=50)
write_output(library.selection_table(data), "tables/results.csv")Run [examples/example_step.py](examples/example_step.py) through the step runner.
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
Return a new neighborhood AnnData; expression matrices remain unchanged.
:param adata: Labelled AnnData with spatial coordinates; X, layers and raw are sliced. :param center_values: Labels defining centers, required as in the CLI. :param center_key: Label column; None selects the first recognized label column. :param radius_native: Positive coordinate-unit radius; default None requires radius_microns. :param radius_microns: Positive micron radius, exclusive with radius_native. :param microns_per_coordinate_unit: Explicit positive scale; None uses platform metadata. :param data_type: Optional platform hint used to resolve units, as in the CLI. :param include_centers: True retains centers regardless of the target-label filter. :param target_key: Optional neighbor label column; None uses the center column. :param target_values: Optional allowed neighbor labels; None admits all labels. :returns: A new AnnData with role, distance and JSON diagnostics. :raises ValueError: Invalid radius, labels, units, coordinates or an empty selection.
Read selection counts and resolved coordinate units.
:param adata: AnnData returned by subset. :param keep: True retains diagnostics; False removes them for CLI serialization. :returns: Selection diagnostics, or an empty dict before analysis.
Return coordinates, center identities and nearest-center distances.
:param adata: AnnData returned by subset; expression values are not read. :returns: One DataFrame row per selected observation. :raises KeyError: Selection columns are absent.
Plot selected centers and neighbors in coordinate units.
:param adata: AnnData returned by subset; reads coordinates and microenv_role. :returns: A matplotlib Figure without saving it. :raises KeyError: Selection roles are absent.
<!-- api:end -->
KD-tree distances select observations near a center. Exactly one native or micron radius is required; micron distances require known coordinate units. See [parameters](references/parameters.md) and [methodology](references/methodology.md).
The library returns AnnData, DataFrames or Figures without file writes. The CLI keeps reports, result.json, tables and conditional gallery outputs. See the complete [output contract](references/output_contract.md) for filenames and conditions.
python skills/spatial/spatial-microenvironment-subset/spatial_microenvironment_subset.py --input data.h5ad --output results/spatial-microenvironment-subset --center-values Tumor --radius-native 50
`anndata`, `matplotlib`, `numpy`, `pandas`, `scanpy`, `scipy`
Conversational & memory-enabled AI research partner for multi-omics analysis. CLI + Desktop App (installers in Releases). From biological idea to full research paper.
Load when correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation. Skip…
Load when discovering bulk gene co-expression modules and hub genes with R WGCNA. Skip direct expression contrasts (use…
Load when comparing gene expression between two conditions in bulk RNA-seq count data. Skip
Load when estimating cell-type proportions in bulk RNA-seq samples from a single-cell or
Load when running pathway / GO term enrichment on a bulk RNA-seq DE result list. Skip when
Load when converting Ensembl, Entrez or symbol IDs in a bulk RNA count matrix using an explicit mapping or a small human demo…