FourCulturesCropped

Colonyzer: quantifying the size of microbial cultures


Background

Colonyzer is an image analysis tool for quantifying the cell density of arrays of independent micro-organism cultures growing on solid agar. It specialises in being sensitive enough to detect the presence of cultures with extremely low cell density arising after dilute liquid inoculation onto agar from photographs of plates. Identifying cultures with few cells growing on an agar surface by photography or after scanning is difficult because culture opacity might not be high enough for colour differences between agar and cells to be apparent. In order to achieve its high levels of sensitivity, it relies on sophisticated algorithms for the identification and detection of lighting gradients in the photograph, and for the detection of thin, semi-translucent developing cultures in the corrected images.

Colonyzer is suitable for high-throughput screening of libraries of yeast mutants for example, and has proven extremely useful in the estimation of phenotypes such as exponential growth rate, appropriate for genome-wide investigations of genetic interaction. Colonyzer was used for cell density estimation in Addinall et al. 2011 and Chang et al. 2011 for example. A detailed description of Colonyzer, its algorithms, the motivation for its development, and some example analysis can be found in Lawless et al. 2010, and an example of how Colonyzer fits into the Quantitative Fitness Analysis workflow can be seen in Banks et al. 2012.

Yeast Growth Curves

Installation

Colonyzer has been developed using Python 2.7 and several Python modules: numpy, scipy, pandas, pil, matplotlib & pygame. The Colonyzer GitHub pages contain the latest development code. The Colonyzer PyPI pages include a version which is easy to install using pip. The easiest way to get up and running with Colonyzer is to install Python 2.7, install the pip package manager for Python and then use pip to install the required modules and Colonyzer itself. To install Python 2.7 under Windows or OSX, download and run the installer appropriate for your machine here. Python is included with most versions of Linux by default. Instructions for installing the package manager pip can be found here though Windows users might find these instructions clearer.

Installation under Microsoft Windows

After installing python and pip, you will need to ensure that the python installation directory (e.g. "C:\Python27" and "C:\Python27\Scripts") are included in your path. See this FAQ for a description of how to set your path under Windows 7.

32-bit Windows

Once both Python 2.7 and pip are installed, the required packages (including Colonyzer itself) can be installed by typing the following at the command prompt. You can typically get a command terminal in Windows by searching for the cmd program (e.g. Start -> Search -> Cmd). Note that Windows users will have to right click on the Cmd icon and Run As Administrator. Onece you have a command terminal window open, type or paste the following command and press enter at the end of the line:

pip install numpy scipy pandas pil matplotlib pygame Colonyzer2

64-bit Windows

Unfortunately, it is not possible to install 64-bit versions of several Python packages using Pip under windows. To install these packages manually, locate and install the following packages from the Unofficial Windows Binaries for Python Extension Packages website:

numpy scipy pandas pil matplotlib pygame

Note that Numpy-MKL requires installation of a Visual C++ compiler as well (instructions at the webpage above). Once the required packages, including pip are installed, Colonyzer can be installed by typing the following at the command prompt. You can typically get a command terminal in Windows by searching for the cmd program (e.g. Start -> Search -> Cmd). Note that Windows Vista users will have to right click on the Cmd icon and Run As Administrator. Once you have a command terminal window open, type or paste the following command and press enter at the end of the line:

pip install Colonyzer2

Installation under Linux

Linux users might prefer to allow their OS package management system install the required python packages instead of pip. To do this under Debian (e.g. Ubuntu), first install pip and all required packages using the OS package management system. Then, use pip to install Colonyzer, as follows:

sudo apt-get install python-pip python-numpy python-scipy python-pandas python-matplotlib python-pygame

sudo pip install Colonyzer2

Upgrading to latest version

Colonyzer is continuously being improved. To upgrade an existing installation to the latest version, simply execute the following command in terminal (as administrator or using sudo where appropriate):

pip install --upgrade Colonyzer2

Documentation

Detailed documentation will appear here in due course, but for the moment, try using the timecourse demo script as follows:

Development

Colonyzer2 is under development on github. Feel free to fork the repo and to submit pull requests. Marcin Plech has contributed many useful bugfixes to the latest version of the software.

Citation

If you use Colonyzer in research leading to a publication, please cite our open access article:

Conor Lawless, Darren J Wilkinson, Alexander Young, Stephen G Addinall and David A Lydall Colonyzer: automated quantification of micro-organism growth characteristics on solid agar BMC Bioinformatics 2010, 11:287

DOI: 10.1186/1471-2105-11-287

The original ource code, installation instructions, a library of example images, and some auxiliary scripts for analyzing batches of images as presented in Lawless et al. 2010 and used in Addinall et al. 2011 and Chang et al. 2011 and demonstrated in Banks et al. 2012 can be found on sourceforge. However, the version presented above is more current and is recommended for new users. In particular the current version is faster and easier to install and use.

The qfa R package has been developed to further analyse the data, construct growth curves and infer culture fitnesses, and is compatible with either version of Colonyzer.