Align AlphaFold2 model card with OFoldX
Browse files
README.md
CHANGED
|
@@ -14,42 +14,27 @@ Pre-trained model for protein structure prediction from amino-acid sequences, mu
|
|
| 14 |
|
| 15 |
## Disclaimer
|
| 16 |
|
| 17 |
-
This is an
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
Andrew Cowie, Bernardino Romera-Paredes, Stanislav Nikolov, and Rishub Jain,
|
| 23 |
-
and [AlphaFold-Multimer](https://doi.org/10.1101/2021.10.04.463034). The
|
| 24 |
-
upstream authors did not write, review, or endorse this implementation or
|
| 25 |
-
model card. The official implementation is maintained by
|
| 26 |
-
[Google DeepMind](https://github.com/google-deepmind/alphafold).
|
| 27 |
|
| 28 |
## Model Details
|
| 29 |
|
| 30 |
-
AlphaFold 2
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
the same design with paired MSAs and chain-relative features for protein
|
| 36 |
-
complexes.
|
| 37 |
|
| 38 |
### Variants
|
| 39 |
|
| 40 |
-
- **[oteam/alphafold2](https://huggingface.co/oteam/alphafold2)**:
|
| 41 |
-
- **
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
relaxation of none, the best prediction, or all predictions.
|
| 46 |
-
- **[oteam/alphafold2-ptm](https://huggingface.co/oteam/alphafold2-ptm)**: Monomer model with predicted aligned error and pTM confidence.
|
| 47 |
-
- **AF2 initial guess**: Distinct monomer/pTM Model--Processor--Pipeline pair
|
| 48 |
-
using `model_1_ptm` weights. It seeds the first recycled atom37 `prev_pos`
|
| 49 |
-
state from an in-memory target--binder structure without initializing
|
| 50 |
-
Structure Module frames. Its all-GAP template retains backbone/CB geometry
|
| 51 |
-
for every chain and masks target--binder template pair features.
|
| 52 |
-
- **[oteam/alphafold2-multimer](https://huggingface.co/oteam/alphafold2-multimer)**: AlphaFold-Multimer for multi-chain protein complexes.
|
| 53 |
|
| 54 |
### Model Specification
|
| 55 |
|
|
@@ -66,118 +51,106 @@ complexes.
|
|
| 66 |
- **Upstream attribution**: AlphaFold 2 parameters © 2022 DeepMind Technologies Limited; [parameter license](https://github.com/google-deepmind/alphafold#model-parameters)
|
| 67 |
- **Upstream source revision**: `c77e5d2a8961d1a353632c462914ff0a32a950f6`
|
| 68 |
- **Code**: [ofoldx.models.alphafold2](https://github.com/OTeam-AI4S/OFoldX/tree/main/ofoldx/models/alphafold2)
|
| 69 |
-
- **Paper**: [Highly accurate protein structure prediction with AlphaFold](https://doi.org/10.1038/s41586-021-03819-2)
|
| 70 |
-
- **
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
Silver, Oriol Vinyals, Andrew W. Senior, Koray Kavukcuoglu, Pushmeet
|
| 79 |
-
Kohli, and Demis Hassabis
|
| 80 |
-
- **Model type**: MSA- and template-conditioned protein structure predictor with an Evoformer trunk and invariant-point-attention structure module
|
| 81 |
- **Original Repository**: [google-deepmind/alphafold](https://github.com/google-deepmind/alphafold)
|
| 82 |
|
| 83 |
-
## Feature and geometry contract
|
| 84 |
-
|
| 85 |
-
All public model coordinate boundaries consume an explicit finite numerical projection. Unavailable values are selected out under the declared mask before arithmetic or dtype conversion and have zero coordinate derivatives. Active nonfinite values are invalid requests; finite values outside the model dtype range are an unsupported numeric range. Normalization returns the same input carrier type without changing canonical membership, source masks, or source precision. Decode uses prepared atom correspondences. APIs without an availability mask require complete finite model fields.
|
| 86 |
-
|
| 87 |
-
The model's atom37/atom14 slots and pseudo-beta convention belong to its residue vocabulary. Template observations and initial model coordinates have separate masks. Physical backbone frames additionally require available, noncollinear defining atoms. Relaxation and its linear-neighbor diagnostics admit only the actual closed standard linear protein graph; sequence labels alone do not certify this chemistry. The clash calculation exempts the admitted peptide C–N pair and has no blanket exemption for slot 5 or putative disulfides.
|
| 88 |
-
|
| 89 |
## Usage
|
| 90 |
|
| 91 |
-
The model depends on the [`ofoldx`](https://
|
| 92 |
-
library. Install it with pip:
|
| 93 |
|
| 94 |
```bash
|
| 95 |
pip install ofoldx
|
| 96 |
```
|
| 97 |
|
| 98 |
-
###
|
|
|
|
|
|
|
| 99 |
|
| 100 |
-
|
| 101 |
|
| 102 |
```python
|
| 103 |
import ofoldx
|
| 104 |
-
|
| 105 |
from ofoldx.io import read_structure
|
| 106 |
|
| 107 |
structure, report = read_structure("input.cif")
|
| 108 |
pipeline = ofoldx.pipeline("fold", model="oteam/alphafold2")
|
| 109 |
-
|
| 110 |
```
|
| 111 |
|
| 112 |
-
|
| 113 |
-
atoms
|
| 114 |
-
predict (ligands, hydrogens, a terminal OXT) have none.
|
| 115 |
-
|
| 116 |
-
The Pipeline is callable with the same arguments as `fold`. For staged execution:
|
| 117 |
|
| 118 |
-
|
| 119 |
-
prepared = pipeline.prepare(structure)
|
| 120 |
-
raw = pipeline.forward(prepared.input, num_samples=1)
|
| 121 |
-
result = pipeline.postprocess(prepared, raw)
|
| 122 |
-
```
|
| 123 |
|
| 124 |
-
|
| 125 |
-
The CASP14 ensemble returns checkpoint-labelled predictions; its `postprocess`
|
| 126 |
-
ranks them and accepts `models_to_relax`, `platform`, and `platform_properties`.
|
| 127 |
-
Stages describe the operation and do not prescribe CPU or GPU placement.
|
| 128 |
|
| 129 |
-
|
| 130 |
|
| 131 |
```python
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
pipeline = ofoldx.pipeline("fold", model="oteam/alphafold2-casp14")
|
| 133 |
-
result = pipeline
|
| 134 |
best = result.best
|
| 135 |
```
|
| 136 |
|
| 137 |
-
`result.ranked` retains
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
The initial-guess variant consumes a sequence-assigned target--binder
|
| 142 |
-
`Structure` and an explicit binder instance:
|
| 143 |
|
| 144 |
-
```
|
| 145 |
-
|
| 146 |
-
result = initial_guess_pipeline.fold(structure, binder_instance_id="binder", num_recycles=4)
|
| 147 |
```
|
| 148 |
|
| 149 |
-
|
| 150 |
-
|
|
|
|
| 151 |
|
| 152 |
-
|
| 153 |
-
and [PDBFixer](https://github.com/openmm/pdbfixer) in the same environment before
|
| 154 |
-
requesting Amber relaxation, including `models_to_relax="best"`:
|
| 155 |
|
| 156 |
-
|
| 157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 158 |
```
|
| 159 |
|
| 160 |
-
|
| 161 |
-
|
|
|
|
|
|
|
| 162 |
|
| 163 |
## Training Details
|
| 164 |
|
|
|
|
|
|
|
| 165 |
### Training Data
|
| 166 |
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
not redistribute those corpora, sequence databases, or template databases.
|
| 170 |
|
| 171 |
### Training Procedure
|
| 172 |
|
| 173 |
-
The upstream
|
| 174 |
-
|
| 175 |
-
predicted-aligned-error head. AlphaFold-Multimer adds paired-MSA and
|
| 176 |
-
chain-relative features and interface confidence.
|
| 177 |
|
| 178 |
-
OFoldX
|
| 179 |
-
|
| 180 |
-
structural and auxiliary-loss program; MSA, template, and sequence-database
|
| 181 |
generation remain caller-owned.
|
| 182 |
|
| 183 |
## Citation
|
|
@@ -197,20 +170,33 @@ generation remain caller-owned.
|
|
| 197 |
For AlphaFold-Multimer predictions, also cite
|
| 198 |
[Protein complex prediction with AlphaFold-Multimer](https://doi.org/10.1101/2021.10.04.463034).
|
| 199 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 200 |
## Contact
|
| 201 |
|
| 202 |
-
Please use
|
| 203 |
-
|
| 204 |
-
|
| 205 |
|
| 206 |
## License
|
| 207 |
|
| 208 |
The model weights, implementation, configuration, and documentation distributed by OFoldX are licensed under the
|
| 209 |
[GNU Affero General Public License](license.md).
|
| 210 |
|
| 211 |
-
For additional terms and clarifications, please refer to our
|
|
|
|
| 212 |
|
| 213 |
```spdx
|
| 214 |
SPDX-License-Identifier: AGPL-3.0-or-later
|
| 215 |
```
|
| 216 |
-
|
|
|
|
| 14 |
|
| 15 |
## Disclaimer
|
| 16 |
|
| 17 |
+
This is an UNOFFICIAL implementation of the [Highly accurate protein structure prediction with AlphaFold](https://doi.org/10.1038/s41586-021-03819-2) by John Jumper, et al.
|
| 18 |
+
|
| 19 |
+
The OFFICIAL repository of AlphaFold 2 is at [google-deepmind/alphafold](https://github.com/google-deepmind/alphafold).
|
| 20 |
+
|
| 21 |
+
**The team releasing AlphaFold 2 did not write this model card for this model so this model card has been written by the OFoldX team.**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
## Model Details
|
| 24 |
|
| 25 |
+
AlphaFold 2 jointly updates MSA and residue-pair representations with an Evoformer, then uses an
|
| 26 |
+
invariant-point-attention structure module to predict backbone frames, side-chain angles, atomic coordinates, and
|
| 27 |
+
confidence. AlphaFold-Multimer extends the model with paired MSAs and chain-relative features for protein complexes.
|
| 28 |
+
|
| 29 |
+
Please refer to the [Training Details](#training-details) section for more information on the training process.
|
|
|
|
|
|
|
| 30 |
|
| 31 |
### Variants
|
| 32 |
|
| 33 |
+
- **[oteam/alphafold2](https://huggingface.co/oteam/alphafold2)**: Monomer structure prediction with pLDDT confidence.
|
| 34 |
+
- **[oteam/alphafold2-ptm](https://huggingface.co/oteam/alphafold2-ptm)**: Monomer prediction with PAE and pTM confidence.
|
| 35 |
+
- **[oteam/alphafold2-multimer](https://huggingface.co/oteam/alphafold2-multimer)**: Multi-chain protein complex prediction.
|
| 36 |
+
- **[oteam/alphafold2-casp14](https://huggingface.co/oteam/alphafold2-casp14)**: The five-model CASP14 protocol with eight input ensembles per checkpoint.
|
| 37 |
+
- **[oteam/alphafold2-initial-guess](https://huggingface.co/oteam/alphafold2-initial-guess)**: The `model_1_ptm` initial-guess evaluator used by PXDesign.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
|
| 39 |
### Model Specification
|
| 40 |
|
|
|
|
| 51 |
- **Upstream attribution**: AlphaFold 2 parameters © 2022 DeepMind Technologies Limited; [parameter license](https://github.com/google-deepmind/alphafold#model-parameters)
|
| 52 |
- **Upstream source revision**: `c77e5d2a8961d1a353632c462914ff0a32a950f6`
|
| 53 |
- **Code**: [ofoldx.models.alphafold2](https://github.com/OTeam-AI4S/OFoldX/tree/main/ofoldx/models/alphafold2)
|
| 54 |
+
- **Paper**: [Highly accurate protein structure prediction with AlphaFold](https://doi.org/10.1038/s41586-021-03819-2); [Protein complex prediction with AlphaFold-Multimer](https://doi.org/10.1101/2021.10.04.463034)
|
| 55 |
+
- **Developed by**: John Jumper, Richard Evans, Alexander Pritzel, Tim Green, Michael Figurnov, Olaf Ronneberger,
|
| 56 |
+
Kathryn Tunyasuvunakool, Russ Bates, Augustin Žídek, Anna Potapenko, Alex Bridgland, Clemens Meyer, Simon A. A. Kohl,
|
| 57 |
+
Andrew J. Ballard, Andrew Cowie, Bernardino Romera-Paredes, Stanislav Nikolov, Rishub Jain, Jonas Adler, Trevor Back,
|
| 58 |
+
Stig Petersen, David Reiman, Ellen Clancy, Michal Zielinski, Martin Steinegger, Michalina Pacholska, Tamas Berghammer,
|
| 59 |
+
Sebastian Bodenstein, David Silver, Oriol Vinyals, Andrew W. Senior, Koray Kavukcuoglu, Pushmeet Kohli, and Demis
|
| 60 |
+
Hassabis
|
| 61 |
+
- **Model type**: MSA- and template-conditioned protein structure predictor with an Evoformer trunk and
|
| 62 |
+
invariant-point-attention structure module
|
|
|
|
|
|
|
|
|
|
| 63 |
- **Original Repository**: [google-deepmind/alphafold](https://github.com/google-deepmind/alphafold)
|
| 64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
## Usage
|
| 66 |
|
| 67 |
+
The model file depends on the [`ofoldx`](https://ofoldx.valhalla.technology/) library. You can install it using pip:
|
|
|
|
| 68 |
|
| 69 |
```bash
|
| 70 |
pip install ofoldx
|
| 71 |
```
|
| 72 |
|
| 73 |
+
### Direct Use
|
| 74 |
+
|
| 75 |
+
#### Structure Prediction
|
| 76 |
|
| 77 |
+
You can use this model directly with a pipeline for protein structure prediction:
|
| 78 |
|
| 79 |
```python
|
| 80 |
import ofoldx
|
|
|
|
| 81 |
from ofoldx.io import read_structure
|
| 82 |
|
| 83 |
structure, report = read_structure("input.cif")
|
| 84 |
pipeline = ofoldx.pipeline("fold", model="oteam/alphafold2")
|
| 85 |
+
result = pipeline(structure, seed=7)
|
| 86 |
```
|
| 87 |
|
| 88 |
+
The result contains predicted structures and confidence values. Each prediction uses a new coordinate frame;
|
| 89 |
+
unpredicted atoms, including ligands, hydrogens, and terminal OXT, have unavailable coordinates.
|
|
|
|
|
|
|
|
|
|
| 90 |
|
| 91 |
+
### Downstream Use
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
|
| 93 |
+
#### CASP14 Ensemble
|
|
|
|
|
|
|
|
|
|
| 94 |
|
| 95 |
+
You can use the five-model ensemble to rank predictions and optionally relax the best structure:
|
| 96 |
|
| 97 |
```python
|
| 98 |
+
import ofoldx
|
| 99 |
+
from ofoldx.io import read_structure
|
| 100 |
+
|
| 101 |
+
structure, report = read_structure("input.cif")
|
| 102 |
pipeline = ofoldx.pipeline("fold", model="oteam/alphafold2-casp14")
|
| 103 |
+
result = pipeline(structure, num_samples=1, models_to_relax="best", platform="CPU", seed=7)
|
| 104 |
best = result.best
|
| 105 |
```
|
| 106 |
|
| 107 |
+
Each checkpoint evaluates eight input ensembles from shared preparation. `result.ranked` retains checkpoint names,
|
| 108 |
+
sample indices, and relaxation results; equal mean-pLDDT scores retain generation order. Amber relaxation requires
|
| 109 |
+
[OpenMM](https://docs.openmm.org/latest/userguide/application/01_getting_started.html) and
|
| 110 |
+
[PDBFixer](https://github.com/openmm/pdbfixer), installed in the same environment:
|
|
|
|
|
|
|
| 111 |
|
| 112 |
+
```bash
|
| 113 |
+
conda install -c conda-forge openmm pdbfixer
|
|
|
|
| 114 |
```
|
| 115 |
|
| 116 |
+
Relaxation requires a closed, standard linear protein graph. Relaxed coordinates replace experimental coordinate
|
| 117 |
+
metadata; source identity and independent chemical facts are retained. Ordinary unrelaxed prediction needs neither
|
| 118 |
+
additional package.
|
| 119 |
|
| 120 |
+
#### Initial-Guess Evaluation
|
|
|
|
|
|
|
| 121 |
|
| 122 |
+
You can evaluate a sequence-assigned target-binder complex using its existing coordinates as the initial guess:
|
| 123 |
+
|
| 124 |
+
```python
|
| 125 |
+
import ofoldx
|
| 126 |
+
from ofoldx.io import read_structure
|
| 127 |
+
|
| 128 |
+
structure, report = read_structure("target_binder.cif")
|
| 129 |
+
pipeline = ofoldx.pipeline("fold", model="oteam/alphafold2-initial-guess")
|
| 130 |
+
result = pipeline(structure, binder_instance_id="binder", num_recycles=4, seed=7)
|
| 131 |
```
|
| 132 |
|
| 133 |
+
The input must contain the named binder instance. The initial guess seeds recycled atom37 positions; the dedicated
|
| 134 |
+
processor retains the target-binder template masking used by PXDesign.
|
| 135 |
+
|
| 136 |
+
See the [pipeline guide](https://github.com/OTeam-AI4S/OFoldX/blob/main/ofoldx/pipelines/README.md) for staged execution and composition.
|
| 137 |
|
| 138 |
## Training Details
|
| 139 |
|
| 140 |
+
AlphaFold 2 is trained for protein structure prediction with structural and masked-MSA objectives.
|
| 141 |
+
|
| 142 |
### Training Data
|
| 143 |
|
| 144 |
+
The AlphaFold 2 and AlphaFold-Multimer papers describe the upstream protein structure, sequence, and template corpora.
|
| 145 |
+
OFoldX does not redistribute those corpora or databases.
|
|
|
|
| 146 |
|
| 147 |
### Training Procedure
|
| 148 |
|
| 149 |
+
The upstream models use recycling and structural and auxiliary objectives. The pTM variants were fine-tuned with a
|
| 150 |
+
predicted-aligned-error head; AlphaFold-Multimer adds paired-MSA and chain-relative features and interface confidence.
|
|
|
|
|
|
|
| 151 |
|
| 152 |
+
OFoldX exposes a differentiable final recycle and a masked-MSA reconstruction objective for that recycle. This does not
|
| 153 |
+
reproduce the complete upstream structural and auxiliary-loss training program. MSA, template, and sequence-database
|
|
|
|
| 154 |
generation remain caller-owned.
|
| 155 |
|
| 156 |
## Citation
|
|
|
|
| 170 |
For AlphaFold-Multimer predictions, also cite
|
| 171 |
[Protein complex prediction with AlphaFold-Multimer](https://doi.org/10.1101/2021.10.04.463034).
|
| 172 |
|
| 173 |
+
> [!NOTE]
|
| 174 |
+
> The artifacts distributed in this repository are part of the OFoldX project.
|
| 175 |
+
> If OFoldX supports your research, please cite the OFoldX project as follows:
|
| 176 |
+
|
| 177 |
+
```bibtex
|
| 178 |
+
@software{chen2026ofoldx,
|
| 179 |
+
author = {Chen, Zhiyuan},
|
| 180 |
+
title = {OFoldX},
|
| 181 |
+
year = {2026},
|
| 182 |
+
url = {https://github.com/OTeam-AI4S/OFoldX},
|
| 183 |
+
}
|
| 184 |
+
```
|
| 185 |
+
|
| 186 |
## Contact
|
| 187 |
|
| 188 |
+
Please use GitHub issues of [OFoldX](https://github.com/OTeam-AI4S/OFoldX/issues) for any questions or comments on the model implementation or model card.
|
| 189 |
+
|
| 190 |
+
Please contact the authors of the [AlphaFold 2 paper](https://doi.org/10.1038/s41586-021-03819-2) for questions or comments on the paper/model.
|
| 191 |
|
| 192 |
## License
|
| 193 |
|
| 194 |
The model weights, implementation, configuration, and documentation distributed by OFoldX are licensed under the
|
| 195 |
[GNU Affero General Public License](license.md).
|
| 196 |
|
| 197 |
+
For additional terms and clarifications, please refer to our
|
| 198 |
+
[License FAQ](license-faq.md).
|
| 199 |
|
| 200 |
```spdx
|
| 201 |
SPDX-License-Identifier: AGPL-3.0-or-later
|
| 202 |
```
|
|
|