π οΈInstallation Instructions
Start by cloning the CryoBench git repository; note that we also have to fetch the codebases for some of the example methods through their git submodules:
git clone --recurse-submodules git@github.com:ml-struct-bio/CryoBench.gitYou will also have to install ChimeraX, which can be done by downloading the correct version for your operating system from their website. For CryoBench to find your installation, create an environment variable pointing to its location:
export CHIMERAX_PATH="/myhome/software/chimerax-1.6.1/bin/ChimeraX"Method-specific instructions
We developed CryoBench as a tool for quantitatively evaluating a set of reconstruction methods. Shown here are instructions for creating a conda environment for running each of these example methods, as well as for measuring the quality of the reconstructions.
Installing each method generally means following the instructions provided by the developers, while creating the corresponding CryoBench environment entails repeating the steps of the method installation as necessary and then installing CryoBench dependencies using the repository's requirements.txt file along with a compatible version of cryoDRGN.
The scripts we have provided for each method are generally designed to work with the output of a range of versions of the method, and to have a specific version of the method installed for CryoBench:
CryoDRGN
Create an environment for running cryoDRGN models. Here we specify a recent version; CryoBench is compatible with cryoDRGN v3.x outputs:
$ conda create --name cryodrgn_model python=3.10
$ conda activate cryodrgn_model
(cryodrgn_model)$ pip install 'cryodrgn==3.4.2'Next, create an environment for running CryoBench analyses on cryoDRGN output using the requirements.txt and an older version of cryoDRGN compatible with CryoBench code:
DRGN-AI
For running DRGN-AI reconstruction we use the latest version available through Git. CryoBench supports handling DRGN-AI output up to v0.3.1:
For running CryoBench analyses on DRGN-AI output we use a specific version of DRGN-AI, along with the necessary CryoBench dependencies as described above:
OPUS-DSD
For this package we have to use their custom dependency list, and then install the package from the cloned submodule using pip install -e (non-developer mode does not work). CryoBench has been tested with OPUS-DSD v1.0.0; this is the version that is attached as a submodule under metrics/methods/opusDSD:
We repeat the same steps for CryoBench analyses, also installing CryoBench dependencies at the end. In this case we can use the version of cryoDRGN installed with OPUS-DSD itself for CryoBench as well:
RECOVAR
In the case of RECOVAR, as per their instructions, we have to install a specific version of jax on top of their custom requirements list, along with setting some bash environment variables and creating a special ipykernel installation. You may find it necessary to install a different version of jax that is compatible with your version of CUDA:
CryoBench has been tested with a specific commit of the RECOVAR repository, which is also the commit used by the RECOVAR submodule within the CryoBench repo.
For running CryoBench we can avoid redefining the environment variables if creating the environment in the same session. Note that for installation to work correctly, the CryoBench/requirements.txt dependencies must be installed before the remaining RECOVAR dependencies:
CryoSPARC
CryoSPARC is typically accessed through a graphical interface installed by your system administrator, and not through a command-line interface as with the other example methods. We hence assume that such a GUI will be used to generate reconstruction output for subsequent examples.
For running CryoBench on outputs generated by CryoSparc, we create an environment similar to cryodrgn_benchabove β you can also instead use the same environment for both sets of analyses:
You will also need to replace lines in cryosparc_3dflex.pyif doing analyses on 3D Flex outputs:
CryoBench has been tested using the output of CryoSPARC v4.6.0.
Last updated