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 plotsFitter 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.
Exporting:
Export photon burst data to pandas DataFrame (function bext.burst_photons)
Loading:
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)
Analysis:
Background computation improvements: more robust, faster, better error messages (4fbf33, 7a3c17, 5a68d0,)
Other:
New documentation theme (docs live at the same address fretbursts.readthedocs.io)
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:
Kinetics: better handling of time_zero in moving_window functions (see c25b68).
Multispot: Add argument
skip_ch
toData.collapse
and todplot
.Plots: use
vmin=1
by default inalex_jointplot
andhexbin_alex
.PAX: rewrote burst size and correction factors to be more clear and general (see
Data.burst_sizes_pax_ich
)Plots: spread burst labels to reduce overlapping when plotting burst info with
timetrace
. See the new example notebook for timetrace plotting.
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 dataAdded
apionly
argument toinit_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 inalex_jointplot
.Remove rarely used arguments
Set axis limits by default
- Refactoring of
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 tod.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.
- pax
Doose et al. European Biophysics Journal 36(6) p.669-674, 2007. DOI:10.1007/s00249-007-0133-7
- 48spot
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 methodPh_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 usingondisk=False
. Now all background rates are stored in the dictionaryData.bg
, while the mean background rate in the dictionaryData.bg_mean
. The old attributesData.bg_*
andData.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
(andhist_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¶
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
and accuracy.
Background attributes¶
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
with Data.bg[Ph_sel('all')]
in their notebooks. Note that
no official FRETBursts notebook was using Data.bg
, 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
Data.bg
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, 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
photon streams. 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
documentation Data.bg
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
andData.burst_sizes
now accept the argumentsgamma
,beta
anddonor_ref
. The argumentgamma1
was removed. The two conventions of corrected burst sizes are chosen with the boolean flagdonor_ref
. See the burst_sizes_ich docs for details.New method
get_naa_corrected
returns the array ofnaa
burst counts corrected with the passedgamma
andbeta
values. Like for the burst size, the argumentdonor_ref
selects the convention for the correction. See the get_naa_corrected docs for details.A new
Data
attributebeta
(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 abeta
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.