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.18.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.18-py3-none-any.whl (143.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cureq-1.2.18.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.18.tar.gz
Algorithm Hash digest
SHA256 6074ceb8c290e5cf85e0a5f97157a05ad95f88164a1e50224ed0709d1cf4d081
MD5 b064022d85537ec749ab506a12337952
BLAKE2b-256 f74af1198595d4f58d4982e8e7b8183348ff04c9d80a97fd046b1cde04371bae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cureq-1.2.18-py3-none-any.whl
  • Upload date:
  • Size: 143.0 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.18-py3-none-any.whl
Algorithm Hash digest
SHA256 a782f9e4a1b4a9d7ac8fb12d8c89011eb31ab5f9341b4e8fad3a796d81e97da1
MD5 73839e95d0715eb785e27cee00b1d157
BLAKE2b-256 edc6665e4f3aaa26d6247796bd7957aa6b00f1fc43b74f130f2d4ed8e123b96f

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