Installation

Before installing the library, make sure you have the following dependencies installed:

  • numpy

  • scipy

  • torch: for GPU acceleration

  • matplotlib: for plotting

  • finufft: for non-uniform FFT

  • cufinufft: GPU version of finufft

  • tqdm: for progress bar

  • mrcfile: for reading MRC files

  • mdtraj: for reading PDB files and atom selection

  • pydantic: for data validation

  • starfile: for reading/writing starfiles

If you are using a venv virtual environment:

$ python3 -m venv ./venv/
$ source ./venv/bin/activate
(venv) $ pip install numpy scipy matplotlib tqdm mrcfile mdtraj pydantic starfile
(venv) $ pip install torch torchvision
(venv) $ pip install finufft
(venv) $ pip install cufinufft

Note that the torch installation might depend on your system, please refer to the pytorch official website for the pytorch installation guide. For detailed installation of finufft and cufinufft, please refer to the official FINUFFT website. Some environments recommend using the --system-site-packages flag with the virtual environment; if in doubt, consult your local system administrator.

Next, install the CryoLike Python library itself. Clone the repository and run the following command in the /python directory of the repository:

(venv) $ pip install .

To test the installation, run the following commands:

(venv) $ pip install pytest pytest-cov
(venv) $ pytest

Note that this requires installing pytest and pytest-cov in addition to the dependencies above; these are not necessary during normal usage. If you wish to avoid running tests locally, you can also just step through the examples distributed with the repository (see the examples section).