Skip to content
This repository was archived by the owner on Apr 26, 2023. It is now read-only.

User guide: How to install Scipion 2.0 from sources

yaizar edited this page Apr 3, 2019 · 38 revisions

http://scipion.cnb.csic.es

TO BE DEPRECATED - please check latest version of this page on https://scipion-em.github.io/docs/docs/scipion-modes/install-from-sources.html

Installing Scipion 2.0 from sources

Step1: Download

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.

From GitHub

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.

Step2: Dependencies

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

Step3: Configure and Install

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.

Step 4: Installing Xmipp3 and other EM Plugins

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.

Step 5: Cleaning up (Optional)

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

Next Steps

Clone this wiki locally