Providing Custom MSA Data
AlphaFold 3 allows you to provide custom Multiple Sequence Alignments (MSA) for protein and RNA chains. This is useful when you want to use pre-computed MSAs or run MSA-free predictions.Overview
If custom MSAs are not provided, AlphaFold 3 automatically builds MSAs for protein and RNA entities using Jackhmmer/Nhmmer search over genetic databases. You can override this behavior by specifying custom MSAs in the input JSON.Custom MSAs must be provided in A3M format, which is equivalent to FASTA format but also allows:
- Lowercase characters denoting inserted residues
- Hyphens (
-) denoting gaps in sequences
Protein MSA
Protein chains support two types of MSA:unpairedMsa and pairedMsa.
Valid Combinations
Default: Automatic MSA Generation
Both This is the recommended option for most cases.
unpairedMsa and pairedMsa fields are unset (or set to null). AlphaFold 3 will build both MSAs automatically.Custom Unpaired MSA Only
Set
unpairedMsa to a non-empty A3M string and pairedMsa to an empty string ("").MSA-Free Prediction
Set both The model will use only the query sequence without any MSA information.
unpairedMsa and pairedMsa to empty strings ("").RNA MSA
RNA chains support onlyunpairedMsa.
Valid Options
- Automatic (Recommended)
- MSA-Free
- Custom MSA
Leave AlphaFold 3 will build MSA automatically using Nhmmer.
unpairedMsa unset or explicitly set to null.Using External MSA Files
Instead of embedding MSA data inline, you can reference external files using path fields.Protein MSA Paths
RNA MSA Path
Paths can be:
- Absolute paths:
/home/user/data/msa.a3m - Relative to the input JSON:
../msas/msa.a3m
- Plain text (
.a3m) - gzip (
.a3m.gz) - xz (
.a3m.xz) - zstd (
.a3m.zst)
A3M Format Requirements
When providing custom MSAs, ensure they meet these requirements:Valid A3M Format
The MSA must follow A3M/FASTA format with support for:
- Uppercase letters for aligned residues
- Lowercase letters for inserted residues
- Hyphens (
-) for gaps
MSA Pairing for Multimers
When folding multiple chains, MSA pairing ensures that sequences from the same organism appear in the same row across chains.Manual Pairing Example
For two chainsDEEP and MIND, manually pair sequences from organisms A and C:
When using manually paired MSAs, run with:This prevents deduplication that could destroy your carefully crafted sequence positioning.
Complete Example
References
Fromfolding_input.py:156-165:
folding_input.py:471-475: