BioSRC

The Bioinformatics Source Release Collection

About

BioSRC provides a simple way to install the latest versions of common bioinformatics and computational biology software packages.

It is useful both for system administrators and for users. For system administrators, it removes the burden of searching for and installing software. For the users, particularly of shared resources like a cluster, BioSRC provides a means to quickly and easily install the software that they want, without the need for administrative rights.

Installing bioinformatics software very frequently requires many manual steps. Often, the packages do not provide any installation mechanisms whatsoever. BioSRC automates all of this and provides a uniform mechanism to install any software package, despite the extreme variety in installation standards (or the lack thereof) provided by bioinformatics packages.

Installation layout

Using BioSRC simplifies the process of maintaining a collection of locally installed software, especially in keeping old versions of software available. This is accomplished by cleanly separating the files of each package (and each package version), and installing symbolic links to the files of one version in the directory of your choice. Thus, while the latest version of a package might be installed, the older versions that were installed previously are still available. When a package is uninstalled, all files installed are removed cleanly, leaving the system pristine.

For example, if you're installing software to /biosrc, installing some package Foo would result in a installation like this (the arrow -> indicates a symbolic link):

/biosrc/
  packages/
    foo-1.0/
      bin/
        foo
      lib/
        libfoo.so

  bin/
    foo  ->  /biosrc/packages/foo-1.0/bin/foo
  lib/
    libfoo.so  ->  /biosrc/packages/foo-1.0/lib/libfoo.so

To run the program, you would simply run /biosrc/bin/foo. More conveniently, you can just add /biosrc/bin to your PATH, allowing you to simply run foo. Doing so would follow the links to end up running /biosrc/packages/foo-1.0/bin/foo.

Updating to Foo 1.1 would result in:

/biosrc/
  packages/
    foo-1.0/
      bin/
        foo
      lib/
        libfoo.so
    foo-1.1/
      bin/
        foo
      lib/
        libfoo.so

  bin/
    foo  ->  /biosrc/packages/foo-1.1/bin/foo
  lib/
    libfoo.so  ->  /biosrc/packages/foo-1.1/lib/libfoo.so

Running foo now will default to running the latest version, however if your analysis requires an old version for whatever reason, it is still available to be run directly (/biosrc/packages/foo-1.0/bin/foo).

Getting started

First, clone the Git repository:

$ git clone git://gitorious.org/biosrc/biosrc.git

You can stay up-to-date with the latest packages and releases by pulling in changes with Git:

$ git pull origin master

Now that you have BioSRC, you must first configure it. From a shell, type:

$ cd biosrc
$ ./bootstrap
$ ./configure --prefix=$HOME/bio

(Note that you must have Autoconf and Automake installed)

In this example, all software will be installed to the bio sub-directory of your home directory. You may choose to install the software to any location you like by setting the --prefix argument.

You will find the available packages under the pkg sub-directory of BioSRC. They are organized into sub-categories:

  • bio: bioinformatics tools
  • libs: science-related development libraries or the latest versions of library-dependencies of other packages
  • tools: general tools that may be useful in bioinformatics pipelines but are not installed on most systems already
  • dev: core compilers/interpreters for common programming languages and environments

To install a package, one can use make:

$ make -C pkg/bio/hmmer install

Alternatively, you can simply use the provided biosrc script:

$ biosrc install hmmer

The script also provides other useful functionality, like searching for packages, updating them or uninstalling them.

See the documentation for more information.

Getting help

To get help, report bugs, request new packages or updates, etc. please send a message to the mailing list.

Help wanted

Help adding packages is greatly appreciated. Please note that only software using commonly accepted free and open-source software licenses will be accepted.