-
Notifications
You must be signed in to change notification settings - Fork 48
User guide: How to install Scipion 2.0 from sources
TO BE DEPRECATED - please check latest version of this page on https://scipion-em.github.io/docs/docs/scipion-modes/install-from-sources.html
You can install Scipion anywhere, as long as you have write permissions.
If you want to share Scipion installation among different users
you can use /usr/local
or a similar path. If it is only for you, you can
use your home directory as well. If you have a previous installation, we recommend starting
this installation fresh in a new folder.
Clone Scipion repository (install git if not present in your system):
git clone --depth 1 https://github.com/I2PC/scipion.git scipion2
cd scipion2
git fetch origin release-2.0.0-fixes:release-2.0.0-fixes
git checkout release-2.0.0-fixes
Git will create a scipion2
directory under your current path;
you do not need to create it manually.
To install Scipion from source, some development libraries are required. You can install them with (this example is for Debian/Ubuntu distros.
- For ubuntu 16:
sudo apt-get install gcc-5 g++-5 cmake openjdk-8-jdk libxft-dev libssl-dev libxext-dev libxml2-dev libreadline6 libquadmath0 libxslt1-dev libopenmpi-dev openmpi-bin libxss-dev libgsl0-dev libx11-dev gfortran libfreetype6-dev scons libfftw3-dev libopencv-dev curl
- For ubuntu 18:
sudo apt-get install gcc-5 g++-5 cmake openjdk-8-jdk libxft-dev libssl-dev libxext-dev libxml2-dev libreadline6-dev libquadmath0 libxslt1-dev libopenmpi-dev openmpi-bin libxss-dev libgsl0-dev libx11-dev gfortran libfreetype6-dev scons libfftw3-dev libopencv-dev curl
- For debian 9.7:
sudo apt-get install gcc-5 g++-5 cmake openjdk-8-jdk libxft-dev libssl-dev libxext-dev libxml2-dev libreadline7 libquadmath0 libxslt1-dev libopenmpi-dev openmpi-bin libxss-dev libgsl-dev libx11-dev gfortran libfreetype6-dev scons libfftw3-dev libopencv-dev curl
- For OpenSUSE 42.3
sudo zypper in gcc-c++ gcc5 gcc5-c++ cmake java-1_8_0-openjdk-devel libXft-devel-32bit openssl-devel libXext-devel-32bit libxml2-devel-32bit libreadline6 libquadmath0 libxslt1 openmpi-devel libXss1 libX11-devel-32bit libgfortran4 gcc-fortran libfreetype6 scons libfftw3-3 fftw3-devel libfftw3_threads3 libopencv3_1 opencv curl
- For OpenSUSE 15.0
sudo zypper in gcc-c++ cmake java-1_8_0-openjdk-devel libXft-devel-32bit openssl-devel libXext-devel-32bit libxml2-devel-32bit libreadline6 libquadmath0 libxslt1 openmpi-devel libXss1 libX11-devel-32bit libgfortran4 gcc-fortran libfreetype6 scons libfftw3-3 fftw3-devel libfftw3_threads3 libopencv3_3 curl
- For Centos 6 and Centos 7
sudo yum install gcc gcc-c++ cmake java-1.8.0-openjdk-devel libXft-devel openssl-devel libXext-devel libxml2-devel readline-devel libquadmath libxslt-devel openmpi-devel libX11-devel libgfortran freetype-devel scons fftw-devel opencv-devel curl centos-release-scl devtoolset-4 python27
Centos6: To be able to run python 2.7 (Scipion requirement), run
scl enable python27 bash
.
- Note 1 - gcc and g++
You might already have g++ and gcc installed, but it is important to have version 5 for compatibility with certain plugins like Xmipp3. Apart from installing them, you'll need to set them as defaults (e.g. updating the links resulting of typing which gcc
and which g++
to point to gcc-5
and g++-5
respectively, or using update alternatives as suggested here ).
- Note 2 - CUDA recommendations:
The following table contains the current compatibility of the plugins that use CUDA and have some restrictions with the CUDA versions. To maximize compatibility with all plugins we recommend to install CUDA-8.0, but it's up to you to choose a different version depending on the plugins you'd like to use (depending on this you might not need CUDA at all).
Plugins | CUDA-5.0 | CUDA-6.0 | CUDA-6.5 | CUDA-7.0 | CUDA-7.5 | CUDA-8.0 | CUDA-9.1 | CUDA-9.2 |
---|---|---|---|---|---|---|---|---|
motioncorr | ☑ | ☑ | ☑ | |||||
gctf | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ||
gautomatch | ☑ | ☑ | ☑ | |||||
xmipp | ☑ |
Configure
After installing the dependencies, you can proceed to generate configuration files. If you had a previous Scipion installation, it is a good idea to rename your current config files ~/.config/scipion/scipion.conf
and <your_scipion_home>/config/scipion.conf
. Now run:
cd scipion2
./scipion config
You will be asked to share scipion usage only data. Sharing usage data will help to make Scipion better.
This command will generate the configuration files (if not present) and will try to automatically find configuration paths.
If everything is OK (all green in the output) you can proceed to the next step. If there
is a problem (red coloured output), you will need to edit config/scipion.conf
file in your preferred text editor and run ./scipion config
again.
NOTE: You can tell scipion to use a specific config file at execution time with
scipion --config [SCIPION CONFIG FILE]
In this case, the config file should be "complete", a merge fo both config files.
This could be useful to centralize configuration in clusters avoiding the "user config" file.
One known change for Ubuntu 18 are the MPI paths in <your_scipion_home>/config/scipion.conf
:
MPI_LIBDIR = /usr/lib/x86_64-linux-gnu/openmpi/lib
MPI_INCLUDE = /usr/lib/x86_64-linux-gnu/openmpi/include/
Read more about editing the configuration file.
The file config/hosts.conf
contains
some properties of the execution machine. This configuration file is particularly important for
clusters that use a Queue System. If you are installing Scipion on a cluster, you probably will want to check how to configure an execution host.
Compile
To compile and install Scipion, just run:
./scipion install -j 5
-j 5
tells the Scipion installer to use 5 processors (cores) for
compilation. You should adjust this value according to your system.
If you have problems compiling Scipion, see Troubleshooting page.
Scipion can use many EM plugins. It is almost mandatory to install scipion-em-xmipp
(i.e. Scipion will run without it but with very limited functionality).
-
For developers: Developers might want to build xmipp from the latest development version, please head here if this is your case. You might also want to check how to install plugins from the command line.
-
For users: To list and install plugins including Xmipp, you can use the Plugin manager as shown below (recommended) or alternatively, use the command line tool mentioned for developers.
- Run Scipion
./scipion
Because we haven't installed xmipp yet, you'll see a message saying something like this in the terminal:
Scipion v2.0 (2019-03-12) Diocletian (release-2.0.0-fixes 50b9908) >>>>> python /home/yaiza/Desktop/scipion/pyworkflow/apps/pw_manager.py >>> WARNING: Xmipp binaries not found. Ghost active.....BOOOOOO! > Please install Xmipp to get full functionality. (Configuration->Plugins->scipion-em-xmipp in Scipion manager window)
- Open Plugin Manager (it will take a minute to load)
- Select Xmipp to install it by clicking on the empty checkbox on the left.
- Add the number of processors you'd like to use (the more, the merrier!). Then click on the install button on the operations tab
- Now we can check the progress on the Output log tab (or go make some coffee, Xmipp installation will take a bit!). You might have to refresh the logs by clicking on the refresh symbol on the right. Please note that messages might not appear in order if we are using more than 1 processor.
- When the operation gets a green check, it's done!
Note: if xmipp installation fails, you might have to uninstall it with the plugin manager:
And manually remove leftover elements:
rm -rf software/em/xmipp*
- Now when we close and re-launch Scipion, we should get no messages.
Scipion v2.0 (2019-03-12) Diocletian (release-2.0.0-fixes 50b9908) >>>>> python /home/yaiza/Desktop/scipion/pyworkflow/apps/pw_manager.py
Please refer to the Plugin manager guide to get more details about plugin installation options.
After Scipion is installed and properly working (see how to run tests in the next section) one could clean some temporary files to free some disk space after installation.
Remove the files under software/tmp
folder:
rm -rf sofware/tmp/*
The downloaded .tgz files of the EM packages can also be removed:
rm -rf sofware/em/*.tgz
- Test your installation by running at least the Small and Medium tests mentioned in running tests page.
- Complete some of the Scipion Tutorials.