cellfish#

Tests Documentation

Personal single-cell helpers for scRNA-seq, scATAC-seq / multiome, and (later) spatial.

import cellfish as cf

cf.pl.setup_style()
cf.data.require_obs(adata, ["cell_type"])
cf.pl.embedding(adata, basis="X_umap", color="cell_type", palette=MY_PALETTE)
cf.pl.embedding(adata, basis="spatial", color="cell_type", palette=MY_PALETTE)
cf.io.write_h5_safe(adata, path)

What this package does#

  • Sanitize and write AnnData / MuData

  • Check obs / obsm / var / layers

  • Join paired modalities (RNA ↔ ATAC, later RNA ↔ spatial)

  • Publication plotting (cf.pl.embedding, palettes, plot1cell, proportions, …)

  • Thin wrappers around analysis tools under ext/<tool>/

What it does not do#

  • QC, integration, peak calling, or spaceranger pipelines

  • Model training (leave that in notebooks / shell)

  • Project paths, paper palettes, or figure-specific panels

Those stay in the analysis repository.

Installation#

You need Python 3.11 or newer.

  1. Editable install from a clone:

git clone https://github.com/xfchen0912/cellfish.git
cd cellfish
pip install -e ".[dev]"
  1. Optional extras:

pip install -e ".[plot]"   # marsilea dotplots, rich, fonttools
pip install -e ".[doc]"    # Sphinx documentation
  1. Latest development version:

pip install "git+https://github.com/xfchen0912/cellfish.git@main"

Release notes#

See the changelog.

Contact#

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

Important resources#

About

Layout and design rules for cellfish.

About cellfish
API

Public functions under cf.io / cf.data / cf.pl.

API
Gallery

Card catalog of cf.pl figures.

Gallery
Tutorials

Install and a first cf.pl figure.

Tutorials