FRETBursts Release Notes

Version 0.7.1

  • Require Python 3.6+. Python 2.7 is not supported anymore.

  • Fix deprecation warning when plotting timetraces. Now matplotlib 3+ is required.

  • Fix error loading Photon-HDF5 files with polarization data (issue)

  • More fixes for PIE file with polarization, thanks to Christian Gebhardt for reporting the problem and suggesting solutions (issue)

  • Passing list of strings to loader.photon_hdf5() loads each file into the same data object as an excitation spot.

  • dplot function keyword argument i=None now plots concatenated data from all excitation spots. Does not apply to trace-based plots

  • Fitter attributes relating to fit values now have parallel attributes ending in _tot which are for concatentated data across all spots.

Version 0.7 (Jul. 2018)

To update to the latest FRETBursts version type conda install fretbursts -c conda-forge. For more detailed instructions see Getting Started.



  • Support for Photon-HDF5 0.5 and validation during loading

  • Add function to load SM files acquired with 1-laser (96d39b)

  • Support smFRET-1color measurements from “generic” Photon-HDF5 (ab87e8)

  • Faster loading of nsALEX data when ondisk=True (a6b343)

  • Add support for loading polarization and split data as “spectral” (a5b7d6, c73188)


  • Background computation improvements: more robust, faster, better error messages (4fbf33, 7a3c17, 5a68d0,)


  • New documentation theme (docs live at the same address

  • A myriad of small improvements and bug and regression fixes (see git log for details)

Version 0.6.5 (Aug. 2017)

This is a minor release with an important bug fix for histograms plots and other tweaks mostly for PAX. New “short notebooks” for common tasks have also been added.

Bug fixes:

  • Fix histograms offset by half bin when using matplotlib 2.x. (see commit d3102e).

  • Fix BurstsGap giving an error when being sliced (see #62).

Other changes:

Version 0.6.4 (Jul. 2017)

This release adds support for periodic acceptor excitation (PAX) measurements. PAX is similar to μs-ALEX, with the difference that only the A laser is alternated (see references [pax] and [48spot]). There are also a few minor bug fixes and better support for 48-spot data.

To update to the latest version type conda install fretbursts -c conda-forge. For installation instructions see Getting Started.

The list of changes include:

  • Added PAX support

  • Workaround for a numpy.histogram issue when input contains NaNs

  • bext.burst_data(): bugfix, add tests and improve handling of multispot data

  • Added apionly argument to init_notebook() for setting up the notebook plots without changing any plot style (see 958824).

  • Support “empty” channels in multispot data.

  • Improve plots for 48-spot data.

  • Refactoring of alex_jointplot.
    • Allow using custom Data fields for E and S in alex_jointplot.

    • Remove rarely used arguments

    • Set axis limits by default

  • Added a new notebook showing how to customize alex_jointplot plots.

  • Improved normalization of exponential curve representing the fitted background in hist_bg (see Issue 61). Many thanks to Danielis Rutkauskas for reporting the issue.

  • Removed shortcut (underscore) syntax for single-spot. Code like d.E_ needs to be changed to d.E[0]. This syntax was causing difficulties during developing new features for PAX. Please report if you would like for the syntax to be reintroduced.


Doose et al. European Biophysics Journal 36(6) p.669-674, 2007. DOI:10.1007/s00249-007-0133-7


Ingargiola et al. bioRxiv 156182, 2017. DOI:10.1101/156182

Version 0.6.3 (Apr. 2017)

A few more small fixes in this release. If you have any installation issue please report it on github.

  • Import OpenFileDialog when FRETBursts is imported (as in versions < 0.6.2)

  • Fix loading SM files with numpy 1.12

  • Use phconvert to decode SM files

Version 0.6.2 (Apr. 2017)

This is a technical release that removes the hard dependency on QT and solves some installation issues due to QT pinning on conda-forge.

Version 0.6.1 (Apr. 2017)

For this version of FRETBursts, conda packages are distributed for python 2.7, 3.5, 3.6 and numpy 1.11 and 1.12. FRETBursts still works with python 3.4 but conda packages are not provided anymore. Python 2.7 is now deprecated. Support for python 2.7 will be removed in a future version.

The current release includes the following changes:

  • SangYoon Chung (@chungjjang80) found that the L argument in burst search was ignored and submitted a fix to the problem in PR #57. Tests were added to avoid future regressions.

  • Fix access to the deprecated background attributes (introduced in 0.6). See b850a5.

  • Add plot wrapper for 16-ch data.

  • Improved example notebook showing how to export burst data. See Exporting Burst Data.

  • Re-enable background rate caching. See PR #53.

  • Support Path objects as filename in loader.photon_hdf5(). See 201b5c.

  • Improve Ph_sel string representation, added factory method Ph_sel.from_str and added new tests. See 3dc5f0.

Version 0.6 (Jan. 2017)
  • Improvements to the layout of 48-spot plots.

  • Simplify background computation avoiding useless recomputations. This results in 3x speed increase in background computation for measurement loaded with ondisk=True and 30% speed increase when using ondisk=False. Now all background rates are stored in the dictionary, while the mean background rate in the dictionary Data.bg_mean. The old attributes Data.bg_* and Data.rate_* have been deprecated and will be removed in a future release (see below).

  • Fix loading files with ondisk=True. With this option timestamps are not kept in RAM but loaded spot-by-spot when needed. This option has no effect on single-spot measurements but will save RAM in multi-spot measurements.

  • Add new plot functions hist_interphoton and hist_interphoton_single to plot the interphoton delay distribution. In previous versions the function hist_bg (and hist_bg_single) did the same plot but required the background to be fitted. hist_interphoton* do not require any prior background fit and also have a cleaner and improved API.

  • Detect and handle smFRET files (no ALEX) with counts not only in D or A channels (f0e33d).

  • Better error message when a burst filtering function fails (c7826d).

Backward-incompatible changes

Details of auto-threshold changes

The refactor included a change in how the background is computed when using tail_min_us='auto'. As before, with this setting, the background is estimated iteratively in two steps. A first raw estimation with a fixed threshold (250us), and second estimation with a threshold function of the rate computed in the first step. Before version 0.6, the first step estimated a single rate for the whole measurement. Now the first-step estimation is performed in each background period separately. As before, the second step computes the background separately in each background period. This change was motivated by the need to simplify the internal logic of background estimation, and to increase the computation efficiency and accuracy.

Background attributes

The background refactor resulted in an incompatible change in the attribute. Users upgrading to version 0.6, may need to replace with[Ph_sel('all')] in their notebooks. Note that no official FRETBursts notebook was using, so most users will not be affected.

Compatibility layer

All the old background-related attributes (bg_dd, bg_ad, bg_da, bg_aa, rate_dd, rate_ad, rate_da, rate_aa, rate_m) are still present but deprecated. The same data is now contained in the dictionaries and Data.bg_mean. When using the deprecated attributes, a message will indicate the new syntax. If you see the deprecation warning, please update the notebook to avoid future errors.

Details of changed attributes

Before version 0.6, contained background rates fitted for all-photons stream. was a list of arrays: one array per spot, one array element per background period. In version 0.6+, contains the background rates for all the fitted photon streams. is now a dict using Ph_sel objects as keys. Each dict entry is a list of array, one array per spot and one array element per background period. For more details please refer to the following documentation and Data.bg_mean.

Version 0.5.9 (Sep. 2016)

  • Added support for pyqt and qt 5+.

  • Fix burst selection with multispot data. See this commit.

There may still be some glitches when using the QT5 GUIs from the notebook, but installing (and importing) FRETBursts does not require QT4 anymore (QT5 is the current default in anaconda). Please report any issue.

Version 0.5.7 (Sep. 2016)

Refactoring and expansion of gamma and beta corrections. Briefly, in all the places where corrected burst sizes are being computed, we removed the gamma1 argument and added a flag donor_ref. Additionally, the values Data.S are now beta corrected.

These changes affected several components as described below.

Data Class

  • Methods Data.burst_sizes_ich and Data.burst_sizes now accept the arguments gamma, beta and donor_ref. The argument gamma1 was removed. The two conventions of corrected burst sizes are chosen with the boolean flag donor_ref. See the burst_sizes_ich docs for details.

  • New method get_naa_corrected returns the array of naa burst counts corrected with the passed gamma and beta values. Like for the burst size, the argument donor_ref selects the convention for the correction. See the get_naa_corrected docs for details.

  • A new Data attribute beta (default: 1) stores a beta value that is used to compute the corrected S. This value is never implicitly used to compute corrected burst sizes or naa (for these a beta arguments needs to be passed explicitly).

Plot functions

Plot functions hist_size and hist_brightness accept the new arguments for corrected burst size (gamma, beta and donor_ref).

Burst selection

Burst selection by size and naa accept the new arguments for corrected burst size (gamma, beta and donor_ref).

Burst Weights

Functions that accept weights don’t accept the gamma1 argument anymore, but they don’t (yet) support the arguments donor_ref and beta. As a result, for the purpose of weighting, there is only one expression for corrected burst size (na + gamma*nd), with the option to add naa but without beta correction.

All these changes are covered by unit tests.

Installation via conda-forge

Since version 0.5.6 we started distributing conda packages for FRETBursts through the conda-forge channel (a community supported repository, as opposed to a private channel we were using before). To install or update FRETBursts you should now use:

conda install fretbursts -c conda-forge

Using the conda-forge channel simplifies our release process since their infrastructure automatically builds packages for multiple platforms and python versions. Please report any issues in installing or upgrading FRETBursts on the GitHub Issues page.

For more detailed installation instructions see the Getting Started documentation.

Version 0.5.6

For older release notes see GitHub Releases Page.