Signaling-informed Characterization of Unresolved Biological Interfaces
Project description
SCOUBI
SCOUBI is a computational framework for analyzing extrasomatic transcripts in imaging-based spatial transcriptomics data. Rather than discarding unassigned RNA as background, SCOUBI uses marker-gene expression of neurites and spatial ligand–receptor colocalization to classify extrasomatic regions as axon- or dendrite-enriched and to identify putative “interfaces” enriched for intercellular signaling programs. These interfaces provide a transcriptomic window into neuronal communication sites that are typically inaccessible to cell-centric spatial analyses. By preserving anatomical context, SCOUBI enables regional and molecular characterization of putative synaptic signaling environments directly from intact tissue.
Preprint: add preprint link here
Overview
Imaging-based spatial transcriptomics often detects a substantial fraction of transcripts outside segmented cell bodies. SCOUBI treats this extrasomatic signal as a biologically informative layer of tissue organization.
The workflow has two main stages:
-
Neurite identity classification
Extrasomatic spatial bins are classified as axon- or dendrite-enriched using curated marker genes and a signaling-informed optimization objective. -
Interface identification
SCOUBI scans for local regions where axonic and dendritic bins converge and where significant ligand–receptor pairs are colocalized.
The resulting interface map can be used to study:
- Spatial distribution of putative neuronal communication regions
- Neurite-enriched genes
- Interface-enriched genes
- Regional variation in interface transcriptomes
- Interface signatures compared with nearby cell bodies
Installation
pip install scoubi
For local development from a checkout:
pip install -e .
Quickstart
import torch
import scoubi
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
adata = scoubi.io.load_data(
"data/data.parquet",
cell_type="data/cell_types.csv",
region="data/regions.csv",
)
adata = scoubi.pp.bin_data(adata, binsize=2)
adata = scoubi.md.train(adata, axon_markers, dendrite_markers, device=device)
adata = scoubi.tl.overview(adata, device=device)
adata = scoubi.tl.axon_dendrite_enrichment(adata)
adata = scoubi.tl.distance(adata)
adata = scoubi.tl.expression_profile(adata, key="region")
adata = scoubi.tl.communication_profile(adata, key="region")
adata.summarize()
Module Map
| Module | Alias | Purpose |
|---|---|---|
scoubi.io |
- | Data loading and AnnData helpers |
scoubi.preprocess |
scoubi.pp |
Preprocessing (Spatial binning) |
scoubi.model |
scoubi.md |
Neurite annotation |
scoubi.tools |
scoubi.tl |
Downstream analysis utilities |
scoubi.plotting |
scoubi.pl |
Visualization helpers |
Data and Runtime Notes
scoubi.md.train()can use a bundled ligand-receptor reference table (from NeuronChat) whenpairs=None.- GPU acceleration is optional; most workflows can run on CPU, although training and convolution-heavy steps are faster on CUDA when available.
Tutorial
The guided walkthrough lives in tutorial.ipynb. It covers data loading, model training, spatial overview generation, enrichment analysis, interface profiling, communication analysis, and save/load workflows.
License
Released under the MIT License. See LICENSE.
Citation
If you use SCOUBI in your work, please cite:
@article{scoubi, title = {SCOUBI: Signaling-informed Characterization of Unresolved Biological Interfaces}, author = {TODO}, journal = {TODO}, year = {TODO}, doi = {TODO} }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scoubi-1.0.tar.gz.
File metadata
- Download URL: scoubi-1.0.tar.gz
- Upload date:
- Size: 44.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd2a23e37ba912763b0131e1e400e34b0e931e0927e829de88200d63910d6757
|
|
| MD5 |
1c232e52b5d974e4f0d0a08454e8b3ae
|
|
| BLAKE2b-256 |
bf43bd75fdc821686e01c16bff5bce87a20c3dc02b0733f806a1295d755c8f8b
|
Provenance
The following attestation bundles were made for scoubi-1.0.tar.gz:
Publisher:
workflow.yml on bhavaygg/SCOUBI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scoubi-1.0.tar.gz -
Subject digest:
cd2a23e37ba912763b0131e1e400e34b0e931e0927e829de88200d63910d6757 - Sigstore transparency entry: 1677029135
- Sigstore integration time:
-
Permalink:
bhavaygg/SCOUBI@60d7e09b6eb5d704852ea6562f3ca9b55a605748 -
Branch / Tag:
refs/tags/v0.5 - Owner: https://github.com/bhavaygg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@60d7e09b6eb5d704852ea6562f3ca9b55a605748 -
Trigger Event:
release
-
Statement type:
File details
Details for the file scoubi-1.0-py3-none-any.whl.
File metadata
- Download URL: scoubi-1.0-py3-none-any.whl
- Upload date:
- Size: 47.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef64dbc80909dc36fc421c333ebf9f139d92202bb0ecf55850b2bf4e804db823
|
|
| MD5 |
70ef84bb4b5988c8e726bffbfbd2fc03
|
|
| BLAKE2b-256 |
0d371b928365fa4e3d5663fd43c33d5548ff2f4e78e1448b5871d35e394cf8dc
|
Provenance
The following attestation bundles were made for scoubi-1.0-py3-none-any.whl:
Publisher:
workflow.yml on bhavaygg/SCOUBI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scoubi-1.0-py3-none-any.whl -
Subject digest:
ef64dbc80909dc36fc421c333ebf9f139d92202bb0ecf55850b2bf4e804db823 - Sigstore transparency entry: 1677029137
- Sigstore integration time:
-
Permalink:
bhavaygg/SCOUBI@60d7e09b6eb5d704852ea6562f3ca9b55a605748 -
Branch / Tag:
refs/tags/v0.5 - Owner: https://github.com/bhavaygg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@60d7e09b6eb5d704852ea6562f3ca9b55a605748 -
Trigger Event:
release
-
Statement type: