Biophysical Essentials (BPE)

What is Biophysical Essentials?

Biophysical Essentials (BPE) is a Python QT-based open-source software framework tailored for researchers analyzing Patch-Clamp recordings. BPE offers intuitive and consistent data analysis, ensuring effectiveness and transparency throughout the process. Compatible with a range of data formats from leading companies such as HEKA, Sutter, and Axon, BPE streamlines analysis workflows. For a comprehensive overview, visit our Project Description.

How to use Biophysical Essentials

BPE is free of charge and we encourage everyone to download the software and experience intuitive and consistent patch-clamp recording data analysis. If you include the software in your project, we kindly ask you to cite our publication: Zimmermann, D., Kress, M., & Zeidler, M. (2024). Biophysical Essentials – A Full Stack Open-Source Software Framework for Conserved and Advanced Analysis of Patch-Clamp Recordings. https://doi.org/10.1016/j.cmpb.2024.108328

Installation of Biophysical Essentials

If you're eager to begin using Biophysical Essentials right away for your work, we recommend downloading the appropriate executable file and following the tutorial video provided below on this page. Alternatively, if you're interested in contributing source code, please refer to the next section: Install BPE from GitHub

Latest Version: BPE v0.0.9

Modules and Features in Biophysical Essentials

Experimenter:

Hardware-Communication with an Amplifier System, Data Acquisition

Online Analysis:

Single File Viewer

Database:

Storage and Overview about all patch clamp recordings and analysis performed in BPE

Offline Analysis:

Data Analysis and Result Visualization for multiple recordings

Online Services:

This Website and the data sharing services we offer here

Getting Started Tutorial

This tutorial shows you how to download, unzip and start Biophysical Essentials Software for the first time.

How to contribute?

  1. For Developers: If you want to contribute to the project, please feel free to open pull requests. Please always ensure that tests are running properly by starting the unit tests using python -m unittest discover ../Tests/frontend_page_tests.py.
  1. If you are an applied scientist in the field of biophysical studies, you can easily contribute by providing a step-by-step description of your experiments and the functionalities you are using - either as github issue or email to request support for your workflow

Experimenter Module

Experimenter Module

This module orchestrates hardware interactions with Patch Clamp Amplifiers and Camera Modules to acquire patch-clamp data and fotos/videos. BPE can communicate with Patch Clamp Amplifiers to trigger recordings and import the generated data into the BPE database immediately. So far, communication with Amplifiers from the HEKA company is supported and requires a valid version of Patchmaster v2x90 as well as preconfigured pulse generator- (.pgf), protocol- (.pro) and analysis files (.onl). We are currently working on the integration of PatchMaster Next too.

Batch Communication between BPE and HEKA EPC Amplifier

  1. Principle of Communication

As illustrated below in Fig. 1., the communication between Patchmaster (PM) and Biophysical Essentials (BPE) works via specific *.in and *.out files. Therefore, PM and BPE must share access to the directory of these files. In case of selecting the shared path on a network resource, PM and BPE can even operate from different computers.

  1. Set up PatchMaster (PM)

Open Patchmaster, go to the configuration tab and select the path for the .in and .out files. This path MUST be also accessible for BPE.

Once the path ist set correctly, the batch communication can be enabled by checking the respective checkbox. In the notebook of PM, one can see PM searching actively for input files.

Set up Batch Communication in Biophysical Essentials

BPE can write specific control sequences into the .in file which will be interpreted by PM and the specific command will be executed.

Therefore, the respective .pgf, pro, and .onl files muste be selected as well as the path where the .in and .out file will be generated/modified.

Once all paths are set, a connection with the amplifier can be initiated and if successfull, the window will change to the different control sequences. By drag and drop, pre-configured series or protocols can be selected and exectuted.

Online Analysis

Online Analysis

The online analysis (ONA) module serves as a basic file viewer for single patch-clamp recordings. Once opened in the ONA viewer, the recording files can be directly imported into BPEs permanent database using the transfer interface. Additionally, a labbook interface is provided. The labbook visualizes actual recording parameters and provides the option the add additional comments.

Offline Analysis

Offline Analysis

This module supports the import of existing recording data, filtering, analysis, visualization and statistical analysis.

1. Start a new Offline Analysis

To start a new offline analysis, select your recordings of interest from the Data Dashboard. Data can be grouped and selected by the given meta data which can be changed in the dropdown menu. Individual recordings and other grouping cirteria can be selected by SQL queries in the second tab of the data dashboard. For each started offline analysis, an unique offline analysis id will be assigned by which all actions will be re-trackable.

2. Data Control

The data import process is complete when a treeview listing all experiments and a data view with related visualizations appear on the screen (see Fig. X). To maintain maximum control over data and downstream analysis, BPE offers numerous options for manual visualization, filtering, and selection. These options help ensure high-quality analysis and trustworthy results.

2.1 Select and Discard

The treeview shown in Figure X provides two tabs: "Selected" and "Discarded". You can move an experiment from the "Selected" tab to the "Discarded" tab by clicking the "x" button. This will remove the experiment from your analysis, but it will remain in the database. This allows you to re-insert the data at any later time point for further analysis. Either entire experiments (including all series) or single series can be discarded and reinserted.

2.2 Order by Meta Data

The data displayed in the treeview can be ordered according to their assigned metadata, which was set during the data import process. If no metadata was set, or if you want to change it, you can assign new metadata by clicking on the "Assign Metadata" menu button. Concetatenation of meta data is possible too.

2.3 Select Filter

Different filters can be applied at both the experiment and series levels, as shown in the table below. Once a filter is selected, you can choose to either color the objects in the treeview according to the filter selection and proceed manually, or discard objects automatically.

Filters on experiment level

Filter NameInputFunction
Contains Seriesexisting series names Selects all experiments that contain at least 1 series of the specified series name(s). Multiple series names can be selected. All other experiments (including all series) will be discarded
Meta Data Types of assigned meta dataSelects only experiments that were assigned to the specified meta data type

Filters on experiment level

Filter NameInputFunction
CSlowlower threshold,upper threshold Select all Series with a CSlow value within
RSerieslower threshold,upper threshold Select all Series with a Rseries value within

2.4 Rename Series Name

You can rename a Series by clicking on the "rename-series-button". This will bring up a dialog that allows you to select a series to rename from a dropdown menu.The dropdown is generated automatically from all available series names at the time you open the dialog. To input a new series name, simply type it in and select whether this change should be temporary for this analysis only, or a permanent change to be written into the database.

3. Data Analysis

To start an analysis, at least one series must be selected. For each selected series, a specific analysis window is generated and allows to stack the analysis of all seriers of interest. The analysis configurator allows provides a new tree- and a data view which is this time specific for the seleted series. BPE automatically detects whether the available analysis functions for the selected series by differenciating between voltage and current clamp. A full list of available analysis functions is provided in Tab. .. , and can be generally sepated into general and series specific analysis functions. Voltage clamp recordings are usually normalized to the CSlow paraemter of the cell membrane capacitance componsation while current clamo For each analysis function, an analysis interval can be selected by draggable cursor bounds which will be applied to all selected data. This allows highly conserved data analysis comapred to the classical workflow.

Each analysis result represents a single value (y-ccordinate) while the x-Axis is dependented on the provided data. In case of a step protocol, one might to plot the results according the related or voltage stage, or e.g. against the current ramp in a ramp protocol. Therefore, the user can select an interval that was read from the pgf file.

To increase the transparancy of the anaylsis functions, an implemented live plot mode allows to apply analysis functions immediately to see the output of the selected analysis.

  1. Statistics Module:

The following statistical tests can be performed

  1. t-test_ind (Independent t-test):
    • Use when you have two independent groups.
    • Assumes that the data in each group is normally distributed and has equal variances.
    • Use this test if the assumptions are met; otherwise, consider using the Welch's t-test or non-parametric tests.
  1. t-test_welch (Welch's t-test):
    • Use when you have two independent groups.
    • Similar to the t-test_ind but does not assume equal variances.
    • It is more robust when the variances are unequal or the normality assumption is violated.
  1. t-test_paired (Paired t-test):
    • Use when you have paired or matched observations (e.g., before and after measurements).
    • Assumes that the differences between pairs are normally distributed.
  1. Mann-Whitney U test (Wilcoxon rank-sum test):
    • Use when you have two independent groups.
    • Does not assume normality or equal variances.
    • It tests if the distributions of the two groups are significantly different.
  1. Mann-Whitney-gt (Mann-Whitney test for one-sided alternative):
    • Use when you have two independent groups.
    • Similar to the Mann-Whitney U test but tests for a one-sided alternative hypothesis.
  1. Mann-Whitney-ls (Mann-Whitney test for a less than alternative):
    • Use when you have two independent groups.
    • Similar to the Mann-Whitney U test but tests for a less than alternative hypothesis.
  1. Levene's test:
    • Use when you have two or more independent groups.
    • Tests the equality of variances across the groups.
    • If the variances are significantly different, it indicates that assumptions for parametric tests may be violated.
  1. Wilcoxon signed-rank test:
    • Use when you have paired or matched observations.
    • It does not assume normality and tests if the differences between pairs are symmetrically distributed around zero.
  1. Kruskal-Wallis test:
    • Use when you have three or more independent groups.
    • Non-parametric alternative to one-way ANOVA.
    • Tests if the distributions of the groups are significantly different.
  1. Brunner-Munzel test:
    • Use when you have two or more independent groups.
    • It does not assume normality or equal variances.
    • Tests if the distributions of the groups are significantly different.

    Once all the settings are finished, clicking the run button will start the calculation and visualization of the reuslts. Therefore, the new items “P

Database Viewer

Database Viewer

The database viewer module allows you full access to the data - including recording file structure as well as numerical raw data and offline analysis results. All actions performed by a user are stored in this database and can be reopened at any time from the GUI to facilitate reproducible and transparent data analysis. For advanced data control, sql queries can be entered within the database viewer module as shown in the figure below. All data tables can be inspected from the GUI without the need of SQL-syntax.

Data Import

Data Import

Data can be imported into BPE from recording files as well as from other BPE databases (e.g. from another computer from yourself or a cooporation partner)

1. Data Structure

BPE considers a structure of:

I. Experiment: Represents a single cell that was patched and recorded.

II. Series: current and voltage clamp protcols (e.g. IV ) that were performed with this single cell. Multiple series can be mapped to one experiment.

III. Sweep: Single traces of each series, each series can have multiple sweeps.

2. Import multiple files from directory

In the current BPE release, HEKA files with '.dat' file extension and AXON's '.abf' files can be imported. The recording files will be interpreted from BPE and copied into the BPE-specific database, which runs in the background of the software. This database will be only available on your local computer. If you want to backup or upload your data, please read the section on Online Services and Data Export.

  1. General Import Instruction

To import new data into BPE, click the offline analysis button in the main menu, click "load from directory"choose the respective data type and select the directory containing the recordings. Once selected, a dialog will appear asking you to either upload metadata from a (.csv) file or assign it within the dialog. We highly recommend setting metadata, at least for the experiment label, to distinguish data from each other. After clicking "continue," the displayed data will be added as metadata to the database. Importing data into the database requires some processing time, so be patient as this is the slowest process of the entire software.

  1. Reading HEKA files

HEKA's .dat file format was changed in the past from an unbundled to a bundled version. BPE supports both formats. Very important: For unbundled format reading, the .pul and .pgf files need to be provided in the same directorey as the .dat file. Also, the naming must be identical except of the extension. Please be advised that HEKA provides a conversion from unbundle into bundled format within PatchMaster. Preferentially, each recording file contains a single experiment. BPE can handle HEKA files with multiple experiments, but the reading speed is decreased and will lead to an automated naming of the experiment too.

  1. Reading AXON files

AXON's .abf files need to be renamed so that all file names of protocols that belong to the same cell start with the same string, followed by an underscore. For example, "cell1_....abf".

  1. Reading NANION files

This feature is currently under construction and will be available in the next release around October 2024

2. Import data from existing database

BPE supports to exchange raw data and analysis results between different BPE instances. Therefore, data can be exported as described in the chapter Data Export. Data that were exported as described there, can be imported by starting an offline analysis, and clicking "open exsiting analysis". This will open a dialog which shows the option to import existing bpe_data.

Database Viewer

Data Export

Data can be exported from BPE in different ways. Single signal traces can be exported as .csv files, trace images and result plots can be exported as image or vector graphics. An entire analysis inlcuding raw data, analysis function parametrization and analysis results can be exported as database object.

Export a database object

Go to the database viewer module and select "Export Analysis" in the ribbon bar. A popup dialog will open to allow you to set the path directory where you want to store the db object and which analysis (identified by its ID) you want to export. Click "Export Datbaase" which will automatically export all the data that are linked with this analysis.
Database Viewer

Error Report

BPE is a young project with high potential to become included in many different Patch-Clamp projects in the future. However, it might happen that some features will not work for a specific use case, such as an unexpected input data format, different file versions or missing meta data in some amplifier systems. We strongly encourage you to report such use cases either as issue on the projects github site or by individually reaching out per email describing the details of the problem. Please don't hesitate to reach out, we are more than happy to support you and your data analysis. BPE is writing a status-and error-log file that might be helpful to be provided too.

Finding the log-file

Within your BPE folder, navigate as shown in the figure below to _internal/Logging/Logs and you will find the main log file titled "log".