Skip to content

Burst analysis software for single and multi-spot single-molecule FRET (smFRET) data.

License

Notifications You must be signed in to change notification settings

pkw0818/FRETBursts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FRETBursts

Quick links: Reference documentation, FRETBursts tutorials

Project description

FRETBursts is a software toolkit for burst analysis of confocal single-molecule FRET (smFRET) measurements.

FRETBursts is an effort to bring reproducible computing to the field of single-molecule confocal microscopy. It provides a standard implementation of state-of-the-art algorithms for confocal smFRET analysis. FRETBursts is opensource and contributions are welcome. The authors are committed to promptly fix bugs whenever discovered.

Issues can be reported and discussed on the issue tracker. Fixes or enhancements can be sent with a github pull request. Small corrections can be made directly online by clicking on the GitHub edit button of a specific file.

FRETBursts allows to analyze both single-spot and multi-spot smFRET data. Alternating laser excitation (ALEX) scheme is supported.

Main analysis features includes:

Moreover FRETBursts includes a large set of modular plot functions for background, time-traces, rate-traces, E, S, ALEX histograms, weighted kernel density estimation (KDE) and more. Thanks to the excellent Matplotlib library, FRETBursts can produce publication-quality plots out of the box.

Motivations

This software aims to be a reference implementation for both established and novel algorithms related to bursts analysis of smFRET data.

Despite the broad diffusion of smFRET experiments on freely diffusing molecules, before FRETBursts, no complete smFRET burst analysis software was freely available on internet. Each group have re-implemented the analysis in-house with little or no code sharing. This is clearly sub-optimal either because specific advances in the burst analysis are not readily available to a wide public of smFRET users and because subtle differences in implementation make the comparison of experiments performed by different groups problematic.

We envision FRETBursts both as a state-of-the-art burst analysis package for smFRET experimenters, and as a benchmark for advanced users willing to explore new algorithms or to compare alternative implementations.

Software Environment

FRETBursts is written in the python programming language using the standard scientific-python stack of libraries (Numpy, Scipy, Matplotlib, IPython). Not only FRETBursts but also the entire software stack on which it is built upon are open-source and freely available to any scientist.

FRETBursts uses consolidated software engineering techniques (version control, unit testing, regression testing) and a workflow based on IPython Notebook to ensure robustness and reproducibility of the results. For example, when loading FRETBursts in an ipython notebook, the current commit ID is always displayed and saved.

We provide a list of tutorials (IPython notebooks) that can be viewed online, edited and re-executed. The reference documentation is generated by Sphinx extracting the docstring from the source.

###External resources

For a comprehensive tutorial on using python for scientific computing:

IPython Notebook is an interactive web-based environment that allows mixing rich text, math and graphics with (live) code. For more info please visit:

##Installation

Briefly, the installation consist in installing a scientific python distribution, downloading FRETBursts sources, and setting up a folder for the FRETBursts notebooks.

FRETBursts is loaded running a small script (load_fretbursts.py) placed in the notebooks folder. The first time you download FRETBursts, you need to run the [FRETBursts Installation.ipynb](http://nbviewer.ipython.org/github/tritemio/FRETBursts/blob/master/notebooks/FRETBursts Installation.ipynb) notebook that will write a configuration file containing FRETBursts's source folder.

A detailed description of the installation can be found in:

##How to use The official FRETBursts documentation is built and hosted by ReadTheDocs:

We provide a list of IPython notebooks showing typical workflows for smFRET analysis and illustrating FRETBursts functionalities. These notebooks can be either viewed online or downloaded and executed locally using publically available datasets (see below). You can read the tutorials online at the following locations:

You can download the tutorials from the FRETBursts_notebooks repository.

NOTE: We include an unevaluated copy of the tutorials in the FRETBursts sources in the notebooks folder.

We provide a public dataset [1] to test and demonstrate FRETBursts functionalities. These dataset files will be downloaded when running the tutorials.

[1] A. Ingargiola, S. Chung (2014): smFRET example datasets for the FRETBursts software. DOI 10.6084/m9.figshare.1019906

##Development

The documentation is built using Sphinx (1.2.2 or later) and the napoleon extension. A notebook that builds the HTML docs can be found in notebooks/dev/docs/.

The unit tests are written with pytest. Notebooks that execute the unit tests can be found in notebooks/dev/test/. In the same folder a notebook for regression testing is provided.

##Acknowledgements

This work was supported by NIH grants R01 GM069709 and R01 GM095904.

##License and Copyrights

FRETBursts - A bursts analysis toolkit for single and multi-spot smFRET data.

Copyright (C) 2014 Antonino Ingargiola - tritemio @ gmail.com

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You can find a full copy of the license in the file LICENSE.txt

About

Burst analysis software for single and multi-spot single-molecule FRET (smFRET) data.

Resources

License

Stars

Watchers

Forks

Packages

No packages published