-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Here you will find a brief overview of the codebase and the expected direction the codebase will be heading. It is important to remember that this library is still being actively worked on and some of these functions will change in the future.
Since this codebase is all in Matlab, we can only provide guarantees that the codebase will work in Matlab 2019+. Some of the functions used require functionality that was written in 2019 and would have to be changed if trying to use an older version of Matlab. The entire config gui requires 2019 and cannot be salvaged in older versions of Matlab.
There are currently two main pipelines for analysis: (1) receptive field analysis or (2) neural trajectory analysis. This flow is determined by running either psth_main or mnts_main in matlab. The parameters used for the analyses are determined by config files (See Config Wiki).
Please see the references page for papers. Note that the config file for psth_main or mnts_main are different.

The receptive field analysis pipeline uses psth_main to control data analysis routines that assess the 'receptive field' (or tuning curve) of single cells. This includes assessing the neural variance, calculating the mutual information between these cells, and calculating information using the PSTH based method. Here is a broad overview of what the PSTH main can do. Please see the PSTH main page for more details.
- parse_files: extract data from the raw data files (e.g. plx/pl2 files) and create a .mat file for the data
- label_channel: add metadata to the newly created .mat data files
- create_psth: format the data in the PSTH format for further analysis
- rf_analysis: identify neurons with a significant response to an event and find attributes of that response
- make_psth_graphs: make graphs of the single neurons PSTHs for sanity checks
- nv_analysis: calculate the normalized variance of the firing rate in a window across trials during a single session
- psth_classifier: classify trials (by creating PSTH templates from trial averages using leave one out) and calculates synergy and redundancy (e.g.) a. bootstrapper_psth: shuffle trial labels to find random information in classifier
- mutual_analysis: Spike and timing entropy, mutual information, and synergy redundancy
- Parsing the raw data
- MNTS formatter: Format data into MNTS format
- Component Analysis (PCA and/or ICA)
Once the component analysis is complete, the data is reformatted into the PSTH format again so that the resulting components can also go through the PSTH analysis.
- Receptive Field: Checks for significant response and finds attributes of response if significant
- PSTH grapher: Graphs PSTHs for sanity checks
- Normalized Variance: Looks at how variance of background firing rate changes across sessions
- PSTH Classifier: Classifies trials by creating PSTH templates from trials using leave one out
a. PSTH bootstrapper: Shuffles trial labels to find random info in classifier
b. Synergy redundancy: Difference between population and sum of positive mutual info from components of population - Information analysis: Spike and timing entropy, mutual information, and synergy redundancy
- SEP analysis: Coming soon
- Kalman Filter: In development
- Weiner Filter: TBD
PSTH