Skip to main content

Library for analyzing MEA files.

Project description

This project is still in development.

MEAlytics

This repository contains a python package for analyzing Micro-Electrode Array (MEA) experiments.
This repository is maintained by the Amsterdam University of Applied Sciences (AUAS).
MEAlytics offers high speed spike, burst and network burst detection followed by feature extraction.

For more information about the analysis or how to use the library, check out the MEAlytics Github pages.

CureQ

This tool was created for the CureQ consortium.
For more information about the CureQ project, visit https://cureq.nl/


Install the library

  1. Download and install Python (if not already installed) from python.org
  2. Open a terminal or command prompt with installed Python library
    Navigate to your home folder.
    cd /path/to/home/folder
    
  3. Make sure you downloaded Python!

Check this with python --version in your CMD.
If you don't have Python installed yet, install it by typing python in your CMD.
This will automatically install pip.

Check this with pip --version in your CMD.
If you don't have pip installed yet, install it by typing get-pip.py in your CMD.

  1. Install library with pip
    Install the MEA analyzer with the following command when you are using Pip:
pip install CureQ 

More elaborate and simple installation instructions can be found in the User Guide.

Please note that this project is still in development. Certain aspects of the package might change in the future.


Library usage

Now you can try the CureQ library functions in your Python environment.
Import the function you need, call this function and watch how the pipeline analyzes your MEA file!

Example for analyzing all MEA wells

from CureQ.mea import analyse_wells, get_default_parameters

fileadress='C:/mea_data/mea_experiment.h5'
sampling_rate=20000
electrode_amount=12

# Get and edit parameters
parameters = get_default_parameters()
parameters['use multiprocessing'] = True

if __name__ == '__main__':
    analyse_wells(fileadress=fileadress,
                  sampling_rate=sampling_rate,
                  electrode_amnt=electrode_amount,
                  parameters=parameters
                  )

MEA GUI

Addionally, the CureQ mea library contains a graphical user interface that can be used to perform the analysis.
The GUI is also used to inspect the raw MEA data and the analysis results. Example visualisations can be found below.
The GUI can be opened as follows:

Opening the GUI

from CureQ.GUI.mea_analysis_tool import MEA_GUI

if __name__=="__main__":
    MEA_GUI()

Launch from command prompt

Additionally, he GUI can be launched from the command prompt. Simply open the command prompt, and enter “cureq”.

C:\Users>cureq
Successfully launched MEAlytics GUI

The output should look like this, and the GUI should appear on your screen.

Create shortcuts

This process can be simplified by creating shortcuts that in essence perform the same process. In the command prompt, enter “cureq –create-shortcut”.

C:\Users>cureq --create-shortcut
Desktop shortcut created at C:\Users\Desktop\CureQ.lnk

The output should look like this, and a shortcut should appear on your desktop:


MEAlytics functionality

Parameters

MEAlytics offers a wide range of parameters that can be used to alter the analysis! However, all parameters have default values that are backed by literature.

Parameters

MEA Analysis

MEAlytics is capable of using multiprocessing to make optimal use of all available resources, speeding up the analysis!

Spike detection

After performing the analysis, the user can inspect the results using the GUI!
The user can alter all parameters regarding spike, burst and network burst detection and immediately apply these changes to see how they alter the analysis. This allows you to quickly see the effect of parameter changes, without having to redo the entire analysis.

Spike detection

Additonally, the user can zoom in on the data to view the smaller timeframes.

Single channel burst detection

Burst detection is performed using the logISI method, meaning that the thresholds adapt to the input data!

Burst detection

Network burst detection

Network burst detection is performed by looking for high activity periods on multiple channels.

Network burst detection

Batch processing

Perform high-throughput analysis using the batch processing module!

Batch processing

Features

MEAlytics calculates over 40 descriptive well and electrode features and saves them in a csv file. These can then be read by other applications such as excel!

Features

Group comparison

You can combine the outcome features of multiple experiments to compare the differences between two groups using the plotting module!

Group comparison

Compare two groups with each other and create visualisations for all features. Output is saved in pdf format.

Boxplots

Visualise the development of features over time by adding a prefix to your feature files!

Features over time


Run the ipywidgets UI (Jupyter)

An experimental ipywidgets-based UI is available for use in Jupyter notebooks or with Voilà.

  • Install optional dependencies:

    • With pip: pip install "CureQ[widgets]"
    • Or add separately: pip install ipywidgets voila
    • In JupyterLab, also enable widgets if needed.
  • Launch in a notebook:

    from CureQ.ipywidgets_ui import CureQApp
    app = CureQApp()
    app.show()  # or display(app.widget())
    

Pages currently supported:

  • Analyze file: run a single-file analysis with progress and abort.
  • Parameters: view/edit/save analysis parameters.
  • Batch processing: select a folder, choose .h5 files, and run sequentially with per-file progress.
  • Compress/Rechunk: compress one file or all files in a folder (LZF/GZIP).
  • Other pages are stubbed and will arrive in future updates.

Tip: For large files, prefer the "File path" field instead of uploading via the widget.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cureq-1.2.17.tar.gz (126.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cureq-1.2.17-py3-none-any.whl (142.9 kB view details)

Uploaded Python 3

File details

Details for the file cureq-1.2.17.tar.gz.

File metadata

  • Download URL: cureq-1.2.17.tar.gz
  • Upload date:
  • Size: 126.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for cureq-1.2.17.tar.gz
Algorithm Hash digest
SHA256 8c2998ceb2751d7ed5c2680be35c873244e1313a2b3fa2ecee9b547286510e87
MD5 6ca80dcfad000672639e658e361f3b97
BLAKE2b-256 94d15d5424e19b33f1225b95aa4370f4bae48a3dba35b9a0d66cd5470b780840

See more details on using hashes here.

File details

Details for the file cureq-1.2.17-py3-none-any.whl.

File metadata

  • Download URL: cureq-1.2.17-py3-none-any.whl
  • Upload date:
  • Size: 142.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for cureq-1.2.17-py3-none-any.whl
Algorithm Hash digest
SHA256 c4a7735586fa269ce89f45856421d5b3053e747e8547bf0f9632a56f2a665576
MD5 1acad4f203d1580c7ff08f24299ba77a
BLAKE2b-256 9b64e18c70c44e22b5a0e23cc738007671f4bf1ae89fc1e46e982f3f1ebaa92e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page