Installation with Scipion#

Requirements#

  • git to clone install repository and other plugins

  • wget to download some files

  • python to run the install script

Steps#

The following steps will guide you through the Scipion installation. Please be patient while conda resolves dependencies and environment libraries. Installation does not require any admin privileges on your computer or compiler tools.

Replace SCIPION_FOLDER in the following command with the path where you wish to install Scipion.

git clone https://github.com/delarosatrevin/scipion-install.git
cd scipion-install
python ./install.py SCIPION_FOLDER

After this, you should have a basic Scipion 3.0 installation in SCIPION_FOLDER. You can load the Scipion environment by:

source SCIPION_FOLDER/bashrc

EMhub should also be available and ready to launch as it was in the previous installation method.

Installing other EM programs#

If we are installing EMhub with Scipion, it is because we want to use some external CryoEM programs to run on-the-fly processing. The following are instructions for installing the binaries and configuring Scipion to use them.

First, let’s install the binaries of some of these packages and then update the configuration accordingly. In our case, binaries will be downloaded/installed under SCIPION_FOLDER/EM, and this path is referred to as $EM_ROOT in the configuration file: SCIPION_FOLDER/config/scipion.conf.

After program installation and configuration to be used within Scipion, one can run some tests to check if it works. Most of these tests will download test data under the folder SCIPION_FOLDER/data/tests. Each test dataset will only be downloaded once unless some file changes.

Motioncor#

scipion installb motioncor2

This command should download binaries and create a folder under SCIPION_FOLDER/EM. At the moment of this writing, it was motioncor2-1.6.4. The folder should contain a bin directory with multiple binaries for several CUDA versions.

Next, edit SCIPION_FOLDER/config/scipion.config and set proper values for motioncor-related variables:

MOTIONCOR2_CUDA_LIB = /usr/local/cuda-11.6/lib64
MOTIONCOR2_HOME = $EM_ROOT/motioncor2-1.6.4/
MOTIONCOR2_BIN = MotionCor2_1.6.4_Cuda116_Mar312023

To check that it is working fine, we can run the following tests:

scipion test motioncorr.tests.test_protocols_motioncor.TestMotioncorAlignMovies

Ctffind and Cistem#

ctffind in Scipion needs the Cistem plugin, we can either install it or just create the expected folder before proceeding.

mkdir $SCIPION_EM/cistem-1.0.0-beta
# OR: scipion installb cistem

scipion installb ctffind4

Config variable:

CTFFIND_HOME = $EM_ROOT/ctffind4-4.1.14

Run test:

scipion test cistem.tests.test_protocols_cistem.TestCtffind

Cryolo#

scipion installb cryolo cryolo_model

In this case, it will install two new conda environments: one for using cryolo on GPU and another one that could be used without GPU (cryoloCPU). Additionally, the latest cryolo trained models will be downloaded. The config variables specify how to activate these environments. If cryolo is installed on your system, you can skip the previous command and edit the configuration accordingly.

CRYOLO_ENV_ACTIVATION = conda activate cryolo-1.9.7
CRYOLO_ENV_ACTIVATION_CPU = conda activate cryoloCPU-1.9.7
CRYOLO_GENERIC_MODEL = $EM_ROOT/cryolo_model-202005_nn_N63_c17/gmodel_phosnet_202005_nn_N63_c17.h5

Run some tests:

scipion installb cryolo cryolo_model

Relion#

Currently, Relion 4.0 is the primary supported version in Scipion. It would be best for you to install Relion separately and then link it to the EM folder. For example, if Relion is installed in your system in the path RELION_4.0_FOLDER, then one can do:

cd SCIPION_FOLDER/EM
ln -s RELION_4.0_FOLDER relion-4.0

Config variables could be something like:

RELION_CUDA_LIB = /usr/local/cuda-11.6/lib64
RELION_CUDA_BIN = /usr/local/cuda-11.6/bin
RELION_MPI_LIB = /usr/local/mpich-3.2.1/lib
RELION_MPI_BIN =/usr/local/mpich-3.2.1/bin
RELION_HOME = $EM_ROOT/relion-4.0
# Activation of the environment used for selection of good 2D classes
RELION_ENV_ACTIVATION = conda activate topaz-0.2.5

Some tests to check if relion is configured correctly:

scipion test relion.tests.test_workflow.TestWorkflowRelionBetagal