Sample aspiration

Aspiration system

Photodiode circuit

Flux diagram of the different modes

The flux diagram followed by those different modes:

We have designed a custom made controller based on Arduino boards in order to perform automatic sample mounting.

This system proved to be useful in reducing sample mounting time in HT-LSFM when samples are loaded from multi-well plates. The Arduino board is connected to a micro-stepper shield (Sparkfun EasyDriver) which controls the rotation of a stepper motor connected to the injector. The design of the home-made holder of the stepper motor is shown on the figure.

With this configuration we can perform rotation from 0.225º to 360º.

In order to correctly place the sample on focus we designed a flow control system using a photodiodes (OPT301; Texas Instruments). The system uses a blue LED as a light source and a photodiode, located around the FEP tube, to detect the difference in transmitted light through the tube. In order to reduce the noise LED and photodiode are assembled into a small unit.

Using the circuit shown, the measured voltage is transformed into an analog signal between 0 and 5 V, connected to an analog input (pin 0) on the Arduino board. On the automatic operation of the system, the aspiration stepper motor will rotate until the photodiode signal is below a certain threshold, defined through the plugin window. When the sample is detected it is triggered the acquisition mode, which moves the sample the exact distance to be on focus position in order to start the acquisition. If needed, different LED intensities and the photodiode sensitivities can be achieved replacing resistors R1 and R4.

With the Micro-manager OpenSPIM-Fluid plugin we are able to measure the transmitted light values in real time and introduce a threshold value to discern if the decrease is created by noise or by samples passing inside the tube. Moreover the LED is connected to the Arduino board digital pin 1 (D1), which permits to turn on and off the LED from the plugin.

Arduino Firmware can be download at the bottom of this page or in DOWNLOAD SPIM-Fluid plugin.

After pressing ACQUIRE button, depending on the selected items (MODE / CAM MODE) different acquisition steps are performed (defined in source code file acquisition. java). Any acquisition actually consist in four for loops (number of images, number of angles/positions, number of channels and number of time points), that may generate a 5D Micromanager windows, if selected all the options. Due to its complexity we will describe deeply the F-SPIM mode.

F-SPIM mode permits to control the stepper motor of the injector in order to load sample through FEP tubes from a multi-well plate in complex experiments, like for example for drug screening studies. This is a complex task which requires different programs at different stages of the loading/unloading process. Initial aspiration to the tube has to be strong, while sample positioning during acquisition has to be soft. To minimize delays, the approach to the photodetector unit and the sample chamber should be performed at higher speeds. Moreover, the aspirated volume needs to be controlled in order to deposit back the sample at its original well. In order to control externally the functionalities of this mode, we stablished a sequence of STATE events, which can be easily reconfigured in the Arduino firmware. In that way the plugin don’t need to be recompiled each time we want to change those parameters.

The sequence on multiwell plate F-SPIM is the following one. First the selected well is placed at the loading position, defined by the XY position list. Then the motor controlling the FEP tube goes to aspiration position indicated in the front panel of the plugin. After that, Micromanager sends a sequence of STATES (S) to the Arduino board controlling the injector:

· S=22: Sample aspiration and approach samples to the photodiode. The rotation motor turns N full rotations at high speed.

N will vary depending on the tube length that one have in its particular experiment and can be adjusted in the Arduino firmware. In our case is set to 5.

· S=20: Approach to the photodiode. Moves a given angle (A) until the voltage measured by photodiode drops down a certain threshold level defined in the plugin front panel.

The number of steps (m) within this state is stored within a global variable, in order to take into account the aspired volume when ejecting out the sample.

· S=47: Setting sample closer to light-sheet plane. Once the sample has reached the photodiode M full rotation are then performed to place the sample close of the focal plane inside the sample chamber.

As before, this value will depend on the position of the photodiode. In our system is set to M=2.

· S=X: Rotation angle between consecutive images. From now on the sample will be pushed by the rotation of the injector a number of given steps defined in the ROTATION and STACK panels of the plugin. Depending of the number of cameras selected, one or two images are acquired for every step.

· After acquiring all the images the sample is brought back to its well by inverting the process. First m steps produced during the approach to the photodiode are automatically performed in reverse way within the plugin. Then, a state sequence starts with S=46, moving backwards the number of steps produced during acquisition, S= 21 the M full revolutions, S=23 the N full revolutions.

If multiple positions are loaded in the list, this process is repeated for the next position.