Skip to content

AlphaFold v3.0.5

Latest

Choose a tag to compare

@Augustin-Zidek Augustin-Zidek released this 30 Oct 15:31
· 6 commits to main since this release

This release is about speed! The build is faster, the build_data script is faster, the MSA featurisation is 10x faster, and – most importantly – Jackhmmer search is ~2.5x faster and now nicely scales with --jackhmmer_n_cpu. On a machine with 24 cores, we saw >10x speedup of Jackhmmer runs! There is also a lot of small bug fixes, documentation improvements and better error messages – thanks to the community for reporting/suggesting many of these.

Change log

Full change log: v3.0.4...v3.0.5

New features

  • You can now configure the number of CPUs that Hmmsearch uses using the --hmmsearch_n_cpu flag. Thanks @Ayush7614.
  • Added a parallel shard_databases.sh helper script.
  • Majority of AlphaFold 3 unit tests are now included in the repo and run in CI.

Performance improvements

  • Added compilation buckets of size 128 and 384 to make running small proteins faster by default. Thanks @teerthsharma.
  • Sped up MSA featurisation ~10x.
  • The CCD is now stored using MessagePack instead of pickle, which makes build_data 5x faster.
  • Sped up the build by about 1.5x (120 -> 85 s).
  • Sped up the build_data script by about 10 s by using MessagePack instead of pickle to store the processed CCD.
  • Made Jackhmmer ~2.5x faster + made it scale with the number of CPUs. On a test 24-core machine it runs >10x faster!
  • Multiple Structure class performance improvements, mainly around filtering. Thanks @akviz!

Bug fixes

  • Fix loading of a template with empty mapping written by AlphaFold prior to 3.0.4. Thanks @mooreneural.
  • Don't leak resources when sharded Jackhmmer/Nhmmer errors out. Thanks @Ayush7614.
  • Use the original RNA sequence (not the modified one) in RnaChain.fill_missing_fields(). Thanks @Ayush7614.
  • Prevent mutation of the cached base CCD dictionary when applying user CCD. Thanks @cindykrafft.
  • Avoid float32 overflow when ranking paired MSA rows. Thanks @shubhxho.
  • Reject mixed-case and non-ASCII chain IDs at input validation. Thanks @harshitgavita-07.
  • Preserve chain order stable across a to_json / from_json round trip. Thanks @cindykrafft.
  • Fix chain_ids in the summary confidences JSON to be one entry per chain. Thanks @cindykrafft.
  • Fix check that exactly one of --json_path or --input_dir is set. Thanks @romainhedouin.
  • Improved input validation. Thanks @Nas01010101.
  • The MSA hit order is preserved when pairing by species. Thanks @YMuskrat.

Documentation

  • Better error when third party tools can't be find on PATH. Thanks @Ayush7614.
  • More detailed documentation of the effect of the JAX compilation cache. Thanks @mooreneural.
  • Better documentation for the Nhmmer Z-value. Thanks @cindykrafft.
  • Document that linked ketoses keep their leaving atom. Thanks @shahriararab and @sridhar-3009.

We thank the following people for their pull requests and/or great suggestions: @akviz, @Ayush7614, @cindykrafft, @harshitgavita-07, @mooreneural, @Nas01010101, @shahriararab, @shubhxho, @sridhar-3009, @teerthsharma, @YMuskrat.