diff --git a/EM/EMAN/README.md b/EM/EMAN/README.md new file mode 100644 index 0000000..5636bcb --- /dev/null +++ b/EM/EMAN/README.md @@ -0,0 +1,10 @@ +# EMAN + +From version 2.99.53 (Oct. 23) EMAN is built as a conda package. + +Current installation on Merlin7 (Nov 24) is 2.99.66 + + +### Hints + +conda installation on A100 GPU diff --git a/EM/EMAN/build b/EM/EMAN/build index e72e4e4..789c7bd 100755 --- a/EM/EMAN/build +++ b/EM/EMAN/build @@ -1,23 +1,27 @@ #!/usr/bin/env modbuild -pbuild::add_to_group 'EM' - -pbuild::prep() { - local EMAN2DL="${PMODULES_TMPDIR:-/tmp}/eman${V}_sphire1.4_sparx.linux64.sh" - - if ! [ -f "$EMAN2DL" ]; then - wget -O "$EMAN2DL" "https://cryoem.bcm.edu/cryoem/static/software/release-${V}/eman${V}_sphire1.4_sparx.linux64.sh" - fi -} pbuild::configure() { + #MINICONDA INSTALL + mkdir -p "$PREFIX/miniconda" + wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh" + bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/" + + + #CREATE ENV , make sure to source the "correct" conda.sh + "$PREFIX/miniconda/condabin/conda" env create --name "${P}_${V}" -f "$BUILDBLOCK_DIR/environment.yaml" + +} + +#DO NOTHING +pbuild::compile(){ : } -pbuild::install() { +pbuild::install(){ : } -pbuild::compile() { - bash ${PMODULES_TMPDIR:-/tmp}/eman${V}_sphire1.4_sparx.linux64.sh -u -b -p $PREFIX -} + + + diff --git a/EM/EMAN/environment.yaml b/EM/EMAN/environment.yaml new file mode 100644 index 0000000..ad410e6 --- /dev/null +++ b/EM/EMAN/environment.yaml @@ -0,0 +1,5 @@ +channels: + - cryoem + - conda-forge +dependencies: + - eman-dev diff --git a/EM/EMAN/files/config.yaml b/EM/EMAN/files/config.yaml new file mode 100644 index 0000000..0fce05e --- /dev/null +++ b/EM/EMAN/files/config.yaml @@ -0,0 +1,13 @@ +--- +format: 1 +EMAN: + defaults: + group: EM + overlay: base + relstage: unstable + versions: + 2.99.66: + variants: + - overlay: Alps + systems: [.*.merlin7.psi.ch] + relstage: unstable diff --git a/EM/EMAN/files/variants b/EM/EMAN/files/variants deleted file mode 100644 index f50340f..0000000 --- a/EM/EMAN/files/variants +++ /dev/null @@ -1,2 +0,0 @@ -EMAN/2.99.47 unstable cuda/11.2.2 -EMAN/2.2 stable diff --git a/EM/EMAN/modulefile b/EM/EMAN/modulefile index ae15052..a664602 100644 --- a/EM/EMAN/modulefile +++ b/EM/EMAN/modulefile @@ -1,37 +1,34 @@ -#%Module1.0 +#%Module -set dont-setenv {LD_LIBRARY_PATH} +module-whatis "EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes " +module-url "https://blake.bcm.edu/emanwiki/EMAN2" +module-license "GNU gerneral public license: GPLv2" +module-maintainer "Greta Assmann " -module-whatis "EMAN(2) is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes" -module-url "https://blake.bcm.edu/emanwiki/EMAN2" -module-license "GPL license" -module-maintainer "Elsa Germann " +module-help "EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes. EMAN's original purpose was performing single particle reconstructions (3-D volumetric models from 2-D cryo-EM images) at the highest possible resolution, but the suite now also offers support for single particle cryo-ET, and tools useful in many other subdisciplines such as helical reconstruction, 2-D crystallography and whole-cell tomography. EMAN2 is capable of processing large data sets (>100,000 particle) very efficiently" -module-help "EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes. EMAN's original purpose was performing single particle reconstructions (3-D volumetric models from 2-D cryo-EM images) at the highest possible resolution, but the suite now also offers support for single particle cryo-ET, and tools useful in many other subdisciplines such as helical reconstruction, 2-D crystallography and whole-cell tomography. EMAN2 is capable of processing large data sets (>100,000 particle) very efficiently. +# Check for supported shell types +set shelltype [module-info shelltype] +switch -- $shelltype { + "sh" { + puts stdout "conda(){ :; };" + puts stdout "set +u" + puts stdout "source \"${PREFIX}\"/miniconda/etc/profile.d/conda.sh;\n" + } + default { + puts stderr "Shells of type '$shelltype' are NOT supported!" + } +} -Please also note that this is not the (related) EMEN2 electronic notebook, but is EMAN2, a scientific image processing suite. -Please Cite (and read) +switch [module-info mode] { + "load" { + # Relies on the anaconda module being loaded since we need to update the path + puts stdout "conda activate ${P}_${V};\n" + } + "unload" - + "remove" { + puts stdout "conda deactivate;\n" + } +} -EMAN is free software, supported by NIH Grants. It is critical that you cite EMAN2 when you use it in a publication in any significant way, to help us document usage when trying to renew our funding. Feel free to cite any of these: - - Primary EMAN2 paper: - - G. Tang, L. Peng, P.R. Baldwin, D.S. Mann, W. Jiang, I. Rees & S.J. Ludtke. (2007) EMAN2: an extensible image processing suite for electron microscopy. J Struct Biol. 157, 38-46. PMID: 16859925 - - Subnanometer resolution subtomogram averaging using PPPT methods: - Chen M, Bell JM, Shi X, Sun SY, Wang Z, Ludtke SJ. Nat Methods. (2019) A complete data processing workflow for cryo-ET and subtomogram averaging, Nat. Methods, 16(11):1161-1168, PMC31611690 - - Neural Network Based Tomogram Segmentation - Chen M, Dai W, Sun SY, Jonasch D, He CY, Schmid MF, et al. (2017). Convolutional neural networks for automated annotation of cellular cryo-electron tomograms. Nat. Methods, 14(10), 983–5. PMCID: PMC5623144 - - Neural Network Particle Picker - Bell JM, Chen M, Durmaz T, Fluty AC, Ludtke SJ. (2018). New software tools in EMAN2 inspired by EMDatabank map challenge. J. Struct. Biol. Elsevier;, 204(2), 283–90. - - EMAN2 high resolution refinement methods: - - J.M. Bell, M. Chen, P.R. Baldwin & S.J. Ludtke. (2016) High Resolution Single Particle Refinement in EMAN2.1. Methods. 100, 25-34. PMC4848122 - - Methods for analysis of conformational and compositional variability: - Ludtke, S. J. \"Single-Particle Refinement and Variability Analysis in EMAN2.1.\" in Methods Enzymol 579159-189 (Elsevier, United States, 2016). PMC5101015 -"