DOI: 10.5061/dryad.r4xgxd2nt
title: Restoration of cone circuit functionality in the regenerating adult zebrafish retina

description: 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.
description: 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
description: #### 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](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](https://www.wavemetrics.com/downloads/current/Igor%20Pro%206.3) onwards; here we tested with [Igor Pro 9](https://www.wavemetrics.com/downloads/current/Igor%20Pro%209) as well. To install Igor Pro follow the link [https://www.wavemetrics.com/downloads/current](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](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/](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](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](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](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](https://doi.org/10.5281/zenodo.12790225) * **sigline:** bethel o (2024). Statistical significance line ([https://www.mathworks.com/matlabcentral/fileexchange/68314-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](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](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](https://github.com/bastibe/Violinplot-Matlab), DOI: 10.5281/zenodo.4559847  * **shadedErrorBar:** Rob Campbell (2024). raacampbell/shadedErrorBar ([https://github.com/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](https://uk.mathworks.com/matlabcentral/answers/159417-how-to-calculate-the-confidence-interval); **Star Strider   on 20 Oct 2014**