We forked OpenFold and cleaned up a few installation details for ROCKET users.
Plan for a GPU machine, enough free disk space, and a clean environment before you start.
Note: The openfold installation requires approximately 6 GB of free space to download weights. Please ensure you start in a directory with sufficient available space.
Note: To ensure a smooth installation and execution of ROCKET, install on a GPU machine that matches the hardware you’ll use in production. In other words, for HPC users, if you plan to run your code on a node with a particular GPU model, request the same GPU model when you install OpenFold. This is important because the installation process performs hardware-specific compilation. We also recommend using GPUs with CUDA Compute Capability 8.0 or higher.
Clone our fork of the OpenFold repo, switch to the pl_upgrades branch to work with CUDA 12:
Create a conda or mamba environment with environment.yml. Mamba is recommended because the dependency set is large. If you use Conda instead, replace mamba with conda in the commands below.
Note: If you work with an HPC cluster with package management like module, purge all your modules before this step to avoid conflicts.
We keep flash-attn outside the YAML so you can install a compatible version manually. This OpenFold branch uses PyTorch 2.1. The latest flash-attn will not work. The --no-build-isolation flag also lets ninja speed up compilation.
Install a compatible flash-attn build:
pipinstallflash-attn==2.2.2--no-build-isolation
Run the setup script:
./scripts/install_third_party_dependencies.sh
Add the following lines to <path_to_your_conda_env>/etc/conda/activate.d/env_vars.sh. Create the file if it does not exist.
<ABSOLUTE_PATH_TO_OPENFOLD_FOLDER> should be the output of pwd -P you get from the OpenFold repo path.
Deactivate and reactivate your environment. Then confirm the path:
echo$OPENFOLD_RESOURCES
Check your OpenFold build with unit tests:
./scripts/run_unit_tests.sh
Ensure you see no errors:
...
Time to load evoformer_attn op: 243.8257336616516 seconds
............s...s.sss.ss.....sssssssss.sss....ssssss..s.s.s.ss.s......s.s..ss...ss.s.s....s........
----------------------------------------------------------------------
Ran 117 tests in 275.889s
OK (skipped=41)
2. Install Phenix
Required for automatic preprocessing and post-refinement.
Use an absolute install path for Phenix. It avoids path issues later.
Phenix is required for automatic data preprocessing and for post-refinement when polishing final model geometry. Follow the steps below to install it and add the path to the system environment variables: