Skip to main content

Official Emap2lig inference pipeline for finding ligand density blobs and building atomic ligand structures in cryo-EM maps.

Project description

Emap2lig

PyPI Kihara Lab Emap2lig-Find Emap2lig-Build HuggingFace Model Ask DeepWiki
Python 3.12 CUDA MPS

Official Emap2lig inference pipeline for finding ligand density blobs and building atomic ligand structures in cryo-EM maps.

  • Stage 1 (Find): segment ligand density blobs from cryo-EM maps.
  • Stage 2 (Build): generate ligand atomic coordinates from blobs.
Emap2lig workflow: cryo-EM map to Find (ligand blobs) to Build (atomic structures)

[!IMPORTANT] Local inference requires a supported accelerator: Linux + NVIDIA CUDA or macOS + Apple MPS. CPU inference is not supported.

No GPU? Use the free KiharaLab web server instead.

Latest Updates

  • 2026-06-19: PyPI Release (v0.4.1)

    • Published on PyPI: pip install emap2lig or pip install "emap2lig[web]" for the Web GUI (emap2lig-gui).
    • Web GUI moved into the package at src/emap2lig/web/; pre-built frontend ships in the wheel.
  • 2026-06-17: macOS MPS Acceleration Support

    • Added local inference support for macOS with Apple MPS acceleration.
  • 2026-05-22: uv Tool Installation

    • Emap2lig can also be installed globally via uv tool install emap2lig or from GitHub.
    • Added Agent Skill following the agentskills.io specification for AI-agent-guided usage.

Usage

Path GPU Install
KiharaLab Web Server No None
Local — CLI, Web GUI, or Agent Skill Linux/CUDA or macOS/MPS See below

KiharaLab Web Server

No installation or GPU. Upload a map on Find, then run Build with your ligands.

Stage URL
Find em.kiharalab.org/algorithm/Emap2lig-Find
Build em.kiharalab.org/algorithm/Emap2lig-Build

Details: docs/web-server.md

Local

Hardware requirements

  • Linux: NVIDIA GPU with 8 GB+ VRAM, Post-Ampere (RTX 30xx / 40xx / 50xx or newer), CUDA 12 / 13 compatible driver
  • macOS: Apple Silicon or MPS-capable Mac with macOS 13.2+ for local inference
  • Python: 3.12 (uv recommended)

Emap2lig selects the accelerator by platform: Linux uses CUDA, macOS uses MPS. Other platforms and CPU-only inference are not supported locally.

Model weights download automatically from HuggingFace on first run — no manual download step.

CLI

# PyPI (recommended)
pip install emap2lig

# Or with uv
uv tool install emap2lig

emap2lig \
  --input-map examples/emd_30556.map.gz \
  --output-dir outputs_30556 \
  --ligand-list examples/emd_30556.yaml \
  --emdb-id 30556

Install from GitHub instead:

uv tool install --from git+https://github.com/kiharalab/Emap2lig emap2lig

Full flags and examples: docs/cli.md · Install options: docs/installation.md

Web GUI

Install with the web extra (PyPI) or clone the repo. Pre-built frontend is included; Node.js is not required for normal use.

# PyPI
pip install "emap2lig[web]"
emap2lig-gui

# Clone + uv
git clone https://github.com/kiharalab/Emap2lig.git
cd Emap2lig && uv sync --group web
uv run --group web emap2lig-gui

Open http://localhost:40427. Guide: docs/web-gui.md

Emap2lig Web GUI: Emap2lig-Build tab with ligand assignment, results table, and Mol* viewer

Agent Skill

npx skills add kiharalab/Emap2lig --skill emap2lig

Then ask your agent: "Run the Emap2lig pipeline on EMD-30556". Guide: docs/agent-skill.md

Documentation

Topic Guide
Installation docs/installation.md
Supported platforms docs/platforms.md
CLI docs/cli.md
Web GUI docs/web-gui.md
KiharaLab web server docs/web-server.md
Agent Skill docs/agent-skill.md
Input formats docs/input-format.md
Output structure docs/output.md
Programmatic API docs/api.md
Fragment detection docs/fragment-detection.md
Model weights docs/models.md

License

  • The source code in this repository is released under the GNU General Public License v3.0.
  • The trained model weights are distributed under a separate license and are free for academic and non-commercial research use only.

Commercial use of the model weights is not permitted without permission. For commercial licensing inquiries, please contact the authors.

See WEIGHT_LICENSE.md for full terms.

Weights download automatically on first run; see Model weights.

Acknowledgements

Emap2lig builds upon and is inspired by several excellent open-source projects:

  • Boltz (Wohlwend et al.) — A diffusion-based biomolecular interaction modeling framework. Emap2lig's structure prediction approach is inspired by diffusion-based modeling techniques pioneered in the Boltz family of models.

  • Mol* (Sehnal et al.) — An open-source molecular visualization library used for 3D rendering of cryo-EM maps and predicted ligand structures in the Emap2lig Web GUI.

  • Hugging Face Hub — Model weight and data distribution platform.

If you use Emap2lig in your research, please cite our work (see below) and the relevant dependencies above.

Citation

If you use Emap2lig in your research, please cite the following:

@article{li2026direct,
  title        = {Direct Detection and Atomic Modeling of Ligands in Cryo-EM Maps Using Deep Learning},
  author       = {Li, Shu and Jain, Anika and Kagaya, Yuki and Park, Joon Hong and Kihara, Daisuke},
  journal      = {bioRxiv},
  year         = {2026},
  doi          = {10.64898/2026.06.01.729423},
  url          = {https://www.biorxiv.org/content/10.64898/2026.06.01.729423v1},
  note         = {Preprint}
}

Project details


Download files

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

Source Distribution

emap2lig-0.4.2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

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

emap2lig-0.4.2-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file emap2lig-0.4.2.tar.gz.

File metadata

  • Download URL: emap2lig-0.4.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.22 {"installer":{"name":"uv","version":"0.11.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for emap2lig-0.4.2.tar.gz
Algorithm Hash digest
SHA256 2bfa5855b7f61509544ac460cdf6f26336760fe62260f40aed2be39ceb3192e4
MD5 0f6ab0b93f69816012f86cde27562cfa
BLAKE2b-256 a5f8c3c991daa8a4a507fb19e02901399a7dc38c7aa4ba3c00e39e645ff931d5

See more details on using hashes here.

File details

Details for the file emap2lig-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: emap2lig-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.22 {"installer":{"name":"uv","version":"0.11.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for emap2lig-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8954e9f577abe4870ddaec96c085933a53e94a490bead2ef7e60e654d9655ed5
MD5 e76df10e12e76df8524a4abac44e910d
BLAKE2b-256 643a6a4c3ef11bb1471f8d17b6e58b600f45b5881820fe9c23ff7a95e8b0b40c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page