Automatic sample changer to handle liquids for BioSAXS experiments was developed thanks to the collaboration between the ESRF and the EMBL. The current robot was installed in June 2020 and is in user mode from September 2020.


The system is fully described in the dedicated publication. A short software user manual can be found here as well as the robot maintenance manual.

Samples in the sample changer can be stored in 96 well plates (up to three) and/or PCR tubes provided. Storage and exposure cell can be independently thermoregulated, 4-40ºC and 4-60ºC, respectively. Sample cleaning and loading takes about 30 seconds each.



For loading/unloading samples into the robot use the touch screen located on the right hand side of it. There are two working positionload_sample.jpgs of the sample storing racks:

1) Load Position: for loading/unloading samples into SC

When the racks are in loading position, the light on the top of the SC cover becomes green indicating that it is possible open the plastic cover. Once all samples are introduced inside the SC make sure that no stripe or a PRC tube is higher than its metallic block. If not an error message will appear when the SC scans before parking and you will need rearange (i.e. push more the tubes into their holes) the individual sample containers.

2) Scan and Park: SC checks if samples and needle are at right locations and if so, the robot parks the sample racks in the position when it is ready for loading a sample for exposure and data collection. The light on the top of the SC cover becomes red indicating than the plastic cover can not be removed.


Robot can be used in the manual way (actions driven by user one by one) or automatically (robot collects data accordingly to samples defined by the user without his/her active participation).

Robot in the manual mode is driven using the Robot tab in BsxCuBE interface:


Action as "Fill", "Clean", "Flow", "Fix liquid position", setting temperature of Sample Exposure Unit (SEU) or storage etc. can be performed by pushing corresponding buttons and answering questions if any. Once a sample loaded, its position can be adjusted using |<< and >>| buttons which push the sample back or forward by a small amount. Red rectangle corresponds to the X-ray beam location and software is looking for the sample-air interface (meniskus detected by the green line) to put it just behing (1-2uL) to avoid scattering on it. If "Fix liquid position" button clicked the sample will be kept at this position until you push another button (for example >>| or "Clean"). This option can be very useful if small position changes of the sample obSC_auto.jpgserved as a function of time.

"Pipetting" action gives the possibility to transfer up to 400µl from one sample well to other and mix it with the liquid already present in the target well (if not empty).

Robot can be used in the automated data collection mode. Click option "Collect using robot" in Collect perspetive of BsxCuBE.


You can than fill the Collect using robot script or load an existing one (from a file or directly from ISPyB if already prepared).

In the robot.xml file should be defined at least one sample (with non-zero concentration) and one buffer (with concentration zero). Define the sample and buffer location (plate 1,2,3; raw and column), concentrations, macromolecule name, viscosity, corresponding buffer id if sample, transmission (100% corresponds to the maximal beamline flux), volume to be loaded (minimum 30uL if you want to 'flow' the sample during data collection, 10uL largely enough in 'fix position' mode: ON by defaut if not flowing), SEU temperature, tick 'flow' and/or 'recuperate' if needed. Specify sample type, storage temperature, extra flow time (usually 10s), optimisation mode (none = script executed line by line), buffer mode (first and after, after/before only, none) and save the file in your experimental directory. Note that you put here just a list of samples filled in the robot, not the data collection strategy. Software will make it for you: measure for each sample its corresponding buffer if asked so.Collect_script.jpg

''Add"/"Remove" button add/remove a line in/from the list respectively. Cross in 'Enable' column makes this line active, if unticked, this sample will not be taken into account when collecting data. Only line with the blue box can be modified; change its position using arrows and tab buttons of the keyboard. "Copy"/"Paste" buttons allow to copy/paste a given line. "Up"/"Down" buttons move up/down a line (this one marked with the blue box at beginning) by one place. "Red cross" at the end of each line allows to delete it. "Clear" button erases everything.

Once the robot.xml is filled and saved, you will see its name close to "Collect using SC" button.

Data collection is performed by clicking "Collect" with the prefix, number of frames and time per frame defined in collect tab. Data are stored in the defined directory. With a typical exposure time of 10 times 1s frame, 20 samples with their buffers can be measured automagically within 1 hour, giving the time for a lunch or so...


There are some practical infos/resume:

- absolute minimum of sample in the capillary (exposure cell) is 5uL, which means to have about 10 to 15uL in a well. However, due to the radiation damage observed in static mode (no flow), we strongly recommend to use more of sample (20uL and more, up to 120uL) and flow it during data collection. To make a long story short, you are safe having 100uL of stock solution and prepare dilution series with 50uL each;
- q-range available depends on energy used (usually 12.5keV, can be from 7 to 15keV), say from 0.02 to 6nm-1.
- minimum protein concentration to measure depends on particle size, quantity of sample you have and how far in q-range you want to have a non-noisy signal..., for example for BSA we can reasonably measure down to concentration of 0.02mg/mL;
- samples are loaded in its storage area and robot does automagically all the rest (following a script filled in data collection software). Collection protocol we recommended is measurement buffer_before-sample-buffer_after, however one can modify it. Automatic data processing (based mainly on atsas package) choices the 'best' buffer for subtraction. Sample cell and tubing are clean (detergent), rinse (water) and dry (nitrogen) after each exposure.