msa

Script to process miniscope data and quantify activity (e.g. spontaneous peaks and correlations) on arbitrary epoch definitions.

https://github.com/leomol/msa

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Script to process miniscope data and quantify activity (e.g. spontaneous peaks and correlations) on arbitrary epoch definitions.

Basic Info
  • Host: GitHub
  • Owner: leomol
  • License: gpl-3.0
  • Language: MATLAB
  • Default Branch: master
  • Size: 4.91 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 6 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License Citation

README.md

Single unit analisis

Script to process single unit data and quantify activity (e.g. spontaneous peaks and correlations) on arbitrary epoch definitions. MSA example

Installation

  • Download and install MATLAB.
  • Download and extract source files to Documents/MATLAB
  • For analyses involving deconvolution of CA²⁺ data, download and implement such library in the code. For example, download OASIS library, run oasis_setup.m, and use one of the examples under examples.

Usage

  • Run setup.m to add FPA dependencies to the MATLAB search path.
  • Create a copy of the example script.
  • Change the configuration variables and the data loader according to your data acquisition system.
  • Define epochs.
  • Change settings and thresholds to compute peaks and clusters.
  • Click Run.

Epochs consists of an array of timestamps indicating start and stop times (in seconds) of a given condition {'epoch1', [start1, end1, start2, end2, ...], 'epoch2', ...}. For example: MATLAB epochs = {'A', [100, 200], 'B', [200, 500], 'C', [500, 600, 600, 700]}; means there are three epochs called A, B, and C: A: 100 to 200 B: 200 to 500 C: 500 to 600 then 600 to 700

Documentation

msa = MSA(data, configuration);

Normalize, filter, and detect peaks of spontaneous activity in user defined epochs.

Each column in data corresponds to activity from individual cells.

configuration is a struct with the following fields (defaults are used for missing fields): - conditionEpochs - Epochs for different conditions: {'epoch1', [start1, end1, start2, end2, ...], 'epoch2', ...} - thresholdEpochs - Epochs to include for peak threshold calculation. - events - Event-triggered data; times at which a type of event occurs. - resamplingFrequency - Resampling frequency (Hz). - lowpassFrequency - Lowest frequency permitted in normalized signal. - peakSeparation - Minimum time separation between two peaks.

Processing steps

  • Resample signal and reference to a given frequency.
  • Baseline correction modeled as an exponential decay of the low-pass filtered data (optionally using airPLS).
  • Correct for motion artifacts by subtracting reference to signal, after a polynomial fit (optional).
  • Remove fast oscillations with a low-pass filter.
  • Normalize data as df/f or z-score according to settings.
  • Find peaks of spontaneous activity in low-pass filtered data.

Normalization is calculated as (f - f0) / f1 where f0 and f1 can be data provided by the user or calculated using given functions:

See examples and source code for detailed analysis steps and default parameters. Units for time and frequency are seconds and hertz respectively.

License

© 2019 Leonardo Molina

This project is licensed under the GNU GPLv3 License.

Owner

  • Name: Leo
  • Login: leomol
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
title: "Miniscope analysis toolbox"
abstract: "MATLAB toolbox to process multi-unit calcium signals."
message: If you use this software, please cite it.
type: software
version: 1.0.0
date-released: 2019-07-31
repository-code: https://github.com/leomol/MSA
authors:
  - family-names: "Molina"
    given-names: "Leonardo A."
    email: "leonardomt@gmail.com"
    affiliation: "University of Calgary"
    orcid: https://orcid.org/0000-0002-6601-7185

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels