Home - jeanollion/bacmman GitHub Wiki

BACMMAN: BACteria in Mother Machine Analyzer

is a software allowing fast and reliable automated image analysis of high-throughput 2D/3D time-series multi-position microscopy images.

Which data can be processed by BACMMAN ?

BACMMAN was initially designed to analyse data from Mother machine experiments, but has now been extended to 3D data, and 2D+time data.

Mother Machine data

The mother machine is a very popular microfluidic device allowing investigating biological processes in bacteria at the single-cell level. BACMMAN can segment and track bacteria imaged either in phase-contrast or in fluorescence, as well as segment and track intracellular spots. The intracellular spots can be for instance DNA replication errors, i.e. mismatches which is the case of the data from Robert et al. Mutation dynamics and fitness effects followed in single cells, Science 2018. Here, we provide three examples of different datasets analysed by BACMMAN from that publication. To download this data see Example Datasets.

Fluorescence Images

Phase-contrast images

Other microscopy data

However, BACMMAN is very modular and can easily be adapted to analyze other kinds of data. For this, new pre-processing, segmentation, tracking and measurements modules can be developed and easily plugged-in. As an example we provide in the Developer Documentation a tutorial on how to develop a new measurement module and how to plug it into BACMMAN. See for instance TaLiSSman (TrAnsmitted LIght Stack SegMentAtioN) a deep neural network based method to segment bacteria imaged in transmitted light, that runs in BACMMAN.

We provide as well a tutorial showing how to adapt an existing configuration to other datasets using two publicly available datasets from other labs.

BACMMAN relies on bioformat so it can in principle use all supported formats.

Features

Automatic pre-processing

BACMMAN contains various modules for automatic cropping, rotation, flipping, registration etc.. for both phase-contrast images and fluorescence images. This allows configuring different pipelines that are adapted to different types of images.

Automatic Segmentation and tracking

BACMMAN can segment and track bacteria and intracellular spots. For that purpose different modules are available and can be configured in the GUI.

To visualize segmentation and tracking results, BACMMAN generates interactive Kymographs that display contours of objects, tracking links and measurements. Navigation within and between kymographs is facilitated by shortcuts.

Bacteria segmented in phase-contrast images:

Fluorescent spots segmented within bacteria:

Manual Editing

Object contours and track links can be edited manually. List of commands are available from the Help menu (shortcut: F1 to show/hide shortcut list).

Output data

Output data is exported as tabular data, compatible with most statistical processing software such as R and Python (Pandas). One file per object class is generated. Each line corresponds to a segmented object at a given frame and each column corresponds to a measurement performed on this object.

Interplay between statistical analysis and image visualization

During data analysis through R or Pandas a fraction of objects (i.e. cells, intracellular spots...) having interesting characteristics can be identified from the whole dataset. Such sub-populations of objects (termed selections) generated from R or Pandas can easily be browsed in BACMMAN allowing their visualization and/or editing if necessary. This allows to visualize / edit only a fraction of the whole dataset. See the selection page for more details.

Versatility

During configuration, testing procedures are available to help parameter optimization for each step of pre-processing, segmentation and tracking (See this page). In addition, new modules for pre-processing, segmentation, tracking and measurements can be developed and plugged-in as illustrated in this tutorial. For more information see the Developer Documentation

Command line mode (headless mode)

BACMMAN can be run in console mode. Tasks can be defined from the GUI and run in parallel a remote sever in headless mode (see this page)

Compatibility

This software was tested on Linux, Windows 10 and MaxOSX

Terms and Conditions

BACMMAN is published under the GPL-3.0 licence.

Please note in particular this part of the terms:

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

Acknowledgments

If you publish results that are based on this software, please cite: J. Ollion, L. Robert, and M. Elez, “High-throughput detection and tracking of cells and intracellular spots in mother machine experiments” Nature Protocols, 2019.

If you use DistNet module, please cite: J. Ollion and C. Ollion, “DistNet: Deep Tracking by displacement regression: application to bacteria growing in the Mother Machine“ International Conference on Medical image computing and computer-assisted intervention, 2020.

If while using BACMMAN, modules developed by other groups are used (as stated in the Help pop-up of the module) please also acknowledge those groups.