Skip to content

Repository files navigation

cellink

Build License Read the Docs Test pre-commit

cellink: a framework for joint analysis of genotype and single-cell data

Single-cell profiles are indexed by cell; genotype data is indexed by donor. Keeping the two correctly paired through subsetting and filtering is easy to get wrong by hand, and each downstream genetics tool (PLINK, MAGMA, LDSC, TensorQTL, SAIGE-QTL, and more) expects its own file formats and conventions. cellink provides a single DonorData structure that keeps donor- and cell-level data synchronized, and the glue to drive that surrounding tool ecosystem directly from it.

Key Features

1. Unified DonorData structure

cellink introduces the DonorData class, unifying individual-level and single-cell data. It extends standard formats (AnnData, MuData) with GenoAnnData for efficient genotype (via dask) and phenotype (via ehrapy) handling.

Data structure schematic

  • Donor-level Data (G): GenoAnnData, Stores individual level data such as genotypes.
  • Cell-level Data (C): AnnData/ MuData, Stores single-cell omics data such as gene expression.

Crucially, DonorData ensures that genetic data and single-cell modalities remain synchronized, preserving their donor-cell pairing even through complex filtering operations (e.g., selecting specific cell types or patient subsets). See the DonorData on-disk format for how this is represented on disk and how to check a DonorData object against it.

2. Comprehensive toolkit

cellink offers a streamlined suite of tools for the entire analysis workflow, organized by task:

Association testing

Heritability, gene programs & GWAS integration

Deep learning & representation learning

Other

Getting Started

Install the latest development version directly from GitHub (cellink is not yet published on PyPI; a future release will be published as cellink-tools, see the installation guide for optional extras and why):

pip install git+https://github.com/theislab/cellink.git@main

New to cellink? Start with DonorData basics: no analysis, just how to build a DonorData from your own genotype/expression data, slice it, and save it. From there, the Documentation section below is the map to everything else.

Documentation

Installation guide Requirements and every optional extra (pip install cellink[extra-name])
Tutorials Step-by-step guides for every analysis workflow above
API reference Every public function and class, organized by module
DonorData on-disk format The versioned HDF5/Zarr schema, and how to check an object against it
Contributing guide Dev setup, tests, and the PR workflow
Changelog What changed in each release

Contact

If you found a bug, please use the issue tracker.

Release notes

t.b.a

Citation

t.b.a

About

Scalable framework for integrating single-cell omics with genetic data using AnnData.

Topics

Resources

Contributing

Stars

21 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages