Bubble Test Page

System for the Evaluation of Vertical Cell Movements

In order to characterise the floatation behavior of gas vesicle-filled E.coli, and confirm and/or revise the existing model, we would have to make some measurements. The preparation for this began before the gas vesicles were produced in the lab, so that when they were made, the characterisation process would be more efficient.

We decided to utilise the optical properties of the gas vesicles – they are known to scatter light. We devised an experimental set up that would light up and image the cells in suspension. When the cells float, their distribution in the fluid will change, thus changing the proportion of light that gets through at a given height. By tracking these changes over time, we would gain information on the speed of floatation, and perhaps how the cells distribute themselves – we should be able to see any clumping or filament formation.

Experimental Set-up

Figure 1: General Experimental Set-Up

  1. Connections to variable DC voltage supply
  2. Breadboard, with 2 parallel connected LEDs:
    • Cold white, viewing angle 15o
    • Resistors:
  3. Light Blocker/Diffuser Unit
  4. Light Blocker/Cuvette holder unit. Contains:
    • Main Cuvette Holder
    • 5cm straight-sided cuvette
    • Flap for cuvette insertion/removal
  5. Phillips SPC900NC/00 Webcam, with laptop USB connection
  6. Mouldable Adhesive (Blutac)

Experiment 1: Red Silicone Beads

For the first experiment, we would be tracking the sedimentation of red silicone beads through water. With a very similar size (1.1um) and density (1100kg/m^3) to E.coli, we felt these would be an acceptable substitute for the cells.

Experimental Method

  1. 200μl of 1% red silicone bead suspension was remixed to return to a uniform distribution. 100μl of this was pipetted into a second epindorf, in case the others were lost.
  2. 1ml of water was added to the 100μl of beads, and pipetted up and down to give a uniform distribution.
  3. This was centrifuged at 6G for 5 minutes.
  4. 1ml of water was then removed, leaving the pellet of beads behind.
  5. Steps 2- 4 were repeated.
  6. 200μl of double distilled water was added, and mixed to a uniform distribution.
  7. This was added to a 3cm flat sided cuvette containing 3.5ml of water. This was again mixed to a uniform distribution
  8. The cuvette was placed in the set-up as shown in the previous figure.
  9. The LEDs were switched on, at a voltage of 3V.
  10. Images were taken of the cuvette using the webcam. This was repeated at different times.(see below)

Initially, the plan was to take an image every 10 minutes, but it very quickly became clear that there would be no changes in this time frame – at least no changes big enough to register. We changed the time between images to be 1 hour. In the end, this was also far too short, and even after 3 – 4 days there had been little change in the image brightness (again, nothing measurable). A quick calculation had put a preliminary estimate of 150 hours to travel the 3cm, but we had assumed changes would be visible in the time before this.
One reason for this could be the shear number of beads we had used: our engineering adviser agreed that the concentration we'd used was far too high and we'd be unlikely to see anything.

In order to be able to optimise the experiment, we would need a set-up which ran far quicker - otherwise, it could take days to get even the camera settings right! With this in mind, we procured some different beads for experiment 2.

Experiment 2: Yellow Glass Beads

For ease of repeatability, we needed to find a quicker experiment to run. Using glass beads 5um in diameter, and of density 200kg/m^3, the system could be tested multiple times per day. Preliminary calculations supported our hypothesis.

Experimental Method

  1. The solution of 5µm glass beads was mixed using a vortex mixer.
  2. 100µl was taken from the beads solution and added to a cuvette.
  3. This cuvette was filled to 3ml with the appropriate solution (e.g. DD water or a salt solution).
  4. Another cuvette was also filled with the same liquid, but with no beads, to act as a background.
  5. A picture was taken of the background cuvette
  6. The solution with beads was then remixed with a pipette then quickly put in place and the first picture of the sequence was taken.
  7. For the first 10 minutes, after every minute another picture was taken.
  8. From 10-60 mins one picture was taken every 10 minutes. This was so the quick changes of the first few minutes and the final steady state could be captured with minimal labour.
  9. The pictures were then sorted into a folder to be analysed.

Auto-click software ( was used to allow the pictures to be taken automatically.
Only the blue light from the pictures were analysed. This was due to yellow beads letting out red and green light which slightly distorted the light intensity values.

This set up was much better, in a number of ways. Though the solution was less opaque than the previous, changes were still visible thanks to further changes in the camera setting. We had noticed in the previous experiment that the overall brightness had varied between images, making comparison tricky. This was due to the gain settings on the camera, which were still active. Turned off, we were able to see the true brightness each time. Also, the beads did sink very quickly – the majority of them had sunk in ~10 minutes, meaning the experiment could be run multiple times.

The need for further testing
Initially, the glass beads were only to be used to optimise the system for its final use in tracking bacteria. However, as it became apparent that the issues with the gas vesicles (see the relevant Project page here) were likely to extend beyond the 10 weeks allocated time, it was decided that we would more thoroughly test the capabilties of the system, by attempting to measure and compare the beads' sinking velocities in liquids of different densities.

Experiment 3: Sinking Bead Velocities in Multiple NaCl Molarities

The above yellow bead protocol was repeated using NaCl solutions of 1M, 3M and 5M. 3 runs were made at each molarity. NaCl solution was chosen as the liquid because a)It was easy to obtain and create to our desired concentration, and b)It was hoped that, given the linear concentration range, we would also gain linear velocities that could be graphed nicely.

Once the images had been obtained, there came the process of extracting useful information from them. This was the procedure followed:

  1. All the images from a single run were imported as an 18 image sequence into ImageJ, a free and powerful image processing program.
  2. Images were rotated, so that the cuvette was lying on its side.
  3. A bounding box was drawn to encompass the area we were interested in: namely, the water column. A wider box was used to reduce the effects of blotches from the paper (see later). This was kept the same width between image sequences/runs.
  4. The Profile of this box was plotted for each image in turn, giving us pixels (height) and their corresponding brightness levels (0-255). All this data was saved as a .txt file for import to MATLAB.
  5. Data was opened in MATLAB, and the background removed from each of the images. The resulting profiles were plotted, and displayed the return to zero (or to the background levels) of the cuvette. A simple moving average filter was applied to the curves, to smooth them out for easier interpretation.

Figure 2: Beads falling in 1M NaCl over 60 minutes

Figure 4: Beads falling in 5M NaCl over 60 minutes

Figure 3: Beads falling in 3M NaCl over 60 minutes


To gain the speed data, a “brightness point” was tracked. As we knew the time at each which profile was created, and the height of the cuvette each point is at (the horizontal axis), we were able to obtain a speed by:

  1. Finding the point (I.e, the height) at which each profile intersected the brightness level of interest using a simple MATLAB script.
  2. Taking two times (generally 1min and 10 mins) and finding the distance travelled between them, then using a simple v=d/t equation to find v.
  3. This was repeated for ~5 brightness levels from the y-axis, on average, to gain a total average for the run.

Figure 6: Typical 3M run graph - over 60 minutes

Figure 5: Typical 1M run graph - over 60 minutes

Figure 7: Typical 5M run graph - over 60 minutes

The above graphs show the brightness level (i.e, the amount of beads) along the 3cm of the cuvette. The plots are colour-coded by time: the bluest line is t=0, and the redest line is t=60mins. Note the large gap between two groups of lines - this is due to a change in photo-taking interval from 1 minute to 10 minutes.
A brightness level of zero indicates a return to background (water, no beads) level. You can see that by the 60 minute mark, the majority of the cuvette has returned to this level. In addition, the increasing downwards spike at 0 cm (the bottom of the cuvette), indicates the sinking and accumulation of beads.

NaCl Conc. Run 1 Run 2 Average Theoretical at 20oC Theoretical at 25oC
1M 12.0 12.0 12.1 12.0 13.5
3M 11.5 13.8 12.7 9.0 10.0
5M 8.2 8.2 8.2 6.1 7.3

All values in um per second.
It should be noted that there was one speed value that differed vastly from the others, giving the 3M runs an average of 12.7. With this value removed, the average fell to just below that of the 1M run.

Discussion and Conclusion

The system as it stands is obviously not perfect. While the results do not differ wildly from the theoretical values, they do not display the ordered progression that the theory predicts. There could be a number of reasons for this:

  • Not enough readings – given more time, it would be preferable to run the experiment additional times. This would hopefully counteract any “bad” or slightly unusual runs and results (such as the single "rogue" 3M value).
  • Smoothing. As mentioned previously, the data had to be smoothed before we could analyse. This was almost essential – without the filter, the data had many small peaks and was quite jagged. It is thought this was due to the diffuser we were using, which was a simple piece of white paper. While easy to use and set up, by focusing on the cuvette to track the beads, the “blotches” of the paper were also brought into focus. The issue was not really discovered until the analysis stage, as it was thought a wider sample area would counteract the effects. If we were to repeat the experiment again, we could use a glass diffuser.
  • The system is simply not optimised enough yet, and cannot measure at the required resolution. This could be due to the diffuser problem above, too harsh a filter, unoptimised camera settings etc.
  • Variable temperatures: As you can see in the table, the temperature of the liquid has a reasonable effect on the dynamic viscosity (and thus the final velocity). Errors in our results could be due to variations in temperature during the experiments. While the LEDs were far enough away so as to not heat up the liquid, the experiments did take place in the middle of summer, and at various times throughout the day.

In conclusion, while we can definitely say that this system is able to measure the speed of sinking beads, it requires more work to be able to detect very small differences. We were perhaps a little too optimistic with the liquid densities we used, it would have been interesting to use liquids of wildly different densities, to see if the system could differentiate between them better.
If the system were used to simply measure the speed of the floating cells, it is likely a reasonable value would have been obtained – with this as our main focus, the experiment could be run many times to gain an accurate average.