Many bioinformaticians use shared computing resources (clusters), so they do not have administrative permissions to install software system-wide. Instead, we manually install software to our home directories or shared drives. Unfortunately, bioinformatics software is usually released by biologists, not software engineers, so the packaging standards, if there are any, generally leave something to be desired. Often some amount of manual work needs to be done to compile and install the software.
I got tired of dealing with this on a personal level and in our group we were setting up a lot of software to be shared between us. So, I hit on the idea of adapting another package that I maintain, GSRC, which uses the Ports-like GARstow system to install GNU software, to produce a dedicated system for easily installing bioinformatics software, called BioSRC.
BioSRC includes many common bioinformatics tools (under pkg/bio
), as
well as general tools that are useful in analysis pipelines
(pkg/tools
), bioinformatics-related libraries or
library-dependencies of other BioSRC software (pkg/libs
) and the
latest versions of common programming languages/environments
(pkg/dev
…really handy if, like me, your cluster only has ancient
versions of Python). New packages are being added as fast as I can and
I welcome requests (note that I’m only adding properly licensed
free software…no
"academic use only", license-free, or otherwise proprietary software
will be included in BioSRC).
Currently there are no formal releases but rather you should just clone the Git repository. Setting up is simple:
$ git clone git://gitorious.org/biosrc/biosrc.git
$ cd biosrc
$ ./bootstrap
$ ./configure --prefix=/foo/bio-software
$ make install
The last step is optional and just installs the documentation (view it
via info biosrc
) and a biosrc
script (see below).
After that, any software can be installed easily to your chosen
directory, /foo/bio-software
in the above example, with Make:
$ make -C pkg/bio/ncbi-blast install
This will fetch the package, verify its checksums, extract it,
configure it, build it and finally install it. Under your install
prefix, packages are first installed to the packages
directory and
their contents are then symlinked into the standard locations under
the prefix (i.e. ${prefix}/bin/bar
will be a link to
${prefix}/packages/foo-1.0/bin/bar
). Installing a new version of a
package does not uninstall the old version; only the links are
replaced. Thus, if you still need to use the old version for whatever
reason, it remains available in the packages directory.
To make your life even easier, the biosrc
script automates a lot of
stuff for you, allowing you to install, uninstall, search, display
info, etc from any directory:
$ biosrc search alignment
$ biosrc info hmmer
$ biosrc install ncbi-blast
See the documentation for more information.
Enjoy!