95 lines
2.9 KiB
Plaintext
Executable File
95 lines
2.9 KiB
Plaintext
Executable File
#!/usr/bin/env modbuild
|
|
|
|
pbuild::add_to_group 'EM'
|
|
pbuild::use_cmake
|
|
PROFILE="no"
|
|
SP="no"
|
|
|
|
pbuild::prep() {
|
|
|
|
local BRANCH
|
|
if [[ "$V" =~ beta$ ]]; then
|
|
BRANCH="ver${V_MAJOR}.${V_MINOR}"
|
|
|
|
elif [[ "$V" =~ profile$ ]]; then
|
|
BRANCH="${V_PKG}"
|
|
PROFILE="yes"
|
|
|
|
elif [[ "$V" =~ sp$ ]]; then
|
|
BRANCH="ver${V_MAJOR}.${V_MINOR}"
|
|
SP="yes"
|
|
|
|
else
|
|
BRANCH="${V_PKG}"
|
|
fi
|
|
|
|
git clone --depth=1 -b "$BRANCH" https://github.com/3dem/relion.git "$SRC_DIR" || return $?
|
|
}
|
|
|
|
pbuild::pre_configure() {
|
|
|
|
# Section will be switched on for -profile version
|
|
#-----------------------------------------------------------
|
|
if [[ "$PROFILE" == "yes" ]]; then
|
|
pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=BENCHMARKING"
|
|
fi
|
|
#------------------------------------------------------------
|
|
|
|
|
|
# Section will be switched on for single-precision version
|
|
# Safe memory usage for multibody refinements
|
|
#------------------------------------------------------------
|
|
if [[ "$SP" == "yes" ]]; then
|
|
pbuild::add_configure_args "-DDoublePrec_CPU=OFF"
|
|
fi
|
|
#------------------------------------------------------------
|
|
|
|
|
|
|
|
# The following section will only work for versions >= 5.0-beta
|
|
# -------------------------------------------------------------
|
|
if [[ "$V_MAJOR" -ge "5" ]]; then
|
|
|
|
#download blush weights
|
|
wget ftp://ftp.mrc-lmb.cam.ac.uk/pub/dari/blush_v1.0.ckpt.gz -P "$PREFIX/torch/hub/checkpoints/relion_blush" \
|
|
&& gunzip "$PREFIX/torch/hub/checkpoints/relion_blush/blush_v1.0.ckpt.gz"
|
|
mv "$PREFIX/torch/hub/checkpoints/relion_blush/blush_v1.0.ckpt" "$PREFIX/torch/hub/checkpoints/relion_blush/v1.0.ckpt"
|
|
touch "$PREFIX/torch/hub/checkpoints/relion_blush/v1.0_installed.txt"
|
|
|
|
#Set Torch Home
|
|
pbuild::add_configure_args "-DTORCH_HOME_PATH=$PREFIX/torch"
|
|
|
|
#Conda
|
|
conda env create -f "$SRC_DIR/environment.yml" -p "$PREFIX/conda_env/$P_$V"
|
|
pbuild::add_configure_args "-DPYTHON_EXE_PATH=$PREFIX/conda_env/$P_$V/bin/python"
|
|
fi
|
|
|
|
#---------------------------------------------------------------
|
|
|
|
|
|
# CMake-based build
|
|
|
|
pbuild::add_configure_args "-DFORCE_OWN_FFTW=ON"
|
|
pbuild::add_configure_args "-DFORCE_OWN_FLTK=ON"
|
|
pbuild::add_configure_args "-DFORCE_OWN_TBB=ON"
|
|
|
|
# CUDA related (set lowest CC to 6.1 for 1080 compatibility)
|
|
pbuild::add_configure_args "-DCUDA=ON"
|
|
pbuild::add_configure_args "-DCUDA_ARCH=61"
|
|
pbuild::add_configure_args "-DCudaTexture=ON"
|
|
|
|
# Since ver3.0 relion cannot have ALTCPU and CUDA activated
|
|
# at the same time. Otherwise the configuration exits with
|
|
# an error.
|
|
if [[ "$V_MAJOR" -le "3" ]]; then
|
|
pbuild::add_configure_args "-DALTCPU=ON"
|
|
fi
|
|
|
|
if [[ -n "$INTEL_VERSION" ]]; then
|
|
# Requires intel compiler
|
|
pbuild::add_configure_args "-DMKLFFT=ON"
|
|
fi
|
|
}
|
|
|
|
# vim: ts=4 sw=4 et
|