DOI: 10.5061/dryad.gxd2547zg
title: RubyACRs enable red-shifted optogenetic inhibition in freely behaving Drosophila

description: Optogenetic neuronal activators with red-shifted excitation spectra, such
 as Chrimson, have significantly advanced Drosophila neuroscience. However,
 until recently, available optogenetic inhibitors required shorter
 activation wavelengths, which do not penetrate tissue as effectively and
 are stronger visual stimuli to the animal, potentially confounding
 behavioral results. Here, we assess the efficacy of two newly identified
 anion-conducting channelrhodopsins with spectral sensitivities similar to
 Chrimson: A1ACR and HfACR (RubyACRs). Electrophysiology and functional
 imaging confirmed that RubyACRs effectively hyperpolarize neurons, with
 stronger and faster effects than the widely used inhibitor GtACR1.
 Activation of RubyACRs led to circuit-specific behavioral changes in three
 different neuronal groups. In glutamatergic motor neurons, activating
 RubyACRs suppressed adult locomotor activity. In PPL1-γ1pedc dopaminergic
 neurons, pairing odors with RubyACR activation during learning produced
 odor responses consistent with synaptic silencing. Finally, activation of
 RubyACRs in the pIP10 neuron suppressed pulse song during courtship.
 Together, these results demonstrate that RubyACRs are effective and
 reliable tools for neuronal inhibition in Drosophila, expanding the
 optogenetic toolkit for circuit dissection in freely behaving animals.
description: # RubyACRs enable red-shifted optogenetic inhibition in freely behaving
 Drosophila Dataset DOI:
 [10.5061/dryad.gxd2547zg ](10.5061/dryad.gxd2547zg)respository ##
 Description of the data and file structure This dataset describes RubyACR
 performance in Drosophila melanogaster with 5 different assays. These five
 assays correspond to the 5 figures in the accompanying paper. In each
 assay, there is a "Data" folder containing a pickle file(s) with
 the data and a "Script" folder containing Python Jupyter
 notebooks that generate the graphs found in the paper. The Python version
 and libraries used in the Python environment are described in the Pipfile
 and Pipfile.lock text files. Figure 1 includes electrophysiological
 recordings from the larval NMJ motor neurons expressing RubyACR. Figure 2
 includes imaging from Mi1 neurons expressing RubyACR in the adult. Figure
 3 includes walking behavior when RubyACRs are activated in glutamatergic
 neurons. Figure 4 includes memory responses when RubyACRs are activated in
 dopamine neurons in the adult during training. Figure 5 measures courtship
 song frequency when RubyACRs are expressed in pIP10. ### Files and
 variables The following section describes the files found in the
 "Repo_Main.zip" folder in this repository. There are 5
 subfolders within the zip folder specific to each figure in the paper.
 #### Figure_01: Electrophysiological recordings from larval motor neurons
 Here are the folders and files found in the Figure_01 subfolder : ```
 Figure_01 ├── Data │ ├── Protocol_488nm_100ms_0.2-4.9V.pckl │ ├──
 Protocol_488nm_10ms_0.2-4.9V.pckl │ ├── Protocol_488nm_1ms_0.2-4.9V.pckl │
 ├── Protocol_488nm_500ms_0.2-4.9V.pckl │ ├──
 Protocol_530nm_100ms_0.2-4.9V.pckl │ ├── Protocol_530nm_10ms_0.2-4.9V.pckl
 │ ├── Protocol_530nm_1ms_0.2-4.9V.pckl │ ├──
 Protocol_530nm_500ms_0.2-4.9V.pckl │ ├──
 Protocol_660nm_100ms_0.2-4.9V.pckl │ ├── Protocol_660nm_10ms_0.2-4.9V.pckl
 │ ├── Protocol_660nm_1ms_0.2-4.9V.pckl │ └──
 Protocol_660nm_500ms_0.2-4.9V.pckl └── Scripts ├── C19_Genotype_Colors.csv
 ├── C49_Style.mplstyle ├──
 C61_GraphingResponsesOverTime_PNG_float16_v004.ipynb ├──
 C61_MeanVoltageChange_PNG_float16_v05.ipynb ├──
 C61_MeanVoltageResponseStarts_PNG_float16_v05.ipynb ├──
 C61_MeasureKinetics_PNG_float16_v003.ipynb ``` In the data folder, there
 are pickle files containing pandas dataframes for each type of protocol.
 The name of the folder indicates the light wavelength used to stimulate
 channelrhodopsin, the duration in ms, and the range in stimulation
 intensities. For example, "Protocol_488nm_100ms_0.2-4.9V.pckl"
 indicates the stimulation wavelength was 488 nm, duration was 100 ms, and
 the intensity used ranged from 0.2 V to 4.9 V to the LED. In the
 multi-index pandas dataframe within each pickle file, the column labels
 correspond with time (ms) when individual sample measurements occurred.
 The columns are labelled with the time (ms). Within the multi-index, the
 following describes information within each column: | Column | Description
 | | ---------------- |
 ---------------------------------------------------------------------------- | | statistic | The statistic being measured. See below for a description of each statistic. | | stim\_duration | illumination duration (ms) | | stim\_intensity | voltage sent to the LED | | stim\_intensityW | illumination intensity mW/mm <sup>2</sup> | | stim\_wavelength | illumination wavelength | | trial | The testing number in the protocol. | | genotype | Channelrhodopsin being tested. | | cross | In house, cross designation. | | larva | The larva being tested for the given day. | | date | The date of testing. | The statistics being measured: | Statistic | Description | | ---------------------- | ---------------------------------------------------------- | | mem\_voltage | NMJ membrane voltage measured using electrophysiology (mV) | | stim\_voltage | Voltage being sent to the LED (V) | | stim\_intensityW\_time | The time between intervals (s) | The Scripts subfolder contains Jupyter notebooks. Other files within the Scripts folder are dependencies defining styles and color guides for the graphs. The following table describes the Jupyter notebooks: | Jupyter Notebook | Description | | -------------------------------------------------------- | --------------------------------------------------------------------------- | | C61\_GraphingResponsesOverTime\_PNG\_float16\_v004.ipynb | Graphing the change in membrane voltage over time. | | C61\_MeanVoltageChange\_PNG\_float16\_v05.ipynb | Graphing the mean change in voltage for each illumination intensity. | | C61\_MeanVoltageResponseStarts\_PNG\_float16\_v05.ipynb | Determining the minimal illumination intensity that can trigger a response. | | C61\_MeasureKinetics\_PNG\_float16\_v003.ipynb | Measuring half on and off kinetics. | #### Figure_02 includes imaging from Mi1 neurons expressing RubyACR in the adult Here are the files within the subfolder Figure_02: ``` Figure_02 ├── Data │ ├── C05_IntensityMeasurements.ods │ └── Compiled01_02.pckl └── Scripts ├── C49_Fig3_Graphing_v03.ipynb ├── ccModules3.py └── pathlibDB.py ``` The Data folder contains two files. The C05_IntensityMeasurements.ods is a spreadsheet indicating the voltage sent to the LED and corresponding light intensity targeting the sample. The Compiled01_02.pckl file contains a pandas dataframe with the GCaMP6s intensity measurements during testing. The columns record measurements for each time point. The multi-index rows contain the following columns: | Column | Description | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | statistic | The statisitic being measured. See below for a description of each statistic. | | protocol | Name of the protocol being applied. Names range 'v01', 'v02', 'v03', 'v05', 'v08', 'v10', 'v15', 'v20' and lastly 'S02'. Divide the integer by 10 to get voltage sent to LED. The v protocols were performed with increasing voltage. The s was a voltage applied after all v protocols were run. | | animal | Specific designation for animal tested. | | genotype | Channelrhodopsin tested. | | stim\_intensity | Voltage sent to the LED. | The statistics being measured are as follows: | Statistic | Description | | ----------- | ----------------------------------------------- | | StimVoltage | The voltage being sent to LED at the given time | | time | Time (s) | | M8-10 | Region where intensity was measured. | The Scripts subfolder contains the Jupyter notebook, C49_Fig3_Graphing_v03.ipynb used to generate graphs displaying changes in GCaMP intensity over time and per illumination intensity. Other files within the Scripts folder provide functions used in the Jupyter notebook. #### Figure_03 includes walking behavior when RubyACRs are activated in glutamatergic neurons. Here are the files in the subfolder Figure_03: ``` Figure_03 ├── C13_UAS │ └── 10sProtocol │ ├── Data │ │ ├── C13_ForC49_20240929.pckl │ │ └── C13_MingRGBIntensity.xlsx │ └── Scripts │ ├── C49_GraphingGenieTen_v05.ipynb │ └── C49_Style.mplstyle └── C18_LexA └── 10sProtocol ├── Data │ ├── C13_MingRGBIntensity.xlsx │ └── C18_ForC49_20241009.pckl └── Scripts ├── C49_GraphingGenieTen_v06.ipynb └── C49_Style.mplstyle ``` Data is divided into subfolders by driver type. Effectors driven by the GAL4 system are in the C12_UAS folder, while tests using the LexA are in the C18_LexA folder. The data subfolders contain the C13_MingRGBIntensity.xlsx spreadsheet containing the illumination intensity measurements (mW / mm<sup>2</sup>) per percent LED intensity. The pickle files (*.pckl) contain pandas dataframe detailing the walking velocity (mm/s) at each time point in the protocol. The multi-index has the following columns: | Column | Description | | -------------- | ------------------------------------------------------------------------ | | statistic | Measurement being taken. See below for a description of each measurement. | | male-short | Channelrhodopsin abbreviation | | male-full | Channelrhodopsin full transgene name | | female-short | Driver line abbreviation | | female-full | Full driver line name | | animal\_num | Animal being tested | | frames | Number of image frames in protocol | | parent | Animal specific name | | protocol\_name | Protocol name | | cross | Cross designation that generated animals. | | total\_stims | Total number of stimulation tests in protocol | | protocol | Protocol name | | stim\_num | Stim trial | | start | Frame number when stimulation started | | stop | Frame number when stimulation stopped | | stim\_length | Number of frames in trial | | post | Number of frames included in baseline | | pre | Number of frames included after stim start | | red | Percent voltage passing to red LEDs | | green | Percent voltage passing to green LEDs | | blue | Percent voltage passing to blue LEDs | Statistics measured in the frame : | Statistic | Description | | ------------------------ | ------------------------------------------------- | | timestamp | Timestamp for each frame in the image | | dig\_intensity | Boolean array indicating when illumination occurs | | Red\_Intensity (0-100%) | Red LED percent intensity | | Green\_Intensity(0-100%) | Green LED percent intensity | | Blue\_Intensity(0-100%) | Blue LED percent intensity | Each Scripts subfolder contains a Jupyter notebook, C49_Graphing GenieTen_v05.ipynb, that graphs the change in velocity over time and mean velocity during baseline and testing periods. #### Figure_04 includes memory responses when RubyACRs are activated in dopamine neurons in the adult. The subfolder Figure_04 contains the following: ``` Figure_04 ├── Data │ └── PI_annotated.csv └── Scripts └── C49_Figure_04_v01.ipynb ``` In the Data subfolder, the PI_annotated.csv contains the preference index for each animal tested. Test1 uses 13 µW/mm<sup>2</sup> while test 2 refers to 26 µW/mm<sup>2</sup> red light illumination during the training. The Scripts subfolder contains the Jupyter notebook, C49_Figure_04_v01.ipynb, that generates graphs comparing preference index after training between genotypes and illumination intensities. #### Figure_05 measures courtship song frequency when RubyACRs are expressed in pIP10. The subfolder Figure_05 contains the following files: ``` Figure_05 ├── Data1_RedOnly │ ├── Data │ │ └── C79_Data1.pckl │ └── Scripts │ ├── 02_C79Data1_GraphingResponses-v07.ipynb │ ├── 03_C79Data1_GraphingPercentChange-v02.ipynb │ ├── C49_IndividualExamples_v03.ipynb │ ├── C49_Style.mplstyle └── Data2_RGB ├── Data │ └── C79_Data2.pckl └── Scripts ├── 02_C79Data2_GraphingResponses-v09.ipynb ├── 03_C79Data2_GraphingPercentChange-v02.ipynb ├── C49_Style.mplstyle ``` The subfolder Data1 contains an experiment testing red illumination intensity only while Data2 tests red, green, and blue illumination. Both folders are structured similarly with a Data subfolder containing a pickle (*.pckl) file storing a pandas dataframe containing the data from the experiment. Entries in the dataframe columns indicate the classification for song recorded during the interval : 0 : no song, 1 : 'pulse', and 2 : sine song. The columns in the multi-index are as follows: | Column | Description | | -------- | ------------------------------------------------------------- | | species | Species tested in Drosophila melanogaster, abbreviated as mel | | effector | The channelrhodopsin tested | | driver | The driver used in combination with the effector | The Scripts subfolders contain Jupyter notebooks used to generate graphs comparing courtship song between genotypes and at different illumination intensities. The following table describes the output for the jupyter notebooks: | Jupyter Notebook | Description | | ----------------------------------------- | ----------------------------------------------------------------------------------------- | | 02\_C79Data2\_GraphingResponses-v09.ipynb | Graphs the percent duration for each song type during baseline, testing, and post periods. | | 03\_C79\_GraphingPercentChange-v02.ipynb | Graphs the percent change from baseline for testing and post periods. | Other files in the Scripts subfolder contain style guides for the graphs in the Jupyter notebook.