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.7

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.7
File Size Uploaded
libella-0.1.8.7.tar.gz 105.2 kB Details

Built distribution (wheel)

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

Total release size: 215.1 kB

Release files / libella-0.1.8.7.tar.gz

Download URL libella-0.1.8.7.tar.gz
Size 105.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d874afbb9e3118f8bbd10fe8fcf3c6c1569dba7d410a1ef345800979d80b6a13
BLAKE2b-256 checksum
How to use checksums
601b5876ef55329fbc97a3610de73a71f2ee6f7d380ed6783c526948298a067c
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 Sep 8, 2026.

Transparency log

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

Download URL libella-0.1.8.7-py3-none-any.whl
Size 109.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39c7bb536c0ea1f669945f1e0e05c5f3192fcb51ad178e71fb2a0a56d264bb2a
BLAKE2b-256 checksum
How to use checksums
642fc145d4be26e5069d2526a7188139441697b5bdc0d453c893060214f94b55
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 Sep 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.8.7 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