Skip to content

emonetlab/SensoryDiversityTuningAnalysis

Repository files navigation

EColiFRETKHalfDistributionAnalysis

Matlab code to analyze single-cell FRET dose-response experiments to determine K1/2 distribution.

Basic analysis instructions:

To analyze FRET signals and extract the K1/2 distribution, users should run the 'Main.m' script. This script is a wrapper for running 'analyzeSensitivityDistribution()' on multiple datasets. The 'analyzeSensitivityDistribution()' accepts a single argument which is a struct called 'dataparms' which contains several fields:

  • backConc = (float); 'The background ligand concentration of the foreground ligand'
  • xlabels = (char); 'Titles for the x-axis of plots where ligand is used'
  • Lplot = (float) [plotlevels]; 'Vector containing range of x-values for plotting
  • Files = (string) [nFiles]; 'Vector containing path to .m files containing FRET data. Expected format discussed later'
  • OutFolder = (string); 'Path to store outputs from analysis'
  • concLevels = (float) [nFiles, nLevels]; 'Matrix where rows are the concentrations measured during the experiments in Files'
  • Hillp0 = (float) (log(n), log(K)); 'vector containing initial parameters for fitting hill function'
  • Normp0 = (float) (log(mu), log(sigma)); 'vector containing initial parameters for fitting lognormal CDF' The 'dataparms' parameters must be set for each experiment. Multiple datasets can be stored as different numbered entries in the dataparms struct. A default struct which organizes all the data used in the paper is provided in 'datasets.m'

There is also a required file of general analysis parameter called 'parameters.m' containing parameters that should be kept the same for all experiments. Description of these parameters are included in 'parameters.m'. Default values will work for the included data.

Expected inputs:

By default, the code is designed to work with the struct outputed by our in-house FretDataExtractionAndProcessing code which can be found at 'https://git.yale.edu/emonetlab/FretDataExtractionAndProcessing'. In principle however, it can work with any struct called EfretData with 3 fields with the same dimension:

  • a = (float) [npoints]; 'A vector containing the fret signal'
  • s = (float) [npoints]; 'A vector containing the stimulus level per entry in a'
  • t = (float) [npoints]; 'A vector containing the timepoints for each entry in a' If using non-standard data formats, edit the combineFretFiles() function to produce a struct consistent with EfretData.

Outputs:

By default, outputs are stored in dataparms.OutFolder. Standard outputs include several images of the hill function and CDF fit to the data. Importantly, a struct 'plotData.mat' contains the fitted parameters per entry in dataparms, which will be used by the Figure-generating scripts.

Figure-generating scripts:

Figure for the associated paper can be generated by running the corresponing scripts:

  • Figure1.m
  • Figure2.m
  • Figure3.m
  • Figure4.m
  • Figure5.m

Plots for the paper were generated by these functions, then formated separately in adobe illustrator.

Dataset inventory by condition

Background Foreground Dataset_dates

0 meAsp 210802,210805,220106,230417

1uM_ser meAsp 210810,210811

100uM_glu meAsp 210812,210813,230705

100uM_meAsp meAsp 210816,230717,230718

10uM_Lasp meAsp 210818,210908

0 ser 210910,211006,210913,220111

1uM_ser ser 210914,21016

100uM_meAsp ser 210920,210921

0 glu 211012,211011

100uM_meAsp glu 211013

1mM_glu meAsp 211020,211021

0 Lasp 211022,211025

100uM_meAsp Lasp 211026,211030

100uM_meAsp glu 211027,211028,211029,211202,211103

10uM_meAsp meAsp 220302,220303

10uM_meAsp+10UM_Lasp meAsp 220324,230511

100uM_meAsp+1uM_ser meAsp 220426

100uM_meAsp+1uM_ser ser 220428

0.3uM_meAsp meAsp 220615,230410

10uM_Lasp+1uM_meAsp meAsp 230330,230403

0.1uM_meAsp meAsp 230830,230830,230831

1uM_meAsp meAsp 230428,230429

2uM_LAsp+1uM_meAsp meAsp 230504,230504,230505

2uM_Lasp+10uM_meAsp meAsp 230509,230510

1uM_Lasp Lasp 230523,230524

0.5uM_Lasp Lasp 230526,230526

0.1uM_Lasp 230601,230602

0.05uM_Lasp Lasp 230605,230607,230608

1uM_Lasp+100uM_meAsp Lasp 230615,230620

10uM_Lasp+100uM_meAsp Lasp 230621,230623

10uM_Lasp Lasp 230627,230628

1uM_Lasp meAsp 230629,230704

0.01uM_Lasp Lasp 230706,230707

100uM_meAsp Lasp 230710

0.01uM_Lasp meAsp 230711

100uM_meAsp+10uM_Lasp Lasp 230714,230715

0.01uM_meAsp meAsp 230815,230816

10uM_Lasp+100uM_meAsp meAsp 230822,230823

0.1uM_Lasp+100uM_meAsp 231017,231018

10uM_ser Lasp 231207,231212

About

Matlab code to accompany 'Orthogonal tuning of sensory diversity across multiple stimuli'

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages