Skip to content

FlynnOConnell/canalysis

Repository files navigation

Calcium Imaging Data Analysis

*Images from poster presented at AChems 2022 [1].

This project takes .csv files gathered from Inscopix Data Processing software for processing:
  • Syncing traces with externally captured GPIO events.
  • General based statistics.
  • Plotting: animated, 2D and 3D scatter, regression, skree, heatmap and correlation matrix.
  • Dimensionality reduction with variance filters and principal component analysis.
  • Support Vector Machine Learning for classification tasks.

Python C++ GitHub license

CodeFactor GitHub language count Repo Size

Supported OS Linux (list of POSIX API), Windows 7 and higher.

Installation

Ensure you have at least Python 3.6 64bit.

# pip
pip install canalysis

#or 

pip install canalysis 1.0.0

#or 

pip3 install canalysis

Getting started

Data can be accessed via the root  ```get_data()``` function:
  
  ```python
  import canalysis as ca 

  #initialize data
  data = ca.get_data()

Data is stored in a class CalciumData which containes attributes with events, signals and functions to manipulate and graph those functions. See the diagram below for attributes.

  #plot the entire session
  data.plot_session()

  #plot each cell stacked 
  data.plot_cells()

  #plot a zoomed in section
  data.plot_zoom()

  #initialize a heatmap class to plot heatmaps 
  import canalysis.heatmap as hm
  heatmap = hm.heatmap(data)

Directory Structure

For data loading, directories should be formatted a particular way that can be easily modified by configuring data.data_utils.file_handler.

./data/
├── Animal 1
│   ├── Day 1
│   │   ├── *Events.csv
│   │   └── *Traces.csv
│   └── Day 2
│       ├── *Events.csv
│       └── *Traces.csv
├── Animal 2
│   └── Day 1
│       ├── *Events.csv
│       └── *Traces.csv
└── Animal 3
    └── Day 1
        ├── *Events.csv
        └── *Traces.csv

Parameters and Directories

A configuration file config.yaml contains defaults that can be set in a single top-level file.

  1. DIRS: - directories for loading and saving data

    DIRS:
      data_dir: '/Users/me/mydata'   # os is internally handled
      save_stats: '~./home'          # save statistical output
      save_figs: '~/graphs'          # can have multiple sub-dirs 
      save_nn:  '~/svm'              # train/test/eval scores from neural network 
  2. SESSION: - session instance information

    SESSION:
      animal: 'animal_ID' # must include char + num
      date: '123456'      # must include all nun
      dir: '/my/data'     # must include / or \ 
    
  3. COLORS: - event : color pairing

    COLORS:
      Event1: 'color'
      Event2: 'color'
      Event3: 'color'
    # from matplotlib.colors API
  4. DECODER: - Decode GPIO signals into events

    DECODER:
      Event1: 1, 2, 3, 4
      Event2: 1, 3, 4
      Event3: 1, 2, 3
      Event4: 1, 4
    # see data/data_utils/gpio_data.py for implementation

Alt text


TO DO:

  • Additional layers to neural network for additional feature extraction
    • Layer for additional outlier/anomaly detection
    • Layer for linear trend normalization
    • Any additional feature extraction layers i.e. temporal coding [2], latency, duration, etc.
  • Incorperate dataflow-based modeling design i.e. mapping actors to threads and the vectorization of actors (see [3])
  • Format all docstrings to NumPy style

References

[1] Long Term In-Vivo One-Photon Ca2+ Imaging of Taste-Responsive Cells In The Parabrachial Pons In The Freely Licking Rat. Flynn P. O'Connell1, Joshua D. Sammons2, Patricia M. Di Lorenzo1. 1Binghamton University, Binghamton, NY, USA. 2University of Alabama at Birmingham, Birmingham, AL, USA. Achems.org

[2] Hallock R. M., Di Lorenzo P. M. (2006). Temporal coding in the gustatory system. Neurosci. Biobehav. Rev. 30, 1145–1160. 10.1016/j.neubiorev.2006.07.005

[3] Kyunghun Lee, Xiaomin Wu, Yaesop Lee, Da-Ting Lin, Shuvra S. Bhattacharyya & Rong Chen (2021) Neural decoding on imbalanced calcium imaging data with a network of support vector machines, Advanced Robotics, 35:7, 459-470, DOI: 10.1080/01691864.2020.1863259

About

Calcium Analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages