Restoration of cone circuit functionality in the regenerating adult zebrafish retina
Data files
Jul 22, 2024 version files 3.34 GB
-
CSV_files_and_matlab_codes.zip
57.27 MB
-
Opening_PXP_files.gif
36.06 MB
-
Opening_PXP_files.mp4
153.53 MB
-
Pre-processed_2P_functional_data_Abraham_et_al.zip
1.55 GB
-
README.md
29.81 KB
-
Unpacked_upxp_files.zip
1.55 GB
Abstract
Unlike humans, teleosts like zebrafish exhibit robust retinal regeneration after injury from endogenous stem cells. However, it is unclear if regenerating cone-photoreceptors regain physiological function and integrate correctly into post-synaptic circuits. We used two-photon calcium imaging of living adult retina to examine photoreceptor responses before and after light-induced lesion. To assess functional recovery of cones and downstream outer retinal circuits, we exploited colour opponency; UV cones exhibit intrinsic Off-response to blue light, but On-response to green light, which depends on feedback signals from outer retinal circuits. Accordingly, we assessed the presence and quality of Off- versus On-responses and find that regenerated UV cones regain both Off-responses to short-wavelength, and On-responses to long-wavelength light within 3 months after lesion. Therefore, physiological circuit functionality is restored in regenerated cone photoreceptors, suggesting that inducing endogenous regeneration is a promising strategy for human retinal repair.
This dataset contains pre-processed functional two-photon imaging data, input files, and codes corresponding to quantification reported in Abraham et al.
Deposited File Content
- .zip: Pre-processed 2P functional data_Abraham et al, Unpacked upxp files, CSV files and matlab codes
- .mp4: Opening PXP files
- .gif: Opening PXP files
Associated Zenodo submission: Abraham, E. (2024). External Matlab codes_Abraham et al. Zenodo. https://doi.org/10.5281/zenodo.12790225
Packed Experiment Files
The folder Pre-processed 2P functional data_Abraham et al, contains subfolders namely: Igor Pro PXP files and User Procedures. The preprocessed two photon imaging data are deposited in the folder Igor Pro PXP files as PXP files or packed experiment files, that can be opened and analyzed with Igor Pro (Wavemetrics).
In principle all PXP files can be opened using any version of Igor Pro 6.37 onwards; here we tested with Igor Pro 9 as well. To install Igor Pro follow the link https://www.wavemetrics.com/downloads/current and select either Igor-Pro-9 or Igor-Pro-6.3. Follow the instructions below to open and use PXP files, and for information of PXP file structure.
To open PXP files after installing Igor Pro, copy all procedures from the folder User Procedures and paste in the folder User Procedures under Wavemetrics under the path C:\Users\...\Documents\WaveMetrics\Igor Pro 9 User Files\User Procedures and follow the steps shown in the movie Opening PXP files (mp4 or .gif).
In total, there are 29 PXP files within the folder Igor Pro PXP files, that are grouped by folder name or experimental information as described below:
- Central zone UV cone TC blue LED (8 PXP files): These files contain UV cone responses from central retina in respective groups in response to blue (419 nm) light stimulus, across retinae. The experimental groups are controls, 4 dpl, 8-9dpl, 10-11 dpl, 15-15 dpl, 28-29 dpl, 3 mpl and 8 mpl.
- Ventral zone UV cone TC blue LED (7 PXP files): These files contain UV cone responses from ventral retina in respective groups in response to blue (419 nm) light stimulus, across retinae. The experimental groups are controls, 4 dpl, 8-9dpl, 10-11 dpl, 15-15 dpl, 28-29 dpl, and 8 mpl.
- Central zone UV cone TC green LED (2 PXP files): These files contain UV cone responses from central retina in respective groups in response to green (484 nm) light stimulus, across retinae. The experimental groups are controls, and 2.5 mpl.
- Central zone non-UV cone TC blue LED (2 PXP files): These files contain non UV cone responses from central retina in respective groups in response to blue (419 nm) light stimulus, across retinae. The experimental groups are controls, and 3 mpl.
- Central zone non-UV cone TC green LED (2 PXP files): These files contain non UV cone responses from central retina in respective groups in response to green (484 nm) light stimulus, across retinae. The experimental groups are controls, and 2.5 mpl.
- Central zone CNQX UV and non-UV green LED (8 PXP files): These files contain UV and non-UV cone responses from central retina in respective groups in response to green (484 nm) light stimulus, across unique scans from individual retinae before and after adding CNQX drug to block HC cells. The experimental groups are controls, and 2.5 mpl; for UV and non-UV cones; before and after adding CNQX.
We used Igor Pro 6.37 for data pre-processing as per Yoshimatsu et al., 2020, 2021; igor procedures are provided by Dr. Takeshi Yoshimatsu (Baden lab).
Description of the data and file structure of PXP files
Pre-processed two-photon data are in PXP format (Igor Pro) or IGOR Packed Experiment File. Each PXP file for each condition contains experimental information as individual Igor waves. Definitions of relevant Igor waves are provided below.
- ROIs per scan: Total ROIs/cones from each sub-data folders (in this case, each retina).
- Traces0_znorm: Cone response traces in Z scores. Here, each column represents the time series fluorescence data for a single cone (or ROI) in Z scores. Each row represents the frame number. Time resolution is 70 ms per frame (∼14.28Hz).
- Tracetimes0: Cone response trace timing in seconds.
- Triggertimes: Time in seconds relative to start of recording when each of the 10 stimuli occurred. Here, each column represents the trigger time in seconds for a single cone (or ROI) in Z scores, relative to start of recording. Each row represents the trigger number (1-10).
- QualityCriterion: Quality index (QI) value for each ROI/trace. Here, each row represents the quality index (in a.u.) for a single cone (or ROI).
- Averages0: Averaged cone response to stimulus presentation, 1 sec ON and 1 sec OFF. Here, each column represents the averaged (in Z scores) fluorescence for a single cone (or ROI). The averaged value is computed over 10 stimulus presentations. Each row represents the frame number. Time resolution of the averaged trace is factored by 0.00109375 seconds for each frame (time bin).
- Scan_Info: Individual scan information.
- Stack_SD: Standard deviation projection of the 2P imaging stack (gnat2:SyGCaMP6f).
- ROIs: ROIs defined for analysis within the 2P imaging SD stack.
Igor waves directly under Data folder = root are combined experimental group data across retinae (R), across scans, and across cones and are: ROIs per scan, Traces0_znorm, Triggertimes, QualityCriterion, Averages0. Within each Data folder = root, there will be sub-data folders for individual retinae under the name Rx such as R1, R2, R3, etc. with corresponding combined Igor waves representative for individual retinae, across scans, across cones. Relevant Igor waves are Traces0_znorm, Triggertimes, QualityCriterion, Averages0, and Scan_info. Within each sub-data folder RX, or R1, R2, R3, etc., there are sub-data folders under the name starting with Sxxx- where x can be a one-, two- or three-digit number. Each such Sxxx represents individual two-photon scanning functional data from individual scans and cones. Relevant Igor waves within Sxxx subfolders are: Traces0_znorm, Triggertimes, QualityCriterion, Averages0, Scan_info, Tracetimes0, and Triggertimes. Further details on Igor waves like M_ROIMask, Stack_SD, ROIs, and CoM etc., are available via published works/codes Yoshimatsu et al., 2020, 2021. The same general principle applies to all PXP files.
Unpacked Experiment Files
All PXP files are resaved as unpacked experiment files (upxp) for easier access and reuse; refer folder Igor Pro UPXP files. The folder and file organization of Igor Pro UPXP files is the same as described for PXP files. Individual Igor Binary Wave Data files can be opened in Igor Pro (ideally any version).
CSV files and Matlab codes
The folder CSV files and matlab codes, includes 2 folders, namely Fig3_UVconeOff_blue and Fig4_UVconeOn_green. These folders contain the input CSV files, and matlab codes (.m files) used for quantifying the UV cone Off and On responses as reported in Figure 3 and 4 of Abraham et al. To run matlab codes (.m files), please install Matlab from Mathworks via https://uk.mathworks.com/campaigns/products/trials.html. Alternatively, (.m) codes can be visualized using Notepad or the open access software Visual Studio Code: https://code.visualstudio.com/.
The folder Fig3_UVconeOff_blue includes exponential fit output (pFit), quality index (QI), traces (trace), trace averages (AVG), and stimulus trigger timing (trigger) CSV files for Cntrl, 4 dpl, 8-9dpl, 10-11dpl, 14-15dpl, 28-29dpl, 3mpl and 8 mpl time points.
The folder Fig4_UVconeOn_green includes exponential fit output (pFit), quality index (QI), traces (trace), trace averages (AVG), and stimulus trigger timing (trigger) CSV files for Cntrl, and 2.5 mpl time points.
For further information on the general data structure of the CSV files see below:
- CSV files are named according to the acquired time point or experimental condition, and the data contained such as pFit, QI, Avg, Trace, or Trigger.
- The experimental condition can be for instance Cntrl, 4 dpl, 8 dpl, 10 dpl, 15 dpl, 2.5mpl, 3 mpl, and 8 mpl, followed by UV, where UV means the ROIs considered are UV cones.
- CSV files are directly saved from the pre-processed Igor PXP files, please refer to section on PXP files and Igor waves for more information.
The below table summarizes the PXP files and waves from which the CSV files are derived.
| Path of CSV file | Comments |
|---|---|
| CSV files and matlab codes\Fig3_UVconeOff_blue\UVcone_Off_Amplitude_Tau | These are pFit csv files. As described, they are the output files after exponential fit, and are not directly derived from any PXP file. |
| CSV files and matlab codes\Fig3_UVconeOff_blue\UVcone_Off_Averages | These are QI and Avg csv files for different time points. The QI csv files correspond to the Igor wave QualityCriterion (directly under root), and the Avg csv files correspond to the Igor wave Averages0 (directly under root); data browser; of the PXP files in the folder: Pre-processed 2P functional data_Abraham et al_submission2\Igor Pro PXP files\Central zone UVcone TC blue LED. |
| CSV files and matlab codes\Fig3_UVconeOff_blue\UVcone_Off_heatmap | These are QI, Trigger and Trace csv files for different time points. The QI csv files correspond to the Igor wave QualityCriterion (directly under root), and Trigger csv files correspond to the Igor wave Triggertimes (directly under root); and Trace csv files correspond to the Igor wave Traces0_znorm (directly under root); data browser; of the PXP files in the folder: Pre-processed 2P functional data_Abraham et al_submission2\Igor Pro PXP files\Central zone UVcone TC blue LED. |
| CSV files and matlab codes\Fig3_UVconeOff_blue\UVcone_Off_Qualityindex | These are QI csv files for different time points. The QI csv files correspond to the Igor wave QualityCriterion (directly under root); data browser; of the PXP files in the folder: Pre-processed 2P functional data_Abraham et al_submission2\Igor Pro PXP files\Central zone UVcone TC blue LED. |
| CSV files and matlab codes\Fig4_UVconeOn_green\Plot_amp_kinetics_QI | These are pFit csv files. As described, they are the output files after exponential fit, and are not directly derived from any PXP file. |
| CSV files and matlab codes\Fig4_UVconeOn_green\Plot_averages | These are QI and Avg csv files for different time points. The QI csv files correspond to the Igor wave QualityCriterion (directly under root), and the Avg csv files correspond to the Igor wave Averages0 (directly under root); data browser; of the PXP files in the folder: Pre-processed 2P functional data_Abraham et al_submission2\Igor Pro PXP files\Central zone UV cone TC green LED. |
| CSV files and matlab codes\Fig4_UVconeOn_green\Plot_heatmap | These are QI, Trigger and Trace csv files for different time points. The QI csv files correspond to the Igor wave QualityCriterion (directly under root), and Trigger csv files correspond to the Igor wave Triggertimes (directly under root); and Trace csv files correspond to the Igor wave Traces0_znorm (directly under root); data browser; of the PXP files in the folder: Pre-processed 2P functional data_Abraham et al_submission2\Igor Pro PXP files\Central zone UV cone TC green LED. |
The below table summarizes the list of related CSV files, that should be used together.
| Path | Comments |
|---|---|
| CSV files and matlab codes\Fig3_UVconeOff_blue | All CSV files within the folder Fig3_UVconeOff_blue are related. |
| CSV files and matlab codes\Fig4_UVconeOn_green | All CSV files within the folder Fig4_UVconeOn_green are related. |
The below table summarizes the CSV file structure.
| CSV File name | Structure |
|---|---|
| pFit.csv | Rows: Each row is a single ROI or UV cone. Columns: Column 1:index, Column 2: ROI, Column 3: QI (Quality index), Column 4: Flag (indicates if the fit worked, 1 if worked, 0 if no), Column 5: Amp_exp (Amplitude of the best fit curve), Column 6-11: a1, b1, c1, a2, b2, c2, respectively (coefficients of the function y=-a*(exp(b*x)-c) for phase 1 and phase 2), Column 7: b1 = rate 1 (tau1 = 1/rate1), Column 10: b2 = rate 2 (tau2 = 1/rate2), Column 12-13: R_Sq1','R_Sq2' respectively (R squared values of fits 1 and 2), Column 14-15: 'Base_begin','Base_end' respectively (begin and end values of averaged trace), Column 16: 'Cum_sum' (sum of the average trace offset to start at zero). |
| QI.csv | Rows: Each row is a single ROI or UV cone. Column: QI value of each UV cone |
| Avg.csv | Rows: First and second rows are index. Each row from Row 3 to end represents single frames of the averaged Ca++ traces after aligning single trial traces at 1 ms precision from 10 repetitive visual stimuli, across different ROIs (UV cones). Columns: Each column represents the averaged trace of single UV cones (ROIs), across different frames. |
| Trace.csv | Rows: First and second rows are index. Each row from Row 3 to end represents single frames of the Z scored fluorescence Ca++ traces, across different ROIs (UV cones). Columns: Each column represents the Z scores fluorescence trace of single UV cones (ROIs), across different frames. |
| Trigger.csv | Rows: First and second rows are index. Each row from Row 3 to end represents the time (in seconds), where each of the 10 stimulus triggers were detected relative to start of the recording, across different ROIs (UV cones). For example, Row 3 shows the time at which trigger 1 was detected across several UV cones, and so on. Column: Each column represents the 10 trigger times for single UV cones (ROIs). |
Next steps detail the quantification the UV cone Off and On responses using MATLAB codes (.m files), and are detailed here. All CSV files are located within the folder CSV files and matlab codes in the folders: Fig3_UVconeOff_blue and Fig4_UVconeOn_green. The folder organization is important and should not be changed. Always make sure to run the respective MATLAB code within the directory where it is deposited, since several codes depend on subfunctions that are located within the same directory and require the respective CSV input files. Some MATLAB functions are from help forums or other sources and deposited in Zenodo.
Fig3_UVconeOff_Blue Quantification
The folder Fig3_UVconeOff_blue contains 4 subfolders; within the subfolder UVcone_Off_Amplitude_Tau, are several CSV output files and matlab code (.m) files. The pFit output CSV files are the result of fitting the exponential function (refer: https://github.com/abrahamevelyn93/Abraham-et-al-code) over the average light response curves located within the subfolder UVcone_Off_Averages. As described in https://github.com/abrahamevelyn93/Abraham-et-al-code, Exponentialfit_Abraham_et_al fits a single exponential function of the form y=-a(exp(bx)-c) separately on decay and recovery phases of Off response (and similarly recovery and decay of On response) of the averaged light response curve (Averages0- obtained after pre-processing imaging data in Igor Pro) to find the best fit exponential curve and estimate response amplitude and speed, Tau. This is done by first converting the averaged traces (Averages0) and Quality indices (QualityCriterion) Igor waves or its CSV files located within the subfolder UVcone_Off_Averages into the format (shown below) using the matlab codes create_input_csv. The resulting averaged traces (AVG.csv) and Quality indices (QI.csv) CSV files will be of the tabular structure shown below and can be input into the Python code Exponentialfit_Abraham_et_al.
AVG.csv
| Averages0[][0] | Averages0[][1] | Averages0[][2] | Averages0[][3] | Averages0[][4] |
|---|---|---|---|---|
| 0.643798 | 1.66376 | -1.30014 | -0.02628 | 0.988434 |
| 0.649784 | 1.6648 | -1.29674 | -0.02872 | 0.978737 |
| 0.645395 | 1.66584 | -1.29334 | -0.03116 | 0.969039 |
| 0.641005 | 1.66688 | -1.28994 | -0.0336 | 0.959341 |
| 0.636615 | 1.67 | -1.28654 | -0.03604 | 0.949644 |
| 0.632226 | 1.67312 | -1.28314 | -0.03847 | 0.93916 |
| 0.627836 | 1.67624 | -1.27804 | -0.04091 | 0.928676 |
QI.csv
| ROI | QualityCriterion |
|---|---|
| 1 | 0.597378 |
| 2 | 0.825318 |
| 3 | 0.829877 |
| 4 | 0.719753 |
| 5 | 0.788928 |
Python function Exponentialfit_Abraham_et_al creates an output file pythonFit.csv; use the matlab code create_pFit_ip, to assign appropriate variable names for the columns in pythonFit.csv as given below:
Column 1: index; index
Column 2: ROI; ROI number
Column 3: QI; Quality index
Column 4: Flag; indicates if the fit worked; 1 if worked, 0 if no
Column 5: Amp_exp; Amplitude of the best fit curve
Column 6-11: a1, b1, c1, a2, b2, c2, respectively.
Coefficients of the function y=-a*(exp(b*x)-c) for phase 1 and phase 2
Column 7: b1 = rate 1; (tau1 = 1/rate1)
Column 10: b2 = rate 2; (tau2 = 1/rate2)
Column 12-13: R_Sq1','R_Sq2' respectively; R squared values of fits 1 and 2
Column 14-15: 'Base_begin','Base_end' respectively; begin and end values of averaged trace
Column 16: 'Cum_sum'; sum of the average trace offset to start at zero
At this point, pythonFit.csv for Controls, was renamed pFit_Cntrl.csv after assigning column labels. Similarly, for all the 8 time points, the corresponding pFit.csv files are provided.
- To arrive at the quantification of the Amplitude, Tau decay and Tau recovery of the UV cone Off response in Figure 3 of Abraham et al, the following Matlab codes were used in sequential order: UV_Off_1, UV_Off_2, and UV_Off_3. To arrive at the reported statistics results, please use the code: Stats. Use number_Off to arrive at the percentage of responders, Off or On responses.
- To plot the averaged traces of UV cone Off responses, navigate to the subfolder UVcone_Off_Averages. The matlab code plot_AVGs can be used to plot the averaged traces as mean and standard deviation as shaded error bar, for all the 7 time points, control, 8-9 dpl, 10-11 dpl, 14-15 dpl, 28-29 dpl, 3 mpl, and 8 mpl.
- To plot the heatmap of all UV cone response traces in the experimental groups and visualize population activity, navigate to the folder UVcone_Off_heatmap. The matlab code heatmap_forV7 can be used to plot the individual UV cone response traces heatmaps of population activity for all the 7 time points, control, 8-9 dpl, 10-11 dpl, 14-15 dpl, 28-29 dpl, 3 mpl, and 8 mpl.
- To plot the violin density distribution plot of the QI of all UV cones across the 7 time points/experimental groups and visualize population activity, navigate to the folder UVcone_Off_Qualityindex. The matlab code plot_QI can be used to plot the individual UV cone quality index (QI) violin plot for all the 7 time points, control, 8-9 dpl, 10-11 dpl, 14-15 dpl, 28-29 dpl, 3 mpl, and 8 mpl. Statistics is included in the same code.
- Note: The Matlab codes named: computeCohen_d, my95_CI, sigline, sigstar, Violin, violinplot, and shadedErrorBar are functions that are called within other codes, and should be copied into respective folders as required.
Fig4_UVconeOn_Green Quantification
The folder Fig4_UVconeOn_green contains 3 subfolders. Similar to the UV cone Off response, corresponding pFit.csv files of the UV cone On responses of the two time points, control and 2.5 mpl are provided. Within the subfolder Plot_amp_kinetics_QI, are pFit CSV output files and matlab code (.m) files. The pFit output CSV files are the result of fitting the exponential function (refer: https://github.com/abrahamevelyn93/Abraham-et-al-code) over the average light response curves located within the subfolder Plot_amp_kinetics_QI.
- To arrive at the quantification of the Amplitude, Tau decay and Tau recovery, QI violin plot, and the corresponding statistics, of the UV cone On response in Figure 4 of Abraham et al., the following Matlab codes were used in sequence; UV_On_1, UV_On_2_V13, UV_On_3,_V13, UV_On_3_V13_QI_only, and numbers_On.
- To plot the averaged traces of UV cone On responses, navigate to the subfolder Plot_averages. The matlab code plot_averages_UVall can be used to plot the averaged traces as mean and standard deviation as shaded error bar, for the 2 time points, control, and 2.5 mpl.
- To plot the heatmaps of UV cone On responses, navigate to the subfolder Plot_heatmap. The matlab code heatmap_forV7 can be used to plot the individual UV cone On response traces heatmaps of population activity for Control and 2.5 mpl time points.
- Note: The Matlab codes named: computeCohen_d, my95_CI, sigline, sigstar, Violin, violinplot, and shadedErrorBar are functions that are called within other codes, and should be copied into respective folders as required.
CITATIONS:
This paper uses available MATLAB codes for plotting significance line, stars, shaded error bars, violin plot and computing Cohen's d. The citations for these functions are provided, and the respective codes are deposited in Zenodo: Abraham, E. (2024). External Matlab codes_Abraham et al. Zenodo. https://doi.org/10.5281/zenodo.12790225
- sigline: bethel o (2024). Statistical significance line (https://www.mathworks.com/matlabcentral/fileexchange/68314-statistical-significance-line), MATLAB Central File Exchange. Retrieved July 7, 2024.
- sigstar: Rob Campbell (2024). raacampbell/sigstar (https://github.com/raacampbell/sigstar), GitHub. Retrieved July 7, 2024
- computeCohen_d: Ruggero G. Bettinardi (2024). computeCohen_d(x1, x2, varargin)(https://www.mathworks.com/matlabcentral/fileexchange/62957-computecohen_d-x1-x2-varargin), MATLAB Central File Exchange. Retrieved July 7, 2024.
- Violin, violinplot: Bechtold, Bastian, 2016. Violin Plots for Matlab, Github Project https://github.com/bastibe/Violinplot-Matlab, DOI: 10.5281/zenodo.4559847
- shadedErrorBar: Rob Campbell (2024). raacampbell/shadedErrorBar (https://github.com/raacampbell/shadedErrorBar), GitHub. Retrieved July 7, 2024.
- my95_CI: Original Source: https://uk.mathworks.com/matlabcentral/answers/159417-how-to-calculate-the-confidence-interval; Star Strider on 20 Oct 2014
All imaging data in this work is collected by Evelyn Abraham (Research group: Michael Brand) under Leica SP5 MP inverse two-photon microscope at the CRTD - Center for Regenerative Therapies TU Dresden, CMCB, Technische Universität Dresden, Fetscherstraße 105, 01307 Dresden, Germany. This imaging data is pre-processed using custom-written scripts in Igor Pro (Yoshimatsu et al 2020, 2021). Pre-processed functional 2P imaging data, input files and codes used for quantification are provided.
Associated Zenodo submission: Abraham, E. (2024). External Matlab codes_Abraham et al. Zenodo. https://doi.org/10.5281/zenodo.12790225
- Abraham, Evelyn et al. (2023), Restoration of Cone Circuit Functionality in the Regenerating Adult Zebrafish Retina, [], Posted-content, https://doi.org/10.1101/2023.11.11.566441
