-
Notifications
You must be signed in to change notification settings - Fork 9
A new repository (with deleted history) in preparation for release 3.0 of SIMPLE
License
hael/SIMPLE
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
_______ _____ _______ _____ _______
|______ | | | | |_____] | |______
______| __|__ | | | | |_____ |______ v3b1
https://github.com/hael/SIMPLE/releases/tag/v3.0.0
ABOUT
Single-particle IMage Processing Linux Engine (SIMPLE) is an open-source software package for analysis of cryogenic transmission electron microscopy (cryo-EM) movies of single-particles (Single-Particle Analysis, SPA). SIMPLE includes a full SPA processing pipeline and a streaming SPA platform for informing data acquisition in real time, using only minimal CPU computing resources. Our stream SPA tool implements the steps of anisotropic motion correction, particle identification and 2D clustering with automatic class rejection. SIMPLE features an easy-to-use web-based graphical user interface that can be run on any device (workstation, laptop, tablet or iphone) and supports remote multi-user execution over the network. The project-based execution model automatically records the executed workflow, facilitates meta-data handling and greatly simplifies usage. Using SIMPLE, it is possible to automatically obtain a clean SP data set amenable to high-resolution 3D reconstruction directly upon completion of the data acquisition, without the need for extensive batch image processing.
SIMPLE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the license, or (at your option) any later version. SIMPLE is distributed with the hope that it will be useful, but WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
INSTALLATION INSTRUCTIONS
System Requirements:
- Linux: (we use Ubuntu 16.04 and above)
- MacOSX: 10.10 and above
- CMake 3.5 and above
- FFTW 3.3 and above
- GNU toolchain (gcc & gfortran) 14.2 and above
- libTIFF 4+ (for TIFF format support, ensure dev packages installed)
- jbigkit 2+ (for TIFF format support, ensure dev packages installed)
Installation:
1. Obtain the source code for the desired SIMPLE release.
https://github.com/hael/SIMPLE/releases/tag/v3.0.0
$ gunzip SIMPLE-3.0.0.tar.gz
$ tar -xvf SIMPLE-3.0.0.tar
$ cd SIMPLE-3.0.0
Or to use the nightly build:
$ git clone https://github.com/hael/SIMPLE.git
$ cd SIMPLE
2. create a directory for the build
$ mkdir build
$ cd build
3. Compile and install in the 'build' directory
$ cmake ..
$ make -j install
For users who do not wish to install TIFF support (only required for motion correction), type instead:
$ cmake -DUSE_LIBTIFF=OFF ..
$ make -j install
Upon completion, compilation will finish with the following message
Installation complete.
==========================================================================
Please ensure the following variables are set properly in add2.*rc file:
SIMPLE_EMAIL SIMPLE_QSYS SIMPLE_PATH
To use SIMPLE, append the relevant add2.* to your HOME shell rc file:
bash$ cat add2.bashrc >> ~/.bashrc
tcsh$ cat add2.tcshrc >> ~/.tcshrc
==========================================================================
Alternatively, for minimal installation to work correctly add:
<simple_path>/build/bin and
<simple_path>/build/scripts
to your PATH environment variable.
==========================================================================
4. To complete installation the relevant environment variables need to be set. To run SIMPLE the <simple_path>/build/bin and <simple_path>/build/scripts paths need to be in the PATH environment variable. The SIMPLE_PATH environment variable must also be defined. Shell scripts are provided for this purpose. BASH users should append the contents of add2.bashrc to their home ~/.bashrc:
$ cat add2.bashrc >> ~/.bashrc
and for TCSH/CSH users:
$ cat add2.tcshrc >> ~/.tcshrc
INSTALLATION NOTES
If you wish to provide an alternative installation directory, substitute step 3 with
$ cmake -DCMAKE_INSTALL_PREFIX=<alternative directory> ..
$ make -j install
Step 3 assumes that GNU gfortran and FFTW are installed in fairly standard directories on your machine. In case you have a more exotic setup you can provide the paths pointing to your custom gcc/gfortran & FFTW by substituting step 3 with
$ FC=<gfortran path> CC=<gcc path> FFTW_DIR=<FFTW path> cmake ..
$ make -j install
For instance, on MacOS such locations could be:
- Macports: FC=/opt/local/bin/gfortran FFTW_DIR=/opt/local
- Fink users: FC=/sw/bin/gfortran FFTW_DIR=/sw/
- Homebrew: FC=/usr/local/bin/gfortran FFTW_DIR=/usr/local/
For more advanced FFTW installations, see *Installation of FFTW* below.
TESTING THE BUILD
To ensure that SIMPLE has been correctly installed, we recommend running the application simple_test_install. It will perform elementary tests of the base components in the SIMPLE library. Execute the following in a separate terminal to ensure the environment variables have been correctly set:
$ simple_test_install
The program will create its own folder SIMPLE_TEST_INSTALL*date* where temporary files are stored. Upon succesful completion you should see
$ **** SIMPLE_TEST_INSTALL NORMAL STOP ****
simple_test_install can be executed anywhere and the folder created can be safely removed. If any of the individual tests fail an error message will be displayed. If you detect an error, please carefully check the SIMPLE and FFTW installations and the gfortran version. If you still have issues, please file a help ticket on the webpage.
### Installation of FFTW
SIMPLE requires three versions of the FFTW library. A double-precision, a single-precision and a threaded-single precision build.
Copy the source from the FFTW homepage (www.fftw.org) and unpack it:
$ wget ftp://ftp.fftw.org/pub/fftw/fftw-3.3.8.tar.gz
$ tar zxvf fftw-3.3.8.tar.gz
$ cd fftw-3.3.8
By default, the bootstrap script configures and builds the double precision and threaded libraries:
$ ./bootstrap.sh --prefix=/usr/local
$ make -j
$ sudo make install
$ make distclean
Now build the single-precision libraries:
$ ./bootstrap.sh --prefix=/usr/local --enable-single
$ make -j
$ sudo make install
$ make distclean
************************************************************************
INSTALLING ON A MAC THAT HASN'T HAD ANY SOFTWARE INSTALLED ON IT BEFORE
1. Install homebrew
$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Add brew to your path
2. Install fftw and libraries
$curl -o fftw-3.3.8.tar.gz http://ftp.fftw.org/pub/fftw/fftw-3.3.8.tar.gz
$tar zxvf fftw-3.3.8.tar.gz
build double precision and threaded libraries:
$cd fftw-3.8.8
$./bootstrap.sh –prefix=/usr/local
$make -j
$sudo make install
$make distclean
Now build-single precision libraries:
$./bootstrap.sh –prefix=/usr/local –enable-single
$make -j
$sudo make install
$make distclean
$cd ..
3. Install git, gcc, libtiff, jbigkit and cmake – make sure you have a python version higher than 3.10
$brew install git
$brew install cmake
$brew install gcc
$brew install libtiff
$brew install jbigkit
$brew install python@3.10
4. Pull and install SIMPLE
$git clone https://github.com/hael/SIMPLE.git
$cd SIMPLE
$mkdir build
$cd build
$cmake -D NICE=yes ..
$make -j install
$cat add2.bashrc >> ~/.zshrc
5. Start the SERVER – username and password are in the log to window
$source add2.bashrc
$nice_local
--------------------------------
TO UPDATE THE CODE
1. Go to the SIMPLE directory and clear out local changes
$cd ~/SIMPLE
$git stash
$git stash clear
2. Pull new code
$git pull
3. Install new code
$cd build
$make -j install
4. Start the SERVER again – username and password are in the log to window
$source add2.bashrc
$nice_local
*********************************************************************************
About
A new repository (with deleted history) in preparation for release 3.0 of SIMPLE
Topics
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published