FRETBursts Release Notes¶
Version 0.6.1 (unreleased)¶
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:
- 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.
Ph_selstring representation, added factory method
Ph_sel.from_strand 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=Trueand 30% speed increase when using
ondisk=False. Now all background rates are stored in the dictionary
Data.bg, while the mean background rate in the dictionary
Data.bg_mean. The old attributes
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
to plot the interphoton delay distribution. In previous versions the
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).
Effect on burst search¶
Version 0.6 introduced a small change in how the auto-threshold for background estimation is computed. This results in slightly different background rates. As a consequence, burst searches setting a threshold as function of the background, will set a slightly different threshold and will find different number of bursts. The difference is not dramatic, but can result in slight numeric changes in estimated parameters.
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
The background refactor resulted in an incompatible change in the
Data.bg attribute. Users upgrading to version 0.6, may need to replace
Data.bg[Ph_sel('all')] in their notebooks. Note that
no official FRETBursts notebook was using
Data.bg, so most users will not be
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
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,
Data.bg contained background rates
fitted for all-photons stream.
Data.bg was a list of arrays:
one array per spot, one array element per background period.
In version 0.6+,
Data.bg contains the background rates for all the fitted
Data.bg 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
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
Additionally, the values
Data.S are now beta corrected.
These changes affected several components as described below.
Data.burst_sizesnow accept the arguments
donor_ref. The argument
gamma1was 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_correctedreturns the array of
naaburst counts corrected with the passed
betavalues. Like for the burst size, the argument
donor_refselects the convention for the correction. See the get_naa_corrected docs for details.
- A new
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
betaarguments needs to be passed explicitly).
hist_brightness accept the new arguments
for corrected burst size (
Burst selection by
naa accept the new arguments
for corrected burst size (
Functions that accept weights don’t accept the gamma1 argument anymore,
but they don’t (yet) support the arguments
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
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.