SkillAgentSearch skills...

FluorescenceLifetime

A MATLAB data analysis toolkit for Fluorescence Lifetime Imaging Microscopy (FLIM) and an Alba v5 time-resolved confocal microscope operations manual

Install / Use

/learn @CreLox/FluorescenceLifetime
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Table of contents

Introduction on Fluorescence Lifetime Imaging Microscopy (FLIM)

PicoQuant knowledgebase

Jung et al., 2011 on the fluorescence lifetime of fluorescent proteins

Malacrida et al., 2021 on the phasor plot, especially literature [45, 46, 54, 59, 60, 61] cited in this review.

Specifications

This toolkit analyzes raw FLIM data (in .iss-tdflim files acquired by VistaVision) obtained by an Alba v5 scanning confocal microscope equipped with a 20-MHz pulsed excitation light source. The microscope is hosted at the Single Molecule Analysis in Real-Time (SMART) Center at the University of Michigan, Ann Arbor. To operate the microscope, please read the manual. Photons are detected by an SPCM-AQRH-15 avalanche photodiode (APD). The time-correlated single photon counting module (which registers detected photon events to their corresponding excitation pulses) is an SPC-830.

General pipeline

(Note: steps 1-3 are only needed to be done once per experiment.)

  1. Open MATLAB. In the Command Window, call the calculateIRF function and pick the .fcs file containing the instrument response function (IRF) measurement data in the pop-up UI. Note that this requires another repository of mine, readHeader, to function. The normalized IRF is then automatically saved into a .mat file with the same filename as the original .fcs input file. Load it to continue later steps.
>> calculateIRF('Early'); % For the green channel, specify the early pulse.
  1. Visually examine the IRF curve. Optional: if you see a major prepulse before the main IRF spike, remove it manually by assigning those IRFProb values belonging to the prepulse to 0. The reason is explained in a section below. However, if you do this, make sure to renormalize the IRFProb.
>> plot(25/4096:50/4096:25-25/4096, IRFProb, '.-'); % A ClockFrequency of 20 MHz and an ADCResolution of 4096 were used
   ...
>> % IRFProb = IRFProb / sum(IRFProb); % Normalization again
  1. Calculate IRFTransform. Do not use other values for $\omega$ because the empirical standards (hard-coded in the third step of the pipeline) to identify autofluorescent pixels depend on $\omega$. For more details, see another section below. Save IRFProb, Omega, and IRFTransform into a single .mat file.
>> Omega = calculateBestOmega(2, 3); % ~ 0.4082, which optimally resolves fluorescence lifetimes in the 2-3 ns range.
>> IRFTransform = calculateIRFTransform(IRFProb, 25/4096:50/4096:25-25/4096, Omega); % A ClockFrequency of 20 MHz and an ADCResolution of 4096 were used
  1. Load the .mat file containing IRFProb, Omega, and IRFTransform in the third step of the pipeline. This pipeline lays out all the steps in a typical data analysis: intensity thresholding (for localized fluorophores), phasor plot-based pixel filtering, region exclusion (manual correction), and fitting (using the MATLAB nonlinear optimization function fmincon). Use Run Section to perform your analysis in a guided, step-by-step manner. To minimize $\chi^2$ (the correct way for the Poisson process but numerically problematic due to the low and noisy event counts at the two tails) during fitting, set FittingOption = Fitting2 (for a 2-component exponential decay fit) or FittingOption = Fitting1 (for a mono-exponential decay fit) in the fifth step. To minimize the Manhattan distance between the fitted curve and raw data (a practical way employed in our data analysis, which is further explained here), set FittingOption = Fitting2S (by default; for a 2-component exponential decay fit) or FittingOption = Fitting1S (for a mono-exponential decay fit) in the fifth step.

All fitting parameters are automatically saved into a .mat file and two associated plots (including an overlay of the raw FLIM data in black and the fitted curve in red, as well as a residual plot tiled together with a plot of the auto-correlation function of residuals) are also automatically saved as individual .fig files.

<p align="center"> <img width="540" alt="image" src="https://user-images.githubusercontent.com/18239347/190866352-23d2456c-499a-4e07-8c68-df225fb36841.png"><br> Exemplary output figure 1: An overlay of the raw FLIM data in black and the fitted curve in red. The "microtime" refers to the interval between the arrival of a detected photon and its corresponding excitation pulse. </p> <br> <p align="center"> <img width="540" alt="image" src="https://user-images.githubusercontent.com/18239347/190866386-ca717548-c3dc-431b-8647-4dd84c1b4070.png"><br> Exemplary output figure 2: A residual plot tiled together with a plot of the auto-correlation function (ACF) of the residuals in the exemplary output figure 1 above. </p>

Principles

To demonstrate how fluorescence lifetime measurements can quantify the FRET efficiency, consider a large number of donor fluorophore molecules with a lifetime of $τ_0$. In the absence of acceptor fluorophores, the exponential decay $D_0$ of donor fluorescence after pulsed excitation at time zero is

$$D_0(t) = Ce^{-t/τ_0}.$$

The total donor fluorescence intensity is

$$S_0=\int_0^{+\infty} D_0(t)dt = Cτ_0,$$

wherein the pre-exponential factor $C$ (also commonly referred to as the "amplitude") is a constant determined by the total number and properties of fluorophores, as well as the imaging setup. Without altering any of these conditions, in the presence of acceptor fluorophores and FRET, the possibility that an excited fluorophore stays excited (has not relaxed to the ground state either through the fluorescence-emitting route or the FRET-quenching route) at time $t$ is

$$P=e^{-(1/τ_0 +1/τ')t}.$$

Here, $τ'$ ( $=(r/R_0)^6τ_0$, wherein $r$ is the distance between the donor and the acceptor dipoles and the Förster radius/Förster distance/critical transfer distance $R_0$ is a constant determined by the donor, the acceptor, etc.; see the derivation here) is the time parameter of FRET (note: although an excited fluorophore can only relax through one route, the two stochastic processes – fluorescence-emitting and FRET-quenching – are independent). Therefore, in the presence of acceptor fluorophores and FRET, the new decay dynamics of the donor fluorescence are

$$D(t)=Ce^{-(1/τ_0 +1/τ')t}=Ce^{-(τ_0+τ')t/(τ_0 τ')},$$

The effective lifetime of the donor fluorophore (which can be measured through FLIM) becomes

$$τ=\frac{τ_0 τ'}{τ_0+τ'},$$

and the total donor fluorescence intensity becomes $S = Cτ$. Therefore, the FRET efficiency

$$\frac{S_0-S}{S_0}=\frac{τ_0-τ}{τ_0}(=\frac{1}{(r/R_0)^6+1}),$$

wherein $τ_0$ and $τ$ can be measured through FLIM. Because the fluorescence lifetime in the absence of quenching is an intrinsic property of a mature fluorescent protein under a certain temperature (see section 9.4.5.1, Kafle, 2020), the equation above greatly simplifies the FRET efficiency measurement. This equation still applies even if the fluorescence decay must be fitted by a multi-component exponential decay, as long as the average fluorescence lifetime $\bar{\tau}$ weighted by the corresponding $C$ of each component is used (see a section below).

Below is an exemplary FLIM experiment (performed by Dr. Ajit Joglekar) from the reference study where a high FRET efficiency was observed. Here in the experimental group (red), the nuclear pore complex protein NUP50 is tandemly tagged by mNeonGreen and mScarlet-I. In the control group (black), NUP50 is only tagged by mNeonGreen. We can see that the lifetime of mNeonGreen in NUP50-mNeonGreen-mScarlet-I is greatly shortened compared to the lifetime of mNeonGreen in NUP50-mNeonGreen. This results from the highly efficient FRET between mNeonGreen (the donor fluorophore) and mScarlet-I (the acceptor fluorophore) that are closely linked. And by fitting the FLIM data with (multi-component) exponential decays, we can quantify the FRET efficiency using the equation above.

<p align="center"> <img width="540" alt="image" src="https://user-images.githubusercontent.com/18239347/202163005-5f7f270e-eafe-4143-9196-f1799b821bc7.png"><br> The scatter plots show the mean FLI

Related Skills

View on GitHub
GitHub Stars7
CategoryData
Updated4mo ago
Forks2

Languages

MATLAB

Security Score

87/100

Audited on Nov 17, 2025

No findings