Infer receptor–ligand bond lifetimes from smFRET data
Project description
Quantification of receptor–ligand interaction times via single-molecule FRET
This repository contains a GUI application for tracking single-molecule FRET signals arising from receptor–ligand iteractions (see Huppa et al. 2010 for the principle) and evaluating resulting tracking data using survival analysis.
Installation
Run
pip install numba smfret-bondtime
numba is optional, but increases the speed of certain algorithms. However, on some Linux setups, numba has lead to crashes of the software. If this is the case for you, try without numba.
Starting the GUI
Execute smfret-bondtime
or python -m smfret_bondtime
.
This will open a window as shown below.
The top bar contains the following buttons:
- Load previously analyzed data.
Data consists of a
.yaml
file and a.h5
files which are otherwise named identically. - Save data.
- Save data under a different name.
- Buttons to select analysis step. These steps are described in the following sections.
Definition of excitation and emission channels
- Enter the excitation sequence.
d
for donor excitation, all other letters may specify different excitation types but are not used in analysis. In the screenshot, we have one acceptor excitation, followed by a variable number of repeated empty (e
) and donor excitation (d
) frames. The last frame of the sequence is again acceptor excitation. Due to the mark?
,ed
is repeated as many times as the number of frames in the microscopy videos allow. Note that the given sequence is repeated as needed. E.g., if only donor excitation frames are present in the video files, it is sufficient to specifyd
as the excitation sequence. - If donor and acceptor emission were recorded to separate files, enable this option to configure.
- If donor and acceptor emission were recorded side by side in the same files, either use the
+
button in the dropdown menu to add an example file or drag and drop it from the file manager. - The image can be split horizontally or vertically with the leftmost buttons. Channels can be swapped with the third button or drawn by selecting the channel from the dropdown menu, pressing the button next to it, and drawing on the loaded image below.
- These buttons permit zooming the image
- Black and white point of the image can be set for better visibility of channel boundaries.
- Channels can be adjusted by dragging the handles.
Definition of datasets
- Select the data folder. This should contain all of the data (fiducial markers for image registration if desired, microscopy videos for all recording intervals).
- Click the
+
button to add a dataset. Enter the recording interval. - Add files either via a selection dialog (press the leftmost button) or by dragging and dropping from a file manager.
Repeat steps 2 and 3 for all recording intervals.
If bleed-through correction is to be performed, add fiducial markers to the predefined registration
dataset.
Image registration (optional)
This is a prerequisite for optional bleed-through correction. If not desired, kip this step.
- Selection of emission channel. Localization options need to be set for both channels individually.
- File and frame selection allow for browsing through frames to check whether selected options are appropriate.
- Algorithm selection. We recommend Crocker-Grier.
- Options for the localization algorithm. Adjust as needed.
- Toggle display of localization results on and off.
- Once localization algorithm and options have been set both for donor and acceptor channels, press this button to perform image registration. The result will be shown once the calculation is finished.
Bleed-through correction (optional)
This is not required, but can improve localization of single-molecule FRET signals.
- Set camera baseline/background. Set bleed-through factor.
- Donor emission intensity times this factor is subtracted from the acceptor emission image.
- Sigma of Gaussian filter for smoothing the donor emission image before subtraction.
- Choose which emission image to display.
- Dataset, file and frame selection allow for browsing through frames to check whether selected options are appropriate.
Single-molecule localization
- Algorithm selection. We recommend Crocker-Grier.
- Dataset, file and frame selection allow for browsing through frames to check whether selected options are appropriate.
- Options for the localization algorithm. Adjust as needed.
- Toggle display of localization results on and off.
- Once localization algorithm and options have been set, press this button to perform single-molecule localization in all donor excitation frames of all datasets. This can take a while. Progress is indicated in a pop-up dialog.
Single-molecule tracking
- Extend and analyze each single-molecule track by this number of frames. This is necessary if changepoint detection is desired.
- Maximum number of pixels a signal can move from one frame to the next and still be tracked.
- Number of consecutive frames a signal may be missing and still be tracked.
- Once tracking options have been set, press this button to perform single-molecule tracking in all datasets. This can take a while. Progress is indicated in a pop-up dialog.
Changepoint detection (optional)
Changepoint detection can be used to define additional filter criteria for the next step, but is not used for lifetime determination.
- Whether to lay localization markers and/or tracks over the image on the right.
- The higher the penalty, the fewer changepoints are detected. First, find the right order of magnitude by adding or removing trailing zeros, then fine-tune.
- If enabled, go to the track's first after choosing with the control (4) below.
- Choose single-molecule track. The selected track is marked in purple on the image and its intensity time trace is displayed below.
- Display the current track's first or last frame.
- Display the previous or next frame.
- If enabled, use left/right keys to go to previous/next frame, up/down keys to go to first/last frame, and page down/page up keys to go to previous/next track.
- Intensity time trace of current track. First frame in which the signal was detected is indicated by the green vertical line, last frame by the red line. Changepoints are found wherever the background changes color (from blue to pink or pink to blue).
- Once an appropriate penalty has been selected, use this button to perform changepoint detection for all tracks.
Filtering
- Whether to show localization markers in the image to the right (15).
- Whether to show track markers in the image to the right (15).
- Whether to show tracks reject by one of the parametric filters (5, 6).
- Select which tracks are shown according to their manual filter status.
- Set parametric filters.
Tracks for which the mean background value is above
max. background
, for which the mean intensity is belowmin. intensity
, whose length is less thanmin. length
and which have fewer changepoints thanmin. changepoints
or more thanmax. changepoints
are rejected. - If selected, the fact that a track is present at the start and/or end of the observation window also counts as a changepoint. This compensates for the fact that the actual changepoint happened outside the observation window.
- If enabled, go to the track's first after choosing with the control (8) below.
- Choose single-molecule track. The selected track is marked in purple on the image and its intensity time trace is displayed below.
- Display the current track's first or last frame.
- Display the previous or next frame.
- Mark the current track as accepted.
- Mark the current track as rejected.
- Some average quantities of the current track.
- If enabled, use left/right keys to go to previous/next frame, up/down keys to go to first/last frame, page down/page up keys to go to previous/next track, the enter key to accept, and delete/backspace to reject the current track.
- Current frame with localization markers indicating accepted (green), rejected (red), undecided (yellow), and the current track (purple).
- Intensity time trace of current track. First frame in which the signal was detected is indicated by the green vertical line, last frame by the red line. Changepoints are found wherever the background changes color (from blue to pink or pink to blue).
Calculation of results
- Recording intervals with fewer tracks than this are excluded from analysis
- How many runs of bootstrapping to perform. If set to 1, errors are calculated from covariances returned by fit routines instead.
- Seed for the pseudo random number generator to allow for reproducible results with bootstrapping. A new seed can be randomly generated by pushing the button to the right.
- Calculate lifetime and draw plots to the right. Note that only tracks that have not been rejected by a parametric filter and have been manually accepted are fed into the lifetime analysis.
- Export numerical results to an Excel or Open Document spreadsheet.
For the former, the
openpyxl
Python package needs to be installed, for the latterodfpy
. - Save the plot to disk.
- Plot of fit results.
- Plot of track counts, indicating whether the are fully within the observation window, present already at the start of the window, still present at the end, or both.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file smfret_bondtime-1.0.1.tar.gz
.
File metadata
- Download URL: smfret_bondtime-1.0.1.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d43c3b92105742bc83617294f51470e205d973fbef6246c988d9e1e6de998e9c |
|
MD5 | f637bd1c0a6789044a3e2008779b916b |
|
BLAKE2b-256 | 57a23614b5a3b1abf95f93de102185b56aa4b38fa8bd2f59d73c42420470769d |
File details
Details for the file smfret_bondtime-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: smfret_bondtime-1.0.1-py3-none-any.whl
- Upload date:
- Size: 50.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7b6b18cfd37ed66f6e8856b5abe8a4ce9e6f02a7d74d5f28aad9221a9ffdc84 |
|
MD5 | 038b9943d0d9e01bd392700a94fcffe4 |
|
BLAKE2b-256 | 679941c4e041b424503ab3756ede0bd29535e72cc89bc75ee997892650eb77e2 |