Bacterial Quantitative Fitness Analysis
Learn More


Reproductive fitness of bacteria is a major factor in the evolution and persistence of antimicrobial resistance and may play an important role in severe infections. With a computational approach to quantify fitness in bacteria growing competitively on agar plates, our high-throughput method has been designed to obtain additional phenotypic data for antimicrobial resistance analysis at a low cost. Furthermore, our bacterial quantitative fitness analysis (BaQFA) enables the investigation of a link between bacterial fitness and clinical outcomes in severe invasive bacterial infections. This may allow future use of our method for patient management and risk stratification of clinical outcomes. Our proposed method uses open-source software and a hardware setup that can utilize consumer electronics. This will enable a wider community of researchers, including those from low-resource countries, where the burden of antimicrobial resistance is highest, to obtain valuable information about emerging bacterial strains.

The BaQFA method has been thoroughly validated (Frey et al., mSystems 2021), and the resources have have been published on GitHub.


The single-plate robot uses an Arduino Uno R3 board and the non-electronic setup can be printed using a 3D printer. The printable STL files will soon be available on GitHub.

BaQFA printable setup
Arduino robot setup for single-plate BaQFA

Bacterial growth

Preparing the agar plates

The robot is designed to fit Nunc OmniTray single-well plates (SKU O0764-1CS). Use 20ml of Brain Heart Infusion (BHI) agar per plate.

Bacterial inoculum

  1. Select your desired bacterial strains and do an overnight culture (max. 24h) on a BHI or blood agar plate.
  2. Scrap some bacteria from the overnight culture and vortex/dilute bacteria in min 1 ml (usually around 10ml PBS in a 15ml Falcon tube) of phosphate-buffered saline (PBS) to reach an optical density (OD) of 0.10 (+/-0.01). Use one tube per strain and avoid cross-contamination.
  3. Prepare a 50ml Falcon tube per strain and put 40ml PBS into it.
  4. Transfer exactly 1 ml of the OD 0.10 bacterial solution into the 40ml of the previously prepared Falcon tube to obtain the diluted final bacterial solution. Repeat for each strain. Vortex each tube for 15 to 30s.
  5. Pour a comfortable amount (e.g., 20ml) of the diluted final bacterial solution into a multichannel reservoir.
  6. Use a multichannel pipette with a yellow tip in every second slot. Put 3µl from the bacterial solution per culture spot; use the pipetting template to create a neat grid of alternating strains. Take care to pipette with low force to avoid formation of small droplets around the culture spots.
  7. Leave the plate in level position until the 3µl drops have dried. You're all done with preparing your BaQFA plate!
  8. Disinfect the pipetting template with ethanol (e.g., by soaking it in ethanol using a cleaning tissue).

Incubation in BaQFA robot setup

Make sure the camera is connected to the robot and has enough battery charge, then turn on the robot. It will first open the lid (unless it's already open) and now you have 30 seconds to place the prepared agar plate into the BaQFA setup for incubation (usually at 37°C). After these initial 30 seconds the robot will make 3 test pictures to give you a chance for last-minute corrections and tweaks to the camera. Don't forget to check the test pictures for blurring, which would indicate you have to adjust the manual focus on the camera lens).

The robot will now take a picture of the plate every 30 minutes until you turn it off (or the camera runs out of battery).

Fitness Data

BaColonyzer for culture intensity values

The open-source software BaColonyzer was designed to obtain density values of each bacterial culture spot on your plate over time (also, see its installation guide). It automatically recognises the cultures on the plate and generates the files containing intensity values needed for further analysis.

BaQFA-R to calculate fitness from intensity values

Once you have the intensity value files from BaColonyzer, you can now generate all the fitness parameters you desire using the R package BaQFA-R.

In the future you'll be able to just upload your set of time-laps pictures here to the website to let it calculate the fitness per strain for you - no need to install anything or learn complicated R code or command line syntax.