This release is a pre-release and may not be stable for production use.
K-Fold
K-Fold is currently in the preview stage and under active development. The first official release is expected around September 20. Preprint will be released soon.
K-Fold predicts biomolecular complex structures and binding-induced conformational changes. Through an apo-to-holo diffusion bridge, K-Fold aims to capture conformational changes in systems such as G protein-coupled receptors (GPCRs).
K-Fold supports proteins, DNA, RNA, small molecules, and chemical modifications without multiple sequence alignments (MSAs). This repository provides pretrained models, inference and training code, and data preprocessing workflows.
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/SeonghwanSeo/kfold.git
cd kfold
pip install -e .
K-Fold uses custom Triton kernels by default when Triton is installed and CUDA is available.
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
By default, K-Fold prepares apo structures with AtlasFold, then runs K-Fold predictions. You can also provide apo structures from experiments or other prediction tools (e.g., AlphaFold2).
Use --kernel {triton,cuequiv,torch} to select the backend for K-Fold complex prediction.
Automatic selection prefers Triton, then cuEquivariance, then PyTorch, depending on availability.
For multi-seed inference, use --share-apo-seeds 1 2 3 to generate one apo ensemble per target and reuse it across all inference seeds specified by --seeds.
This is particularly useful for relatively rigid apo structures or runs with many inference seeds; see automatic apo generation.
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
See kfold --help, the inference guide, or the Python API guide for details.
Training
See the training guide for data preparation, training commands, and configuration.
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,†
- 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
- Engineering lead: Seonghwan Seo3,†
- 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.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kfold-1.0.0b1.tar.gz | 366.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kfold-1.0.0b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 868.4 kB
Release files / kfold-1.0.0b1.tar.gz
| Download URL | kfold-1.0.0b1.tar.gz |
|---|---|
| Size | 366.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f9f7cb29678aad287ec2b41b90ceed0dc9be70c0f6150237879cb66526c52fc
|
|
BLAKE2b-256 checksum How to use checksums |
bf368745efa66e655a753f3bef857f4fca346e38ee4631c9f2331a7867c75a29
|
| 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.0b1-py3-none-any.whl
| Download URL | kfold-1.0.0b1-py3-none-any.whl |
|---|---|
| Size | 502.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0bda607f1b3ca565f1b16e619dd3b2ea6866d2c3e18c7176b222ce818bcc2e85
|
|
BLAKE2b-256 checksum How to use checksums |
95b9f9f1c85250f465b82803c0a5dca504b3fcf12857502443c4af7b37b82bc5
|
| 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}
|