BBMap
https://sourceforge.net/projects/bbmap/
Automatic Build
Inside ${HOME}/bioit/apps/bbmap/SPEC
there is a script called build
. This just requires the version number and will download, compile, install and create the module file for you. Execute it as follows:
${HOME}/bioit/apps/bbmap/SPEC/build 39.28
When that completes check that the new version is available using:
module avail bbmap
If that shows as being there you can test it works with:
module load bbmap/39.28
which bbduk.sh
bbduk.sh --version
If all is good, you can move to the RPM building step.
Manual Build
The version_check
script will show there’s a new version available but it can’t download it so you’ll need to go to the homepage and get it directly.
Download the version to be built into /opt/bioit/bbmap/src
and untar
There’s nothing to actually build so just run the following to move the files and correct the permissions:
mv bbmap ../39.28
chmod 755 ../39.28
cd ../39.28
chmod -R 755 *
Module setup
Add a module file in /opt/bioit/modulefiles/bbmap/
for this version by copying previous ones and modifying the paths.
#%Module 1.0
#
# bbmap module for use with 'environment-modules' package:
#
prepend-path PATH /opt/bioit/bbmap/39.28
RPM
There’s a SPEC file for this package in ${HOME}/bioit/apps/bbmap/SPEC
so modify that with the new version details. The /opt/bioit/bbmap/39.28/doc/changelog.txt
will give you the details for the %changelog
section of the SPEC file.
Once changed, build it with the following command:
rpmbuild -bb bbmap.spec
This will create an RPM file which you can find in ${HOME}/rpmbuild/RPMS/x86_64
. It checks that the installation directory exists and will fail if it isn’t th
ere.
Before you install this, you need to sign it using:
rpm --addsign \
${HOME}/rpmbuild/RPMS/x86_64/bbmap-39.28-1.el7.bioit.x86_64.rpm
Now you can move it to /opt/bioit/repo/RPMS
mv ${HOME}/rpmbuild/RPMS/x86_64/bbmap-39.28-1.el7.bioit.x86_64.rpm \
/opt/bioit/repo/RPMS
Lastly, run the buildrepo
command:
buildrepo
When this finishes, as root you can do the following:
yum clean all
yum update bbmap
That should install the new RPM. If that has worked you can now run the followin g without loading the module:
bbduk.sh --version
and it should report the correct version. You’re done.