Characterization of postsynaptic glutamate transporter functionality in the zebrafish retinal first synapse across different wavelengths
Data files
Nov 26, 2025 version files 9.23 GB
-
README.md
22.58 KB
-
Source_files.zip
9.23 GB
Abstract
Date of data collection: 2019-2024
=========================
General Information
This dataset contains all source data related to the manuscript "Characterization of postsynaptic glutamate transporter functionality in the zebrafish retinal first synapse across different wavelengths."
The data includes:
- Electroretinogram (ERG) recordings for single and double mutant zebrafish larvae.
- Confocal microscopy images and manual intensity analysis for full retinal mapping.
- Scripts, 3D models (STL files), and spectrometer readings for a custom UV hunting behavioral setup and OMR behavioral assays.
- Raw behavioral tracking data for UV hunting assays (wild type and mutants).
- Raw behavioral tracking data for optomotor response (OMR) assays.
The dataset is organized into folders corresponding to the figures in the main publication.
=========================
Main Abbreviations and Key Terms
ERG: Electroretinogram (a measure of retinal electrical activity)
eaat5b / eaat7: Excitatory Amino Acid Transporter 5b / 7 (specific glutamate transporter genes)
WT: Wild Type (control larvae)
KO: Knockout (refers to mutant larvae, e.g., eaat5b KO)
OMR: Optomotor Response (a behavioral reflex to moving visual stimuli)
Stytra: A Python-based software used for behavioral tracking (https://github.com/portugueslab/stytra)
STL: Stereolithography file format, used for 3D printing
FRM: Full Retina Mapping
UV: Ultraviolet
Tiff: Tagged Image File Format (a common format for microscopy images)
.csv: Comma-Separated Values, a plain text data format.
.xlsx: Microsoft Excel spreadsheet.
.py: Python script
.ipynb: Jupyter Notebook, an interactive Python environment.
.ino: Arduino sketch file.
.json: JavaScript Object Notation, a text-based format for storing metadata.
.png: Portable Network Graphics, an image format.
=========================
Data and File Overview
Figure 1 – Source Data
Contains monochromatic electroretinogram (ERG) recordings comparing eaat5b, eaat7, and eaat5b/eaat7 double mutants with wild type (WT) control larvae.
Data is provided in .xlsx format. These files contain summary data and calculated b-wave amplitudes. The data can be viewed by opening these files in any compatible spreadsheet software (e.g., Microsoft Excel, LibreOffice Calc). For long-term archival and reuse, these data can also be exported to .csv format.
Folders:
- \Spectral ERG – DoubleKO_EAAT5B_EAAT7\
- Contains: ERG recordings for eaat5b/eaat7 double mutants vs. WT controls.
- \Spectral ERG - EAAT5B\
- Contains: ERG recordings for eaat5b mutants vs. WT controls.
- \Spectral ERG – EAAT7\
- Contains: ERG recordings for eaat7 mutants vs. WT controls.
Data Interpretation (Variables & Abbreviations):
- b-wave: The primary measurement recorded, representing the b-wave amplitude (in mV), which serves as a proxy for ON-bipolar cell depolarization in response to a light stimulus. This corresponds to "Amplitude (mV)" in Figure 1 of the manuscript.
- log-n: (e.g., log-4, log-3, ... log 0) A relative unit of light stimulus intensity, where each step represents a 1-log-unit increase in intensity.
- Note on Internal Abbreviations:
- Hom: Abbreviation for "Homozygous," referring to single knockout (KO) mutants (e.g., eaat5b -/- or eaat7 -/-). This label is used in the files within the Spectral ERG - EAAT5B and Spectral ERG - EAAT7 folders.
- HomHom: Abbreviation for "Homozygous-Homozygous," referring to the double knockout (KO) mutants (eaat5b -/-; eaat7 -/-). This label is used in the files within the Spectral ERG - DoubleKO_EAAT5B_EAAT7 folder.
- WT: Wild Type control.
Figure 2 – Source Data
Contains confocal images, intensity readings, and analysis scripts for the full retinal mapping (FRM) experiment.
Folder: \Full retina mapping confocal files\
- Contains: Confocal image stacks (.tiff files) of larval retinas.
- Naming Convention: Date_full_retina_ch1_label1_ch2_label2_ch3_label3_ch4_label4_age_genotype_bluegreenredyellow_samplenumber. The labels correspond to the fluorescent channels imaged.
- File Format(s): .tiff (multi-page stacks, viewable in software like ImageJ/Fiji).
Folder: \Full retina mapping intensity reading\
- Contains: One Microsoft Excel file (.xlsx) containing manually extracted relative intensity readings from the confocal stacks.
- File: intensity readings_6dpf_040722.xlsx
- Data Interpretation :
- File Structure: This folder contains a single Excel file (intensity readings_6dpf_040722.xlsx) which contains multiple sheets (tabs). The original index's reference to "pages" meant these sheets.
- Sheet Names: The sheets in this single file correspond to the different fluorescent channels quantified:
- Sheet 1: DAPI (cell nuclei)
- Sheet 2: UV cones (from Tg(zfSWS1–5.5A:EGFP))
- Sheet 3: Red cones (from Tg(zfLWS:EGFP))
- Sheet 4: eaat5b (antibody staining)
- Sheet 5: eaat7 (antibody staining)
- Column Headers: The columns in each sheet (e.g., 0407_1, 1807_1, 1908_3) correspond to the individual eye sample (Date_samplenumber) from the .tiff file naming convention.
- While it starts with 040722, this single Excel file also contains the intensity readings for samples from other dates (e.g., 180722, 050822, 190822) corresponding to the all the .tiff files in the \Full retina mapping confocal files\ folder. This single file is the complete source for the intensity data.
Folder: \Full retina mapping python script\
- Contains: A Jupyter Notebook (.ipynb) file used to read data from the .xlsx file in the \Full retina mapping intensity reading\ folder.
- File: heatmap_maker.ipynb
- Purpose: This script reads the appropriate columns from the intensity readings...xlsx file to generate the relative intensity line plots and correlation matrices shown in Figure 2 (and S1).
Folder: \Full retina mapping python generated graphs\
- Contains: Output graphs (.svg, vector format) generated by the Python script. These are provided for reference.
Figure 3 – Source Data
Contains all files related to the construction and operation of the custom UV hunting behavioral setup.
Folder: \Data analysis scripts\
- Contains: A Python script (headtail analysis.py) used to process and analyze the raw tracking data (see Figure 4-6) from the UV hunting setup.
Folder: \Hunting system STLs\
- Contains: 3D models (.stl format) for 3D-printing components of the behavioral setup (e.g., 'Spotter MKI v3.stl').
Folder: \Microscope stand (from www.thingiverse.com)\
- Contains: Modified .stl files for a microscope stand, with a .txt file linking to the original open-source project.
Folder: \Tracking and operational scripts\
Sub-Folder: \Arduino\
- Contains: Arduino sketches (.ino files) for controlling the setup's hardware (LEDs, servomotor).
- Uv_stim.ino: Delivers a UV stimulus at a stable (max) intensity.
- Uv_stim_intup.ino: Delivers a UV stimulus with intensity increasing in steps.
- Sub-Folder: \Python\
- File: headtail_tracking.py
- Purpose: This Python script is used within the Stytra software to run the experiment. It coordinates the tracking of the larva's head and tail, encodes the video, and sends signals (triggers) to the Arduino to run the stimulus paradigms (.ino files).
Folder: \UV and Yellow LED Spectrometer readings\
- Contains: Excel files (.xls) with spectral irradiance measurements for the UV and yellow LEDs at different power levels.
- Data Interpretation: In each file, Column A represents the wavelength (nm). Subsequent columns represent the absolute irradiance measured at that wavelength for a specific LED intensity (e.g., 10%, 20%, ... 100%).
Figure 4 – Source Data
Contains raw tracking data and analysis scripts for the initial validation tests of the UV hunting setup on wild type (WT) larvae.
Folder: \Data analysis python script\
- Contains: A Python script (ht_pooled.py) that pools the processed tracking data (from the \Hunting Counts\ folder) to generate the summary plots in Figure 4.
Folder: \Raw Data\
- Contains: Raw data files from Stytra for each individual larva tested. This is the direct output from the tracking software.
- Data Interpretation:
- Folder Naming: Each subfolder (e.g., 220517_f6dpf_1_uv) represents a single experiment on a single fish, named using the convention: YYMMDD_fdpf_<fish_id>_.
- File Types: Each folder contains three files:
- ..._behavior_log.csv: The raw, high-temporal-resolution tracking data. This file is large and contains the frame-by-frame coordinates and tail curvature.
- ..._img.png: A single image frame from the start of the recording, used for visual verification of the larva's identity and initial position.
- ..._metadata.json: A text file containing all software parameters for that specific experimental run (e.g., Stytra version, stimulus parameters, camera settings).
- How to Access: The .csv data can be analyzed using Python/R or opened in spreadsheet software (though this is not recommended due to file size). The .json file can be opened in any text editor.
- Variables in ..._behavior_log.csv:
- t: Relative time (in seconds).
- tail_sum: Overall value of the tail curvature.
- theta_n: Curvature angles of each tail segment (n = segment number).
- pos_x_en / pos_y_en: X and Y coordinates of one of the eyes.
- dim_x_en / dim_y_en: X and Y dimensions of the main axis of the ellipse fitted to one of the eyes.
- th_en: Angle of one eye.
- (And corresponding values for the other eye).
Folder: \Hunting Counts\
- Contains: Processed data files in .csv format. These files represent a summary of the raw data, containing only the timestamps of detected hunting events (eye convergence and tail flicks). This data is the input for the ht_pooled.py analysis script.
- Sub-Folders:
- \UVvsYellow\: Pooled data for the max intensity (100%) UV vs. Yellow LED tests.
- \UVincreasing\: Pooled data for the increasing UV intensity test.
- Data Interpretation (Variables in .csv files):
- Fish_id: A unique identifier for each fish.
- Time: The timepoint of the experiment.
- intensity: The intensity step of the experiment.
- Round: Repetition number (DEPRECATED, can be ignored).
- Roundtime: Timepoint in the round for an eye event.
- Eventtime: Relative time in the single epoch for an eye event.
- tail_time: Timepoint in the round for a tail event.
- Tail_Roundtime: Timepoint in the round for a tail event.
- Tail_Eventtime: Timepoint in the single epoch for a tail event.
- Note on Empty Cells :
- These files contain empty cells. This is intentional. The files log two types of events which may not co-occur: eye events (columns Time - Eventtime) and tail events (columns tail_time - Tail_Eventtime).
- An empty cell (e.g., in tail_time) signifies that no tail event was detected at the timestamp where an eye event was detected.
- These cells are intentionally blank to signify the absence of a corresponding event and can be treated as 'na' (not applicable) or 'null' by analysis scripts. They do not represent missing data.
Figure 5 – Source Data
Contains raw data and statistics for the UV increasing intensity tests comparing eaat5b mutant fish with their wild type cousins (controls).
The structure of this folder is identical to that of "Figure 4 - Source Data".
- Folder: \Raw tracking data\
- \Eaat5b\: Raw Stytra output for eaat5b mutants.
- \Eaat5b cousins\: Raw Stytra output for wild type cousins (controls).
- (See Figure 4 \Raw Data\ for file and variable definitions).
- Folder: \Hunting Counts\
- \eaat5bvswtcus\: Pooled, processed event timestamps for this experiment.
- (See Figure 4 \Hunting Counts\ for file and variable definitions, including the note on empty cells).
- Folder: \Response counts and graphpad files\
- Contains: GraphPad Prism file (.pzfx) and final counts summed in a .csv (rawcounts_final_5b.csv) used for the statistical analysis and graph generation in Figure 5.
Figure 6 – Source Data
Contains raw data and statistics for the UV increasing intensity tests comparing eaat7 mutant fish with their wild type cousins (controls).
The structure of this folder is identical to that of "Figure 4 - Source Data".
- Folder: \Raw tracking data\
- \Eaat7\: Raw Stytra output for eaat7 mutants.
- \Eaat7 cousins\: Raw Stytra output for wild type cousins (controls).
- (See Figure 4 \Raw Data\ for file and variable definitions).
- Folder: \Hunting Counts\
- \eaat7vswtcus\: Pooled, processed event timestamps for this experiment.
- (See Figure 4 \Hunting Counts\ for file and variable definitions, including the note on empty cells).
- Folder: \Response counts and graphpad files\
- Contains: GraphPad Prism file (.pzfx) and final counts summed in a .csv (rawcounts_final_7.csv) used for the statistical analysis and graph generation in Figure 6.
Figure 7 – Source Data
Contains all files related to the optomotor response (OMR) behavioral setup, including scripts, 3D models, and raw/processed data.
Data Workflow:
- The experiment is run using the color_OMR.py script (in \Structural scripts\) within the Stytra software.
- This experiment generates the raw tracking data found in \Data-tracking\Raw\.
- The scripts in \Data Analysis scripts\ are used to process the Raw data.
- This analysis produces the pre-processed summary files found in \Data-tracking\Redblack analysis 0-255\.
- Folder: \Data Analysis scripts\
- Contains: Python scripts (OMR Analysis - 10f unkn condition.py) and a Jupyter Notebook (mutants_blackred_OMR.ipynb) used to analyze the raw OMR tracking data from the \Data-tracking\Raw\ folder and generate the plots for Figure 7.
- Folder: \Data-tracking\
- Sub-Folder: \Raw\
- Contains: Raw Stytra output files for eaat5b, eaat7, and WT cousins. These are the direct outputs of the experiment.
- Data Interpretation (Variables in ..._behavior_log.csv):
- fn_x / fn_y: X and Y coordinates of the tracked fish.
- fn_vx / fn_vy: Velocity of the tracked fish in X and Y.
- fn_theta: Relative angle of the tracked fish.
- fn_vtheta: Relative angular velocity of the tracked fish.
- f0_theta_00: Tracked tail angle.
- t: Timepoint.
- Data Interpretation (Variables in ..._stimulus_log.csv):
- s_moving_gratings_x/y/theta/current_phase: Parameters describing the state of the moving grating stimulus at each timepoint.
- t: Timepoint.
- Sub-Folder: \Redblack analysis 0-255\
- Contains: Pre-processed .csv files summarizing movement and direction. These files are the result of running the analysis scripts on the Raw data and are distributed in folders that separate color intensity (0, 43, 85, 128, 170, 213, 255) and genotypes in the file:
- 7vswt (plate divided between eaat7 mutants and wild type cousins)
- 5bvswt (plate divided between eaat5b mutants and wild type cousins)
- 7 muts (plate fully with eaat7 mutants)
- 5bwtcus (plate fully with eaat5b wild type cousins)
- 7wtcus (plate fully with eaat7 wild type cousins)
- Data Interpretation (Variables in .csv):
- Fish: Fish canal position/ID.
- Rightw_Habituation: Relative rightward movement during the habituation phase (still grating).
- Rightw_Stimulus: Relative rightward movement during the stimulus phase (moving grating).
- Tot_Habituation: Total movement during habituation.
- Tot_Stimulus: Total movement during stimulus.
- Contains: Pre-processed .csv files summarizing movement and direction. These files are the result of running the analysis scripts on the Raw data and are distributed in folders that separate color intensity (0, 43, 85, 128, 170, 213, 255) and genotypes in the file:
- Sub-Folder: \Raw\
- Folder: \Spectrometer files\
- Contains: Excel file (.xls) with spectral irradiance measurements for the red OMR stimulus.
- Data Interpretation: Column A is the wavelength (nm), subsequent columns are absolute irradiance at increasing projector intensity levels (0-255).
- Folder: \STLs\
- Contains: A .stl file for the 3D-printable OMR tracking arena.
- Folder: \Structural scripts\
- Contains: The primary Python script (color_OMR.py) used by Stytra to define and run the OMR stimulus paradigm (i.e., data acquisition).
Figure S1 – Source Data
Contains data for the full retinal mapping of mGluR6b. The structure is identical to Figure 2.
- Folder: \FRM_confocal_stacks\
- Contains: Confocal image stacks (.tiff files) for mGluR6b staining.
- Folder: \Full retina mapping intensity readings\
- Contains: Excel file (.xlsx) with intensity readings.
- Folder: \Full retina mapping python generated graph\
- Contains: Output graph (.svg).
Figure S2 – Source Data
This figure (total movement during OM) is an alternative analysis of the same raw data used for Figure 7. No new raw data was generated so there are no files in this directory. All necessary files (raw data, analysis scripts) are located in the \Figure 7 - Source Data\ directory.
=========================
Software
Used Software (Proprietary)
- Data Analysis: Python (v3.x). Key libraries include numpy, pandas, matplotlib, seaborn, statistics, scikit
- Behavioral Tracking: Stytra (Python-based)
- Hardware Control: Arduino IDE (for .ino sketches)
- Statistics: GraphPad Prism
- Microscopy: LASX (Leica)
- 3D Modeling: Autodesk Fusion 3D
Open Software (Recommended for opening files)
- .py, .ipynb, .json: VS Code, Spyder, or any text editor
- .ino: Arduino IDE
- .xlsx, .csv, .xls: LibreOffice Calc, Microsoft Excel, Google Sheets
- .tiff: Fiji/ImageJ
- .svg, .png: Inkscape, or any web browser
- .stl: 3D Viewer (Windows), or other 3D-printing slicer software
- .pzfx: GraphPad Prism, or the 'pzfx' package in R.
=========================
Files Tree
Source_files.zip
?
+---Figure 1 - Source Data
? +---Spectral ERG - DoubleKO_EAAT5B_EAAT7
? ? green_light_5b_7KO.xlsx
? ? red_light_5b_7KO.xlsx
? ? UVblue_light_5b_7KO.xlsx
? ?
? +---Spectral ERG - EAAT5B
? ? green_5bKO.xlsx
? ? red_5bKO.xlsx
? ? UVblue_5bKO.xlsx
? ?
? +---Spectral ERG - EAAT7
? eaat7_Green.xlsx
? eaat7_Red.xlsx
? eaat7_UVblue.xlsx
?
+---Figure 2 - Source Data
? +---Full_retina_mapping_confocal_files
? ? 040722_full_retina_405_dapi_488_sws_lws_gfp_568_eaat5b_647_eaa...88_lws_gfp_568_eaat5b_647_eaat7_6dpf_ABWT_bluegreenredyellow_1.tif
? ? 040722_full_retina_405_dapi_488_sws_lws_gfp_568_eaat5b_647_eaa...88_lws_gfp_568_eaat5b_647_eaat7_6dpf_ABWT_bluegreenredyellow_2.tif
? ? 040722_full_retina_405_dapi_488_sws_lws_gfp_568_eaat5b_647_eaa...88_sws_gfp_568_eaat5b_647_eaat7_6dpf_ABWT_bluegreenredyellow_1.tif
? ? 040722_full_retina_405_dapi_488_sws_lws_gfp_568_eaat5b_647_eaa...88_sws_gfp_568_eaFull_retina_mapping_intensity_reading
? ? intensity readings_6dpf_040722.xlsx
? ?
? +---Full_retina_mapping_python_generated_graphs
? ? graph_eye_red_cones_single.svg
? ? graph_eye_uvcones_single.svg
? ? pcorr_red.svg
? ? pcorr_uv.svg
? ?
? +---Full_retina_mapping_python_script
? heatmap_maker.ipynb
?
+---Figure 3 - Source Data
? +---Data Analysis scripts
? ? headtail analysis.py
? ?
? +---Hunting system STLs
? ? ? pike holder v1.stl
? ? ? Spotter MKI v3.stl
? ? ?
? ? +---Microscope stand (from www.thingiverse.com)\
? ? base.stl
? ? left_knob.stl
? ? Original model link.txt
? ? pinion.stl
? ? rack.stl
? ? right_knob.stl
? ?
? +---Tracking and operational scripts
? ? +---Arduino
? ? ? +---uv_stim
? ? ? ? uv_stim.ino
? ? ? ?
? ? ? +---uv_stim_intup
? ? ? uv_stim_intup.ino
? ? ?
? ? +---Python
? ? headtail tracking.py
? ?
? +---UV and Yello LED spectrometer readings
? recordings hunt uv.xls
? recordings hunt yellow.xls
?
+---Figure 4 - Source Data
? +---Data analysis python script
? ? ht_pooled.py
? Graphpad files
? hunting 7.pzfx
? rawcounts_final_7.csv
?
+---Figure 7 - Source Data
? +---Data Analysis scripts
? ? mutants_blackred_OMR.ipynb
? ? OMR Analysis - 10f unkn condition.py
? ?
? +---Data-tracking
? ? ? redblack.csv
? ? ?
? ? +---Raw
? ? ? +---220719_fwt_vs_7R128_1
? ? ? ? 105511_behavior_log.csv
? ? ? ? 105511_img.png
? ? ? ? 105511_metadata.json
? ? ? ? 105511_stimulus_log.csv
? ? ? ?
? ? ? +---220719_fwt_vs_7R128_2
? ? ? ? 121358_behavior_log.csv
? ? ? ? 121358_img.png
? ? ? ? 121358_metadata.json
? ? ? ? 121358_stimulus_log.csv
? ? ? ?
? ? ? +---220719_fwt_vs_7R128_3
? ? ? ? 132756_behavior_log.csv
? ? ? ? 132756_img.png
? ? ? ? 132756_metadata.json
? ? ? ? 132756_stimulus_log.csv
? ? ? ?
? ? ? +---220719_fwt_vs_7R179_1
? ? ? ? 111954_behaSpectrometer_files
? ? recordings red omr.xls
? ?
? +---STLs
? ? OMR_Divider_195mmx145mm_1mm_sep.stl
? ?
? +---Structural scripts
? color_OMR.py
?
+---Figure S1 - Source Data
? +---FRM_confocal_stacks
? ? 051222_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647_...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_2.tif
? ? 281122_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_2.tif
? ? 281122_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_4.tif
? ? 281122_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_5.tif
? ? 281122_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_8.tif
? ? 51222_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_3.tif
? ? 51222_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_5.tif
? ? 51222_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_6.tif
? ? 51222_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_7.tif
? ? 51222_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647...405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_8.tif
? ? 51222_full_retina_brains_405_dapi_488_mglur6b_568_eaat5b_647..._405_dapi_488_mglur6b_568_eaat5b_647_sv2_6dpf_ABxTUWT_retina_9.tif
? ?
? +---Full_retina_mapping_intensity_reading
? ? intensity readings_6dpf_1120.xlsx
? ?
? +---Full_retina_mapping_python_generated_graph
? graph_eye_merged.svg
?
+---Figure S2 - Source Data
Figure 7 - Source Data 1 - Shortcut.lnk
