This page contains only a general description of FRETBursts fitting functionalities. The content of this page is:
For the reference documentation for fitting multi-channel histograms see:
FRETBursts uses of the powerful lmfit
library for most fittings (like E or S histogram fitting).
Lmfit should be automatically installed when installing FRETBursts, but
in any case it is easily installable via
pip install lmfit.
For more installation info see FRETBursts Installation.
lmfit version 0.8 or higher.
fretbursts.mfit provides a class
that allow to build histograms and
on a multi-channel sample population
(typically E or S values for each burst). The MultiFitter class can find
the max peak position of a KDE or fit the histogram with an arbitrary model.
A set of predefined models is provided to handle common cases.
Sensible defaults are applied but the user can control
every detail of the fit by setting initial values, parameter bounds
(min, max), algebraic constrains and so on. New models can be created by
composing simpler models (by using
+ operator). See the lmfit documentation
for more info on how to define
and composite models.
A convenience function
fretbursts.burstlib_ext.burst_fitter() can be
used to create a
MultiFitter object to fit either E or S. As an example
let suppose having a measurement loaded in the variable
d. To create a
fitter object and compute the FRET histogram we execute:
bext.burst_fitter(d) # Creates d.E_fitter d.E_fitter.histogram() # Compute the histogram for all the channels
Now we fit the E histogram with a 2-Gaussians model:
And plot the histogram and the fitted model:
dplot(d, hist_fret, show_model=True)
Lmfit provides a simple and flexible interface for non-linear least squares and other minimization methods. All the model parameters can be fixed/varied, have bounds (min, max) or constrained to an algebraic expression.
Moreover lmfit provides a Model class and a set of built-in models that allows to express curve-fitting problems in an compact and expressive form. Basic models (such as a Gaussian peak) and be composed allowing an easy definitions of a variety of models (2 or 3 Gaussians).
For more information refer to the official lmfit documentation.
A set of legacy functions used in versions of FRETBursts < 0.4
are defined in
fretbursts/fit. This function are retained for backward
compatibility but should not be used in new analysis.
These are low-level (i.e. generic) fit functions to fit gaussian or exponential models.