Skip to main content

Libella

Memory-Optimized Spatial Transcriptomics GNN Pipeline

Libella is an end-to-end Graph Neural Network (GNN) framework designed to discover spatial ecotypes and map topological interfaces across spatial transcriptomics cohorts. By using contiguous spatial batching with $k$-hop preservation, it achieves $O(N)$ compute scalability and $O(1)$ peak memory footprint relative to dataset size. Natively supports NVIDIA CUDA and Apple Silicon (MPS).


Quick Start

Execution is fully CLI-driven via a single .csv manifest file pointing to your .h5ad datasets.

# Standard discovery run
libella manifest.csv --out-dir ./results --mode DISCOVERY

# Fast development test (restricts epochs & cell counts)
libella manifest.csv --out-dir ./results_dev --mode DEV

Installation

Requires Python $\ge$ 3.9.

pip install libella

Data Preparation

Input .h5ad files must feature Human HGNC gene symbols (e.g., CD8A) in adata.var_names.

  • Mouse / Rat Data: Automatically converted to uppercase (e.g., Sox2 $\rightarrow$ SOX2) for cross-species compatibility.
  • Ensembl IDs: Must be converted to HGNC symbols before execution.
import mygene
import scanpy as sc

# Load data
adata = sc.read_h5ad("my_data.h5ad")

# Query Ensembl to HGNC mapping
mg = mygene.MyGeneInfo()
results = mg.querymany(
    adata.var_names, 
    scopes="ensembl.gene", 
    fields="symbol", 
    species="human"
)

# Remap gene symbols
symbol_map = {res["query"]: res.get("symbol", res["query"]) for res in results}
adata.var_names = [symbol_map.get(g, g) for g in adata.var_names]

adata.write_h5ad("my_data_mapped.h5ad")

Manifest Schema

The manifest.csv defines the pipeline execution graph. It requires filepath, discovery, and projection fields.

filepath,dataset_id,patient_id,discovery,projection
/path/to/sample1.h5ad,Dataset_A,Patient_1,True,True
/path/to/sample2.h5ad,Dataset_A,Patient_2,False,True
Flag Value Description
discovery True Computes consensus genes, biological priors, and trains the core GNN.
projection True Projects the trained GNN model onto the sample to extract spatial topology.

Note: Samples marked with discovery=False and projection=True are evaluated as hold-out validation cohorts.


Configuration & Hyperparameters

All pipeline parameters can be overridden at runtime via CLI arguments.

libella manifest.csv \
  --out-dir ./results \
  --epochs 100 \
  --batch-size 15000 \
  --lr-base 0.0005

Core Parameters

Parameter Default Description
--epochs 30 Number of GNN training iterations
--batch-size 10000 Spatial chunk size for memory bounding
--top-n-genes 2000 Number of spatial consensus genes to extract
--k-neighbors 11 Physical graph neighbors constructed per node
--k-hops 2 GNN message-passing neighborhood depth
--dict-temp 0.3 Softmax temperature for spatial dictionary learning
--entropy-pruning True Toggles batch-effect artifact pruning

Run libella -h to inspect the full list of CLI flags.


Output Directory Structure

Executing the pipeline populates --out-dir with the following structure:

results/
├── graphs/
│   └── *.pt                                  # Serialized PyTorch Geometric spatial graphs
├── individual_samples/
│   └── *.csv                                 # Sample-specific topological metrics
└── out/
    ├── final_gnn_model.pt                    # Trained GNN weights checkpoint
    ├── Global_Smoothed_Macro_Domains.parquet # Cell-level spatial domain assignments
    └── Global_Meta_Topology_Continuous_Matrix.csv # Cohort-wide topological matrix

Release files for libella 0.1.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for libella 0.1.8.2
File Size Uploaded
libella-0.1.8.2.tar.gz 113.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for libella 0.1.8.2
File Interpreter ABI Platform
libella-0.1.8.2-py3-none-any.whl Python 3 none any Details

Total release size: 234.0 kB

Release files / libella-0.1.8.2.tar.gz

Download URL libella-0.1.8.2.tar.gz
Size 113.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f68b458f987be9a6209f353b6de5c27b3a2f4b46e6fcd2a2519170694d5e7489
BLAKE2b-256 checksum
How to use checksums
58687e345769d6e375772cd1168b5dc6a85633b06ac6145151afc06fe4a60994
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release files / libella-0.1.8.2-py3-none-any.whl

Download URL libella-0.1.8.2-py3-none-any.whl
Size 120.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd2c09e91c4e8249a83ec4d0d830b7e38756b06bd32e85c0027c2d71644c6235
BLAKE2b-256 checksum
How to use checksums
3d908b179cab661a8b4efafc381639afdd6575661c0bb1733915641016e8d1da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.8.2 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page