Matlab m-file collection for acquisition, analysis, annotation and archiving of cellular neurophysiology data, designed to facilitate data use and reuse


Note: Updating and documenting are ongoing.

 

Acquiring data

dwn_oscope.m, for use in patching neurons

run_expt_dwn.m, the main routine for running experiments

run_expt_dwn_parametersfile.m, place to set parameters called by the main routine

generate_log_filename.m, like the name says

generate_poisson_trains.m, generate_train.m, random_train0.m, random_train1.m, irregularly_spaced_pairs_dwn.m, for generating various forms of output stimuli

onedim_randomizer.m, for constrained random stimulation

For many experiments stimuli are generated with a random component each trial with constraints based on the stimuli presented previously (``constrained random'' stimulation). In these cases the stimulus-generating program will receive a record of the previous stimuli used from the main m-file, update the record when the stimulus is generated, and pass the stimulus and the record back to the main routine.

update_patchlog.m, updates the hdf file each trial; three channel variant is used for double patch plus audio recording

create_patchlog_name.m, timesincemidnightinms.m, date_time_stamp.m, for file naming based on the time recording starts

stdp3.m, administers spike-timing protocol

trigger_spritzer.m, stop_spritzer.m, for controlling hardware for individual-synapse experiments

 

Single-experiment analysis and creation of parameter files

create_storage_matrices.m, coordinates the analysis of single hdf files. Reads the data from hdf trial-by-trial and calls patchfile_analysis for each trial.

patchfile_analysis.m, does the heavy lifting going through each trial to figure out what happened when and where. patchfile_analysis has many assistants.

It calls subroutines to find stimulus times, access and input resistances, and any of a number additional parameters, depending on flags set in the front end analysis file. The analysis of synaptic currents always includes detection of the peak size, charge, latency, rise time and decay time following each event as well as asynchronous release following the last event. These six values can be measured across any of the four possible synapses (pre to pre, pre to post, post to pre, post to post). Control data, such as leak currents, access resistances and input resistances, and data of relevance to these controls, such as the measured PSC and the measured charge, are saved to a file named by the hdf file name with `controls' appended. A continuous strip of the raw recording from each trial is saved as well.

fitting_to_fast_and_slow_templates.m, template_based_mini_detector.m, mini_waveform_extractor.m, used in pulling out asynchronous release events.

find_access_and_input_resistances_from_test_pulse.m, lsqfit_raccess_decay_curve_generator.m, lsqfit_raccess_decay_finder.m, for obtaining control values to confirm the quality of the patch.

find_average_around_minimum_of_events.m, for measuring the peak PSC without distortion by noise.

find_peaks_within_threshold_crossing_regions.m, identifying the stimulation times.

create_basic_text_file.m, a simpler way to read the hdf file of an experiment, if a text file with no analysis is all that's needed.

presyn_I_Na_checker.m, for confirming that sodium current (i.e., an AP) occurs in the presynaptic neuron with every stimulation step.

convert_stored_matrix.m, after the hdf files have been processed by the routines listed above, convert_stored_matrix uses all their output to look at the whole experiment over time.

analyze_stored_controls.m, flexible design for looking at control data in a number of ways.

stsd_grid_plotter.m, the most basic of many ways used over the years for looking at data. Others include template_loop_diver.m gaussianwindowsmooth.m , movingwindowsmooth.m historical_histogram.m leafmapper.m , pathfinder.m , matchmaker.m...

 

Direct interaction with the database

fix_flagged_file_facts_from_access.m, for inputing data into the database

simple_database_querier.m, , for simple database calls

Multiple-experiment analysis based on calls to the database

analyze_across_sd_stdp_expts.m, coordinates all analysis from the database

query_generator.m, decides what to pull from the database

agresti_coull_binomial_confidence_interval.m, calculates confidence intervals for binomial data

analyze_and_plot_mean_responses.m, simple

analyze_correlation_between_successive_pscs.m, as advertised

analyze_diary.m, this includes some useful methods for tracking data over time

analyze_history_dependence.m, assesses the impact previous responses in a train have on present response

analyze_release_dependence.m, assesses the influence of successful exocytosis on the subsequent response

analyze_sd_over_time.m, synaptic dynamics (short-term plasticity) over time

analyze_realtime.m, used in looking at induction directly

psp_slope_intensity_measurement.m, used in looking at the postsynaptic potential during induction

interpolate_with_smoothing.m, an effort to view underlying trends without distraction by random fluctuations

poor_mans_waterfall.m, used in laying out waveforms in a quasi3D view

change_point_analysis_deviance_method.m, change_point_analysis_formal_method.m, simple_database_querier.m, change_point_analysis_trend_method_with_bootstrap.m, change_point_data_plotter.m, simple_database_querier.m, recursive_search_for_balanced_bootstrap.m, residual_bootstrap_dwn.m, balanced_bootstrap_array_maker.m, balanced_bootstrap_dwn.m, basic_bootstrap_dwn.m, find_change_point_using_sum_of_squares.m, find_change_point_using_trend_method.m, for finding change points

 

MySQL database

Information on the database