Skip to main content

K-Fold

K-Fold is a biomolecular foundation model that predicts binding-induced conformational changes. Through an apo-to-holo diffusion bridge, it models how unbound molecules assemble and change shape upon binding, including GPCR and kinase systems.

K-Fold assembles unbound component structures into a bound complex.

Preprint will be available soon.

Model parameters

K-Fold uses pretrained AtlasLM for protein sequence representations and TriProRep for protein structure representations. The parameters for these models and K-Fold are downloaded automatically on first use from Hugging Face.

Installation

K-Fold requires Python 3.11 or later.

Install from PyPI:

pip install kfold

Or install from source:

git clone https://github.com/kaist-ai-bio/kfold.git
cd kfold
pip install -e .

Inference

Run predictions from a YAML or JSON query file, or a directory of query files for bulk runs:

kfold --input examples/8and.yaml --out-dir predictions/ --seeds 42

See kfold --help, the inference guide, or the Python API guide for details.

By default, K-Fold prepares apo structures with AtlasFold, then runs complex structure prediction. You can also provide apo structures from experiments or other prediction tools (e.g., AlphaFold2).

Efficient inference with multiple seeds: For multi-seed inference, use --share-apo-seeds to generate an apo ensemble for each protein entry and reuse it across all inference seeds. This is particularly useful for relatively rigid apo structures or runs with many inference seeds; see automatic apo generation.

kfold --input examples/ --out-dir predictions/ --share-apo-seeds 1 2 3 --seeds 1 2 3 4 5 6 7 8 9 10

Multi-stage inference: Use --stage apo to prepare apo structures only, or --stage complex to predict complexes from prepared apos:

kfold --stage apo --input examples/ --out-dir predictions/ --seeds 42
kfold --stage complex --input examples/ --out-dir predictions/ --seeds 42

Kernel selection: Use --kernel {auto,triton,cuequiv,torch} to select the backend for AtlasFold apo preparation and K-Fold complex prediction. The default, auto, prefers Triton, then cuEquivariance, then PyTorch, depending on availability.

Training

See the training guide for data preparation, training commands, and configuration.

Citation

TBA

Acknowledgements

K-Fold was developed at KAIST as part of the K-Fold initiative supported by the Ministry of Science and ICT (MSIT), Republic of Korea.

Members of Team KAIST are listed below (alphabetical order):

  • Project management: Hyeongwoo Kim3,†
  • Engineering lead: Seonghwan Seo3,†
  • K-Fold architecture: Seokhyun Moon3,†, Jun Hyeong Kim3, Shinwoo Kim3, Minha Park3, Jisu Seo3, Mingyeong Shin3, Wonho Zhung3
  • Protein structure encoder: Hyosoon Jang1,†, Taewon Kim1,†, Hyunjin Seo1
  • RNA sequence encoder: Dongki Kim1,†, Jun Hyeong Kim1,†, Jinheon Baek1, Jaehyeong Jo1
  • Training data preparation: Yeongnam Bae2,†, Woosung Jeon2,†, Joongwon Lee3,†, Junyup Lee2,†, Yunsu Shin2,†, Eugene Choi2, Jeong Hun Choi2, Hyeongyu Han2, Calvin Samuel2
  • Kernel optimization: Youngchan Kim4
  • Supervision: Sungsoo Ahn1, Dongsu Han4,1, Sung Ju Hwang1, Ho Min Kim2, Woo Youn Kim3, Gyu Rie Lee2, Byung-Ha Oh2

† Core contributor; 1 KAIST AI; 2 KAIST Biological Sciences; 3 KAIST Chemistry; 4 KAIST Electrical Engineering.

We thank our collaborators at HITS for their contributions to K-Fold.

License

Copyright © 2026 Korea Advanced Institute of Science and Technology (KAIST).

K-Fold source code and model weights are licensed under the Apache License 2.0.

Metadata

Release files for kfold 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kfold 1.0.0
File Size Uploaded
kfold-1.0.0.tar.gz 360.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kfold 1.0.0
File Interpreter ABI Platform
kfold-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 855.4 kB

Release files / kfold-1.0.0.tar.gz

Download URL kfold-1.0.0.tar.gz
Size 360.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b8ae244784f979d4a6fbd9209800f1a1c315bc76b838724bb2b76c1e41c610cb
BLAKE2b-256 checksum
How to use checksums
0b02015ee33474d548226912bca90c92b4ac694b5934d40443c35cbb9902bbaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / kfold-1.0.0-py3-none-any.whl

Download URL kfold-1.0.0-py3-none-any.whl
Size 494.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d9b84bfa15099af47949376259553f0947478bf4e2d62997ca2a2513da6d016
BLAKE2b-256 checksum
How to use checksums
f3852ba7f678c41f36f3c26c836f6c49b8abd9bc95b737b5f42539f72e7d1473
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
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