Merge branch 'peet' into 'master'

New module: PEET

See merge request Pmodules/buildblocks!353
This commit is contained in:
2022-10-12 14:22:28 +00:00
5 changed files with 107 additions and 0 deletions

27
EM/PEET/README.md Normal file
View File

@@ -0,0 +1,27 @@
# PEET
[Particle Estimateion for Electron Tomography](https://bio3d.colorado.edu/PEET/)
## Installation
PEET is shipped as a self-expanding installation script. Run `./build` to
install.
An experimental config.yaml files is included using Pmodules/1.1.10 syntax.
This should probably not be used until yaml support in modbuild stabilizes.
## Testing
- `calcFSC` should print the version number
## Build notes
Building was successful with Pmodules 1.1.8 but not 1.1.9 or 1.1.10.
Linking the binary is a bit of a pain. It requires gcc to be loaded to provide
relatively recent versions of libstdc++.so.6. I didn't fine what exact version
Matlab MCR expects, but 9.5.0 seemed to work. MCR is linked dynamically at
runtime through LD_LIBRARY_PATH. This is not set in the modulefile as expected,
but rather in wrapper scripts which source particle.cfg. Sed commands in
pbuild::install update this file so that it reads the loaded modules correctly.

41
EM/PEET/build Executable file
View File

@@ -0,0 +1,41 @@
#!/usr/bin/env modbuild
pbuild::add_to_group 'EM'
pbuild::prep() {
dst="$PMODULES_DISTFILESDIR/Particle_${V_PKG}_linux.sh"
if [ -f "$dst" ]; then
echo "Found cached $dst" >&2
else
${curl:-curl} \
--location \
--fail \
--output "$dst" \
"https://bio3d.colorado.edu/ftp/PEET/linux/Particle_${V_PKG}_linux.sh"
fi
}
pbuild::configure() {
:
}
pbuild::compile() {
:
}
pbuild::install() {
mkdir -p "$PREFIX/etc/profile.d"
# Installs into $PREFIX/Particle
sh "$PMODULES_DISTFILESDIR/Particle_${V_PKG}_linux.sh" \
--yes \
--dir "$PREFIX" \
--script "$PREFIX/etc/profile.d"
# Fix paths
sed -ri 's,/usr/local/Particle(Runtime)?,$PEET_HOME,g' $PREFIX/Particle/*.{csh,sh,cfg} $PREFIX/etc/profile.d/Particle.{c,}sh
sed -ri 's,MCR_ROOT=.*,MCR_ROOT=$MATLAB_DIR,g' $PREFIX/Particle/*.cfg
mv $PREFIX/Particle/* $PREFIX/
rm -r $PREFIX/Particle
}

View File

@@ -0,0 +1,8 @@
overlay: base
relstage: stable
group: EM
shasums:
PEET/1.15.1a: de4e9104f90b9379502a34b58be33eafd5514d554002a94efe2adba6f44785e6
PEET/1.15.1a:
- relstage: unstable

1
EM/PEET/files/variants Normal file
View File

@@ -0,0 +1 @@
PEET/1.15.1a unstable gcc/9.5.0 matlab/2020b

30
EM/PEET/modulefile Normal file
View File

@@ -0,0 +1,30 @@
#%Module1.0
module-whatis "PEET (Particle Estimation for Electron Tomography) is an open-source package for aligning and averaging particles in 3-D subvolumes extracted from tomograms."
module-url "https://bio3d.colorado.edu/PEET/"
module-license "GPLv2 license"
module-maintainer "Spencer Bliven <spencer.bliven@psi.ch>"
module-help "
PEET (Particle Estimation for Electron Tomography) is an open-source package
for aligning and averaging particles in 3-D subvolumes extracted from
tomograms. It seeks the optimal alignment of each particle against a
reference volume through several iterations. If PEET and IMOD are both
installed, most PEET operations are available from the eTomo graphical
user interface in IMOD. PEET uses the parallel processing framework
within IMOD, so that the lengthy computations can be distributed to
multiple cores on one computer, to a set of linked workstations, or to
a cluster. PEET is written in Matlab and a compiled version is
distributed along with the Matlab runtime environment needed to run it.
> Nicastro D, Schwartz C, Pierson J, Gaudette R, Porter ME and McIntosh JR
(2006), \"The molecular architecture of axonemes revealed by cryoelectron
tomography.\", Science. Vol. 313(5789), pp. 944-948.
DOI:10.1126/science.1128618
> Heumann JM, Hoenger A and Mastronarde DN (2011), \"Clustering and variance
maps for cryo-electron tomography using wedge-masked differences.\", J Struct
Biol. Vol. 175(3), pp. 288-299. DOI:10.1016/j.jsb.2011.05.011
"
setenv PARTICLE_DIR "$PREFIX"