OpenFold is an artificial-intelligence method for predicting biomolecular structures consisting of proteins, RNA, DNA, and other molecules such as ligands, cofactors, and drugs [OpenFold3 documentation]. Based on AlphaFold 3, OpenFold 3 is fully open-source and freely available for both academic and commercial use under the Apache 2.0 license. Any work that cites OpenFold 3 should also cite AlphaFold 3:
Accurate structure prediction of biomolecular interactions with AlphaFold 3. Abramson J, Adler J, et al. Nature. 2024 Jun;630(8016):493-500.
The openfold command is also implemented as the OpenFold tool.
The predicted structures vary in confidence levels (see coloring) and should be interpreted with caution. Residue-residue predicted aligned error (PAE) values can be plotted with alphafold pae. See OpenFold structure prediction in ChimeraX. See also: alphafold, boltz, esmfold, modeller, computational screening for protein-protein interactions
Installing OpenFold
Running an OpenFold Prediction
Reopening Batch Ligand Predictions
Running OpenFold on a Server
Limitations
Usage: openfold install [ directory ] [ downloadModelWeights true | false ] branch branch-name
The openfold install command creates a Python virtual environment to install the ChimeraX OpenFold fork Github. If no directory is specified, then ~/openfold3 in the user's home directory is used. The directory will be created, or if it already exists must be empty. The OpenFold network parameters are downloaded to ~/.openfold3.
The install uses a fork of the OpenFold repository https://github.com/RBVI/openfold-3. It uses git branch chimerax_openfold of this fork unless the branch option is specified, in which case it installs the specified branch.
The ChimeraX Python executable is used to create the virtual environment. If the ChimeraX installation is moved or deleted, OpenFold will need to be reinstalled. It will also stop working if the openfold directory itself is moved since the executable refers to the install location to find python. (Otherwise, the installation need only be done once per computer.)
The following commands are used to make the virtual environment and install OpenFold. On Windows, if Nvidia graphics is detected, a version of torch with CUDA 12.6 support is installed before openfold.
python -m venv directory
directory/bin/python -m pip install torch --index-url https://download.pytorch.org/whl/cu126 # On Windows with Nvidia GPU only.
directory/bin/python -m pip install openfold
directory/bin/python chimerax/site-packages/openfold/download_weights.py
Usage: openfold predict [ sequences ] [ protein sequences ] [ dna sequences ] [ rna sequences ] [ ligands residue-spec [ excludeLigands CCD-names ]] [ ligandCcd CCD-names ] [ ligandSmiles SMILES-string ] [ forEachSmilesLigand name,SMILES-string,name,SMILES-string... ] [ name prediction-name ] [ resultsDirectory directory ] [ device default | cpu | gpu ] [ precision 32-true | 16-true | bf16-true | bf16-mixed ] [ samples N ] [ seed K ] [ useMsaCache true false ] [ msaOnly true false ] [ open true false ] [ installLocation directory ] [ wait true false ] [ useServer true false [ serverHost server-hostname ][ serverPort port-number ]]
Biopolymer chains.
The sequences of biopolymer chains to predict can be given as a
comma-separated list of any of the following:
If given with the protein, dna, or rna keywords, the sequences argument can be of the same form as described above, but chains other than protein, DNA, or RNA (respectively) will be excluded. The dna option will interpret single-letter codes as DNA, the rna option will interpret single-letter codes as RNA, and neither will accept UniProt identifiers since they are only for protein chains. The protein, dna, and rna options can be used more than once in the same command.
Ligand, cofactor, and ion components.
Residues present in currently open structures can be specified with
ligands residue-spec,
optionally with excludeLigands to omit specific types from that set.
For example, if ligands #1 was given but not all of
the small molecules in #1 are wanted, excludeLigands
would be used to list which residue types to omit.
Residues to exclude are specified by a comma-separated list of their
3- or 5-letter residue names in the PDB Chemical Component Dictionary (CCD).
By default, CCD name HOH (water) is excluded.
Ligands to include can also be specified by a comma-separated list of
CCD names with the ligandCcd option, or by a comma-separated list of
SMILES strings with the ligandSmiles option.
The ligandCcd and ligandSmiles options can be used more than
once in the same command.
Batch predictions of different ligands with the same macromolecular
chains.
The forEachSmilesLigand option is for batch prediction of the structures
of different small-molecule ligands in complex with the same set of
biopolymeric components (protein and/or nucleic acid chains).
The ligands are specified as a comma-separated list of names and SMILES strings.
Calculation options:
Usage: openfold ligandtable runDirectory [ alignTo chain-spec ]
The openfold ligandtable command opens a previously calculated set of batch ligand predictions and shows them in a table. The results are found under runDirectory (where OpenFold was run). This directory can be specified as a pathname or the word browse to specify it interactively in a file browser window. The alignTo option indicates that any results opened with the table's Open button should be superimposed on the specified structure chain.
Usage: openfold server start [ host hostname ] [ port port-number ] [ openfoldExe executable-path ] [ jobsDirectory directory ] [ device gpu | cpu ] [ gpus gpu-ids ] [ extraOptions options ]
Usage: openfold server list
Usage: openfold server fetch [ local-directory ] [ open true | false ]
Running OpenFold on a server (more powerful than the local machine) allows for faster predictions and enables predicting larger structures. There are options in the OpenFold tool and the openfold predict command to use the server. A user can quit from ChimeraX while the server job is still running, then retrieve the results later (after resuming use of ChimeraX) from the OpenFold History tool or with the openfold server fetch command. See also: OpenFold Prediction Server
The server can be Linux, Windows, or Mac. The service must be set up by installing ChimeraX (from February 13, 2026 or later) on the server computer and running the following commands.
chimerax --nogui
> openfold install
> openfold server start
> exit
The example above starts ChimeraX in text-only mode, but the openfold commands could just as well be entered into the ChimeraX GUI. Exiting from ChimeraX leaves the server running. The server listens for prediction requests from ChimeraX from other computers, runs the predictions, and returns the results. By default, the server saves jobs files in the directory: ~/openfold_server_jobs
Options for openfold server start:
The openfold server list command lists in the Log any active jobs, defined as those which were still running when the user quit from ChimeraX. The job identifiers, server hostname, and port numbers are listed, along with job status (finished, running, or waiting to run).
The openfold server fetch command retrieves the results of finished jobs. Options for openfold server fetch:
There is currently no command to stop the OpenFold server. On Linux or Mac, the process ID can be determined and the process killed with shell commands:
$ ps -axww | grep openfold
34435 ChimeraX.app/bin/python3.11 ChimeraX.app/lib/python3.11/site-packages/chimerax/openfold/server.py ...
$ kill 34435
On Windows, the Task Manager can be used to find the openfold server process and force quit from it. Similarly, on Mac, the Activity Monitor can be used to find the openfold server process and force quit from it.