Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Matlab GUI based package for nanopore signal analysis

Transalyzer Logo

This project consists of a series of Matlab based GUIs designed to:

  • detect events in nanopore signals
  • sort event populations / extract populations / remove clogs
  • analyze events and generate various statistics
  • detect and characterize spikes present within events

It was written by Calin Plesa as part of his PhD research in the Cees Dekker lab at Delft University of Technology.


If you use these scripts for your research, please cite:

C. Plesa & C. Dekker, Data analysis methods for solid-state nanopores. Nanotechnology 26 (2015) 084003.


April 29, 2015 - Transalyzer has now moved to GitHub since Google Code will be shutting down later this year.

Feb 4, 2015 - First public code release.


Packaged releases:

Mar 25, 2015 - Download latest release Transalyzer RC1b . Added ABF2.0 support and fixed issues with iterative detection.

Feb 4, 2015 - Release of Transalyzer RC1a.

Video Tutorials

-Intro video tutorial



  • Matlab R2011b (some features may not work on older versions)
    • Statistics Toolbox
    • Signal Processing Toolbox (some features)
    • export_fig (for publication quality figures)




  • Supported Input File Formats
    • LabView TDMS (binary)
    • LabView DTLG (binary)
    • Axon ABF (binary) (currently only versions <2)
    • Axon Clampex ATF (text)
    • Text (two column (Time & Current), or single column (Current))
  • Splitting of files into small segments for detection
  • Save and auto load detection parameters
    • Analyze multiple experiments by auto-cycling through sub-folders
  • IV plot and data for Clampex IV files
  • Filtering options: None, Gaussian, Butterworth 2nd or 4th order
  • Input for Axon gain factor
  • Input for voltage (needed for conductance)
  • Plot options
    • Trace
      • Moving average
      • Sigma levels
      • Detection level
      • Detected events
    • Individual events
      • Current in nA or nS, with or without baseline removed
      • Browse through detected events
      • Individual event info
  • Detection Options
    • Baseline
      • Moving average
      • Manual input
      • Auto detect from current histogram peak
    • Sigma level
      • Full trace (low event rate, stable baseline)
      • Manual input
      • Auto detect from STD histogram peak
    • Iterative detection (as described in Plesa and Dekker 2015)
    • Event type
    • Other input options
      • Peak detection factor (detection level = Sigma*PDF)
      • Min and Max dwell time allowed
      • Extra points to save
      • Minimum gap between events (in points)
  • Dwell time: (1) FWHM (2) baseline crossing
  • Amplitude: (1) Maximum (for spikes) (2) Integral/FWHM (3) Between extreme local minima
  • Concatenate detected events
  • Tracking of experimental time for all data
  • Save options
  • Event traces and information
  • Unfiltered trace data
  • Export detected events to OpenNanopore

Event Selection and Analysis


Selection Criteria
  • Dwell time
  • Amplitude
  • Baseline
  • Event number
  • Event Charge Deficit (Integral)
  • Event rate calculation
  • Event rate over experimental time (Plesa et al.)
  • Gaussian / Multi-Gaussian fitting of dwell, amplitude, and current histogram distributions. GUI_gaussian
  • Scatter, Scatter Histogram, Scatter Denisty (Amplitude vs Dwell time)
  • Dwell time histogram
  • Amplitude histogram
  • Current histogram
  • Integral histogram
  • Baseline vs event number
  • Pore resistance over time
  • Automated plot export

Local Structures Detection and Analysis


  • Detect and quantify spikes present within events.

Source Code Acknowledgements

Transalyzer uses various functions and code written by different people and provided for free. I would like to acknowledge their contributions in this section.

Name Author Licence
abfload Harald Hentschke BSD
em_1dim Eric Pauwels Used with permission
histnorm Arturo Serrano BSD
lmax, lmin Sergei Koptenko BSD
movingstd John D'Errico BSD
peakfinder Nathanael Yoder BSD
fwhm Patrick Egan BSD
TDMS Reader Jim Hokanson BSD

Additionally I would like to thank the following people for code contributions, bug reports, ideas, and productive discussions:

Future Feature List

Here is a list of useful features which still remain to be implemented:

  • GUI_detect: Split LabView binary files into segments
  • GUI_detect: Determine filter delay, in order to sync filtered and unfiltered traces
  • GUI_detect: A more elegant way to deal with the moving average at the start of the trace.
  • GUI_detect: Open and analyze segments smaller than the segment file (at the end of abf files). Currently these are ignored, so several seconds of trace can be lost.
  • GUI_detect: Finding the local baseline crossing point from the detection level crossing point is currently implemented with a while loop. This should be recoded with vector operations for improved speed.
  • GUI_detect: Improved error catching code.
  • GUI_detect: Optimize code to build the master event trace.
  • GUI_events: Remove global variables (used for passing plot limits).
  • GUI_events: Log dwell time histogram.
  • GUI_events: Implement a moving average and threshold selection to the local baseline selection.
  • Command line versions of all of the scripts.

It's Not A Bug It's A Feature

Known bugs and issues:

  • GUI_detect: The code treats short-duration spikes (only 1 local minimum) and longer events (>1 local minima) slightly differently. In certain situations this can lead to a discontinuity in the event populations around the transition area which is an analysis artifact.
  • GUI_detect: When using abf files, it will only read segments equal to the segment time which is set. Since the total trace time in a abf file is typically not evenly divisible (without a remainder) by the segment time, a small part of the trace (several seconds) can be lost at the end of each file.



Matlab GUI based package for nanopore signal analysis







No releases published


No packages published