Matlab GUI based package for nanopore signal analysis
Switch branches/tags
Nothing to show
Clone or download
voyn voyn
voyn and voyn minima/maxima bug fix
fixed issue with minima/maxima outside detection level, thanks to C.H.
Wong
Latest commit 1b99616 Apr 16, 2018
Permalink
Failed to load latest commit information.
Functions Small additions and bug fixes. Tentative Chimera support. Mar 2, 2017
GUI_detect.fig Small additions and bug fixes. Tentative Chimera support. Mar 2, 2017
GUI_detect.m minima/maxima bug fix Apr 16, 2018
GUI_eventrate.fig Small additions and bug fixes. Tentative Chimera support. Mar 2, 2017
GUI_eventrate.m Small additions and bug fixes. Tentative Chimera support. Mar 2, 2017
GUI_events.fig No commit message Feb 4, 2015
GUI_events.m No commit message Feb 4, 2015
GUI_gaussian.fig No commit message Feb 4, 2015
GUI_gaussian.m No commit message Feb 4, 2015
GUI_ghost.fig No commit message Feb 4, 2015
GUI_ghost.m No commit message Feb 4, 2015
GUI_localstructures.fig No commit message Feb 4, 2015
GUI_localstructures.m Small additions and bug fixes. Tentative Chimera support. Mar 2, 2017
GUI_noise.fig No commit message Feb 4, 2015
GUI_noise.m Small additions and bug fixes. Tentative Chimera support. Mar 2, 2017
GUI_transalyzer.fig No commit message Feb 4, 2015
GUI_transalyzer.m No commit message Feb 4, 2015
README.md speedup Apr 10, 2018
calcPSD.m No commit message Feb 4, 2015
cmd_load_transalyzer_data.m Small additions and bug fixes. Tentative Chimera support. Mar 2, 2017
cmd_merge_two_datasets.m Small additions and bug fixes. Tentative Chimera support. Mar 2, 2017
license.txt No commit message Feb 4, 2015
plot_IV.m No commit message Feb 4, 2015
readlabviewbinaries.m No commit message Mar 3, 2015
readlabviewbinaries_all.m No commit message Mar 3, 2015
readlabviewbinaries_generate_position_file.m No commit message Mar 3, 2015
readlabviewbinaries_numrecords_value.m No commit message Mar 3, 2015
readlabviewbinaries_readall.m No commit message Mar 3, 2015
smoothing.m No commit message Feb 4, 2015
transalyzer.png No commit message Feb 4, 2015

README.md

Transalyzer

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.


Reference

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.


News

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.


Download

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


Documentation


Requirements

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

Features

Detection

GUI_detect

  • 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

GUI_events

Selection Criteria
  • Dwell time
  • Amplitude
  • Baseline
  • Event number
  • Event Charge Deficit (Integral)
Analysis
  • Event rate calculation
  • Event rate over experimental time (Plesa et al.)
  • Gaussian / Multi-Gaussian fitting of dwell, amplitude, and current histogram distributions. GUI_gaussian
Output
  • 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

GUI_events

  • 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.

Links