Skip to content

MASH-FRET 1.3.0

Compare
Choose a tag to compare
@pflanzenhueter pflanzenhueter released this 09 Oct 13:35
· 660 commits to master since this release
c5f38a6

Here is a release note:

Requirements

  • #56 delete MASH-FRET\default_param.ini before starting MASH the first time

New functionalities

  • #55 Remove blurr states is used on state sequences, to ignore states that dwell only for one time bin. This allows to prevent the detection of blurr states, especially when using vbFRET.

  • #55 Subgroup selection allows to visualize and analyze particular molecule subgroups in modules Histogram analysis and Transition analysis. Molecule subgroups are defined by the tags created and applied in the Trace manager of module Trace processing.

pullrequ-mash-code-11-01

  • #56 Beta correction factor allows to correct stoichiometries from differences in extinction coefficients and excitation intensities between donor and acceptor.

  • #56 ES linear regression allows to calculate gamma and beta factors from global FRET-stoichiometry histograms.

pullrequ-mash-code-12-01

  • #58 State-based molecule sorting is used to sort molecules in panel Auto-sorting of the Trace manager based on states sequences-derived values like the number of states, number of transitions, state transitions and state dwell times. When the same data is used in x- and y-axis and state values is selected for both, sorting is performed on the transition density plot.

  • #60 Cluster selection with mouse is used to define the starting guess of the cluster configuration by simply drawing shapes (squares, ellipsis or diagonal ellipsis) on the TDP.

pullrequ-mash-code-14-01

  • #60 Simple clustering is a clustering method that allows to cluster transitions without inference using the starting guess as the final cluster configuration.

  • #60 Symmetrical clusters is a constraint applied to the cluster configuration that allows to infer configurations where cluster centers are independent from each other but having a projection on the other side of the TDP diagonal. This offers more flexibility on the cluster configuration without neglecting the inherent symmetry of the TDP.

pullrequ-mash-code-14-02

  • #60 Constraint-free clustering allows to infer cluster configurations without any constraint on their positions.

pullrequ-mash-code-14-03

  • #62 Test routines are used to check the working status of MASH's interface. MASH's modules and menus are tested separately via the menu bar Routines > Test interface. Routine scripts are run on data sets stored in folders $MASH-FRET/source/routines/*/assets. Generated files are stored in $MASH-FRET/source/routines/*/dump (logs are registered in file _logs.txt)

pullrequ-mash-code-15-01

  • #62 Data analysis routine is used to analyze a set of intensity-time traces written in ASCII files and is accessible from menu via the menu bar Routines > Kinsoft challenge. Run this routine to obtain the FRET state configuration and associated transition rates and probabilities. The routine script is adapted to KinSoft challenge data sets.

pullrequ-mash-code-15-02

  • #62 Re-arrange sequences is an option used to build Dwell time histograms in module Transition analysis after cancelling transitions out-of-cluster-ranges or contained in diagonal clusters (low-amplitude jumps, usually due to noise discretization). State sequences are re-built by ignoring these transitions and elongating flanking dwell times.

pullrequ-mash-code-15-03

  • #62 Export sample dwell time histograms (pdf) is an export option in Transition analysis that allows to print figures of sample dwell time histogram used in bootstrap fitting and associated fit results to a multi-paged .pdf file

pullrequ-mash-code-15-00

  • #62 Simulation of multiple FRET pairs is a side-tool that allows to simulate systems with multiple FRET pairs and generate sets of intensity-time traces written to ASCII files. The script is available at $MASH-FRET/tools/SiM_FRET.m.

  • #62 Split trace is a method used to split the intensity-time traces of one molecule in 2 at a defined cutoff position. In this case the right-side portion of the trace is added as a new molecule to the molecule list. This functionality allows to ignore long blinking events or interruptions occurring during the measurement from the analysis.

pullrequ-mash-code-15-05

Improvement

General

  • #53 modify GUI by building it programatically in order to remove dependency on MATLAB's "guide" tool and in the perspective of moving MASH from MATLAB to Python.
  • #53 speed up calculations of text width using a reference table listing the pixel width of each character.
  • #53 adapt text wrapping in control panels by taking into account the width of the sliding bar and figure resizing
  • #62 reduce computation time at MASH's start by reviewing wrapping of tooltip strings

Simulation

Molecules
  • #53 improve worflow by displaying coordinates imported from pre-set files
  • #53 manage conflicts between coordinates imported from presets and from ASCII files and re-sorting coordinates whenever video dimensions or sample size changes
  • #53 manage error occurring when the sum of one of the rows/columns in the transition rate matrix is null
  • #62 add callbacks to edit fields displaying imported presets/coordinates file that set back file name
  • #62 review simulation export by not updating data prior exporting (not necessary, time consumming and incompatible with kinsoft routine when removin f externally blurr states from FRET sequences
  • #62 review transition probabiltiies in the simulation procedure by introducing and using the "weighing factors"
  • #62 add trans_prob preset parameter that allows to import "weighing factors"
  • #62 add the possibility to use user-defined initial state probabilities
Experimental setup
  • #62 modify GUI by adding an import interface for background image

pullrequ-mash-code-15-04

Export options
  • #53 make code more robust by using the same functions for simulating data for plot and for export
  • #53 make code more robust by using the same functions for writing sira/avi files in simulation

Video processing

Import
  • #68 manage import of large sira, gif, pma, sif and tif video files
  • #68 adapt import of TIF video files that have empty description field

Trace processing

General
  • #60 review FRET and stoichiometry calculations for mutiple FRET pairs by taking into account gamma factors of other FRET pairs and removing dependency on sym toolbox (increases calculation speed!)
Project management
  • #56 modify Stoichiometry calculation using the definition used in ES linear regression to be coherent (one FRET pair, one stoichiometry) and restrict choice to defined FRET pairs only
  • #56 modify project structure by adding field "ES" to store global ES histograms
  • #68 adapt import of ASCII trace files to ill-restructured ALEX files
Sample management
  • #56 review trace update to use the same scripts in Trace manager, options for ES linear regression and in the regular procedure in TP photobleaching-based gamma calculations (separate updateTraces.m into updateIntensities.m, updateGammaFactor.m and updateStateSequences.m), as well as to use robust gamma/beta factors calculations by ES linear regression (calculated from total processed ES)
  • #56 change default parameters structure to add beta factor file import settings (requires to delete file default_param.ini)
  • #56 improve import of ASCII traces by identifying FRET pairs in gamma & beta factor files
  • #58 modify GUI to add y-data and y-value menus for second dimension of plot in panel Auto-sorting, re-organize controls into 3 panels "Data", "Range" and "Tags" in panel Auto-sorting and add y-datamenu for second dimension of plot 2 in panel Overall plot
  • #58 modify GUI of panel Molecule selection by splitting the menu selection into one selection menu (extended with add not [tag] and remove not [tag]), one tags menu and one Apply button and by adding a Tag selection button and the associated tags menu
  • #58 add option to choose data binned in y-axis of 2D histogram in panels Auto-sorting and Overall plot (not only ES histogram anymore)
  • #58 add options add not [tag] and remove not [tag] in molecule selection to select/deselect molecules that do not have a particular tag, and option Tag selection to apply a particular tag to all selected molecule.
  • #58 add emitter's total intensity in data list for molecule sorting in Trace manager
  • #58 adjust value list to new functionality "State-based molecule sorting" by adding options nb. of states, nb. of transitions, mean dwell time, state values, and state dwell time
  • #58 adjust on-click data selection on 1D- and 2D-hstogram plots with sliding bounds in Auto-sorting
  • #62 modify GUI by changing the "Add>" pushbutton into a togglebutton
  • #62 improve all trace update by refreshing plot at the end of the process
  • #62 review action display when updating all molecules (show info only when discretizing traces)
Background
  • #62 improve Background analyzer by building the interface programmatically and save callback functions to separate files
Cross-talks
  • #56 modify GUI to add panel "Cross-talks" that contains global cross-talk coefficients (not molecule-dependant anymore)
  • #56 modify processing parameter structure by moving cross-talks parameters from 5th cell of moelcule parameters to 4th cell of general parameter
Factor corrections
  • #56 modify GUI by moving cross talks to a separate panel in roder to make them globally available
  • #56 modify GUI by adding a "beta" field
  • #56 modify processing parameter structure by moving factor parameters from the 5th to a 6th cell of molecule parameters and adding beta factors
  • #56 adjust photobleaching-based gamma calculations by (1) performing donor & acceptor discretization independently from main trace update, (2) using an individual plot in option window, (3) making the tolerance parameter available for editing, and (4) allowing detection of acceptor photobleaching at any laser excitation

pullrequ-mash-code-12-00

  • #56 adapt photobleachin-based gamma calculations to FRET-pair dependent methods (necessary since ES linearization was impl.)
  • #56 change processing parameter structure to add the "tolerance" parameter and switch the "show cut off" parameter to the laser index used for photobleaching detection in acceptor trace
  • #56 adapt import/export of factor file to new "Beta correction factor" functionality
  • #56 change file content of gamma & beta files by adding headers to identify the FRET pair
  • #58 reduce processing time for ES calculations to a minimum
  • #60 prevent use of ES linear regression when no stoichiometry is defined for a FRET pair
  • #60 adapt calculations of correction factors by ES linear regression to mutiple FRET pairs (gamma factors of redder FRET pairs are used in the calculations of ES histograms for greener FRET pairs)
  • #60 add weight-enhancement exponent for better fit in ES linear regression
Photobleaching
  • #62 modify GUI by adding a "Split" pushbutton in TP's panel "Photobleaching"
  • #68 improve "Split trace" functionality by adding a "split" tag to the two trajetories created after splitting
Find states
  • #55 modify GUI to add the "deblurr" parameter in panel Find states
  • #55 change parameter structure in TP for panel Find states to add a 7th parameter (used in new method "Remove blurr states") and manage down compatibility
Export
  • #55 adjust exported logs and panel update to new "Remove blurr states" method

Histogram analysis

Histogram and plot
  • #55 modify GUI to add the "subgroup" popupmenu in panel Histogram and plot
  • #55 adapt histogram plot and GUI update to empty histogram (empty molecule subgroups)
  • #68 add donor intensities in absence of acceptor (total intensities) to Histogram analysis
Export
  • #55 adjust exported file name to new "Subgroup selection" functionality

Transition analysis

General
  • #60 adapt handling of processing parameters to the curr/prm (current settings/last applied) system already implemented in TP
  • #60 review data processing and plot to make it more robust as in TP
Project management
  • #62 add option "export BOBA figures (.pdf)" in export options
  • #62 adapt import of FRET state sequences from ASCII files for multiple FRET pairs
Transition density plot
  • #55 make available in the GUI the option to re-arrange state sequences instead of a dialogue box popping up every time the TDP is updated
  • #55 modify GUI to add the "tag" popupmenu in panel Transition density plot
  • #55 change data structure for new "Subgroup selection" functionality
  • #60 add display of pointer coordinates when hoovering the TDP
  • #60 make available the option include statics to include/exclude the last state of each state sequence to the TDP in diagonal bins (activation was previously the default)
  • #60 modify pdefault rocessing parameters by adding the option include statics
  • #60 modify GUI by adding the checkbox include statics
  • #60 modify GUI by adding the text that show pointer coordinated when hoovering the TDP
State configuration
  • #53 remove restriction on distances between cluster centers (gives more coherent results)
  • #60 adapt k-mean clustering to square- and diagonal-ellipsis-shaped clusters
  • #60 make available the clustering constraint matrix to infer cluster configurations where cluster centers are the result of all possible combinations of states (activation was previously the default)
  • #60 make available the option diagonal clusters to add diagonal clusters to the matrix-constraint configurations (activation was previously the default)
  • #60 make available the option likelihood to choose in which way the likelihood should be calculated (complete data was previously the default)
  • #60 modify processing parameter structure by adding options "clustering constraint" (matrix, symmetrical or free), "likelihood calculation" (complete data or incomplete data) and diagonal clusters
  • #60 modify GUI by converting the k-means and GM toggle buttons to a single method popup menu (appended with new method simple)
  • #60 modify GUI by adding a popup menu to select a constraint on cluster configurations (matrix, and new constraints symmetrical and free), a diagonal clusters checkbox and a likelihood popup menu
  • #60 modify GUI by converting the cluster shape popup menu to a series of shape buttons
  • #62 improve display of tooltip strings by wrapping them to a fix width
  • #62 modify GUI by adding a field to show BIC of selected model
  • #68 change select-cluster-with-mouse cursor to a full cross hair and cancel zoom reset when selecting cluster
  • #68 make more robust the switch to zoom tool
State transition rates
  • #62 modify GUI by adding a "re-arrange sequences" checkbox
  • #62 change processing parameters structure by a adding the option "re-arrange state sequences" in kinetic analyiss parameters
Export
  • #55 adjust exported file name to new "Subgroup selection" functionality

pullrequ-mash-code-14-04

  • #60 modify GUI by adding edit fields for setting cluster y-coordinates and radius.

Tools

General
  • #55 modify GUI to add a "Tools" menu in the menu bar that allows quick access to external functionalities "Restructure ASCII files", "Bin trajectories" and "Check toolbox dependencies"

pullrequ-mash-code-11-00

Restructure traces
  • #62 adapt restructuring of ALEX data for files with multiple headers (ex: coordinates)
Simulation presets template
  • #62 add trans_prob preset parameter that allows to import weighing factors
Simulation with multiple FRET pairs
  • #62 create script to simulate intensity-time traces with multiple FRET pairs

Fixed bugs

General

  • #62 correct MATLAB's character encoding when machine's default is not windows-1252

Simulation

Video parameters
  • #53 fix error occurring when video dimensions change and coordinates are imported from file
Molecules
  • #53 correct transition rate edit fields callback to keep field in selection after tabbing
  • #53 fix error occurring when performing two successive "generate" runs having coordinates imported from a preset file and at least one out-of-range is excluded along the way
  • #60 fix error occurring when simulating data with transition rates imported from presets file
  • #60 fix error occurring when importing FRET config withtout corresponding transition rates with a number of states larger than 5
  • #60 fix error occurring when importing successively presets with increasing number of molecules
  • #62 correct re-sorting of coordinates after preset file is imported/removed
  • #62 correct use and display of FRET deviations when imported from presets
Experimental setup
  • #62 fix error occurring when importing background image for simulation
Export options
  • #60 fix error occurring after simulation when output intensity units are set to photon counts
Visualization
  • #62 correct scale of x-axis of intensity histograms

Video processing

Import/export
  • #56 fix error occurring when importing old .sira files (2012, 2013)
  • #60 correct import of png image containing decimal intensities lower than 0
Visualization
  • #56 correct image rotation when memory is not free from video data
  • #56 correct color change of button "Free" when png file is loaded
  • #56 correct colorbar scaling when loading a sif file
  • #62 fix error occurring when loading a video file in VP after deleting default_param.ini
  • #62 fix error occurring when importing .pma files
Edit video
  • #60 correct donor and acceptor limits on single molecule image during image filtering
Molecule coordinates
  • #60 correct export of average image with image filters

Trace processing

Project management
  • #62 fix error occurring when importing a 1-channel project after saving a multiple-channel project
  • #62 fix error occurring when processing a project without FRET calculations
  • #62 fix error occurring when processing a project with multiple stoichiometries
  • #62 fix error occurring when importing project with lower number of channels/excitations than previously saved
  • #62 fix error occurring when importing old projects in TP
  • #62 correct stoichiometry calculations for multiple FRET pairs
  • #62 correct correction factors down compatibility in Trace processing
  • #62 correct FRET calculations when FRET between acceptor 1 and 2 is not defined
  • #68 fix error occurring when merging project without FRET or Stoichiometry calculations
  • #68 fix error occurring when using the "Bin trajectories" functionality
  • #68 correct systematic trace re-discretization after importing an old project in TP
  • #68 correct trajectory binning by respecting the new laser alternation
Sample management
  • #53 fix error occurring in automatic sorting of Trace manager when switching histogram data having inadapted range values
  • #56 correct image rotation in Trace manager when memory is not free from video data
  • #62 fix error occurring converting rgb color to hexadecimal color and when red/green/blue component is < 16
  • #62 fix error occurring when wrapping a string with html tags
  • #62 fix error occurring when exporting only intensity traces
  • #62 fix error occurring when only one value is present in data histogram
  • #62 correct plot in Overview when a number of channels different than 2 is used
  • #62 correct adjustment of molecule selection by adding/removing specific tags
  • #62 correct range selection with mouse by preventing selection when the cursor is out-of-axes-limits
  • #62 correct 1D/2D histogram axes label in Auto-sorting
  • #62 correct molecule sorting when performed on TDP
Sub-images
  • #53 correct reset of the background color of coordinates edit fields in trace processing after typing a wrong value
Factor corrections
  • #53 fix error occurring when loading one gamma factor file
  • #53 correct tooltip string of the Load/Opt button in trace processing's gamma factor panel
  • #56 correct html formatting of mutlifunction button's tooltip string
  • #60 correct how stoichiometry is corrected with beta factor
  • #62 fix error occurring when linear regression fails
  • #62 fix error occurring when importing ASCII data sets and using ES linear regression
  • #62 fix error occurring when resizing/moving photobleaching-based gamma option window
  • #62 fix error occurring when no stoichiometry is available and selecting a gamma factor calculation method
Photobleaching
  • #53 correct time units in tooltip strings of trace processing's photobleaching edit fields
Find states
  • #53 correct collection of vbFRET's second parameter
  • #53 correct frame shift of transitions in state sequences deduced from change points (like when using toptrace discretization)
  • #62 correct identification of already-discretized bottom traces when no stoichiometry is calculated
  • #62 correct removal of blurr states

Histogram analysis

Project management
  • #62 correct export of .pdf bootstrap sample figures when less than 12 samples are used
Histogram and plot
  • #68 correct use of molecule subgroups in HA (functionality was incomplete)
State configuration
  • #55 fix error occurring when exporting a one-state model to the Threshold panel
State populations
  • #53 correct plot of relative populations when intensity histogram are analyzed
  • #53 correct plot of bootstrap Gaussian fit in exported figures when intensities are analyzed

Transition analysis

Project management
  • #62 fix error occurring when changing to a project that was not visited before
  • #62 fix error occurring when importing FRET state sequences fom ASCII files of different trace length
  • #62 correct import and update of BOBA clustering results from .mash file
  • #62 correct import of FRET state sequences from ASCII files when FRET pairs can not be deduced from column headers
  • #68 correct project down compatibility
  • #68 fix error occurring when importing from ASCII files data with more than 1 FRET pair
Transition density plot
  • #53 fix error occurring when using different binning for the x- and y-axis of the TDP
  • #55 correct zoom reset on TDP
State configuration
  • #53 fix error occurring when using k-mean and bootstrapping
  • #53 fix error occurring when using TDP bootstrapping and none of the model converged for one sample
  • #60 correct reset of font sizes in BIC and dwell time histogram plots
  • #62 fix error occurring when k-mean does not converge during GM model initialization
  • #62 correct reset of kinetic parameters when exporting a model in panel State transition rates
  • #62 correct display of cluster centers starting guess and cluster radii
  • #68 fix error occurring when the list of cluster colors contains less RGB colors than the number of reference colors
  • #68 fix error occurring when resetting zoom in clusters' axes
State transition rates
  • #55 correct dwell time calculations when using ALEX data
  • #62 correct histogram building when excluding first and last dwell times in sequences
  • #62 correct dwell time histogram plot limits
  • #62 correct order of bootstrap exponential fit results before calculating bootstrap mean and deviation
Export
  • #68 fix error occurring when exporting from TA and no dwell-time histogram fit was performed

Tools

  • #62 fix error occurring when using ALEX data restructuring tool from MASHs menu
  • #62 correct restructuring of ALEX data when more than 2 lasers are used