Commit ba7d67dc authored by Pilar Cossio's avatar Pilar Cossio
Browse files

Merge branch 'master' of https://gitlab.rzg.mpg.de/BioEM/BioEM

parents c10b691e 419cb2ee
before_script:
- export LANG=C
- module use /afs/ipp/common/usr/modules.2014/amd64_sles11/modulefiles/GPU
- module load cmake impi/5.1.3 cuda/7.5
- module load cmake impi/5.1.3
# define two stages, that way coverage only runs after all other
# tests have been done.
......@@ -18,3 +18,14 @@ build-gcc-mpi-nocuda:
- cd build
- cmake .. -DCMAKE_CXX_COMPILER=g++
- make VERBOSE=1 -j 4
# GPU build (with CUDA)
build-gcc-mpi-cuda:
stage: build
script:
- module load gcc/4.9 fftw/gcc/3.3.4 boost/gcc/1.56 cuda/7.5
- mkdir build
- cd build
- cmake .. -DCMAKE_CXX_COMPILER=g++ -DINCLUDE_CUDA=ON -DCUDA_CUDA_LIBRARY=$CUDA_HOME/lib64/stubs/libcuda.so
- make VERBOSE=1 -j 4
......@@ -55,7 +55,7 @@ if (CUDA_FOUND)
endif()
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};--use_fast_math;-ftz=true;-O4;-Xptxas -O4")
list(APPEND CUDA_NVCC_FLAGS "-gencode=arch=compute_13,code=sm_13")
# list(APPEND CUDA_NVCC_FLAGS "-gencode=arch=compute_13,code=sm_13")
list(APPEND CUDA_NVCC_FLAGS "-gencode=arch=compute_20,code=sm_20")
list(APPEND CUDA_NVCC_FLAGS "-gencode=arch=compute_20,code=sm_21")
list(APPEND CUDA_NVCC_FLAGS "-gencode=arch=compute_30,code=sm_30")
......@@ -139,7 +139,7 @@ message(STATUS "FFTW library: ${FFTW_LIBDIR}")
message(STATUS "Boost directory: ${Boost_LIBRARY_DIRS}")
message(STATUS "FFTW includedir: ${FFTW_INCLUDEDIR}")
message(STATUS "CUDA libraries: ${CUDA_CUDA_LIBRARY}")
message(STATUS "CUDA libraries: ${CUDA_LIBRARIES}")
message(STATUS "CUDART libraries: ${CUDA_LIBRARIES}")
message(STATUS "CUDA: ${BIOEM_CUDA_STATUS}")
message(STATUS "OpenMP: ${BIOEM_OPENMP_STATUS}")
message(STATUS "MPI: ${BIOEM_MPI_STATUS}")
......
No preview for this file type
# BioEM: Bayesian inference of Electron Microscopy
# PRE-ALPHA VERSION: April 25, 2014
## Contributors
Pilar Cossio, David Rohr, Fabio Baruffa, Markus Rampp, Volker Lindenstruth and Gerhard Hummer
## References
* [Cossio, P and Hummer, G. J Struct Biol. 2013 Dec;184(3):427-37. doi: 10.1016/j.jsb.2013.10.006.](http://www.ncbi.nlm.nih.gov/pubmed/24161733)
* Cossio, P., Rohr, D., Baruffa, F., Rampp, M., Lindenstruth, V. and Hummer, G. "BioEM: GPU-accelerated computing of Bayesian inference of electron microscopy images" (in preparation)
## DESCRIPTION:
The BioEM code compares one Model to multiple experimental EM images.
### Command line input & help is found by just running the compiled executable ./bioEM
++++++++++++ FROM COMMAND LINE +++++++++++
Command line inputs:
--Inputfile arg (Mandatory) Name of input parameter file
--Modelfile arg (Mandatory) Name of model file
--Particlesfile arg (Mandatory) Name of paricles file
--ReadPDB (Optional) If reading model file in PDB format
--ReadMRC (Optional) If reading particle file in MRC format
--ReadMultipleMRC (Optional) If reading Multiple MRCs
--DumpMaps (Optional) Dump maps after they were red from maps file
--LoadMapDump (Optional) Read Maps from dump instead of maps file
--help (Optional) Produce help message
### OUTPUT:
* Main output file: "Output_Probabilities" with
RefMap #(number Particle Map) Probability #(log(P))
RefMap #(number Particle Map) Maximizing Param: #(Euler Angles) #(PSF parameters) #(center displacement)
**Important: It is recommended to compare log(P) with respect to other Models or to Noise as in [1].
* (Optional) Write the probabilities for each triplet of Euler Angles (key word: WRITE_PROB_ANGLES in InputFile).
### EXAMPLE DIRECTORY:
A directory with example EM particles, c-alpha PDB & simple Model, and the corresponding launch scripts are provided. Standard input file parameters are provided and recommened.
### REMARKS:
#### EXPERIMENTAL IMAGE FORMAT:
Two options are allowed for the map-particle files:
* Simple *.txt or .dat with data formated as
printf"%8d%8d%12.4f\n" where the first two columns are
the pixel indexes and the third column is the intensity.
Multiple particles are read in the same file with the
separator "PARTICLE" & Number.
-- For this case it is recommended all particles
to be normalized to zero average and unit standard deviation.
* Standard MRC particle file. If reading multiple MRCs
provide in command line
--Particlesfile FILE --ReadMRC --ReadMultipleMRC
where FILE contains the names of each mrc file to be read.
If only one MRC on command line
--Particlesfile FILEMRC --ReadMRC
where FILEMRC is the name of the single mrc file.
#### MODEL FORMAT:
* Standard PDB file: Reading only CA atoms and corresponding
residues with proper density.
* *.txt *.dat file: With format printf"%f %f %f %f %f\n",
the first three columns as the coordinates of atoms or
voxels, fourth column is the radius (\AA) and the
last column is the corresponding density.
(Useful for all atom representation or 3D EM density maps).
[1] Cossio, P and Hummer, G. J Struct Biol. 2013 Dec;184(3):427-37. doi: 10.1016/j.jsb.2013.10.006.
## Installation
To build and install bioEM a cmake procedure is used, for example:
```
#clone the repository
git clone ...
cd BioEM
#build the code (CPU version)
mkdir build
cd build
cmake ..
make VERBOSE=1
```
Dependencies and software requirements:
* Compiler: a modern C++ compiler which is OpenMP compliant
and (optionally) complies with CUDAs nvcc
(tested with Intel icpc 12-16, GCC 4.7-5.1)
-> adapt the name of the compiler using ccmake
for free software see: https://gcc.gnu.org/
* MPI: the Message Passing Standard library
(tested with Intel MPI 4.1-5.1, IBM PE 1.3-1.4)
-> adapt the names of the MPI compiler wrappers using ccmake
for free software see: http://www.open-mpi.de/
* FFTW: a serial but fully thread-safe fftw3 installation or equivalent (tested with fftw 3.3)
-> point environment variable $FFTW_ROOT to a FFTW3 installation or use ccmake to specify
for free software see: http://www.fftw.org
* BOOST
for free software see: http://www.boost.org/
* CUDA (required to build and run the GPU version)
for free software see: https://developer.nvidia.com/cuda-downloads
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment