The Pfam website in a virtual machine

January 26, 2012

Since releasing the new Pfam website four years ago, we’ve had a steady trickle of mails from users who would like to install and run the site within their own local environment. It used to be possible to do just that, given a following wind, if you were ready to install the site from its source code. Unfortunately, after some internal changes and as the list of Perl module dependencies grew and grew, the process got harder and more complex and eventually we stopped supporting it entirely. We’ve been actively discouraging people from trying this for far too long, all the while promising to make the process easier. Finally we’ve managed to get around to building a virtual machine (VM) that should make the whole thing possible again.

A virtual machine, for those unfamiliar with the concept, is a software-based computer. It runs within another program, a so-called “hypervisor” or virtualisation framework, on a real, physical computer. The framework provides everything a virtual computer needs to operate, from a CPU and memory to disk space and a network interface, all of it controllable and customisable in software. The virtual machine boots like an ordinary desktop computer and can then run an operating system and, on top of that, whatever software you want to install. Wikipedia has a description of virtual machines with links to all of the background and related information you could possibly want.

Virtualisation has become a very useful tool in data-centres around the world, the Sanger Institute’s included, allowing more efficient management of computer resources, power and floor/rack space and an incredible degree of flexibility in how resources are deployed. Companies like Amazon have taken virtualisation to a whole new level, building massive “cloud” infrastructures that allow companies, groups and individuals to commission and use potentially vast compute and storage resources on-demand and for only the length of time that they need them.

For us, the advantage of a virtual machine is that we can install (and partially configure) everything needed for the website and then bundle it up and make it available as a single downloadable file. The process of deploying the VM is as simple as importing it into whatever virtualisation framework you have at hand and there are now lots of alternatives out there, both free and paid-for. By reducing the installation process to that one step, we’ve removed the pain of slogging through the installation of a raft of interdependent Perl modules, operating system packages and Pfam code, leaving only the final step of configuring the website to suit your environment.

If you’re interested, you can find the virtual machine on our FTP area. There’s more information about the package, as well as documentation on installing and configuring it, in the Pfam website.

If you decide to download and try the VM, we would be very interested to hear about your experiences with it, but please bear in mind that this is our first attempt at packaging the website like this: there will be problems and bugs, some of them undoubtedly major ! You can mail us at Let us know what goes wrong and we’ll do our best to help.

Posted by John.


One Response to “The Pfam website in a virtual machine”

  1. EJ Says:

    Very nice effort, I hope more institutes will follow up. Especially very complex pipelines (for instance annotation pipelines) would make excellent candidates for a VM approach.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: