AlphaFold 3(表記はAlphaFold3とも)は、タンパク質だけでなくDNA・RNA・低分子リガンドを含む複合体の立体構造を予測するモデルです。ローカル導入の前提は2026年に大きく変わりました。モデルの重みは申請フォームなしで取得でき、コードのライセンスはApache 2.0になり、GPUを持たないマシンでも実行できるようになっています。この記事では、2026年8月時点の公式リポジトリの記述をもとに、導入手順・必要スペック・実行方法・商用利用の可否を整理します。
まとめ:AlphaFold 3をローカル導入する前に押さえる5点
- 最新版はv3.0.4(2026年7月28日公開)。パラメータファイルは3.0.x系で共通のため、パッチ更新のたびに重みを取り直す必要はありません。
- 重みは申請フォームが廃止され、直接ダウンロードできます(2026年7月23日にドキュメントが更新)。以前の「2〜3営業日待ち」を前提にした解説記事は古い情報です。
- コードはApache 2.0、重みと出力は非商用限定という二重構造です。企業利用ではここが最大の分岐点になります。
- 公式サポートはNVIDIA A100 80GBとH100 80GBの単一GPU構成。v3.0.4からはGPUなしでも動作しますが、実行時間はGPU比で約100倍かかります。
- 遺伝子データベースは圧縮252GB・展開630GB。ディスクは1TB、RAMは64GB以上を見込んでください。
5点それぞれの根拠と、実際に動かすまでのコマンドを以下の順に示します。
AlphaFold 3が予測できる分子と入力で指定できる要素
AlphaFold 3が扱えるのは、タンパク質・RNA・DNAの各鎖と、それらに結合するリガンドを含む複合体です。リガンドの指定方法は3通りあり、Chemical Component Dictionary(CCD)のコード、SMILES文字列、CCDのmmCIF形式で自作した独自成分ファイルのいずれかを使います。修飾残基、実体間の共有結合、複数の乱数シードも入力JSONで指定できます。
MSA(多重配列アラインメント)と構造テンプレートの持ち込みにも対応します。社内で構築済みの配列検索パイプラインがあるなら、AlphaFold 3側のデータパイプラインを丸ごとスキップする構成が取れます。
AlphaFold Serverとローカル実行の使い分け
ブラウザで使えるAlphaFold Serverは非商用利用に限り無料ですが、公式リポジトリのREADMEが明記しているとおり、リガンドと共有結合修飾の対応範囲がローカル版より狭くなっています。入力JSONの形式も別で、Server形式(dialectがalphafoldserver)のJSONはローカル版が自動変換して読み込む扱いです。
| 比較軸 | AlphaFold Server | ローカル実行 |
|---|---|---|
| 費用 | 無料(非商用のみ) | GPU・ストレージの自己負担 |
| リガンド指定 | 限定セット | CCD/SMILES/独自CCD |
| 共有結合の指定 | 限定 | 可 |
| 必要ディスク | 不要 | 展開後630GB |
| 入力JSON(dialect値) | alphafoldserver | alphafold3 |
| MSA・テンプレート持ち込み | 不可 | 可 |
判断はこう切り分けます。単発で数十件の構造を見たい研究用途ならServerで足ります。独自リガンドを扱う、MSAを差し替えて再現性を管理する、バッチで数百件を回す、のいずれかに当てはまる時点でローカル導入に踏み切る価値があります。
ローカル実行のハードウェア要件と入力サイズ別の実行時間
公式サポート構成と5,120トークンまでの推論時間
公式に検証されている構成は、A100 80GB1枚またはH100 80GB1枚です。GPUはCompute Capability 8.0以上が要件で、遺伝子検索の段階でメモリを使うためRAMは64GB以上が推奨されています。入力は5,120トークンまで単一GPUに収まることが確認されています。
| 入力トークン数 | A100 80GB(秒) | H100 80GB(秒) |
|---|---|---|
| 1,024 | 62 | 34 |
| 2,048 | 275 | 144 |
| 3,072 | 703 | 367 |
| 4,096 | 1,434 | 774 |
| 5,120 | 2,547 | 1,416 |
いずれもコンパイル時間を除いた推論のみの値です。実運用ではこれに遺伝子検索の時間が加わり、配列長とヒット数によっては推論より長くかかります。H100はA100の約1.8〜1.9倍の速度で、差が最も開くのは3,072トークン付近(約1.9倍)です。トークン数を増やしても速度比が伸び続けるわけではありません。
A100 40GB・V100など非サポート構成での制約
A100 40GBでも、unified memoryを有効にしmodel_config.pyのpair_transition_shard_specを調整すれば4,352トークンまで扱えます。ただしメモリが少ない分スループットは落ちます。
V100を含むCUDA Capability 7.x世代のGPUには既知の数値問題があります。回避策を設定しないと、残基が重なった明らかに壊れた構造が出力され、ranking scoreが-99以下になります。
export XLA_FLAGS="--xla_disable_hlo_passes=custom-kernel-fusion-rewriter"
このフラグを設定し、さらにunified memoryを有効にした状態で、V100では1,280トークンまでが上限です。古いGPUが手元にあるからと安易に流用すると、壊れた出力を正常な予測だと誤読する危険があります。まずranking scoreの値を確認してください。
GPUなし環境とApple Siliconでの実行速度
v3.0.4でCPUのみのマシンとApple Siliconに対応しました。公式には「厳密な数値精度テストを行っていないモード」と位置づけられており、実行時間はGPU比で約100倍と案内されています。Apple Siliconでは--jax_backend="mps"を指定するとコミュニティ製のjax-mps Metalプラグイン経由で内蔵GPUを使え、CPU比で約3倍速くなります。こちらも非公式の実験的な経路です。
この構成が向くのは、手元のノートPCで入力JSONの書式や小さな系の挙動を確かめる用途です。数千トークンの本番予測をCPUで回すのは現実的ではありません。
Docker構成でのインストール手順(Ubuntu 22.04・A100想定)
リポジトリの取得と遺伝子データベースのダウンロード
公式手順はUbuntu 22.04 LTSとrootless Dockerを前提にしています。ホスト側にCUDA 12.6、NVIDIAドライバ、NVIDIA Container Toolkitが入っていることが条件です。データベースの取得にはwgetとzstdが必要になります。
git clone https://github.com/google-deepmind/alphafold3.git
cd alphafold3
./fetch_databases.sh DB_DIR
取得対象はBFD small、MGnify、PDB(mmCIF)、PDB seqres、UniProt、UniRef90、NT、Rfam、RNACentralの9種類です。ダウンロードは圧縮状態で252GB、展開後630GBになり、ローカルSSDでない環境では約45分かかります。保存先はリポジトリの配下に置かないでください。Dockerビルド時に巨大なファイル群がコンテキストとしてコピーされ、ビルドが極端に遅くなります。
モデルパラメータの入手方法の変更(2026年7月)
以前はGoogleフォームから申請し、DeepMindの裁量で2〜3営業日以内に可否が返る運用でした。2026年7月23日にドキュメントが更新され、現在は公式が案内する次のURLから直接取得できます(取得方法は任意で、以下はwgetを使う例です)。
wget https://storage.googleapis.com/alphafold3/af3.bin.zst
日本語で書かれた導入記事の多くは、まだ申請フォーム前提の手順を載せています。「フォームの返信を待つ」という記述に出会ったら、その記事は2026年7月より前の情報だと判断してください。なお申請が不要になっただけで、重みの利用条件そのものは変わっていません。
Dockerイメージのビルドと初回実行
docker build -t alphafold3 -f docker/Dockerfile .
docker run -it \
--volume $HOME/af_input:/root/af_input \
--volume $HOME/af_output:/root/af_output \
--volume MODEL_DIR:/root/models \
--volume DB_DIR:/root/public_databases \
--gpus all \
alphafold3 \
python run_alphafold.py \
--json_path=/root/af_input/fold_input.json \
--model_dir=/root/models \
--output_dir=/root/af_output
MODEL_DIRとDB_DIRは、重みを置いたディレクトリとデータベースを展開したディレクトリの絶対パスに置き換えてください(公式ドキュメントでは山括弧付きのプレースホルダで示されている箇所です)。AlmaLinuxやRocky Linux、RHELでNo file descriptors available (os error 24)が出る場合は、ビルドコマンドに--ulimit nofile=65535:65535を付けます。出力先ディレクトリはあらかじめ作成し、書き込み権限を与えておいてください。Dockerの代わりにSingularityイメージを使う手順も公式ドキュメントに用意されています。
Dockerを使わない導入手順(uv+HMMER・macOS向け)
CPU実行やApple Siliconでの実行は、Dockerを介さない直接インストールで行います。事前にHMMER Suiteとuvを入れておく必要があります。Pythonの分離方法を整理しておきたい場合は仮想環境とは?venv・コンテナ・仮想マシンの違いと隔離レベルの選び方を実装者向けに解説も参考になります。
cd alphafold3
uv venv --python 3.12
source .venv/bin/activate
uv sync
uv run build_data
uv run python run_alphafold_data_test.py
最後のrun_alphafold_data_test.pyがデータパイプラインの疎通確認です。ここが通らない状態で本番の予測を投げても、遺伝子検索の段階で失敗します。実行時はバックエンドを明示します。
uv run run_alphafold.py \
--json_path="fold_input.json" \
--output_dir="af_output" \
--model_dir="models" \
--jax_backend="cpu" \
--flash_attention_implementation="xla"
Apple Siliconでは--jax_backend="mps"に置き換えます。v3.0.3以降はPython 3.14にも対応していますが、公式手順が例示しているのは3.12です。バージョンを上げるのは、依存パッケージ側が揃っていることを確認してからにしてください。
入力JSONの書き方とパイプライン分割の使いどころ
入力JSONの必須フィールド
最小構成は次のとおりです。dialectとversionは必須で、どちらかが欠けると「AlphaFold 3 input JSON must contain dialect and version fields.」というエラーで停止します。
{
"name": "2PV7",
"sequences": [
{
"protein": {
"id": ["A", "B"],
"sequence": "GMRESYANENQFGFKTINSDIHKIVIVGGYGKLGGLFARYLRASGYPISILDREDWAVAESILANADVVIVSVPINLTLETIERLKPYLTENMLLADLTSVKREPLAKMLEVHTGAVLGLHPMFGADIASMAKQVVVRCDGRFPERYEWLLEQIQIWGAKIYQTNATEHDHNMTYIQALRHFSTFANGLHLSKQPINLANLLALSSPIYRLELAMIGRLFAQDAELYADIIMDKSENLAVIETLKQTYDEALTFFENNDRQGFIDAFHKVRDWFGDYSEQFLKESRQLLQQANDLKQG"
}
}
],
"modelSeeds": [1],
"dialect": "alphafold3",
"version": 1
}
versionはv3.0.4のコード上で1〜4が有効です。外部MSA・テンプレートのパス指定は2以降、独自CCDファイルの指定は3以降、鎖の説明文の付与は4以降で追加された機能なので、上の例のように最小構成で使う場合だけ1で足ります。
複数ファイルをまとめて処理するときは--input_dirを使います。オプションのgcsfsを入れておけばgs://で始まるGoogle Cloud Storageのパスも使えますが、対象は--input_dir、--json_path、--output_dir、--model_dir、--pdb_database_pathとJSON内のPath系フィールドに限られます。--db_dirなどのデータベースパスとバイナリのパスはローカル指定が必須で、630GBのデータベースをGCSに置いたままにはできません。
データパイプラインと推論の分割実行
実行は2つのフラグで段階分割できます。--run_inference=falseでCPUのみの遺伝子検索とテンプレート検索だけを行い、MSA付きのJSONを生成します。--run_data_pipeline=falseではそのJSONを入力に、GPUでの推論だけを実行します。
この分割が効くのは、固定鎖と候補鎖の組み合わせを大量に試す場面です。単量体4本のMSAを1回ずつ計算しておけば、6通りの二量体を作るのに12回ではなく4回の検索で済みます。GPUインスタンスの課金時間をMSA計算で消費しない設計にできる点も実務上の利点です。
コードはApache 2.0、重みは非商用:ライセンスの線引き
2026年6月9日、AlphaFold 3のコードライセンスがCC BY-NC-SA 4.0からApache 2.0へ変更されました(v3.0.3で反映)。一方でモデルパラメータの利用規約は据え置きで、非商用組織(大学、非営利団体、研究機関、教育機関、報道機関、政府機関)またはその委託による非商用利用に限られます。
規約が明確に禁じているのは次の行為です。営利組織のための研究を含む商業活動での重み・出力の利用、AlphaFold 3に類する生体分子構造予測モデルの学習への出力の使用、そして組織外への重みの再配布です。逆に、出力そのものは条件を満たせば公開・共有・改変できます。
実務判断としては、製薬企業や受託研究機関が社内の創薬パイプラインでローカル版を回す使い方は選択肢に入りません。Apache 2.0化したのはコードだけであり、重みを入れて動かした時点で非商用の条件が効くためです。商用の構造予測が必要なら、AlphaFold 3ではなく商用ライセンスが用意された別実装を評価対象にしてください。
予測が失敗・低品質なときに確認する箇所
出力が明らかにおかしい場合、まず疑うのはモデルではなく実行環境です。確認順序は次のとおりです。
- ranking scoreが-99以下:CUDA Capability 7.x世代のGPUで
XLA_FLAGSの回避策を設定していない典型例です。 - 信頼度スコアが期待より低い:MSAの深さが不足している可能性があります。関連する配列を追加すると精度と信頼度が上がる傾向があると公式が案内しています。
- AlphaFold Serverと結果が違う:重みも特徴量化も同一ですが、Serverは分割したデータベースを並列検索しており、
--domZを設定しないことで--domEフィルタが約100倍緩くなっています。結果としてServer側のMSAが深くなる場合があります。ローカルで再現したいなら--domEの値を100倍にします。 - SMILES指定のリガンドがおかしい:ClやBrなど2文字の原子が誤処理される不具合がv3.0.0世代の特定コミット間に存在し、v3.0.1(2025年1月23日)で修正されました。現行版では起きませんが、古いイメージを使い回している場合は要確認です。
- Tokamaxの
NotImplementedError: Not supported on gpu.:MPSバックエンドなどで出ますが、別実装が選ばれて予測は成功します。無視して構いません。
優先度が高いのは最初の2つです。特にranking scoreは、壊れた出力を機械的に検知できる指標なので、バッチ処理では必ず閾値チェックを入れてください。
PairformerとDiffusion Moduleが担う役割
AlphaFold 2との構造上の違いは2点に集約できます。1つは、AlphaFold 2のEvoformerに代わってPairformerが表現学習のトランクを担うこと。もう1つは、構造モジュールが拡散モデルに置き換わり、全原子の座標を直接生成することです。
拡散モデルは画像生成で広く使われている手法で、ノイズから目的の出力を段階的に復元します。同じ枠組みが言語モデルにも展開されており、その挙動はDiffusionGemmaとは|4倍速い拡散型LLMの仕組み・スペックとローカルでの動かし方で整理しています。AlphaFold 3ではこの生成過程が、タンパク質・核酸・リガンドを区別せず同一の枠組みで扱えるようにした点が要になります。AlphaFold 2が主にタンパク質の残基を対象にしていたのに対し、AlphaFold 3が複合体を一体で予測できるのはこの設計変更によるものです。
手法の詳細はNature誌の論文「Accurate structure prediction of biomolecular interactions with AlphaFold 3」(2024年、630巻8016号、493〜500頁、DOI: 10.1038/s41586-024-07487-w)と、その補足情報に記載されています。リポジトリのコードを引用する研究成果を公開する場合、この論文の引用が求められます。
IsoDDE公開後もAlphaFold 3を選ぶ理由
2026年2月10日、Google DeepMindの姉妹会社であるIsomorphic Labsが創薬エンジンIsoDDEを公開しました。同社の発表によれば、タンパク質とリガンドの構造予測ベンチマークRuns N’ Posesの最難関カテゴリでAlphaFold 3の2倍以上の精度を示し、別の評価軸である抗体と抗原の構造予測では高精度域(DockQが0.8超)でAlphaFold 3比2.3倍としています。対象は結合親和性予測やポケット検出にも広がっています。
それでも手元で動かす対象はAlphaFold 3のままです。IsoDDEの公開情報にコードや重みの一般提供に関する記載はなく、ローカルに導入して自分のデータで再現できる最新の公開モデルはAlphaFold 3 v3.0.4だからです。構造予測を自社環境で内製したい場合、比較検討の土台になるのは引き続きAlphaFold 3になります。
生命科学領域のモデルは構造予測以外にも広がっています。ゲノム配列の機能予測を扱うGoogle DeepMind発表: ゲノム解析AI「AlphaGenome」とは?革新的DNA解析モデルの全貌、OpenAI側の動きを扱ったGPT-Rosalindとは?OpenAIの生命科学特化モデルの性能・提供形態・日本での利用可否と併せて見ると、各社がどの層を押さえに来ているかが把握しやすくなります。
よくある質問
AlphaFold 3のインストールにはどれくらいのディスク容量が必要ですか?
遺伝子データベースが圧縮状態で252GB、展開後で630GBです。公式手順ではブートディスク1TBのインスタンスを例示しています。加えてモデルパラメータと出力ファイルの領域が必要になるため、余裕をもって1TB以上を確保してください。データベースはSSDに置くと遺伝子検索が速くなります。RAM上のファイルシステムに載せる、あるいはデータベースを分割(シャーディング)して並列検索する方法も公式に案内されており、後者は検索時間を10〜30倍短縮できるとされています。
GPUがなくてもAlphaFold 3は動きますか?
v3.0.4から動作します。ただし公式サポート対象外のモードで、実行時間はGPU比で約100倍です。Linux CPUマシンでは--jax_backend="cpu"と--flash_attention_implementation="xla"を指定します。Apple Siliconの場合は--jax_backend="mps"で内蔵GPUを使え、CPU比で約3倍になります。入力形式の確認や小さな系の試行には十分ですが、数千トークンの本番予測にはA100かH100を用意してください。
AlphaFold 3は商用利用できますか?
コードはApache 2.0なので商用利用できますが、モデルパラメータと出力は非商用利用に限られます。対象は大学・非営利団体・研究機関・教育機関・報道機関・政府機関、およびその委託を受けた利用です。営利組織のための研究も禁止対象に含まれるため、企業の創薬パイプラインへ組み込む用途は規約上認められません。重みを組織外へ再配布することも、出力を使って同種の構造予測モデルを学習することも禁止されています。
AlphaFold ServerとローカルのAlphaFold 3で結果が違うのはなぜですか?
モデルの重みと特徴量化のコードは同一で、差は遺伝子検索の実行方法にあります。Serverは分割したデータベースを並列検索する構成で、Jackhmmerの--domZを--Zと揃えて設定していないため、--domEフィルタが実質約100倍緩くなっています。その結果、Server側のMSAが深くなり、タンパク質とDNAの複合体などでipTM・pTMが高く出る例が報告されています。ローカルで挙動を合わせたい場合は--domEの値を100倍にしてください。
AlphaFold 3はドッキングシミュレーションの代わりになりますか?
置き換えにはなりません。AlphaFold 3が出力するのはリガンドを含む複合体の立体構造と、pLDDTやipTM、ranking scoreといった信頼度指標であり、結合自由エネルギーや親和性の数値ではありません。結合ポーズの候補を高速に得る用途では従来のドッキングを補完しますが、化合物の順位付けには別の手法が要ります。親和性予測まで対象に含めたエンジンとしてはIsomorphic LabsのIsoDDEが発表されていますが、コードや重みの一般提供に関する公表はありません。