AlphaFold3 / README.md
OneScience's picture
Upload folder using huggingface_hub
35cdf53 verified
|
Raw
History Blame Contribute Delete
8.17 kB
metadata
license: cc-by-nc-sa-4.0
tasks:
  - protein-complex-structure-prediction
frameworks:
  - jax
language:
  - en
  - zh
tags:
  - OneScience
  - Life Sciences
  - Protein Structure Prediction
  - Biomolecular Interactions
  - Complex Structure Prediction
  - AlphaFold3
datasets:
  - OneScience/AlphaFold3_dataset

AlphaFold3

Model Introduction

AlphaFold3 is a biomolecular structure prediction model proposed by Google DeepMind and Isomorphic Labs. It can predict the three-dimensional structures and interactions of molecules and their complexes, including proteins, DNA, RNA, and small-molecule ligands.

Paper: Accurate structure prediction of biomolecular interactions with AlphaFold 3
https://www.nature.com/articles/s41586-024-07487-w

Model Description

AlphaFold3 uses Pairformer and diffusion models to predict biomolecular complex structures. This model package provides a JAX / Flax inference project and data search scripts, and is released together with the ModelScope dataset OneScience/AlphaFold3_dataset.

Applicable Scenarios

Scenario Description
Direct inference with existing features Input an AlphaFold3 JSON containing features such as MSA / template, and output structure prediction results
Protein structure prediction Input a protein sequence, generate features together with search databases, and predict the structure
Biomolecular complex modeling Input multi-component objects such as proteins, DNA, RNA, and ligands, and predict the spatial conformation of the complex
Data search workflow verification Use Jackhmmer / Nhmmer or MMseqs workflows to check database paths and search tool connectivity
ModelScope / OneCode runtime After downloading the model project and complete dataset, quickly verify script connectivity in a biology-domain runtime environment

Usage Instructions

1. OneCode Usage

You can experience intelligent one-click AI4S programming through the OneCode online environment:

Click to experience intelligent one-click AI4S programming

2. Manual Installation and Usage

Hardware Requirements

  • GPU or DCU runtime is recommended.
  • CPU can be used for import checks and small-configuration connectivity verification, but full training and inference are slow.
  • DCU users need to install DTK in advance. DTK 25.04.2 or later is recommended, or the OneScience-recommended version matching the current cluster.

Environment Check

  • NVIDIA GPU:
nvidia-smi
  • Hygon DCU:
hy-smi

Download the Model Package

modelscope download --model OneScience/AlphaFold3 --local_dir ./AlphaFold3
cd AlphaFold3

Install the Runtime Environment

DCU Environment

# First activate DTK and Conda
conda create -n onescience311 python=3.11 -y
conda activate onescience311
# Supports uv installation
pip install onescience[bio-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai

After installation, return to the model package directory:

cd ./AlphaFold3

If the current environment has not yet built the AlphaFold3 C++ extension and runtime data files, execute:

python -m onescience.flax_model.alphafold3.build_extension
python -m onescience.flax_models.alphafold3.build_data

Training and Inference Data Introduction

The OneScience community has uploaded the complete data required for AlphaFold3 inference and data search to ModelScope: OneScience/AlphaFold3_dataset. This model package does not include a training entry point; this dataset is mainly used for MSA / template feature construction and pre-inference data search.

modelscope download --dataset OneScience/AlphaFold3_dataset --local_dir ./data/alphafold3

Training Weights

Weights will be uploaded soon.

Prepare Weights

Place the AlphaFold3 model weights in the following directory, or specify them through an environment variable:

weight/
  AlphaFold3/
    ...

The default lookup order is:

  • ALPHAFOLD3_MODEL_DIR
  • ${ONESCIENCE_MODELS_DIR}/AlphaFold3
  • weight/AlphaFold3

Example:

export ALPHAFOLD3_MODEL_DIR=/path/to/AlphaFold3

Direct Inference

When the input JSON already contains features such as MSA and template, you can run directly:

bash scripts/infer.sh

Equivalent Python command example:

python scripts/run_alphafold.py \
  --json_path inputs/7r6r_data.json \
  --model_dir weight/AlphaFold3 \
  --output_dir outputs \
  --run_data_pipeline=false \
  --flash_attention_implementation=triton

The output will be written to outputs/, including the best structure, structure results for different seeds / samples, the ranking score CSV, and a copy of the input JSON.

Jackhmmer / Nhmmer Data Search

When the input JSON contains only sequences and requires local database search, use:

bash scripts/infer_jackhmmer.sh

Common environment variables:

export ALPHAFOLD3_DATASET_ROOT=/path/to/alphafold3
export ALPHAFOLD3_MODEL_DIR=/path/to/AlphaFold3
export ALPHAFOLD3_JSON_PATH=inputs/t1119_search.json
export ALPHAFOLD3_OUTPUT_DIR=outputs
export ALPHAFOLD3_RUN_INFERENCE=false

Here, ALPHAFOLD3_DATASET_ROOT is expected by default to contain database directories such as public_databases/, jackhmmer_split/, and mmseqsDB/.

MMseqs Data Search

If the runtime environment provides the MMseqs program and MMseqs database, use:

bash scripts/infer_mmseqs.sh

Common environment variables:

export ALPHAFOLD3_MMSEQS_HOME=/path/to/mmseqs
export ALPHAFOLD3_DATASET_ROOT=/path/to/alphafold3
export ALPHAFOLD3_MMSEQS_DB_DIR=/path/to/alphafold3/mmseqsDB
export ALPHAFOLD3_RUN_INFERENCE=false

To continue inference after searching, set ALPHAFOLD3_RUN_INFERENCE to true and make sure the weight directory is available.

Data Format

AlphaFold3 input uses JSON format. The basic structure is as follows:

{
  "dialect": "alphafold3",
  "version": 1,
  "name": "example",
  "sequences": [
    {
      "protein": {
        "id": "A",
        "sequence": "..."
      }
    }
  ],
  "modelSeeds": [100],
  "bondedAtomPairs": null,
  "userCCD": null
}

This repository provides two examples:

  • inputs/7r6r_data.json: Contains information such as sequence, MSA, and template, and is suitable for direct inference.
  • inputs/t1119_search.json: Contains only sequence and is suitable for data search workflow verification.

The complete ModelScope dataset OneScience/AlphaFold3_dataset is recommended to be downloaded to data/alphafold3/ under the model package. The relative structure read by the data search workflow by default is as follows:

data/
  alphafold3/
    public_databases/
      mmcif_files/
      pdb_seqres_2022_09_28.fasta
      ...
    jackhmmer_split/
      bfd-first_non_consensus_sequences.fasta@64
      mgy_clusters_2022_05.fa@512
      uniprot_cluster_annot_2021_04.fa@256
      uniref90_2022_05.fa@128
    mmseqsDB/
      small_bfd_db
      mgnify_db
      uniprot_cluster_annot_db
      uniref90_db

Verification

Static import check:

python tests/check_import_boundaries.py

Official OneScience Information

Citations and License