Enhancing the resolvability of cryo-EM maps in protein-ligand complexes using deep learning.
Project description
Introduction
The full potential of cryo-EM in drug discovery remains limited by poor density resolvability at ligand-binding interfaces. Although recent advances in deep learning have transformed cryo- EM map enhancement, existing approaches largely focus on protein regions and often neglect ligand-containing sites. Here, we present CryoLigATE, an AI framework specifically designed to enhance the density resolvability of protein–ligand interfaces. We trained and evaluated CryoLigATE across a structurally diverse dataset including pharmaceutical drugs, lipids, steroids, and carbohydrates.
CryoLigATE features a streamlined, single-command interface. It automatically isolates the target sub-volume using a preliminary atomic model as a spatial reference, requiring no manual box curation. The pipeline is computationally efficient, with localized refinement completed in seconds on standard desktop-grade GPU hardware.
Installation
Note: We strongly recommend installing CryoLigATE in a fresh Python or Conda environment to avoid dependency conflicts.
Option A: Install CryoLigATE via PyPI (Recommended):
1. Create a clean environment with Python
conda create -n cryoligate python=3.10 -y
conda activate cryoligate
2. Install the package
pip install cryoligate -U
Option B: Install directly from GitHub for the latest development updates:
1. Clone the repository and step into it
git clone https://github.com/nandanhaloi123/CryoLigATE.git
cd CryoLigATE
2. Create the environment using the local file
conda env create -f environment.yml
conda activate cryoligate
3. Link your local directory in editable mode
pip install -e .
If you are installing on CPU-only or non-CUDA GPU hardware, the pipeline will automatically fall back to CPU processing. Note that the CPU version is significantly slower than the GPU version for 3D volumetric refinement.
Inference
Before running inference or fine-tuning, download the pre-trained weights:
mkdir weights
wget -O weights/cryoligate_v2.0.0.pth https://github.com/nandanhaloi123/CryoLigATE/releases/download/v2.0.0/cryoligate_v2.0.0.pth
Download the example data used in the inference command:
mkdir -p example/8si9
wget -O 8si9.zip https://github.com/nandanhaloi123/CryoLigATE/releases/download/v2.0.0/8si9.zip
unzip 8si9.zip -d example/8si9/
rm 8si9.zip
Run inference using CryoLigATE (load conda enviornment with conda activate cryoligateif you have not already):
Note: Although the user provides an aligned PDB model containing the ligand, this coordinate information is utilized solely to localize the region of interest. Only the localized experimental density and the derived protein occupancy mask are used as input for CryoLigATE.
cryoligate-infer --weights weights/cryoligate_v2.0.0.pth --map example/8si9/emd_40503.map --pdb example/8si9/8si9.cif --resname Y4B --resid 402
Contact
For any questions, discussions, or collaboration inquiries, please reach out:
- Nandan Haloi: nandanhaloi123@gmail.com, nandan.haloi@scilifelab.se
- Lab Website: Nandan's Personal Webpage
Bug Reports & Feature Requests: If you encounter any issues while using CryoLigATE or have ideas for new features, please open an issue on our GitHub Issues page rather than sending an email. This helps us track problems efficiently and allows the entire community to benefit from the solutions!
License
Our model and code are released under MIT License, and can be freely used for both academic and commercial purposes.
Cite
If you use this code, dataset or the models in your research, please cite the following papers:
@article{haloi2026cryoligate,
title={CryoLigATE: enhancing the resolvability of cryo-EM maps in protein-ligand complexes using deep learning},
author={Nandan Haloi1, Rebecca J. Howard, and Erik Lindahl},
journal={In Prep},
year={2026},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cryoligate-2.0.0.tar.gz.
File metadata
- Download URL: cryoligate-2.0.0.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efb1b9b4c4e7f2c3e3f3827a47efaa3b6483f71d62c9d5f5f3cc0ea6d2a068e8
|
|
| MD5 |
c76b41f22fb7677a0174cf586b20316c
|
|
| BLAKE2b-256 |
19de062d1c547f0958d2bd941a2800d72911d79a3f4e94ee5c792727e5423a2b
|
Provenance
The following attestation bundles were made for cryoligate-2.0.0.tar.gz:
Publisher:
pypi-publish.yml on nandanhaloi123/CryoLigATE
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cryoligate-2.0.0.tar.gz -
Subject digest:
efb1b9b4c4e7f2c3e3f3827a47efaa3b6483f71d62c9d5f5f3cc0ea6d2a068e8 - Sigstore transparency entry: 1704100163
- Sigstore integration time:
-
Permalink:
nandanhaloi123/CryoLigATE@b8f5c36291f5e5e9fa58d9dd054ad46862512199 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/nandanhaloi123
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@b8f5c36291f5e5e9fa58d9dd054ad46862512199 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cryoligate-2.0.0-py3-none-any.whl.
File metadata
- Download URL: cryoligate-2.0.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d13da5cd972027ffd75b6b6d857ca03d4433d93fd85d5fd3d0ed097c03edd2c0
|
|
| MD5 |
eedf8c05c4fc74ceea23ba988476091b
|
|
| BLAKE2b-256 |
5bf511827f7288f0cd21102ef03edb78d20096e09fd9dae3ab92dad5cc375beb
|
Provenance
The following attestation bundles were made for cryoligate-2.0.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on nandanhaloi123/CryoLigATE
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cryoligate-2.0.0-py3-none-any.whl -
Subject digest:
d13da5cd972027ffd75b6b6d857ca03d4433d93fd85d5fd3d0ed097c03edd2c0 - Sigstore transparency entry: 1704100211
- Sigstore integration time:
-
Permalink:
nandanhaloi123/CryoLigATE@b8f5c36291f5e5e9fa58d9dd054ad46862512199 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/nandanhaloi123
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@b8f5c36291f5e5e9fa58d9dd054ad46862512199 -
Trigger Event:
release
-
Statement type: