Skip to main content
  A T G . . C A T        .  . .
  . G C A T . G .   -->  . .. .  -->  λ(·)
   T . A G C . A T        .  . .
     A T G . C A

     m a n y l a t e n t s - o m i c s

        from sequence to manifold

license python uv PyPI docs


Population genetics, single-cell, and foundation model encoders for manylatents. Extends the core DR framework with biological data types and domain-specific metrics.

Install

uv add manylatents-omics

Optional extras:

uv add "manylatents-omics[popgen]"      # population genetics
uv add "manylatents-omics[singlecell]"  # single-cell (scanpy, anndata)
uv add "manylatents-omics[dogma]"       # protein + RNA encoders (ESM3, Orthrus)

DNA encoder (Evo2) requires a separate venv due to torch version conflicts. See scripts/setup-dna-venv.sh.

Or from the core manylatents repo:

uv sync --extra omics   # installs manylatents-omics as a namespace extension
development install
git clone https://github.com/latent-reasoning-works/manylatents-omics.git
cd manylatents-omics && uv sync

Architecture

manylatents-omics is a namespace extension of manylatents. It lives alongside the core repo and adds domain-specific modules under the manylatents.* namespace via pkgutil.extend_path().

lrw/
├── manylatents/    # core DR engine
├── omics/          # this repo — popgen, singlecell, dogma encoders
└── shop/           # cluster infrastructure

Design decision: The core engine stays domain-agnostic. Each "flavor pack" (omics, vision, etc.) is a separate repo/package that extends the manylatents namespace without polluting the core with domain-specific dependencies. Experiment configs (ClinVar pipelines, fusion sweeps, cluster resource presets) belong in downstream experiment repos, not here — this package ships only instantiation configs that define what encoders, datasets, and algorithms are.

Quick start

Omics configs are auto-discovered when the package is installed. The datasets themselves are not shipped with the package (they're gitignored and not in the wheel) — fetch them first:

# Download the PBMC datasets into the location ${omics_data:} resolves to.
# (Writes to <repo>/data from a checkout, else ~/.cache/manylatents/data.)
python scripts/download_pbmc.py --dataset 3k

python -m manylatents.main --config-name=config \
  experiment=single_algorithm data=pbmc_3k

# Sweep on cluster
python -m manylatents.main -m \
  cluster=tamia resources=gpu \
  data=hgdp,pbmc_10k algorithms/latent=umap,phate

The ${omics_data:} config resolver and download_pbmc.py agree on where data lives. To pin it explicitly, set MANYLATENTS_DATA (both honor it):

export MANYLATENTS_DATA=/path/to/data
python scripts/download_pbmc.py --dataset 3k   # writes $MANYLATENTS_DATA/single_cell/

Modules

popgen — Population genetics via the manifold-genetics CSV pipeline. HGDP+1KGP, UK Biobank, All of Us. Admixture proportions, geographic metadata, QC/relatedness filtering. Requires preprocessing via manifold-genetics (a separate tool, not a Python dependency). Configs: popgen/configs/

singlecell — AnnData .h5ad loader for scRNA-seq, scATAC-seq, CITE-seq. Ships with PBMC 3k/10k/68k and Embryoid Body. Any .h5ad works via AnnDataset. Configs: singlecell/configs/

dogma — Foundation model encoders for DNA, RNA, and protein sequences. Supports single-modality encoding, multi-layer extraction, and cross-modal fusion. All encoders inherit from FoundationEncoder — lazy model loading, batched encoding with OOM retry, standard fit()/transform() interface. Configs: dogma/configs/

  • ESM3 — Protein, 1536-dim, masked mean-pool, true batched forward
  • Evo2 — DNA, 1920/4096/8192-dim (1B/7B/40B), multi-layer extraction, 1M bp context
  • Orthrus — RNA, 256/512-dim (4-track/6-track), Mamba SSM re-implementation for mamba-ssm 2.x
  • AlphaGenome — DNA, 1536/3072-dim (1bp/128bp), JAX-based, regulatory track predictions, chunked encoding

ClinVar pipeline

Reference pipeline for variant-effect analysis via geometric methods. Encodes DNA and protein sequences flanking ClinVar variants, then applies dimensionality reduction to study how pathogenic vs. benign variants separate in embedding space. Three stages: DNA encoding, protein encoding, and geometric analysis (fusion + DR). See docs/clinvar_pipeline.md for full details. Experiment configs live in downstream repos (e.g. merging_dogma), not in this package.

Development

uv sync
pytest tests/ -v

Citing

If manylatents-omics was useful in your research, a citation goes a long way:

@software{manylatents_omics2026,
  title     = {manyLatents-Omics: Biological Extensions for Unified Dimensionality Reduction},
  author    = {{Latent Reasoning Works}},
  year      = {2026},
  url       = {https://github.com/latent-reasoning-works/manylatents-omics},
  license   = {MIT}
}

MIT License · Latent Reasoning Works

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manylatents_omics-0.1.3.tar.gz (333.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manylatents_omics-0.1.3-py3-none-any.whl (150.4 kB view details)

Uploaded Python 3

File details

Details for the file manylatents_omics-0.1.3.tar.gz.

File metadata

  • Download URL: manylatents_omics-0.1.3.tar.gz
  • Upload date:
  • Size: 333.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for manylatents_omics-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d816cd59b9b854f11499f7c9727f4d686c73a6a400babae56af40cf47e7f5c11
MD5 90566d75a39771c6b85aa8b746bc8969
BLAKE2b-256 97070bb49149b248b40b6bb903dc4ad9ac8c026e175fc4f36db8d1b2d01159ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for manylatents_omics-0.1.3.tar.gz:

Publisher: publish.yml on latent-reasoning-works/manylatents-omics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file manylatents_omics-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for manylatents_omics-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 41445fa6396ecc0597c3a825e013ce58f1990cb362eed864c84c566d490bf4b1
MD5 7d15cb433f8ea774e0745b83f240abe3
BLAKE2b-256 0c689c85bf40dc0f33b51218f6e408749f5d39c290c740fc5633d2be42a1c7c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for manylatents_omics-0.1.3-py3-none-any.whl:

Publisher: publish.yml on latent-reasoning-works/manylatents-omics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 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