{"id":44790712,"url":"https://github.com/yasokochi/zenomix","last_synced_at":"2026-02-16T11:01:56.940Z","repository":{"id":323601700,"uuid":"1093244107","full_name":"yasokochi/ZENomix","owner":"yasokochi","description":"The Python package for a method (ZENomix), which predict mutant spatial transcriptomes in a zero-shot manner.","archived":false,"fork":false,"pushed_at":"2025-12-22T16:03:43.000Z","size":48377,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-24T04:11:26.176Z","etag":null,"topics":["bioinformatics","single-cell","spatial-transcriptomics"],"latest_commit_sha":null,"homepage":"https://www.biorxiv.org/content/10.1101/2022.12.16.520397v1","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yasokochi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-10T05:30:34.000Z","updated_at":"2025-12-22T16:03:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yasokochi/ZENomix","commit_stats":null,"previous_names":["yasokochi/zenomix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yasokochi/ZENomix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasokochi%2FZENomix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasokochi%2FZENomix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasokochi%2FZENomix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasokochi%2FZENomix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yasokochi","download_url":"https://codeload.github.com/yasokochi/ZENomix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasokochi%2FZENomix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29506320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","single-cell","spatial-transcriptomics"],"created_at":"2026-02-16T11:00:36.873Z","updated_at":"2026-02-16T11:01:56.934Z","avatar_url":"https://github.com/yasokochi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZENomix\n\nZENomix enables zero-shot reconstruction of mutant spatial transcriptomes using scRNA-seq and wildtype *in situ* data.\n\u003e Cite: Yasushi Okochi, Takaaki Matsui, Shunta Sakaguchi, Takefumi Kondo, Honda Naoki, Zero-shot reconstruction of mutant spatial transcriptomes, bioRxiv, 2022\n\n---\n\n## 1. Install ZENomix\n\nYou can install ZENomix from Github directly via `pip`:\n\n```bash\npip install git+https://github.com/yasokochi/ZENomix.git\n```\n\nOr clone and install in editable/development mode:\n\n```bash\ngit clone https://github.com/yasokochi/ZENomix.git\ncd ZENomix\npip install -e .\n```\n\n\u003e ❗ **Important:** ZENomix is built on **JAX**.  \n\u003e **Recommended:** Install JAX yourself first (CPU or GPU) following the official guidance for your environment.  \n\u003e **Alternative:** If you haven’t installed JAX yet, you can also install it **together** using extras such as `zenomix[cuda12]`.\n\n\n---\n\n## 2. Install JAX (recommended to do first)\n\nInstall JAX **before** ZENomix depending on your hardware/runtime.  \n*MPS/Metal (Mac GPU) is not supported due to float64 precision requirements.*\n\n### 🖥️ CPU only\n\n```bash\npip install --upgrade \"jax[cpu]\u003e=0.6,\u003c0.7\"\n```\n\n### ⚡ GPU (CUDA 12.x)\n\n```bash\npip install --upgrade \"jax[cuda12]\u003e=0.6,\u003c0.7\"\n```\n\n### ⚡ GPU (CUDA 13.x)\n\n```bash\npip install --upgrade \"jax[cuda13]\u003e=0.6,\u003c0.7\"\n```\n\n\u003e After JAX is installed, install ZENomix normally (Section 1).\n\n\n---\n\n## 🔧 Didn’t install JAX yet? (alternative via extras)\n\nYou can install ZENomix **and JAX** together using extras:\n\n| Environment | Command |\n|-------------|---------|\n| CPU only    | `pip install \"zenomix[cpu] @ git+https://github.com/yasokochi/ZENomix.git\"` |\n| CUDA 12.x   | `pip install \"zenomix[cuda12] @ git+https://github.com/yasokochi/ZENomix.git\"` |\n| CUDA 13.x   | `pip install \"zenomix[cuda13] @ git+https://github.com/yasokochi/ZENomix.git\"` |\n\n\n## 🔧 Optional: RFF acceleration (Random Fourier Features)\n```bash\npip install \"zenomix[rff] @ git+https://github.com/yasokochi/ZENomix.git\"\n```\n\nRFF enables fast MMD evaluation using `numpyro` (Student‑t sampling).\n\n### ➕ Combine options\n\n```bash\npip install \"zenomix[cuda12,rff] @ git+https://github.com/yasokochi/ZENomix.git\"\n```\n\n\n---\n\n## 3. Verify GPU is detected\n\n```python\nimport jax\nimport jax.numpy as jnp\n\nprint(jax.default_backend())  # expect 'gpu' or 'cuda'\nprint(jax.devices())          # should list GPU\n```\n\n\n---\n\n## 4. Basic Usage Example\n\n```python\nimport pandas as pd\nimport zenomix\n\n# If your data are AnnData objects (scanpy), pass adata.to_df() (cells × genes).\n# Make sure both datasets are normalized (e.g., log1p(CPM)).\nznx = zenomix.Model(\n    data=scRNAseq,   # mutant scRNA-seq (cells × genes) DataFrame or compatible\n    reference=spatial_reference,   # WT spatial reference (cells × genes) DataFrame or compatible\n    latent_dim=50\n)\n\nznx.latent_calibration(method='adam')   # 'adam' (fast, for large dataset) or 'lbfgs' (for small dataset)\nrecon = znx.reconstruction()\nprint(recon.head())\n```\n\n\u003e ✅️ For more details, see [examples](examples/) and [API reference](docs/API_reference.md).\n\n---\n\n## 5. Example environments (Mac / Linux)\n\n### ✅ macOS (CPU only)\n\n```bash\n# Mac Studio (2025, Apple M3 Ultra, 256GB Unified Memory)\n# macOS: 15.5 Sequoia\n# Python: 3.11.5\n\n# without Jax\npip install git+https://github.com/yasokochi/ZENomix.git\n# with Jax\npip install \"zenomix[cpu] @ git+https://github.com/yasokochi/ZENomix.git\"\n```\n\n### ✅ Linux + CUDA\n\n```bash\n# AMD Ryzen Threadripper PRO 3955WX (16 Cores)\n# 4x DDR4-3200 32 GB RAM (128GB in total)\n# 1x NVIDIA RTX 6000Ada\n# OS: Ubuntu 20.04\n# NVIDIA Driver: 535.230.02\n# CUDA: 12.2\n# Python: 3.11.5\n\n# without Jax\npip install git+https://github.com/yasokochi/ZENomix.git\n# PyPI with Jax and Numpyro\npip install \"zenomix[cuda12,rff] @ git+https://github.com/yasokochi/ZENomix.git\"\n```\n\n\n---\n\n## 6. Runtime reference\n\nShown below are approximate runtime usage during latent_calibration fuction on different modes.\nDataset: 50k scRNA-seq cells, 5k reference cells.\n\n| Mode | Time |\n|------|------|\n| RFF + GPU | ~3 min |\n| Full MMD + GPU | ~5 min |\n| Full MMD + CPU | ~15 min |\n\n\n---\n\n## 7. Summary\n\n| Scenario         | Command                              |\n|------------------|--------------------------------------|\n| Recommended      | Install JAX first, then ZENomix      |\n| CPU only         | `pip install \"zenomix[cpu] @ git+https://github.com/yasokochi/ZENomix.git\"`         |\n| GPU (CUDA 12.x)  | `pip install \"zenomix[cuda12] @ git+https://github.com/yasokochi/ZENomix.git\"`      |\n| GPU + RFF        | `pip install \"zenomix[cuda12,rff] @ git+https://github.com/yasokochi/ZENomix.git\"`  |\n\n---\n\nFor the code used to generate figures in the manuscript, please see [Dropbox](https://www.dropbox.com/scl/fo/shx3a03q6xlquhbpc54xu/ADkT34pzexV7_leXbVqwSqU?rlkey=8sxpj1dbcflppioyokxz70k4m\u0026st=y0z41vdb\u0026dl=0)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyasokochi%2Fzenomix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyasokochi%2Fzenomix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyasokochi%2Fzenomix/lists"}