Table of Contents

SPHIRE 1.0

Tutorial

Download

For this release, we officially support only the installer for CentOS6, which we tested carefully. Nevertheless, the EMAN2 download page provides the installers for CentOS7 and Mac also.

We did not test the CentOS7 installer, but from our experience it should work as well.

We did not test the Mac version.

SPHIRE does not support Windows.


Installation preparation

In order to avoid conflicts with existing installations, we recommend to use a system environment that does not contain any environment variables related to OpenMPI, EMAN2, EMAN, and SPHIRE installations.

Especially, the output of

echo $PATH

should not contain paths to any existing OpenMPI, EMAN2, EMAN, and SPARX installations and

which ompi_info

should output

ompi_info not found.

In case that one is still present, contact your system administrator and ask him/her to remove those PATH variables from the system wide environment settings.

Installation instructions

Binary installation

The following installation describes the installation of binary packages. (You can find additional information about the installation at the Installing EMAN2 page.)

Download the installer, run it by typing

  cd <Download directory>
  bash sphire_1_0.sh

and follow the instruction of the installer.

This creates the directory you specified during installation (default ${HOME}/EMAN2).

Now restart your terminal (Logout & Login) and make sure that the path to the <path to EMAN2 directory>/bin folder is present in your PATH variable afterwards.

  echo $PATH
  <path to EMAN2 directory>/bin:<more PATH content>

Continue with reinstalling OpenMPI.

Source code installation within an existing Anaconda installation

The following installation describes the installation from source code. (You can find additional information about the installation at the Installing EMAN2 page.)

Clone the git repository for this release:

  mkdir <path-where-you-want-eman2-source>   # eg - $HOME/src
  cd <path-where-you-want-eman2-source>
  
  git clone https://github.com/cryoem/eman2.git  # this will create an eman2 folder containing the current source code from the master branch
  cd eman2
  git checkout tags/v2.21a  # this will checkout the source code from the v2.21a tag
  cd ..

Check, if it has been successful:

  cd eman2
  git log | head -n 4
    commit c573a6e69183c2b223815578647d363d4bdf12be
    Merge: 2cfd8a5 7103c3c
    Author: Markus Stabrin <markus.stabrin@mpi-dortmund.mpg.de>
    Date:   Wed Feb 14 15:51:44 2018 +0100
  cd ..  

Right now, there is a problem with environmental variables, therefore please download this SKRIPT (sphire_1_0_reset.sh) to manual adjust your environment during installation. Create a new virtual environment with python 2.7.

  which conda
    PATH/TO/YOUR/ANACONDA/conda
  conda create -n sphire_1_0 python=2.7

Install dependencies:

  source activate sphire_1_0 or conda activate sphire_1_0 # Depending on your anaconda version
  conda install cmake=3.8 -c conda-forge
  conda install eman-deps=*=np19* -c cryoem -c defaults -c conda-forge
  conda install -n root conda-build=3.0.19 -c conda-forge
  source sphire_1_0_reset.sh

Create a <build-directory> (out-of-source builds are recommended) and prepare the installation process.

  mkdir <build-directory> # eg- $HOME/src/eman2-build
  cd <build-directory>
  cmake <path-to-eman2-source> -DENABLE_OPTIMIZE_MACHINE=ON -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON # eg - $HOME/src/eman2

Install SPHIRE from source.

  make -j
  make install

Continue with reinstalling OpenMPI.

Source code installation with its own Anaconda installation

The following installation describes the installation from source code. (You can find additional information about the installation at the Installing EMAN2 page.)

Clone the git repository for this release:

  mkdir <path-where-you-want-eman2-source>   # eg - $HOME/src
  cd <path-where-you-want-eman2-source>
  
  git clone https://github.com/cryoem/eman2.git  # this will create an eman2 folder containing the current source code from the master branch
  cd eman2
  git checkout tags/v2.21a  # this will checkout the source code from the v2.21a tag
  cd ..

Check, if it has been successful:

  cd eman2
  git log | head -n 4
    commit c573a6e69183c2b223815578647d363d4bdf12be
    Merge: 2cfd8a5 7103c3c
    Author: Markus Stabrin <markus.stabrin@mpi-dortmund.mpg.de>
    Date:   Wed Feb 14 15:51:44 2018 +0100
  cd ..  

Install Miniconda version 4.3 for python 2.7.

  wget https://repo.continuum.io/miniconda/Miniconda2-4.3.21-Linux-x86_64.sh
  bash Miniconda2-4.3.21-Linux-x86_64.sh -b -p <path-where-you-want-SPHIRE-installation>   # eg - $HOME/SPHIRE_1_0

Add the bin folder of the installation (eg - $HOME/SPHIRE_1_0/bin) to your PATH variable and, if possible, make sure to remove the variables LD_LIBRARY_PATH, DYLD_LIBRARY_PATH and PYTHONPATH for the installation process.

Check:

  which conda
    $HOME/SPHIRE_1_0/bin/conda

Install conda dependencies.

  conda install cmake=3.8 -c conda-forge
  conda install eman-deps=*=np19* -c cryoem -c defaults -c conda-forge
  conda install -n root conda-build=3.0.19 -c conda-forge

Create a <build-directory> (out-of-source builds are recommended) and prepare the installation process.

  mkdir <build-directory> # eg- $HOME/src/eman2-build
  cd <build-directory>
  cmake <path-to-eman2-source> -DENABLE_OPTIMIZE_MACHINE=ON -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON # eg - $HOME/src/eman2

Install SPHIRE from source.

  make -j
  make install

Continue with reinstalling OpenMPI.

Reinstall OpenMPI (Required)

The shipped version of OpenMPI and system wide OpenMPI installations will not work most of the time. That is why we recommend to follow the reinstallation process below. (If you wish to install your own OpenMPI, you can find information at the Installing EMAN2 page.)

Please check the information on our prepare submission installation site first, if there is already information about your queuing system.

1. Change to the installation directory you specified during installation

 cd <path to EMAN2 directory> 

2. Remove the OpenMPI provided:

 bash utils/uninstall_openmpi.sh 

3. Rebuild OpenMPI:

 bash utils/build_and_install_openmpi.sh 

4. Rebuild Pydusa:

 bash utils/build_pydusa_numpy.sh 1.9 --no-test --python=2.7

Note 2018/02/15: With the current version of installer, “no-test” option is necessary to avoid installation error. It is a known issue to be fixed in future.
5. Install Pydusa:

 bash utils/install_pydusa_numpy.sh 1.9 

Now restart your terminal (Logout & Login).

Test the installation

If the following commands do not throw any errors, the installation is successful.

Binary installation

  sparx
  In [1]: import mpi
  In [2]: Util.version()
    Source modification date: 02/05/2018  10:55 AM
  In [3]: quit
  
  e2version.py
    EMAN 2.21a final (GITHUB: 2018-02-14 08:53 - commit: None )
    Your EMAN2 is running on: Linux-2.6.32-431.23.3.el6.x86_64-x86_64-with-redhat-6.5-Santiago 2.6.32-431.23.3.el6.x86_64
    Your Python version is: 2.7.13

Source code installation

  sparx
  In [1]: import mpi
  In [2]: Util.version()
    Source modification date: 02/05/2018  10:55 AM
  In [3]: quit

  e2version.py
    EMAN 2.21a final (GITHUB: XXXX-XX-XX XX:XX - commit: v2.21a )
    Your EMAN2 is running on: XXX XXX
    Your Python version is: 2.7.13

Congratulations you installed SPHIRE!

Installations issues

During rebuild step 4, an error might occur.

Can't build /home/stevel/EMAN2/recipes/fftw-mpi due to environment creation error:
Downloaded bytes did not match Content-Length
  url: http://www.fftw.org/fftw-3.3.6-pl1.tar.gz
  target_path: /home/stevel/EMAN2/conda-bld/src_cache/fftw-3.3.6.tar.gz
  Content-Length: 4179807
  downloaded bytes: 208916

If you encounter this error, please do the following:
rm conda-bld/src_cache/fftw-3.3.6.tar.gz
bash utils/build_pydusa_numpy.sh 1.9 --no-test

Release notes

- SORT3D – A novel 3D sorting program based on novel concepts of reproducibility. We tested it on several high-resolution projects in our lab and were able to gain valuable and unparalleled insight into data heterogeneity.

- MERIDIEN – Rapid ML 3D refinement. We have introduced initialization of the program directly from 3D orientation parameters, as opposed to standard mode, which is initiated by an initial template structure. The new mode allows user to rapidly perform local refinements of data subsets obtained with SORT3D. The two programs, MERDEN and SORT3D, thus serve as a perfect tool for exploration of data set heterogeneity.

- We have streamlined the processing workflow and the GUI interface facilitating users’ interactions with the system.

- The new release is accompanied by extensive documentation including tutorials explaining the underlying concepts.

Installing Unblur & Summovie

Please follow the installation instructions on the developer's homepage.

Known Issues

A list of the known issues can be found here: SPHIRE 1.0 Known Issues