Brandon Invergo

BioSRC - a Ports-like system for easily installing bioinformatics software

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!

BioSRC Website
Project site on Gitorious
Mailing List