Companion Data Page Olfactory Loci of Individuality Matthew A. Churgin1,*, Danylo Lavrentovich1,*, Matthew A. Smith1,2, Ruixuan Gao3,4,5, Edward Boyden3,6, and Benjamin de Bivort1,** 1 Organismic and Evolutionary Biology & Center for Brain Science, Harvard University, Cambridge, MA, USA 2 Current affiliation: Department of Entomology, University of Wisconsin-Madison, Madison WI, USA 3 McGovern Institute for Brain Research & MIT Media Lab, MIT, Cambridge, MA, USA 4 Janelia Research Campus, Howard Hughes Medical Institute, Ashburn, VA, USA 5 Current affiliation: Biological Sciences/Chemistry, University of Illinois Chicago, Chicago, IL, USA 6 Department of Biological Engineering, MIT Center for Neurobiological Engineering, Department of Brain and Cognitive Sciences, Koch Institute, & Howard Hughes Medical Institute, Cambridge, MA, USA * These authors contributed equally ** Corresponding author: debivort@oeb.harvard.edu | |
Computational antennal lobe model files (Python 3.6, Jupyter notebooks)All code is available on GitHub. | neuron information and connectivity matrix |
connectomics/get_AL_neurons_v1.2.ipynb | Jupyter notebook that uses ORN/LN/PN IDs provided by Schlegel, Bates, et al 2020 and queries the hemibrain Python API to retrieve neurons and their connections for the antennal lobe model. Also incorporates PN neurotransmitter assignments from Bates, Schlegel, et al 2020. Produces df_neur_ids.csv and AL_block.csv, described below |
connectomics/hemibrain_v1_2/df_neur_ids.csv | Dataframe of neuron information listing bodyId, cell type, glomerulus (for ORNs/PNs), and polarity (for ORNs/PNs) for the 3062 neurons of the model |
connectomics/hemibrain_v1_2/AL_block.csv | 3062 x 3062 dataframe of synaptic weights between the neurons listed in df_neur_ids.csv | downloaded literature data files for model tuning and evaluation |
BatesSchlegel2020/mmc4.csv | CSV file containing PN metadata, available as Data S3 in Bates, Schlegel, et al 2020. Used in connectomics/get_AL_neurons_v1.2.ipynb to set PN neurotransmitters |
Bhandawat2007/fig3_responses/fig3_firing_rates.csv | CSV file containing ORN/PN firing rates in Figure 3 of Bhandawat et al 2007. WebPlotDigitizer was used for quantification. Used in analysis/plot_model_outputs.ipynb and analysis/analyze_sensitivity_parameter_sweep.ipynb to evaluate model outputs |
DoOR/get_door_data.R | R script that uses the DoOR R package to produce the subsequently listed files for setting glomerulus-odor responses |
DoOR/DoOR_datasets_info.csv | CSV file storing DoOR dataset meta information |
DoOR/DoOR_mappings.csv | CSV file storing mappings between receptors, sensilla, glomeruli |
DoOR/DoOR_odor.csv | CSV file storing DoOR odor name - InChiKey code mappings |
DoOR/DoOR_response_matrix.csv | CSV file representing a glomerulus-odor response matrix not adjusting for spontaneous firing rate |
DoOR/DoOR_SFR_response_matrix.csv | CSV file representing a glomerulus-odor response matrix adjusting for spontaneous firing rate |
GrabeBaschwitz2016/Grabe_Baschwitz_2016_Table_S1_Glom_Volumes.csv | CSV file containing glomerular volumes, extracted from Table S1 in Grabe, Baschwitz, et al 2016. Used for glomerular volume analysis in analysis/analyze_connectivity.ipynb |
SchlegelBates2020/S3_hemibrain_ALRN_meta.csv | CSV file containing hemibrain ORN metadata, retrieved from Schlegel, Bates, et al 2020. Used to set the list of ORNs in the model in connectomics/get_AL_neuron_v1.2.ipynb Note: this file and the LN, PN metadata files below were downloaded from the supplementary information on bioRxiv on December 22, 2020, before publication in eLife |
SchlegelBates2020/S4_hemibrain_ALLN_meta.csv | CSV file containing hemibrain LN metadata, retrieved from Schlegel, Bates, et al 2020. Used to set the list of LNs in the model in connectomics/get_AL_neuron_v1.2.ipynb |
SchlegelBates2020/S3_hemibrain_ALPN_meta.csv | CSV file containing hemibrain PN metadata, retrieved from Schlegel, Bates, et al 2020. Used to set the list of PNs in the model in connectomics/get_AL_neuron_v1.2.ipynb | imputation of missing glomerulus-odor responses for odors used to calibrate/run the model |
odor_imputation/impute_odors.ipynb | Jupyter notebook that retrieves glomerulus responses for odors used in Bhandawat et al 2007 and the odor panel in the current study from the DoOR database. Produces df_odor_door_all_odors.csv, a dataframe of responses with NaNs, then produces an imputed response dataframe after running ALS_imputation.m |
odor_imputation/df_odor_door_all_odors.csv | CSV file with glomerulus-odor responses for the 18 odors used in calibrating and/or running the model, 40% of which are NaNs. Generated by odor_imputation/impute_odors.ipynb |
odor_imputation/ALS_imputation.m | MATLAB script that takes in the glomerulus-odor responses from df_odor_door_all_odors.csv and imputes values using alternating least squares, producing a text file, df_odor_door_all_odors_imput_ALS.txt, that is converted to a CSV by impute_odors.ipynb |
odor_imputation/df_odor_door_all_odors_imput_ALS.csv | CSV file with imputed glomerulus-odor responses for the 18 odors used in calibrating and/or running the model. Generated by odor_imputation/impute_odors.ipynb | running circuits/batches of circuits, either manually or using a computing cluster |
README.md | Markdown file containing "Running a model" section with short instructions on how to set up and run an AL simulation |
run_model/run_model_schematic.PNG | Schematic accompanying README.md to illustrate which files are used to run an AL simulation |
run_model/run_example_simulation.ipynb | Jupyter notebook
|
run_model/autolaunchsim.sh | Shell script
./autolaunchsim.sh in the command line of a computing cluster
|
run_model/launch_col_sweep.sh | Shell script
./launch_col_sweep.sh in the command line of a computing cluster
|
run_model/launch_resamples.sh | Shell script
./launch_resamples.sh in the command line of a computing cluster
|
run_model/launch_resamples_synNoise.sh | Shell script
./launch_resamples_synNoise.sh in the command line of a computing cluster
|
run_model/export_sim_settings.py | Python script
python export_sim_settings.py to make a directory seeded with settings to be used in a model run and run python run_sim.py yourself to run the model. This file was used with ./launch_col_sweep.sh to run sets of cell type sensitivity parameters to pick the best one for subsequent circuit idiosyncrasy simulation experiments.
|
run_model/export_resampling_sim_settings.py | Python script
python export_resampling_sim_settings.py to make a directory seeded with settings to be used in a model run and run python run_sim.py yourself to run the model. Or, run ./launch_resamples.sh to run those lines instead.
|
run_model/run_sim_template.py | Python script
run_sim.py is created in a dedicated simulation directory with a Pickle object after export_sim_settings.py or export_resampling_sim_settings.py is run, then you can manually run the model with run_sim.py , or use a shell script such as autolaunchsim.sh to run this all on a computing cluster.
|
run_model/submit_to_cluster_template.sh | Shell script
sbatch submit_job.sh to submit a job yourself, or use a script such as autolaunchsim.sh to handle that all for you.
|
run_model/collect_col_sweep_frs.py | Python script
python collect_col_sweep_frs.py .
|
run_model/collect_bhandawat_comparisons.py | Python script
python collect_bhandawat_comparisons.py .
|
run_model/collect_df_al_activities.py | Python script
python collect_df_al_activities.py .
| model selection, model output plots, and PCA loadings analysis |
analysis/ORN_LN_PN_bootstrapping/df_neur_ids_example_bootstrap.csv | CSV file containing neuron ordering for an example ORN + LN + PN bootstrapped circuit. Analyzed in analysis/analyze_connectivity.ipynb |
analysis/analyze_connectivity.ipynb | Jupyter notebook that
|
analysis/sensitivity_sweep_20210427/all_simulations_frs.p | Python pickle object storing firing rates for all neurons of simulations with varying sensitivity parameters (scalings of ORN, eLN, iLN, PN columns of the hemibrain connectivity matrix). Analyzed in analysis/analyze_sensitivity_parameter_sweep.ipynb |
analysis/analyze_sensitivity_parameter_sweep.ipynb | Jupyter notebook that
|
analysis/make_connectivity_matrices.ipynb | Jupyter notebook that
|
analysis/make_connectivity_matrix_gifs.ipynb | Jupyter notebook that
|
analysis/plot_model_outputs.ipynb | Jupyter notebook that
|
analysis/process_and_save_sims_ORN_LN_PN_resampling.ipynb | Jupyter notebook that
|
analysis/process_and_save_sims_ORN_LN_PN_resampling_with_PN_synapse_density.ipynb | Jupyter notebook that
|
analysis/process_and_save_sims_synapse_noise.ipynb | Jupyter notebook that
|
analysis/analyze_all_simulation_PCAs.ipynb | Jupyter notebook that
| auxiliary functions used in setting up, running, and analyzing AL circuit models |
utils/model_params.py | Python script containing parameter values obtained from the literature that are set as fixed in the model |
utils/simulation_class.py | Python script that defines the Sim class, meant to store all information about an AL simulation, including the neuron list, the connectivity matrix, the odor stimuli, current/voltage traces, etc. |
utils/data_utils.py | Python script with helper functions used to work with the Sim class, such as set_params, which reads in parameters from model_params.py and stores them in an instance of a Sim class |
utils/odor_utils.py | Python script with a helper function that stores the tables found in datasets/DoOR/ into an instance of a Sim class |
utils/LIF_funcs_cython.pyx | Python script with functions necessary for leaky integrate and fire implementation of the model |
utils/cython_setup.py | Python script that converts leaky integrate and fire code described in utils/LIF_funcs_cython.pyx into C using Cython, giving a ~30% speedup. Prior to running the model, run python cython_setup.py build_ext --inplace . This will produce files LIF_funcs_cython.html and LIF_funcs_cython.c and will help the code run properly
|
utils/make_vols.py | Python script with functions to help draw glomerular synapse counts to implement PN synapse density variation. Used also in analysis/make_connectivity_matrices.ipynb |
utils/analysis_utils.py | Python script with functions often used in analysis/, including performing PCA, plotting comparisons with plots in Bhandawat et al 2007, etc. |
utils/plot_utils.py | Python script with helpful plotting functions, notably for connectomic data, such as connectivity matrices and glomerulus meshes |
utils/plot_utils_EXTRA.py | Python script with helpful plotting functions, notably for model outputs, such as ORN/PN firing rate histograms, rasters, etc. |
utils/make_output_figures.py | Python script with helpful plotting functions, notably for model outputs, such as ORN/PN firing rate histograms, rasters, etc. |
utils/plot_model_outputs.py | Python script with a single function, process_jdir(), that uses the above plotting utility files and is called by run_model/run_sim_template.py to make an output PDF immediately after running the model |
Experimental data files, analyses, visualization functions and scripts (MATLAB 2018a)All code is available on GitHub. Raw images are available here. | utility functions and .mat files used throughout the repository |
utilities/SET_DIRECTORY_PATH.m | MATLAB script for you to input your local path to the experimental analysis directory. This creates analysis_dir_path.mat, which is then loaded by all of the MATLAB scripts in this directory |
utilities/analysis_dir_path.mat | Produced as a result of running SET_DIRECTORY_PATH.m after specifying your local machine's path to this directory |
utilities/ORN_PN_COLORS.mat | Stores colors for ORNs and PNs used throughout this directory and the paper figures |
utilities/odorPanel_12_DoORData.mat | Stores publishedOR, a struct containing receptor names, glomerulus names, and published OR odor responses, loaded by all of the MATLAB scripts in this directory |
utilities/dblab-utility-functions/ | Contains many used plotting functions. Downloaded from GitHub |
utilities/distributionPlot/ | Contains violinPlot, used in plotting. Downloaded from Mathworks |
utilities/raacampbell.shadedErrorBar/ | Contains shadedErrorBar, used in plotting. Downloaded from Mathworks | Brp-Short immunohistochemistry (IHC) |
IHC/*.mat | Raw behavior files and microscopy images for Brp-Short analysis. Main analysis script is IHC/analyze_IHC_brpshort.m | estimating fraction of biological signal variance |
powerAnalysisModel/modelExplainedBehaviorVariation.m | MATLAB script for modelling behavioral variance as a function of behavioral persistence | calcium imaging analysis |
ORNvsPN_analysis_ALLDATA/* | Directory with the majority of paired behavior - calcium imaging analysis. Main analysis script is ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m |
ORN_analysis_oct_vs_air_choice/* | Raw OCT vs AIR behavior and ORN calcium imaging files. Main analysis script is ORN_analysis_oct_vs_air_choice/evaluate_all_data.m |
ORN_analysis/* | Raw OCT vs MCH behavior and ORN calcium imaging files. Main analysis script is ORN_analysis/evaluate_allORNdata.m |
PN_analysis_oct_vs_air_choice/* | Raw OCT vs AIR behavior and PN calcium imaging files. Main analysis script is PN_analysis_oct_vs_air_choice/evaluate_all_data.m |
PN_analysis/* | Raw OCT vs MCH behavior and PN calcium imaging files. Main analysis script is PN_analysis/evaluate_allData.m | raw microscopy images |
raw_images/*.czi | CZI files for microscopy images appearing in paper figures |
type | figure | subpanel | content | script that makes the subpanel | figure number in script | notes |
---|---|---|---|---|---|---|
experiment | Figure 1 | a | AL schematic | na | na | |
experiment | b | experimental outline | na | na | ||
experiment | c | individual ethograms | na | na | ||
experiment | d | microscopy schematic | na | na | ||
experiment | e | ORN/PN glomerulus masks | 190321_makeORNandPN_glomeruliFigure/makeORNandPNglomerulusfigure.m | Figure 1, 2 (showClusters) | ||
experiment | f | df/f vs. time for DM2/DC2 ORN/PN OCT/MCH | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 3 | ||
experiment | g | heatmap ORN/PN glom vs odor responses | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | vectorPixels in script, near lines 736. Colorbar is Figure 5 of script | ||
experiment | h | heatmap odor/glom vs individuals | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | vectorPixels in script, near line 513 | ||
experiment | i | cumulative variance explained vs. principal component | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 22, Figure 34, Figure 33 | ||
experiment | j | Euclidean distance in full coding space | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 48 | ||
experiment | k | preference prediction R2 for PC models OCT-AIR, unshuffled/shuffled behavior | ORN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 17, Figure 18 | ||
experiment | PN_analysis_oct_vs_air_choice/evaluate_train_data.m | Figure 14, Figure 15 | ||||
experiment | l | measured pref vs predicted OCT-AIR PN PC1 train | PN_analysis_oct_vs_air_choice/evaluate_train_data.m | Figure 8 | ||
experiment | m | measured pref vs predicted OCT-AIR PN PC1 test | PN_analysis_oct_vs_air_choice/evaluate_trainedModel_on_testdata.m | Figure 7 | ||
experiment | n | measured pref vs predicted OCT-AIR ORN PC 1 | ORN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 5 | ||
experiment | o | preference prediction R2 for PC models OCT-MCH, unshuffled/shuffled behavior | ORN_analysis/ORNtrainDataPCRCrossValidationAnalysis.m | Figure 3, Figure 4 | ||
experiment | PN_analysis/trainDataPCRCrossValidationAnalysis.m | Figure 3, Figure 4 | ||||
experiment | p | measured pref vs predicted OCT-MCH PN PC2 train | PN_analysis/evaluate_allData.m | Figure 7 | need to use PN_analysis/train in manualLabelHome vs PN_analysis/allData | |
experiment | q | measured pref vs predicted OCT-MCH PN PC2 test | PN_analysis/evaluateTrainedModelOnTestData.m | Figure 7 | ||
experiment | r | measured pref vs predicted OCT-MCH ORN PC 1 | ORN_analysis/evaluate_allORNData.m | Figure 9 | ||
experiment | Figure 2 | a | PN PC1 loadings, inset measured vs predicted | PN_analysis_oct_vs_air_choice/evaluate_allData.m | Figure 9, Figure 7 | |
experiment | b | interpreted PN PC1 loadings | PN_analysis_oct_vs_air_choice/evaluate_allData.m | Figure 10 | ||
experiment | c | measured pref vs predicted pref from ^ | PN_analysis_oct_vs_air_choice/evaluate_allData.m | Figure 16 | ||
experiment | d | ORN PC1 loadings, inset measured vs predicted | ORN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 7, Figure 5 | ||
experiment | e | interpreted ORN PC1 loadings | ORN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 8 | ||
experiment | f | measured pref vs predicted pref from ^ | ORN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 14 | ||
experiment | g | PN PC2 loadings, inset measured vs predicted | PN_analysis/evaluate_allData.m | Figure 9, Figure 7 | ||
experiment | h | interpreted PN PC2 loadings | PN_analysis/evaluate_allData.m | Figure 10 | ||
experiment | i | measured pref vs predicted pref from ^ | PN_analysis/evaluate_allData.m | Figure 18 | ||
experiment | j | example yoked control fly | na | na | ||
experiment | k | open-loop odor experience vs. predicted odor experience | PN_analysis/yokedControlExperiment.m | Figure 4 | ||
experiment | Figure 3 | a | experiment flowchart | na | na | |
experiment | b | Brp-Short microscopy image from z stack | raw_images/fly2.czi | Slice 29 | ||
experiment | c | example segmentation masks | IHC/analyze_IHC_brpshort.m | Figure 25 | ||
experiment | d | ORN Brp-Short-based OCT-MCH preference prediction R2 | IHC/analyze_IHC_brpshort.m | Figure 16, Figure 17 | ||
experiment | e | ORN Brp-Short PC 2 loadings | IHC/analyze_IHC_brpshort.m | Figure 7 | toggle trainingonly = 1 | |
experiment | f | OCT-MCH preference predicted by ORN Brp-Short density PC2 (train) | IHC/analyze_IHC_brpshort.m | Figure 8 | toggle trainingonly = 1 | |
experiment | g | OCT-MCH preference predicted by ORN Brp-Short density PC2 (test) | IHC/analyze_IHC_brpshort.m | Figure 20 | toggle trainingonly = 1 | |
experiment | h | OCT-MCH preference predicted by ORN Brp-Short density in DM2 minus DC2 | IHC/analyze_IHC_brpshort.m | Figure 12 | ||
experiment | i | microscopy image expanded DC2 | raw_images/fly18_40x_rightLobe.czi | Slice 65 | ||
experiment | mask with puncta | IHC/expansion_experiment/191120_or13a_brpshort_behaviorAndExpansionImaging_age10days/analyze_expansion_spots.m | Figure 6 | |||
experiment | j | preference score vs. puncta density | IHC/expansion_experiment/191120_or13a_brpshort_behaviorAndExpansionImaging_age10days/analyze_expansion_spots.m | Figure 4 | ||
experiment | k | preference score vs. median puncta volume | IHC/expansion_experiment/191120_or13a_brpshort_behaviorAndExpansionImaging_age10days/analyze_expansion_spots.m | Figure 5 | ||
model | Figure 4 | a | model flowchart | na | na | |
model | b | LIF equation | na | na | ||
model | c | connectivity matrix | ALVariability/connectomics/get_AL_neurons_v1.2.ipynb | final plot | ||
model | d | mini raster | ALVariability/analysis/plot_model_outputs.ipynb | na | ||
model | e | bootstrapping schematic | na | na | ||
model | f | individual PN responses | ALVariability/analysis/all_simulation_PCAs.ipynb | na | ||
model | g-k | PN PC loadings | ALVariability/analysis/all_simulation_PCAs.ipynb | na | ||
experiment | Sup Fig 1 | a | odor tunnel schematic | na | na | |
experiment | b | scatter OCT-AIR persistence 3 h | fly_behavior/PAPERFIGURE_oct_vs_air_persistence/persistence_3h/oct_air_persistence_3h.m | Figure 1 | ||
experiment | c | scatter OCT-AIR persistence 24 h | fly_behavior/PAPERFIGURE_oct_vs_air_persistence/persistence_24h/oct_air_persistence_24.m | Figure 1 | ||
experiment | d | scatter OCT-MCH persistence 3 h | fly_behavior/PAPERFIGURE_oct_vs_mch_persistence/oct_mch_persistence.m | Figure 1 | ||
experiment | e | scatter OCT-MCH persistence 24 h | fly_behavior/PAPERFIGURE_oct_vs_mch_persistence/oct_mch_persistence.m | Figure 2 | ||
experiment | Sup Fig 2 | Average glomerulus-odor time-dependent responses | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 2 | ||
experiment | Sup Fig 3 | PN/ORN heatmaps individual glom-odor responses | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | vectorPixels, near line 489 | ||
experiment | Sup Fig 4 | a | PN vs ORN peak response df/f | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 6 | |
experiment | b | heatmap correlation matrix PN vs. ORN | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 8 | ||
experiment | c | calcium response vs DoOR response | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 9 | ||
experiment | d | calcium response vs DoOR sep. by gloms | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 10 | ||
experiment | Sup Fig 5 | a | individual identity decoding accuracy vs. % variance retained | ORNvsPN_analysis_ALLDATA/predictIndividualFromNeuralResponses.m | Figure 1 | takes 12 hours to run |
experiment | b | PC2 vs PC1 ORN/PN left/right trials glom-odor responses | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 37, 38, 35, 36 | ||
experiment | c | within/across lobe/fly ORN/PN euclidean distance | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 39, 40, 41 | ||
experiment | Sup Fig 6 | Calcium response correlation matrices | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | vectorPixels in script, before any figures. Colorbar is Figure 2 of script | ||
experiment | Sup Fig 7 | a | ORN PC loadings grouped by glom | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 24 | |
experiment | b | PN PC loadings grouped by glom | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 23 | ||
experiment | c | ORN PC loadings grouped by odor | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | FIgure 26 | ||
experiment | d | PN PC loadings grouped by odor | ORNvsPN_analysis_ALLDATA/plotRandomSubsetPNandORN.m | Figure 25 | ||
experiment | Sup Fig 8 | a | algorithm for estimating fraction of signal variance | na | na | |
experiment | b | heatmap fraction of behavioral variance explained | powerAnalysisModel/modelExplainedBehaviorVariation.m | Figure 2 | ||
experiment | Sup Fig 9 | a | AIR-OCT summary prediction | na | na | |
experiment | MCH-OCT summary prediction | na | na | |||
experiment | Sup Fig 10 | a | OCT-AIR pref prediction vs time, PN PC1 | PN_analysis_oct_vs_air_choice/evaluate_all_data_allTimePoints.m | Figure 8 | |
experiment | b | OCT-AIR pref prediction vs time, ORN PC1 | ORN_analysis_oct_vs_air_choice/evaluate_all_data_all_timepoints.m | Figure 8 | ||
experiment | c | OCT-MCH pref prediction vs time, ORN1/PN2 | PN_analysis/evaluate_all_data_useAllTimePoints.m | Figure 7 | ||
experiment | d | odor decoding accuracy vs time | ORNvsPN_analysis_ALLDATA/predictOdorFromNeuralResponses.m | the only figure | takes 12 hours to run | |
experiment | Sup Fig 11 | a | volume of left vs right AL | IHC/analyze_IHC_brpshort.m | Figure 1 | |
experiment | b | Brp-Short fluorescence left vs right | IHC/analyze_IHC_brpshort.m | Figure 1 | ||
experiment | c | Brp-Short fluorescence density left vs right | IHC/analyze_IHC_brpshort.m | Figure 1 | ||
experiment | d | volumes of four glomeruli | IHC/analyze_IHC_brpshort.m | Figure 2 | ||
experiment | e | Brp-Short fluoresence for 4 glomeruli | IHC/analyze_IHC_brpshort.m | Figure 3 | ||
experiment | f | Brp-Short fluorescence density for 4 glomeruli | IHC/analyze_IHC_brpshort.m | Figure 4 | ||
experiment | g | PC loadings training data | IHC/analyze_IHC_brpshort.m | Figure 6 | toggle trainingonly = 0/1 | |
experiment | h | PC loadings all data | IHC/analyze_IHC_brpshort.m | Figure 6 | toggle trainingonly = 0/1 | |
experiment | i | OCT-MCH preference predicted by ORN Ca | ORN_analysis/evaluate_allORNData.m | Figure 11 | ||
experiment | j | pref predicted by PC2 ORN Brp-Short | IHC/analyze_IHC_brpshort.m | Figure 8 | ||
experiment | k | pref predicted by DC2 Brp-Short | IHC/analyze_IHC_brpshort.m | Figure 15 | toggle glomtouse = 3/1 | |
experiment | l | pref predicted by DM2 Brp-Short | IHC/analyze_IHC_brpshort.m | Figure 15 | toggle glomtouse = 3/1 | |
experiment | Sup Fig 12 | a | hist average PN df/f across coding dimensions | PN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 13 | |
experiment | b | scatter OCT-MCH pref vs ^ | PN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 14 | ||
experiment | c | hist average ORN df/f across coding dimensions | ORN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 11 | ||
experiment | d | scatter OCT-MCH pref vs ^ | ORN_analysis_oct_vs_air_choice/evaluate_all_data.m | Figure 12 | ||
experiment | e | hist PN DM2-DC2 deltaf/f | PN_analysis/evaluate_allData.m | Figure 15 | ||
experiment | f | scatter OCT-MCH pref vs ^ | PN_analysis/evaluate_allData.m | Figure 16 | ||
experiment | g | hist ORN DM2-DC2 Brp-Short density | IHC/analyze_IHC_brpshort.m | Figure 9 | ||
experiment | h | scatter OCT-MCH pref vs ^ | IHC/analyze_IHC_brpshort.m | Figure 10 | ||
model | Sup Fig 13 | a-b | raster plot of model neurons | ALVariability/analysis/plot_model_outputs.ipynb | ||
model | Sup Fig 14 | a-d | literature-model comparisons | ALVariability/analysis/plot_model_outputs.ipynb | ||
model | Sup Fig 15 | a-b | PN-synapse vs. glomerulus volume plots | ALVariability/analysis/analyze_connectivity.ipynb | ||
model | Sup Fig 16 | a-c | PCAs under all sources of circuit idiosyncrasy | ALVariability/analysis/all_simulation_PCAs.ipynb | ||
model | Sup Fig 17 | Classifiability of idiosyncratic behavior | ALVariability/analysis/all_simulation_PCAs.ipynb | |||
experiment | Movie 1 | Odor vs air behavioral assay | na | |||
experiment | Movie 2 | Odor vs odor behavioral assay | na | |||
experiment | Movie 3 | Confocal image stack of expanded DC2>Brp-Short | raw_images/fly18_40x_leftLobe | |||
model | Movie 4 | Simulated connectivity matrices under glomerular density resampling | ALVariability/analysis/make_connectivity_matrix_gifs.ipynb | |||
model | Movie 5 | Simulated connectivity matrices under ORN resampling | ALVariability/analysis/make_connectivity_matrix_gifs.ipynb | |||
model | Movie 6 | Simulated connectivity matrices unde LN resampling | ALVariability/analysis/make_connectivity_matrix_gifs.ipynb | |||