Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CryoACE: An Atom-centric Framework for Accurate and Automated Model Building in Cryo-EM

ICML 2026

Minzhang Li1,2, Mingrui Li1, Weichen Qin1, Qihe Chen1,2, Sixian Shen1, Yuan Pei1, Jiakai Zhang1,2, and Jingyi Yu1

1ShanghaiTech University    2Cellverse Co., Ltd.

Project Page | arXiv | Paper

CryoACE builds precise atomic models directly from cryo-EM density maps by sampling density features at atom coordinates and using local-resolution-guided inference to recover both static structures and heterogeneous conformational ensembles.

Release Assets

Tutorial data are coming soon.

Using The Checkpoint

Download the bundled checkpoint:

pip install gdown
gdown --fuzzy "https://drive.google.com/file/d/1b6CFdOcOTzi1WxrUY-7B__8zdO8mj3Jt/view?usp=sharing" \
  -O cryoace_boltz1_mapfit_alpha500_with_conditioners.ckpt

The checkpoint bundles the Boltz/CryoACE model weights, the density conditioner, and the atom-profile conditioner. Use this file as the single checkpoint path:

boltz predict <SEQ_PATH> \
  --density_map <MAP.mrc> \
  --aligned_model <ALIGNED_MODEL.cif> \
  --res <MAP_RESOLUTION> \
  --thresh <MAP_THRESHOLD> \
  --checkpoint cryoace_boltz1_mapfit_alpha500_with_conditioners.ckpt \
  --cryoace_density_conditioning \
  --cryoace_atom_profile_conditioning \
  --use_msa_server \
  --out_dir results

Method Overview

CryoACE atom-centric reconstruction pipeline.

Abstract

Protein automodeling from cryo-EM density maps faces unique challenges in enforcing physicochemical validity and managing conformational heterogeneity. Current solvers are often limited to static predictions or require computationally intensive heuristic searches. We present CryoACE, an end-to-end framework that reconstructs precise atomic graphs for both homogeneous and heterogeneous structures.

Our method features two key innovations: an atom-centric reconstruction paradigm, where density features are sampled directly at atomic coordinates and iteratively recycled to refine structures, replacing expensive voxel convolutions for efficient multimodal fusion; and a training-free guidance mechanism that leverages predicted local resolution priors to resolve dynamic ambiguity. Validated on a newly constructed high-quality dataset, CryoACE significantly outperforms existing baselines on static benchmarks and unveils atomic-level dynamic conformations on complex real-world datasets such as EMPIAR-10345.

Repository Status

This repository currently keeps the Boltz/CryoBoltz command surface runnable while adding CryoACE modules under src/cryoace. The main implemented components are:

  • CryoACE data and density preprocessing utilities.
  • Density and atom-profile conditioning modules.
  • Inference runners for CryoACE-guided prediction and self-refinement.
  • Map-fitting loss and evaluation utilities.
  • Postprocess tools for map hand candidates, cyclic symmetry detection, confidence/map-fit sweep summaries, and density-driven local fitting.

Installation

Use a clean Python environment. The code currently follows the Boltz package layout and exposes the boltz command.

conda create -n cryoace python=3.10
conda activate cryoace
git clone https://github.com/Cellverse/CryoACE.git
cd CryoACE
pip install -e .

Check the command-line entry point:

boltz predict --help

Inference

Basic cryo-EM-guided inference follows the CryoBoltz-style Boltz command:

boltz predict <SEQ_PATH> \
  --density_map <MAP.mrc> \
  --aligned_model <ALIGNED_MODEL.cif> \
  --res <MAP_RESOLUTION> \
  --thresh <MAP_THRESHOLD> \
  --use_msa_server \
  --out_dir results

Inputs:

  • SEQ_PATH: FASTA or YAML sequence input in Boltz format.
  • MAP.mrc: cryo-EM density map.
  • ALIGNED_MODEL.cif: a rough initial model aligned to the map, such as an unguided Boltz model or another draft model.
  • MAP_RESOLUTION: estimated map resolution in Angstrom.
  • MAP_THRESHOLD: density threshold used by map guidance and fitting.

The current command surface follows the Boltz input convention while adding CryoACE density and aligned-model arguments.

CryoACE Modules

CryoACE-specific code is organized under src/cryoace:

src/cryoace/
  data/          # manifest, structure, volume, and batch utilities
  geometry/      # coordinate and density sampling helpers
  guidance/      # staged guidance schedules
  inference/     # CryoACE runners, atom profiling, self-refinement
  loss/          # map-fitting losses
  model/         # density and atom-profile conditioning modules
  postprocess/   # symmetry, hand, map-fit, and local fitting utilities

Postprocess Tools

The postprocess tools live in scripts/postprocess and import reusable code from cryoace.postprocess.

Detect cyclic symmetry from a map:

PYTHONPATH=src python scripts/postprocess/cryoace_symmetry.py detect-cn \
  --map /path/to/map.mrc \
  --candidate-orders 2,3,4,5,6,7,8

Prepare a symmetry-reduced map using automatic C_n detection:

PYTHONPATH=src python scripts/postprocess/cryoace_symmetry.py prepare-cn \
  --order auto \
  --map /path/to/map.mrc \
  --out-dir /path/to/cn_prepared

Generate map-hand candidates:

PYTHONPATH=src python scripts/postprocess/cryoace_map_hand.py \
  --axis z /path/to/map.mrc

Summarize confidence and map-fit metrics across a sweep:

PYTHONPATH=src python scripts/postprocess/cryoace_mapfit_eval.py \
  --sweep-dir /path/to/predictions \
  --log-dir /path/to/logs \
  --fasta /path/to/input.fasta \
  --res 3.0 \
  --out-json /path/to/summary.json \
  --out-csv /path/to/summary.csv

Run local density-driven fitting presets:

PYTHONPATH=src python scripts/postprocess/cryoace_geometry_fit.py \
  --model /path/to/model.cif \
  --map /path/to/map.mrc \
  --out-dir /path/to/fit_out \
  --preset mild \
  --preset balanced

Aggressive fitting outputs are diagnostic. Use visual inspection, confidence, map-fit metrics, and stereochemical validation before making structural claims.

Data Preparation

Density manifest and preprocessing helpers:

scripts/preprocess_cryoace_manifest.py

The dataset utilities expect preprocessed cryo-EM volumes and corresponding structure metadata.

Citation

@misc{li2026cryoace,
  title         = {CryoACE: An Atom-centric Framework for Accurate and Automated Model Building in Cryo-EM},
  author        = {Li, Minzhang and Li, Mingrui and Qin, Weichen and Chen, Qihe and Shen, Sixian and Pei, Yuan and Zhang, Jiakai and Yu, Jingyi},
  year          = {2026},
  eprint        = {2606.31332},
  archivePrefix = {arXiv},
  primaryClass  = {cs.AI},
  url           = {https://arxiv.org/abs/2606.31332}
}

Acknowledgements

CryoACE builds upon CryoBoltz and Boltz-1. We thank the authors and maintainers of these projects for their open-source contributions. If you use CryoACE, please also cite CryoBoltz and Boltz-1 where appropriate.

Releases

Packages

Contributors

Languages