Open-source project
bytedance/Protenix avatar
bytedance/Protenix

Protenix: AlphaFold 3 reproduction with open code and proprietary v2 weights

Toward High-Accuracy Open-Source Biomolecular Structure Prediction.

2,077 stars321 forksPythonApache-2.0

At a glance

What is it?
Protenix is ByteDance's trainable PyTorch reproduction of AlphaFold 3, published under Apache-2.0. The code and v1 model weights are openly available, but the v2 weights carry a proprietary licence that blocks redistribution.
Who is it for?
Protenix suits computational biology researchers who want to inspect or retrain a full AlphaFold 3-equivalent pipeline. If you need prediction results without the setup cost, the web server at protenix-server.com is simpler, since local installation requires CUDA 12.6.3, Python 3.11 and a 32-entry requirements file with many pinned versions.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 21 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 11, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A trainable PyTorch reproduction of AlphaFold 3 for researchers who need the training code

Protenix is described in setup.py as a trainable PyTorch reproduction of AlphaFold 3. That framing distinguishes it from a prediction-only service: the project ships the training code and the full data pipeline alongside inference, so a research group can retrain the model on a custom dataset or study how the architecture works at the code level. ByteDance published the repository under Apache-2.0.

Being trainable in practice means the repository includes runner/ and train_demo.sh, not just an inference entry point. The 2025-01-16 update added docs/prepare_training_data.md and docs/msa_template_pipeline.md to the repository. A group that wants to reproduce the data setup from scratch has documented steps for both the raw data preparation and the MSA generation, without relying on ByteDance's internal systems.

Structure prediction users who only need results can skip the installation and use the Protenix web server at protenix-server.com. Researchers who want to benchmark their method against Protenix, study its internals or fine-tune it on a private dataset are the audience the open-source release addresses.

Setup carries a real cost. Local installation requires CUDA 12.6.3, Python 3.11 or newer, and a 32-entry requirements file with many pinned package versions. That dependency footprint is more typical of a research system than a general-purpose tool.

MSA, RNA MSA and templates as three distinct inputs across model generations

Both MSA and templates contribute to every prediction run; these inputs let the model draw on evolutionary co-variation data and known structural homologs alongside the raw sequence. RNA MSA is a third input type, supported in the three current model variants but absent from v0.5.0. Any workflow built on v0.5.0 that requires RNA MSA must migrate to a newer variant.

MSA generation is documented separately from inference. docs/colabfold_compatible_msa.md explains a local MSA generation workflow whose output format the model accepts directly. Running it removes the need for any hosted MSA service. The MSA pipeline itself is documented at docs/msa_template_pipeline.md.

The docs/infer_json_format.md file describes how to pass constraints in the JSON input. Contact constraints apply at individual atom pairs; pocket constraints mark out a spatial region where the binding should occur. Both types let experimental data inform the prediction rather than leaving all structural degrees of freedom open.

Input files are JSON throughout, and the examples directory contains several ready-made inputs covering proteins in FASTA and PDB formats, RNA MSA variants and template-based examples.

Installing Protenix from PyPI and running the first prediction

Installation is a single pip command. The README specifies the official PyPI index explicitly, because a package mirror may lag behind the latest release and leave the installed CLI out of sync with the current documentation:

bash
pip install --upgrade protenix --index-url https://pypi.org/simple

The setup.py file sets python_requires to >=3.11. Requirements.txt pins torch to 2.7.1, so a Python 3.11 virtual environment with no prior PyTorch installation is the safest setup path. The file also pins rdkit==2025.9.3, deepspeed==0.17.5 and triton==3.3.1, all of which carry their own CUDA dependencies.

After installation, the protenix command-line tool runs predictions. The README gives this example:

bash
protenix pred -i examples/input.json -o ./output -n protenix_base_default_v1.0.0

The -i flag takes a JSON file describing the input, -o specifies the output directory and -n names the model. inference_demo.sh in the repository root covers more input options and parameter explanations.

Docker is an alternative. The Dockerfile starts from a ByteDance-hosted image, vemlp-cn-beijing.cr.volces.com/preset-images/pytorch:2.7.1-cu12.6.3-py3.11-ubuntu22.04, and clones CUTLASS at tag v3.5.1 during the build. That base image comes from a ByteDance private registry, and the Dockerfile documents no fallback image for those who cannot reach it.

Four published models with different training cutoffs, parameter counts and a licensing split

The project currently documents four named models. protenix-v2 has 464 million parameters, a training data cutoff of 2021-09-30, and was released on 2026-04-08. protenix_base_default_v1.0.0 has 368 million parameters; its training window closes on 2021-09-30, the same date AlphaFold 3 used, which simplifies direct comparisons between the two systems. protenix_base_20250630_v1.0.0 has 368 million parameters with a training cutoff of 2025-06-30, extending structural data coverage by roughly four years beyond the default model. protenix_base_default_v0.5.0, also 368 million parameters, exists for users who wrote code against that version and cannot yet migrate; it does not accept RNA MSA or template inputs.

The README benchmarks protenix-v2 against protenix_base_default_v1.0.0 on antibody-antigen prediction, using DockQ > 0.23 as the binary success threshold. On each of three antibody-antigen collections, protenix-v2 cleared between 9 and 13 more percentage points. The efficiency gap is also large: just 5 prediction seeds with protenix-v2 clears the bar that protenix_base_default_v1.0.0 only reaches at 1000 seeds.

A publication at arXiv:2507.11839, associated with the 2025-07-17 update, covers variants of Protenix optimized for lower compute cost. Those variants are not in the main model table and the README does not give their parameter counts. The paper documents the accuracy-cost trade-offs for those smaller variants.

Protenix-v2 weights are proprietary and cannot be redistributed

Code and model weights carry different licences, and the distinction matters most for protenix-v2. The repository code is Apache-2.0, covering training scripts, inference code and all supporting files in the project. For v2, a separate proprietary clause governs the weights themselves.

That restriction covers any reproduction, distribution, sublicensing, disclosure or transfer of the weights to a third party in any form. Written consent from the rights holder is required as a precondition for any such action. Bundling the weights in a product, hosting them for API access or passing them to a collaborator all fall under that clause as written.

Whether running a private inference service on local hardware constitutes a transfer is a question the README does not settle, and that is a point to take to legal counsel rather than to this article.

The v1 models carry no equivalent restriction in the README. For any project where open weights are a firm requirement, protenix_base_20250630_v1.0.0 is the current v1 model with the most recent training data and no stated redistribution bar.

GPU and ByteDance container registry requirements that limit self-hosted deployment

Protenix is built for NVIDIA GPUs. Requirements.txt includes nvidia-specific CUDA packages as standard dependencies, and the Dockerfile targets CUDA 12.6.3. Setup.py provides a --cpu flag that strips the nvidia and CUDA packages from the build, but the README gives no statement on whether CPU inference actually runs or whether that flag exists purely for environments without a GPU.

The Docker path introduces a second constraint: the base image is pulled from vemlp-cn-beijing.cr.volces.com, a ByteDance-internal registry. Researchers who cannot reach that address must assemble a compatible base image from a public PyTorch source, since the Dockerfile documents no alternative.

Version pinning adds friction in environments with existing packages. torch==2.7.1, torchaudio==2.7.1 and torchvision==0.22.1 are pinned together, and cuequivariance-ops-torch-cu12==0.8.0 requires a cu12 GPU environment. Any machine that already runs a different PyTorch version will need isolation through a virtual environment or container.

Last push on 2026-09-21, three companion projects and a public web server

The repository was last pushed on 2026-09-21 and is not archived. Three releases landed in a six-week window: v2.0.0 on 2026-04-07, v1.1.0 on 2026-03-23 and v1.0.9 on 2026-03-17. CHANGELOG.md at the repository root tracks the version history.

Three companion tools extend the prediction into adjacent tasks. PXDesign addresses the protein-binder design problem, where the goal is generating a new protein that binds to a specified target rather than predicting the structure of an existing one. Experimental validation placed binder success rates between 20 and 73% across the tested targets; the README states the improvement over AlphaProteo and RFdiffusion fell between 2 and 6 times. PXDesign is accessible through the Protenix web server, not as a locally installable package.

PXMeter, at github.com/bytedance/PXMeter, provides the benchmark dataset and evaluation tooling that Protenix used to produce its own reported figures. Running PXMeter independently allows a third-party model to be scored on exactly the same benchmark.

Protenix-Dock, at github.com/bytedance/Protenix-Dock, applies a physics-based scoring approach to the protein-ligand docking problem rather than a learned one. The README credits it with competitive performance on rigid docking tasks but gives no benchmark table or supporting numbers.

Editorial conclusion

Protenix suits computational biology researchers who want to inspect or retrain a full AlphaFold 3-equivalent pipeline. If you need prediction results without the setup cost, the web server at protenix-server.com is simpler, since local installation requires CUDA 12.6.3, Python 3.11 and a 32-entry requirements file with many pinned versions. Before building any service on protenix-v2, read the proprietary licence notice in the README, because those weights are not covered by the Apache-2.0 licence on the code. For open-weight inference, verify whether protenix_base_20250630_v1.0.0, trained through 2025-06-30, meets your accuracy needs.

Frequently asked questions

What is Protenix?

Protenix is a trainable PyTorch reproduction of AlphaFold 3 for biomolecular structure prediction, published by ByteDance under Apache-2.0. It includes inference and training code alongside open-sourced data preparation and MSA generation pipelines. A companion web server at protenix-server.com serves users who prefer not to install it locally.

How do I install Protenix?

Run pip install --upgrade protenix using the official PyPI index as the README recommends. The setup.py file requires Python 3.11 or newer, and requirements.txt pins torch to 2.7.1 along with 31 other packages, so a fresh virtual environment reduces the risk of version conflicts.

Are the Protenix model weights open source?

The v1 model weights are available without any proprietary restriction mentioned in the README. The protenix-v2 weights are different: the README states they are proprietary and confidential, not released under any open-source license, and may not be redistributed or transferred to any third party without the rights holder's written consent.

What Python version does Protenix require?

The setup.py sets python_requires to >=3.11. The Dockerfile also uses a Python 3.11 base image, and requirements.txt pins torch to 2.7.1, which requires a matching CUDA 12.6.3 environment.

What is the difference between the Protenix model versions?

The README documents four models. protenix-v2 has 464M parameters and proprietary weights. protenix_base_default_v1.0.0 and protenix_base_20250630_v1.0.0 each have 368M parameters but use different training cutoffs: 2021-09-30 for the benchmark-aligned default and 2025-06-30 for the applied variant suited for practical use. protenix_base_default_v0.5.0 is kept for backward compatibility only and lacks RNA MSA and template support.

Official sources

  1. bytedance/Protenix on GitHub
  2. Issues
  3. License: Apache-2.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/bytedance-protenix.svg)](https://hysenlabs.com/projects/bytedance-protenix)