Burst Search

\label{sec:burstsearch}

Following background estimation, burst search is the next step of the analysis. In FRETBursts, a standard burst search using a single photon stream (see section \ref{sec:burstsearch_intro}) is performed by calling the Data.burst_search method (link). For example, the following command:

d.burst_search(F=6, m=10, ph_sel=Ph_sel('all'))

performs a burst search on all photons (ph_sel=Ph_sel('all') ), with a count rate threshold equal to 6 times the local background rate (F=6 ), using 10 consecutive photons to compute the local count rate (m=10 ). A different photon stream, threshold (\(F\)) or number of photons \(m\) can be selected by passing different values. These parameters are good general-purpose starting point for smFRET analysis but they can be adjusted if needed.

Note that the previous burst search does not perform any burst size selection (however, by definition, the minimum bursts size is effectively \(m\)). An additional parameter \(L\) can be passed to impose a minimum burst size before any correction. However, it is recommended to select bursts only after applying background corrections, as discussed in the next section \ref{sec:burstsel}.

It might sometimes be useful to specify a fixed photon-rate threshold, instead of a threshold depending on the background rate, as in the previous example. In this case, instead of \(F\), the argument min_rate_cps can be used to specify the threshold (in counts-per-second). For example, a burst search with a 50 kcps threshold is performed as follows:

d.burst_search(min_rate_cps=50e3, m=10,
               ph_sel=Ph_sel('all'))

Finally, to perform a DCBS burst search (or in general an AND gate burst search, see section \ref{sec:burstsearch_intro}) we use the function burst_search_and_gate (link), as illustrated in the following example:

d_dcbs = bext.burst_search_and_gate(d, F=6, m=10)

The last command puts the burst search results in a new copy of the Data variable d (in this example the copy is called d_dcbs ). Since FRETBursts shares the timestamps and detectors arrays between different copies of Data objects, the memory usage is minimized, even when several copies are created.

Python details

Note that, while d.burst_search() is a method of Data , bext.burst_search_and_gate() is a function in the bext module taking a Data object as a first argument and returning a new Data object.

The function burst_search_and_gate accepts optional arguments, ph_sel1 and ph_sel2 , whose default values correspond to the classical DCBS photon stream selection (see section \ref{sec:burstsearch_intro}). These arguments can be specified to select different photon streams than those used in a classical DCBS.

The bext module (link) collects “plugin” functions that provides additional algorithms for processing Data objects.

Bursts Corrections

\label{sec:corrcoeff}

In μs-ALEX, there are 3 important correction parameters: \(\gamma\)-factor, donor leakage into the acceptor channel and acceptor direct excitation by the donor excitation laser \cite{Lee_2005}. These corrections can be applied to burst data by simply assigning values to the respective Data attributes:

d.gamma = 0.85
d.leakage = 0.15
d.dir_ex = 0.08

These attributes can be assigned either before or after the burst search. In the latter case, existing burst data are automatically updated using the new correction parameters.

These correction factors can be used to display corrected FRET distributions. However, when the goal is to fit the FRET efficiency of sub-populations, it is simpler to fit the background-corrected PR histogram and then correct the population-level PR value (see SI in \cite{Lee_2005}). Correcting PR of each population (instead of correcting the data in each burst) avoids distortion of the FRET distribution and keeps peaks of static FRET subpopulations closer to the ideal binomial statistics \cite{Gopich_2007}.

FRETBursts implements the correction formulas for \(E\) and \(S\) in the functions fretmath.correct_E_gamma_leak_dir and fretmath.correct_S (link). A derivation of these correction formulas (using computer-assisted algebra) can be found online as an interactive notebook (link).