name: protenix
description: >
Structure prediction using Protenix, ByteDance's open-source PyTorch reproduction
of AlphaFold 3. Use this skill when:
(1) Predicting protein/DNA/RNA/ligand/ion complex structures,
(2) Need AF3-level accuracy with open-source code,
(3) MSA-free fast prediction (--no-use-msa),
(4) Multi-seed ensemble predictions,
(5) Alternative to Chai or Boltz for validation.
For QC thresholds, use protein-qc.
For Chai prediction, use chai.
For Boltz prediction, use boltz.
license: MIT
category: design-tools
tags: [structure-prediction, validation, af3, open-source]
source: https://github.com/hgbrian/biomodals
Protenix Structure Prediction
Protenix is an open-source PyTorch reproduction of AlphaFold 3 by ByteDance.
Supports: protein, DNA, RNA, ligand (SMILES), ion.
Prerequisites
| Requirement |
Minimum |
Recommended |
| Python |
3.12+ |
3.12 |
| GPU VRAM |
24GB |
48GB (L40S) |
How to run
FASTA input (simplest)
# Single protein
echo ">protein|A
MAWTPLLLLLLSHCTGSLSQPVLTQPTSLSASPGASARFTCTLRSGINVGTYRIYWYYQQKPGSLP" > test.faa
modal run modal_protenix.py --input-faa test.faa
Protein complex
cat > complex.faa << 'EOF'
>protein|A
MKTAYIAKQRQISFVKSHFSRQLERRLEQLKQLEQQ...
>protein|B
MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFL...
EOF
modal run modal_protenix.py --input-faa complex.faa --seeds "42,43,44"
With ligand (SMILES)
cat > protein_ligand.faa << 'EOF'
>protein|A
MKTAYIAKQRQISFVKSHFSRQLE...
>ligand|caffeine
CN1C=NC2=C1C(=O)N(C(=O)N2C)C
EOF
modal run modal_protenix.py --input-faa protein_ligand.faa
With MSA (higher accuracy, slower)
modal run modal_protenix.py --input-faa complex.faa --use-msa
JSON input (native Protenix format)
[
{
"name": "my_complex",
"sequences": [
{"proteinChain": {"sequence": "MKTAYIAKQRQISFVK...", "count": 1}},
{"proteinChain": {"sequence": "MVLSPADKTNVKAA...", "count": 1}}
]
}
]
modal run modal_protenix.py --input-json complex.json
Key parameters
| Parameter |
Default |
Description |
--input-faa |
- |
FASTA input file |
--input-json |
- |
JSON input (native format) |
--seeds |
"42" |
Random seeds, comma-separated |
--use-msa |
off |
Enable MSA (higher accuracy) |
--no-use-msa |
on |
Skip MSA (faster) |
Supported entity types
| FASTA header |
Type |
Example |
>protein|A |
Protein chain A |
standard proteins |
>dna|A |
DNA chain |
ATCGATCG |
>rna|A |
RNA chain |
AUCGAUCG |
>ligand|name |
Small molecule |
SMILES string as sequence |
>ion|name |
Metal ion |
ZN, MG, CA |
Output format
output/
├── predictions/
│ ├── my_complex_seed-42_sample-0.cif # Best model
│ ├── my_complex_seed-42_sample-1.cif
│ └── confidence_my_complex_seed-42.json # pLDDT, pTM, ipTM
Protenix vs Chai vs Boltz
| Feature |
Protenix |
Chai-1 |
Boltz-1 |
| Based on |
AF3 |
Novel |
Novel |
| MSA |
Optional |
No |
No |
| DNA/RNA |
Yes |
Yes |
Yes |
| Speed (no MSA) |
Fast |
Fast |
Fast |
| GPU needed |
L40S |
A100 |
L40S |
Typical performance
| Campaign |
Time (L40S) |
Cost (Modal) |
| 100 complexes |
30-45 min |
~$8 |
| 500 complexes |
2-3h |
~$35 |
Troubleshooting
| Error |
Cause |
Fix |
CUDA out of memory |
Complex too large |
Use A100-80GB |
KeyError: 'iptm' |
Single chain |
Ensure 2+ chains |
Invalid entity type |
Bad FASTA header |
Check protein|A, ligand|name |
Next: protein-qc for filtering and ranking.