概要
- SimpleFold は、汎用Transformer層のみで動作する新しいタンパク質折り畳みモデル
- 複雑なドメイン固有設計や高価なモジュールを排除し、 flow-matching生成的学習目標 で訓練
- 最大 30億パラメータ 規模で、860万以上のタンパク質構造データで訓練
- 既存の最先端手法と競合する精度、アンサンブル予測でも高性能を実現
- シンプルな設計が今後のタンパク質構造予測の新たな方向性を示唆
SimpleFold: タンパク質折り畳みは思ったよりシンプル
- SimpleFold は、flow-matchingベースのタンパク質折り畳みモデル
- 汎用 Transformer層 のみを使用、triangle attentionやpair representation biasなどの高コストな専用モジュールを不使用
- 生成的flow-matching目的 で訓練、従来手法とは異なるアプローチ
- 最大 3B(30億)パラメータ モデルを構築、860万件超の精製構造+PDB実験データで訓練
- これまでで最大規模のタンパク質折り畳みモデル
- 標準ベンチマークで既存の最先端モデルに匹敵する精度
- 生成的訓練により、 アンサンブル予測 でも高い性能
- 複雑なドメイン固有アーキテクチャへの依存を打破、新たな研究方向性を提案
インストール手順
- GitHubリポジトリ からのインストール手順
- リポジトリをクローン:
git clone https://github.com/apple/ml-simplefold.gitcd ml-simplefoldpython -m pip install -U pip build; pip install -e .pip install git+https://github.com/facebookresearch/esm.git(MLXバックエンド用、任意)
- リポジトリをクローン:
予測・推論の実行方法
- Jupyter Notebook (sample.ipynb)でサンプル実装を提供
- コマンドラインでFASTAファイルから構造予測
- 例:
simplefold --simplefold_model simplefold_100M --num_steps 500 --tau 0.01 --nsample_per_protein 1 --plddt --fasta_path [FASTA_PATH] --output_dir [OUTPUT_DIR] --backend [mlx, torch]
- モデルサイズ(100M/360M/700M/1.1B/1.6B/3B)指定
- MLX(Apple向け)・PyTorchバックエンド両対応
- 例:
評価・ベンチマーク
- 予測構造データ (各種モデルサイズ別)を提供
- CAMEO22, CASP14, Apo, Fold-switch(CoDNaS)用
- OpenStructure 2.9.1 のDockerイメージを利用し評価
- 例:
python src/simplefold/evaluation/analyze_folding.py --data_dir [PATH_TO_TARGET_MMCIF] --sample_dir [PATH_TO_PREDICTED_MMCIF] --out_dir [PATH_TO_OUTPUT] --max-workers [NUMBER_OF_WORKERS]
- 例:
- 二状態予測 (Apo/CoDNaS)はTMscoreバイナリを使用
- 例:
python src/simplefold/evaluation/analyze_two_state.py --data_dir [PATH_TO_TARGET_DATA_DIRECTORY] --sample_dir [PATH_TO_PREDICTED_PDB] --tm_bin [PATH_TO_TMscore_BINARY] --task apo --nsample 5
- 例:
学習・ファインチューニング
- SimpleFold は独自またはカスタムデータセットで学習可能
- 学習用データ
- PDBの実験構造、AFDB SwissProt、AFESMの精製予測を使用
- 各種ターゲットリスト(csv/json形式)を提供
- 例:swissprot_list.csv(約27万件)、afesm_list.csv(約190万件)、afesme_dict.json(約860万件)
- afesme_dict.jsonはクラスタIDごとにメンバーIDを持つ構造
- mmcif構造処理
- Redisサーバーを利用してmmcifファイルを前処理
wget https://boltz1.s3.us-east-2.amazonaws.com/ccd.rdbredis-server --dbfilename ccd.rdb --port 7777python src/simplefold/process_mmcif.py --data_dir [MMCIF_DIR] --out_dir [OUTPUT_DIR] --use-assembly
- Redisサーバーを利用してmmcifファイルを前処理
- 学習実行
- Hydraベースの設定ファイルを利用
python train experiment=train- FSDP戦略:
python train_fsdp.py experiment=train_fsdp
- Hydraベースの設定ファイルを利用
論文引用・ライセンス
- 論文引用:
- Wang, Yuyang et al., "SimpleFold: Folding Proteins is Simpler than You Think", arXiv preprint arXiv:2509.18480, 2025
- コード・モデルのライセンス はリポジトリのLICENSEおよびLICENSE_MODELを参照
- 謝辞・利用OSSはACKNOWLEDGEMENTSに記載
参考リンク
- arXiv論文: https://arxiv.org/abs/2509.18480
- GitHubリポジトリ: https://github.com/apple/ml-simplefold