Here is some general documentation for the freely-walking arena setup that was used to run the “Freely walking course control mechanisms screen” in 2025. This documentation includes information on how to design and run protocols, analyse the data, as well as the specifications of the arena used in experiments.
For the sake of clarity, this documentation will centre on how to run and analyse the specific protocol that was used in the screen experiments (protocol_27.mat
). Other protocols that were run on this arena can be found within the protocols
folder of the repository, but they are not documented here.
Rig specificiations
These protocols are designed to run on the Reiser Lab’s G3 18 x 3 LED panel setup.
[0000 - PNG of setup]
- 18 panel circumeference.
- 3 panel height.
- Each panel is 8 x 8 pixels, so the arena is 18 x 8 = 144 pixels wide and 3 x 8 = 24 pixels high.
- Each pixel is 1.875 degrees of visual angle per pixel and covers 360 degrees of visual angle along the azimuth and 45 degrees of visual angle along the elevation.
- The LEDS are green LEDs with a peak wavelength of ~570 nm.
There is a lot of useful, and more detailed documentation on the specifications of the G3 arena and how to design and run protocols here.
Designing and running a protocol
Patterns for the G3 arena can be generated using the G4_pattern_generator_gui
, but for this screen all patterns and function were made from scratch using custom scripts and the protocols themselves are run through custom scripts that present the patterns using the panel_com
class of functions from the G4_Display_Tools
repository.
The scripts for making the different patterns can be found within the repository here.
The scripts for the protocols themselves can be found within the repository here. This folder contains a subfolder that contains the functions that are required to run the protocols.
Analysing the data
There are two levels to the analyis of the data from the ‘protocol_27’ screen.
The first level is done for every run of the protocol (i.e. each individual vial of flies run) and is done by running the script process_freely_walking_data()
(code). This function requires a string date_to_analyse
which should the name of the directory that was generated for the day’s experiments. It should be in the format ‘YY_MM_DD’. This function returns a number of figures and results files for each individual experiments (run of the protocol / vial of flies).
The second level is done after running the protocol for multiple vials of multiple strains and is done by running the script process_screen_data
(code). This function requires a string protocol
which is a string of the protocol number that you would like to process all of the data for, in this case protocol = 'protocol_27'
. This function combines the data across all of the individual experiments and strains and creates timeseries plots comparing the behaviour of each strain of fly against the empty-split control flies.