From 3153fc661b1f355171c3ecb5bff96adbb4159986 Mon Sep 17 00:00:00 2001 From: bliven_s Date: Tue, 12 Mar 2019 15:39:34 +0100 Subject: [PATCH] Create crYOLO module --- EM/crYOLO/build | 40 +++++++++++++++++++++++++++++++ EM/crYOLO/files/variants | 2 ++ EM/crYOLO/modulefile | 51 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100755 EM/crYOLO/build create mode 100644 EM/crYOLO/files/variants create mode 100644 EM/crYOLO/modulefile diff --git a/EM/crYOLO/build b/EM/crYOLO/build new file mode 100755 index 0000000..70072a6 --- /dev/null +++ b/EM/crYOLO/build @@ -0,0 +1,40 @@ +#!/usr/bin/env modbuild + +pbuild::add_to_group 'EM' +pbuild::prep() { + echo "prepping" + mkdir -p "$SRC_DIR" + curl -fsSLo "$SRC_DIR/miniconda.sh" 'https://repo.anaconda.com/miniconda/Miniconda2-latest-Linux-x86_64.sh' + curl -fsSLo "$SRC_DIR/cryoloBM.tgz" 'ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_BM_V1_1_1/cryoloBM-1.1.1.tar.gz' + curl -fsSLo "$SRC_DIR/cryolo.tgz" 'ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_V1_2_3/cryolo-1.2.3.tar.gz' + : +} + +pbuild::configure() { + : +} + +pbuild::compile() { + : +} + +pbuild::install() { + mkdir -p $PREFIX + + # Install conda + bash "$SRC_DIR/miniconda.sh" -b -p $PREFIX/conda + + # Create environment + $PREFIX/conda/bin/conda create -y --name crYOLO anaconda python=3.6 pyqt=5 cudnn=7.1.2 numpy + + # Activate + source $PREFIX/conda/bin/activate crYOLO + + # Install + pip install $SRC_DIR/cryolo.tgz + pip install $SRC_DIR/cryoloBM.tgz + + # Deactivate + source deactivate +} + diff --git a/EM/crYOLO/files/variants b/EM/crYOLO/files/variants new file mode 100644 index 0000000..942ddbb --- /dev/null +++ b/EM/crYOLO/files/variants @@ -0,0 +1,2 @@ +crYOLO/1.2.3 unstable cuda/9.0.176 + diff --git a/EM/crYOLO/modulefile b/EM/crYOLO/modulefile new file mode 100644 index 0000000..fbafb29 --- /dev/null +++ b/EM/crYOLO/modulefile @@ -0,0 +1,51 @@ +#%Module + +module-whatis "crYOLO is a fast and accurate particle picking procedure for electron microscopy" +module-url "http://sphire.mpg.de/wiki/doku.php?id=pipeline:window:cryolo" +module-license "SPHIRE-crYOLO Complimentary Science Software License (http://sphire.mpg.de/wiki/doku.php?id=cryolo_license). Non-commercial academic and research purposes only" +module-maintainer "Spencer Bliven " + +module-help " +CrYOLO is a fast and accurate particle picking procedure. It's based on +convolutional neural networks and utilizes the popular You Only Look Once +(YOLO) object detection system. + + * crYOLO makes picking fast – On a modern GPU it will pick your particles at + up to 6 micrographs per second. + * crYOLO makes picking smart – The network learns the context of particles + (e.g. not to pick particles on carbon or within ice contamination ) + * crYOLO makes training easy – You might use a general network model and skip + training completely. However, if the general model doesn't give you + satisfactory results or if you would like to improve them, you might want + to train a specialized model specific for your data set by selecting + particles (no selection of negative examples necessary) on a small number + of micrographs. +" + +# Check for supported shell types +set shelltype [module-info shelltype] +switch -- $shelltype { + "sh" { + } + default { + puts stderr "Shells of type '$shelltype' are NOT supported!" + } +} + +#puts stderr "Switching crYOLO mode to [module-info mode]" +#puts stdout "{ date; echo Switching crYOLO mode to [module-info mode] ; } >> /gpfs/home/bliven_s/cryolo_mod.log;\n" + + +switch [module-info mode] { + "load" { + #puts stderr "source $PREFIX/conda/bin/activate crYOLO" + puts stdout "source $PREFIX/conda/bin/activate crYOLO;\n" + } + "unload" - + "remove" { + #puts stderr "source deactivate" + puts stdout "source $PREFIX/conda/bin/deactivate;\n" + puts stdout {unset $(set|sed -rn 's/^(_?conda[a-z_]*).*$/\1/pI');} + } +} +