Skip to content

ucsdmanorlab/abranalysis

 
 

Repository files navigation

Auditory Brainstem Response Analyzer (ABRA)

ABRA is a web application created using Streamlit which allows users to batch-upload and analyze ABR data. Read the preprint here!

It can either be run on the web OR locally (instructions below).

If using the web interface, click here or scroll down to Usage instructions below.

Local installation

Quick install instructions are below. For more detail see the full ABRA Instructions.

(Recommended) Install in a separate conda environment:

  1. If conda is not installed, first install miniconda

  2. Open “Anaconda Prompt (miniconda3)” to run miniconda after install

  3. Create and activate a conda environment for the abra installation:

conda create -y -n abra python=3.12 git
conda activate abra
  1. Clone this github repo and install:
git clone https://github.com/ucsdmanorlab/abranalysis.git

Type yes if prompted, then:

cd abranalysis
pip install -r requirements.txt
  1. Launch the streamlit app:
streamlit run ABRA.py

On future uses, you only need to open the Anaconda Prompt, then run the following to activate the ABRA environment, move to the ABRA installation directory, and launch the streamlit app.

conda activate abra
cd abranalysis
streamlit run ABRA.py

As new updates are released in the future, you can always pull the latest version by running git remote update from inside your abranalysis directory.

API-only Installation

If you only want to use ABRA's analysis functions programmatically without the web interface:

conda create -y -n abra python=3.12 
conda activate abra
pip install -r requirements-api.txt

See notebooks for usage.

Usage

  1. Upload a file (Tucker Davis .arf, EPFL .tsv or .asc, or standardized .csv). If you're uploading a .csv, there must be a Level(dB) column and a Freq(Hz) column, and the vector of data points ends each corresponding row. Screen Recording of drag-and-drop file upload to ABRA

Click the thumbnail below to see an example of the .csv format:

image

  1. Choose the "Plotting and Analysis" tab, and select the data you'd like to plot or output. Screen recording of switching to the plotting tab, choosing a specific frequency and dB SPL, and then choosing various plotting and table output functions

Optional usage:

  • Hover over the top right of a data table to download to csv download_csv

  • Edit peaks for individual waveforms: click "Edit peaks table", make edits, and click "Done editing" Untitled (1)

  • Edit thresholds for waveform stacks edit_threshold gif

  • Clear manual edits using the Manual Edits Management toolbar clear_manuals

Packages

No packages published

Languages

  • Jupyter Notebook 97.4%
  • Python 2.6%