Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
3890782
Migrate AF3 to `tokamax.gated_linear_unit` and `tokamax.dot_product_a…
rpachauri Nov 30, 2025
3a09f04
remove unused msa and template store code.
joshabramson Dec 2, 2025
8eaae04
Add CONTRIBUTING.md
Augustin-Zidek Jan 9, 2026
a701815
Upgrade GitHub Actions to the latest version (v6)
Augustin-Zidek Jan 9, 2026
b78e215
Update tokamax dependency to version 0.0.8
Augustin-Zidek Jan 9, 2026
d7ab550
Update CONTRIBUTING.md with a policy for AI-generated code
Augustin-Zidek Jan 12, 2026
2f40800
Force the legacy git backend to prevent build errors with new git ver…
Augustin-Zidek Jan 14, 2026
8d37fc1
Modernize setup, switch to Python 3.12, and migrate to uv
Augustin-Zidek Jan 15, 2026
3e2bc0c
Add JAAG to community tools documentation
Augustin-Zidek Jan 15, 2026
8d0a8db
Make everything past model_runner mandatory kwarg in process_fold_input
Augustin-Zidek Jan 15, 2026
f6032f0
Add a flag to compress large output files using zstandard
Augustin-Zidek Jan 15, 2026
c7a1ad5
Add a documentation on model parameters
Augustin-Zidek Jan 16, 2026
22b9ab8
Make AlphaFold 3 uv setup compatible with aarch64
Augustin-Zidek Jan 20, 2026
6b50e38
Add the glycan modeling paper in the list of community tools
Augustin-Zidek Jan 29, 2026
cf4bb5b
Use UV_LINK_MODE=copy to prevent Docker build issues on some platforms
Augustin-Zidek Feb 4, 2026
c13d928
Update RDKit to 2025.9.4
Augustin-Zidek Feb 4, 2026
ebfe70a
Update Tokamax to 0.0.10
Augustin-Zidek Feb 4, 2026
ceb3229
Move CONTRIBUTING.md to the root directory
Augustin-Zidek Feb 9, 2026
e2b8ffd
Implement relevant improvements from #615
Augustin-Zidek Feb 11, 2026
2761bf1
Use the logging name instead of the one from fold_input
Augustin-Zidek Feb 16, 2026
703d5c8
Make sharded Jackhmmer result merging more robust in case of e-value …
Augustin-Zidek Feb 16, 2026
c20f070
Exit if any of the required programs is not installed
Augustin-Zidek Feb 20, 2026
ea16676
Update Docker build instructions for AlmaLinux/Rocky/RHEL users
Augustin-Zidek Feb 20, 2026
4ca8a65
Document the discrepancy between AlphaFold 3 and AlphaFold Server in …
Augustin-Zidek Feb 20, 2026
203e93d
Use const for iter/keys/values/items and release GIL for contains in …
Augustin-Zidek Feb 23, 2026
9e10da6
Add CifDict.to_dict() method for faster serialisation
Augustin-Zidek Feb 23, 2026
1e9ece2
Respect LIBCIFPP_DATA_PATH if set, rather than attempt to find it.
jsspencer Feb 25, 2026
6daafb5
Remove unused utility functions
Augustin-Zidek Feb 26, 2026
e58932a
Use the same license format in .h files as in .cc files
Augustin-Zidek Mar 4, 2026
5f7eb57
Improve the error when components.cif is not found
Augustin-Zidek Mar 6, 2026
608edb6
Update to Tokamax 0.0.11 and JAX 0.9.1
Augustin-Zidek Mar 10, 2026
02650a5
Use `--run_*=false` instead of `--norun_*` in docs.
Augustin-Zidek Mar 20, 2026
0f82e0c
wrap reader into io.BufferedReader.
akviz Mar 25, 2026
58d22e2
Fix some Structure type issues uncovered by Pyrefly
Augustin-Zidek Mar 30, 2026
4d20ed5
Import from collections.abc instead of typing
Augustin-Zidek Mar 31, 2026
f236bc4
Use && instead of ; when building HMMER to stop if there are errors
Augustin-Zidek Apr 1, 2026
87bd9e6
Add a missing newline for consistency
Augustin-Zidek Apr 1, 2026
177df6a
Remove obsolete `: ...` from all python functions parameters annotati…
QEDady Apr 9, 2026
24cded8
Expose an API to run the model pipeline with a Structure
a-googler Apr 10, 2026
f6a5aec
Bump the version to v3.0.2
Augustin-Zidek Apr 20, 2026
cfeeedd
Optimize CIF loop parsing by ~4% - remove modulo in the hot path
Augustin-Zidek Apr 21, 2026
e9adcd4
Clean up structure cleaning - remove unused code paths
Augustin-Zidek Apr 22, 2026
6f882ad
Use pathlib.Path.home() instead of os.environ.get('HOME')
Augustin-Zidek Apr 22, 2026
de4e7a4
Remove unused cleaned_struc from ConvertModelOutput
Augustin-Zidek Apr 22, 2026
3dfc5a9
Support dynamic version for dev and releases
Augustin-Zidek Apr 23, 2026
011b6cf
Refactor to_mmcif_dict to not use getattr
Augustin-Zidek Apr 24, 2026
481beec
Add fallback version for Docker
Augustin-Zidek May 6, 2026
97639ff
Pass correctly all options to Jackhmmer/Nhmmer
Augustin-Zidek May 6, 2026
62a93af
Fix glycan O1 leaving-atom cleanup for standalone glycans
Augustin-Zidek May 6, 2026
eba6189
Fix typing of Nhmmer z values, these are floats
Augustin-Zidek May 7, 2026
8850da4
Validate that the output_dir is always set and add a missing argument…
Augustin-Zidek May 11, 2026
8812124
Fix a typing issue (passing ndarray instead of a list)
Augustin-Zidek May 11, 2026
8d283f3
Add basic chem_comp_atoms/chem_comp_bonds data to ChemCompEntry
Augustin-Zidek May 12, 2026
9ea7db2
Fix KeyError in string_array.remap_multiple for Python 3.14
Augustin-Zidek May 12, 2026
9556a1c
Fix typing issues found using Pyrefly in folding_input and its test
Augustin-Zidek May 13, 2026
10b18bf
Fix typing issue in _get_rna_msa revealed by Pyrefly
Augustin-Zidek May 14, 2026
5a3d6b6
Fix typing issues in constants modules revealed by Pyrefly
Augustin-Zidek May 18, 2026
7d4a236
Fix typing issues revealed by Pyrefly in structure_tables
Augustin-Zidek May 20, 2026
b712a3d
Fix descriptions being dropped in some places for protein/RNA chains
Augustin-Zidek May 22, 2026
eb5154f
Fix two typos in docstrings
Augustin-Zidek May 28, 2026
1dc1e0a
Improve typing and error checks in mask_mean
Augustin-Zidek May 29, 2026
3aea02b
Speed up serialization of the confidences JSON ~30x
Augustin-Zidek Jun 3, 2026
f971361
Fix typing issue (Numpy 1D array instead of a float)
Augustin-Zidek Jun 8, 2026
7b197fe
Change the code license from CC BY-NC-SA 4.0 to Apache 2.0
Augustin-Zidek Jun 9, 2026
dee2262
Support gapped residue ids for discontinuous chains
DimaMolod Mar 25, 2026
c494eb8
Preserve duplicate residue IDs in structure tables
DimaMolod Mar 25, 2026
9e35ea9
Mark fork main as merged into v3.0.3 update
DimaMolod Jun 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 20 additions & 14 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Continuous Integration

on:
# Trigger the workflow on push or pull request, only on the main branch.
push:
branches:
- main
Expand All @@ -18,21 +17,28 @@ jobs:
matrix:
include:
- name-prefix: "all tests"
python-version: '3.11'
python-version: '3.12'
os: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
- uses: actions/checkout@v6
- name: Set up uv
uses: astral-sh/setup-uv@v7
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-dependency-glob: "uv.lock"

- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}

- name: Install dependencies
run: |
sudo apt-get install -y hmmer
pip install --upgrade pip
pip install -r dev-requirements.txt
pip install --no-deps .
build_data
run: sudo apt-get install -y hmmer

- name: Install Python dependencies
run: uv sync --frozen --all-groups

- name: Build data
run: uv run build_data

- name: Run CPU-only tests
run: |
python run_alphafold_data_test.py
run: uv run python run_alphafold_data_test.py
18 changes: 16 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,28 @@
# Copyright 2024 DeepMind Technologies Limited
#
# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of
# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/
# AlphaFold 3 source code is licensed under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# To request access to the AlphaFold 3 model parameters, follow the process set
# out at https://github.com/google-deepmind/alphafold3. You may only use these
# if received directly from Google. Use is subject to terms of use available at
# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md

cmake_minimum_required(VERSION 3.28)

# This forces Git to use the 'files' backend for all FetchContent operations.
# This fixes libcifpp and dssp incompatibility with newer git versions.
set(ENV{GIT_CONFIG_PARAMETERS} "'init.defaultRefFormat=files'")

project(
"${SKBUILD_PROJECT_NAME}"
LANGUAGES CXX
Expand Down
36 changes: 36 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# How to Contribute

We welcome small patches related to bug fixes and documentation, but we do not
plan to make any major changes to this repository.

## AI Generated Code

We welcome the use of AI tools for the generation of code, documentation and/or
Pull Request (PR) description as long as:

1. It has been transparently labelled as such. Make sure to declare it in the
PR message.
2. You have manually reviewed the code before sending the PR.
3. The change has been manually tested. We might ask you to fold a certain
input to check correctness of the PR.

Please do not submit AI generated PRs where test results have been hallucinated.

## Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution,
this simply gives us permission to use and redistribute your contributions as
part of the project. Head over to <https://cla.developers.google.com/> to see
your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.

## Code reviews

All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.
Loading