Skip to main content

The first smart microscope, Howard C. Berg, and bacterial chemotaxis

Chemotaxis of bacteria is a molecular mechanism by which they sense chemicals and swim through  a biased random walk toward preferred concentrations. It has been studied extensively since late 60-s and became a triumph of quantitative system biology, thanks to giants like Julius Adler, Howard C. Berg, Daniel Koshland, to name a few.

Perhaps the most instrumental in this scientific revolution was Howard Berg’s tracking microscope (Berg 1971; PDF), which could follow a freely swimming E.coli cell in 3D in real time. Yes, in 1971. It allowed precise quantification of cell swimming trajectories in spatial and temporal gradients of chemicals, which led to discovery that E.coli performs a biased random walk, with longer runs toward increasing concentrations of attractive chemicals (Berg and Brown, 1972; PDF). This work laid the foundation of quantitative approach to bacterial chemotaxis, which led to multiple breakthroughs on it’s biochemical and physical mechanisms.

Even today in 2017, building a tracking microscope which keeps a rapidly swimming organism in focus is not an easy task. The system had to keep track of rapidy swimming bacterium within a very small depth of field and accurately update servo positions with at least 50 Hz frequency (20 ms intervals). Fast sCMOS cameras, real-time operating system, LabView, FPGA, and C/C++ were unknown words in the late 1960-s. Computers were using punch cards and magnetic tapes.

In a stunning tour de force Howard  Berg created a tracking microscope using only optic fibers, photomultipliers, off-the-shelf analog electronic components, and electomagnetic coils on top of a Nikon upright microscope, at a cost about $5K (equivalent of ~30K in 2017).  Machining and electronics he did himself. The tracking data were stored using an oscilloscope or magnetic tapes.

The principle of tracking H.Berg proposed was simple and elegant. A phase-contrast image of a bacterium is relayed onto 3 pairs of photomultipliers (PMTs), x1, x2, y1, y2, z1, z2. Displacement of the bacterium in +x direction excites the x1 PMT, so the difference between x1-x2 PMTs is high  - it is then amplified and fed into the electromagnetic drive coil which moves the chamber with bacteria. This feedback loop returns the bacteria back to the center of visual field. In z direction, when bacteria swims up it’s image becomes more focused on PMT z1, the difference of signals z1-z2 is amplified and fed into the drive coil for z axis. If bacteria swims beyond the range of drive coils, the microscope automatically returns to the center position and waits for another bacteria to swim by to start a new tracking.

“The scene through the binocular is extraordinary. The bacterium being tracked seems to be stuck to the center of the field, turning this way and that trying to free itself, while the other bacteria drift in and out of focus, then to and from, in apparent synchrony. If the bacterium being tracked is long, it seems to be stuck at one end and then at the other; the microscope will track on any part.” (Berg 1971)

How was this all possible?

The exact details on how to tune all the analog control loops, select the right materials and components are hard to grasp by us, the digital generation. Real-time LabView with FPGA? Use op-amps, resistors and capacitors instead.

Fast and precise piezo stages? None in 1971. Use coils and cylindrical magnets, springs and rods. Ah, don't forget to make the rods from tungsten - they should be non-magnetic and stiff.

Berg's tracking microscope is an inspiration and example of scientific instrumentation mastery - bold ideas and finesse of implementation, applied for making groundbreaking discoveries in biology. Prof. Howard C Berg devoted his long career to the amazing world of bacteria, molecular mechanisms of chemotaxis and flaggelar motors, and his book Random Walks in Biology is an all-time classic, where physics marries biology.

A projection of the track of a wildtype E. coli obtained with a microscope which automatically follows its motion in three dimensions (from H.C.Berg's website).


Popular posts from this blog

Programming NI DAQmx board in Python: easier than you think!

For my DIY microscope I had a task - generate a train of digital pulses which simulate camera trigger, so that other devices (galvo and laser) are synched. I wanted to do it in Python, so that it seamlessly integrates in my data acquisition and analysis Jupyter notebook.

After some quick search I found a PyDAQmx library which seemed mature and had good examples to begin with.

Installation was smooth: download, unzip, open Anaconda prompt,
python install

After only 30 min fiddling, I was able to solve my problem in just a few lines of code:

Holy crap, it just works, out of the box. Oscilloscope shows nice digital pulses every 100 ms, each 1 ms long. The code is much shorter and cleaner than would be in C, C#, or LabView.

PyDAQmx appears to be a full-power wrapper around native NI DAQmx drivers (yes, they need to be installed), so presumably it can do all that can be done in C or even LabView (this statement needs to be tested).

One can use PyDAQmx to control galvos with fast ana…

Programming of DIY microscopes: MicroManager vs LabVIEW

In the flourishing field of DIY light microscopy, a decision of choosing the programming language to control the microscope is critically important. Modern microscopes are becoming increasingly intelligent. They orchestrate multiple devices (lasers, cameras, shutters, pockel cells) with ever increasing temporal precision, collect data semi-automatically following user-defined scenarios, adjust focus and illumination to follow the motion (or development) of a living organism.
So, the programming language must seamlessly communicate with hardware, allow devices be easily added or removed, have rich libraries for device drivers and image processing, and allow coding of good-looking and smooth GUIs for end users. This is a long list of requirements! So, what are the  options for DIY microscope programming?

There are currently two large schools of microscope programming - Labviewers and Micromanagers. (update: Matlab for microscope control also has a strong community, comparable to labview…

Shack-Hartmann sensor resolution - how much is good?

If you are new to adaptive optics (AO) like me, the selection of right hardware can be daunting. Starting with a wavefront sensor - they range in price, resolution, and many options which are not obvious. By practical trial and error I learned something about resolution, which wasn't obvious to me a year ago.

The Shack-Hartmann wavefront sensor (WFS) is essentially a camera with a lenslet array instead of an objective.
 There are sensors with 15x15 lenses, 30x30 and higher. Naively, you might think "the more the better" - we are digital age kids used to get high-res for cheap.

However, there is a catch. High-res sensor, say, 30x30 lenslets, divides your photon count by 900 per spot. Roughly speaking, when you image a fluorescent bead (or another point source) by a camera with "normal lens" (not a lenslet array), and your peak intensity is 2000, this makes a very nice, high SNR bead image. However, is you switch to Fourier (pupil) plane and image the wavefront u…