Skip to main content
Pre-release

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)

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

Built distribution (wheel)

Table of built distributions (wheels) for kfold 1.0.0b1
File Interpreter ABI Platform
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}
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