Table of Contents

SPHIRE 1.2

What's New

Main features added in this release:

Tutorial

SPHIRE 1.2 tutorial

Download

The installer uses Anaconda, which should install independently of the choice of Linux distribution. The Mac installer is experimental. SPHIRE does not support Windows.


Installation preparation

Libraries that needs to be installed in advance:

- OpenGL

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 ompi_info 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_2_linux.sh # or for Mac: bash sphire_1_2_mac.sh

and follow the instructions given by the installer.

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

Now restart your terminal (log out & log in) 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 Pydusa.

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>   # e.g., $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.3  # this will checkout the source code from the v2.3 tag
  cd ..

Check if it has been successful:

  cd eman2
  git log | head -n 4
    commit 6aaac88e2763318efb61ae5a06681e9357f81adf
    Author: Pawel Penczek <pawelpap@att.net>
    Date:   Thu Apr 25 14:03:56 2019 -0500
  cd ..  

Create a new virtual environment with python 2.7.

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

Install dependencies:

  source activate sphire_1_2 or conda activate sphire_1_2 # The 'conda create' command above should tell you which
  conda install cmake=3.9 -c conda-forge
  conda install eman-deps=14 -c cryoem -c defaults -c conda-forge
  conda install -n root conda-build -c conda-forge

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

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

Install SPHIRE from source.

  make -j
  make install

Continue with reinstalling Pydusa.

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>   # e.g., $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.3  # this will checkout the source code from the v2.3 tag
  cd ..

Check if it has been successful:

  cd eman2
  git log | head -n 4
    commit 6aaac88e2763318efb61ae5a06681e9357f81adf
    Author: Pawel Penczek <pawelpap@att.net>
    Date:   Thu Apr 25 14:03:56 2019 -0500
  cd ..  

Install Miniconda version 4.5 for python 2.7.

  wget https://repo.continuum.io/miniconda/Miniconda2-4.5.4-Linux-x86_64.sh
  bash Miniconda2-4.5.4-Linux-x86_64.sh -b -p <path-where-you-want-SPHIRE-installation>   # e.g., $HOME/SPHIRE_1_2

Add the bin folder of the installation (e.g., $HOME/SPHIRE_1_2/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_2/bin/conda

Install conda dependencies.

  conda install cmake=3.9 -c conda-forge
  conda install eman-deps=14 -c cryoem -c defaults -c conda-forge
  conda install -n root conda-build -c conda-forge

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

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

Install SPHIRE from source.

  make -j
  make install

Continue with reinstalling Pydusa.

Reinstall Pydusa (Required)

Prerequisits

0. Install pytz

python -m pip install pytz

Reinstall OpenMPI (Might be necessary)

The shipped version of OpenMPI and system wide OpenMPI installations might not work most of the time. That is why we recommend following the reinstallation process below (If you wish to install your own version of OpenMPI, you can find information below existing OpenMPI installation.)

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> # e.g., $HOME/SPHIRE_1_2 (binary, source with own anaconda) or $ANACONDA_INSTALL/envs/SPHIRE_1_2 (source within existing anaconda) 

2. Remove the OpenMPI provided:

 bash utils/uninstall_openmpi.sh 

3. Rebuild OpenMPI:

 bash utils/build_and_install_openmpi.sh 

Existing OpenMPI installation

Most Linux clusters will have at least one OpenMPI installation on the cluster. In some cases there may be more than one, and you may have to select a “module” to get the correct one. It is also critical that OpenMPI be compiled with the –disable-dlopen option. If you don't understand this statement, please consult with your cluster sysadmin.

1. Remove the OpenMPI we provided:

bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh

2. Make sure that the correct OpenMPI for your cluster is in your path.

You should be able to run 'mpicc' and get a message like 'gcc: no input files'.

Build pydusa

1. Rebuild Pydusa:

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

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

 bash utils/install_pydusa_numpy.sh 1.13 

Now restart your terminal (log out & log in).

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.22 final (GITHUB: 2018-08-22 11:59 - commit: v2.22 )
    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.14

Source code installation

» sparx
Python 2.7.14 |Anaconda, Inc.| (default, Mar 27 2018, 17:29:31)
Type "copyright", "credits" or "license" for more information.

IPython 5.8.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Welcome to the interactive SPARX-GUI Python interface, provided by ipython
   SPHIRE v1.2 (GitHub: 2019-04-25 09:34)

In [1]: import mpi

In [2]: Util.version()
   Source modification date: 03/02/2019

In [3]: quit

» e2version.py  
EMAN 2.3 final (GITHUB: 2019-04-25 09:34 - commit: 67c1712 )  
Your EMAN2 is running on: XXX XXX  
Your Python version is: 2.7.14  

Congratulations! You installed SPHIRE!

Installation 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.13 --no-test

Known Issues