Skip to content

Commit b7db508

Browse files
Merge pull request #74 from RNA-FRETools/MASH-FRET-1.3.2
Estimation of state degeneracy - panel "Kinetic model" - 2D-vbFRET - Linux compatibility - divers bug fixes
2 parents b6d1e79 + 4431204 commit b7db508

406 files changed

Lines changed: 11368 additions & 5295 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.githooks/pre-commit

100644100755
File mode changed.

MASH-FRET/.release_version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"tag" : "1.3.1",
3-
"prev_commit_hash" : "48221723"
3+
"prev_commit_hash" : "e0bc2229"
44
}

MASH-FRET/MASH.m

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1-
function h_fig = MASH(varargin)
1+
function varargout = MASH(varargin)
22

33
% add source folders to MATLAB search path
4+
disp('set MATLAB search path...')
45
codePath = fileparts(mfilename('fullpath'));
56
addpath(genpath(codePath));
67

78
% set MATLAB's character encoding
89
feature('DefaultCharacterSet','windows-1252');
910

10-
% get MATLAB version
11+
% compile C functions
12+
disp('checking mex files...');
13+
checkMASHmex
14+
15+
disp('build GUI...')
16+
% get MASH version
1117
version_str = getMASHversion(codePath);
1218

1319
% define figure name from MASH-FRET version
@@ -17,8 +23,15 @@
1723
h_fig = buildMASHfig(figName);
1824

1925
% initialize main figure
26+
disp('initialize GUI..')
2027
initMASH(h_fig);
2128

2229
% make main figure visible
2330
set(h_fig,'visible','on');
2431

32+
if nargout==1
33+
varargout = h_fig;
34+
end
35+
36+
disp('MASH-FRET is ready !')
37+
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
function h = buildMenuKineticAnalysis(h)
2+
% Creates sub-menus of "Standard kinetic analysis" menu in menubar.
3+
%
4+
% h = buildMenuKineticAnalysis(h);
5+
%
6+
% h: structure to update with handles to new UI components and that must contain fields:
7+
% h.menu_kineticAnalysis: handle to menu "Standard kinetic analysis"
8+
% h.figure_MASH: handle to main figure
9+
10+
% Last update by MH, 21.12.2020: remove useless step 4 (back-simulation)
11+
% created by MH, 3.3.2020
12+
13+
% default
14+
lbl0 = 'Import analysis file...';
15+
lbl1 = 'All steps';
16+
lbl2 = 'Step 1: Determine number of states';
17+
lbl3 = 'Step 2: Determine FRET states & deviations';
18+
lbl4 = 'Step 3: Determine transition rates';
19+
% lbl5 = 'Step 4: Back-simulation';
20+
21+
% parents
22+
h_fig = h.figure_MASH;
23+
h_men = h.menu_kineticAnalysis;
24+
25+
% GUI
26+
h.menu_kinAna_import = uimenu(h_men,'label',lbl0,'callback',...
27+
{@menu_kinAna_import_Callback,h_fig});
28+
29+
h.menu_kinAna_allSteps = uimenu(h_men,'label',lbl1,'callback',...
30+
{@menu_kinAna_Callback,0,h_fig});
31+
32+
h.menu_kinAna_step1 = uimenu(h_men,'label',lbl2,'callback',...
33+
{@menu_kinAna_Callback,1,h_fig});
34+
35+
h.menu_kinAna_step2 = uimenu(h_men,'label',lbl3,'callback',...
36+
{@menu_kinAna_Callback,2,h_fig});
37+
38+
h.menu_kinAna_step3 = uimenu(h_men,'label',lbl4,'callback',...
39+
{@menu_kinAna_Callback,3,h_fig});
40+
41+
% h.menu_kinAna_step4 = uimenu(h_men,'label',lbl5,'callback',...
42+
% {@menu_kinAna_Callback,4,h_fig});

MASH-FRET/source/GUI/bar_menu/buildMenuKinsoftChallenge.m

Lines changed: 0 additions & 41 deletions
This file was deleted.

MASH-FRET/source/GUI/bar_menu/buildMenuRoutine.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
% default
1313
lbl0 = 'Test interface';
14-
lbl1 = 'Kinsoft challenge';
14+
lbl1 = 'Standard kinetic analysis';
1515

1616
% parents
1717
h_men = h.menu_routine;
@@ -20,6 +20,6 @@
2020
h.menu_testInterface = uimenu(h_men,'label',lbl0);
2121
h = buildMenuTestInterface(h);
2222

23-
h.menu_kinsoftChallenge = uimenu(h_men,'label',lbl1);
24-
h = buildMenuKinsoftChallenge(h);
23+
h.menu_kineticAnalysis = uimenu(h_men,'label',lbl1);
24+
h = buildMenuKineticAnalysis(h);
2525

MASH-FRET/source/GUI/bar_menu/buildMenuTransitionAnalysisTest.m

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
lbl1 = 'project management area';
1414
lbl2 = 'panel "Transition density plot"';
1515
lbl3 = 'panel "State configuration"';
16-
lbl4 = 'panel "State transition rates"';
16+
lbl4 = 'panel "State lifetimes"';
17+
lbl5 = 'panel "Kinetic model"';
1718

1819
% parents
1920
h_fig = h.figure_MASH;
@@ -33,4 +34,7 @@
3334
{@menu_routineTest_Callback,'ta','state configuration',h_fig});
3435

3536
h.menu_TA_stateTranditionRatesTest = uimenu(h_men,'label',lbl4,'callback',...
36-
{@menu_routineTest_Callback,'ta','state transition rates',h_fig});
37+
{@menu_routineTest_Callback,'ta','state lifetimes',h_fig});
38+
39+
h.menu_TA_kineticModelTest = uimenu(h_men,'label',lbl5,'callback',...
40+
{@menu_routineTest_Callback,'ta','kinetic model',h_fig});

MASH-FRET/source/GUI/mod_trace-processing/buildPanelTPfindStates.m

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
% p.fntclr2: text color in special pushbuttons
1818
% p.tbl: reference table listing character's pixel dimensions
1919

20-
% Last update by MH, 19.3.2020: increase speed by replacing wrapStrToWidth by wrapHtmlTooltipString
20+
% Last update by MH, 22.12.2020: add vFRET 2D
21+
% update by MH, 19.3.2020: increase speed by replacing wrapStrToWidth by wrapHtmlTooltipString
2122
% created by MH, 19.10.2019
2223

2324
% default
@@ -34,7 +35,7 @@
3435
str5 = 'refine';
3536
str6 = 'binning';
3637
str7 = 'deblurr';
37-
str8 = {'Thresholds','vbFRET','One state','CPA','STaSI'};
38+
str8 = {'Thresholds','vbFRET-1D','vbFRET-2D','One state','CPA','STaSI'};
3839
str9 = {'bottom','top','all'};
3940
str10 = {'Select a trace'};
4041
str11 = 'Results (states):';

MASH-FRET/source/GUI/mod_transition-analysis/buildPanelTA.m

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function h = buildPanelTA(h,p)
22
% h = buildPanelTA(h,p);
33
%
4-
% Builds "Transition analysis" module including panels "Transition density plot", "State configuration" and "State transition rates".
4+
% Builds "Transition analysis" module including panels "Transition density plot", "State configuration", "Dwell time histograms" and "Kinetic model".
55
%
66
% h: structure to update with handles to new UI components and that must contain fields:
77
% h.figure_MASH: handle to main figure
@@ -34,7 +34,8 @@
3434
str4 = 'Save';
3535
ttl0 = 'Transition density plot';
3636
ttl1 = 'State configuration';
37-
ttl2 = 'State transition rates';
37+
ttl2 = 'Dwell time hisotgrams';
38+
ttl3 = 'Kinetic model';
3839
ttstr0 = wrapHtmlTooltipString('Open <b>import options</b> to configure how state sequences are imported from ASCII files.');
3940
ttstr1 = wrapHtmlTooltipString('<b>Import state sequences</b> from a .mash file or from a set of ASCII files.');
4041
ttstr2 = wrapHtmlTooltipString('<b>Close selected project</b> and remove it from the list.');
@@ -56,6 +57,8 @@
5657
wedit0 = poslst0(3);
5758
wpan1 = (pospan(3)-4*p.mg-poslst0(3))/2;
5859
hpan1 = pospan(4)-2*p.mg;
60+
hpan2 = (pospan(4)-2*p.mg-p.mg/2)/2;
61+
hpan3 = pospan(4)-2*p.mg-p.mg/2-hpan2;
5962

6063
% GUI
6164
h.pushbutton_TDPimpOpt = uicontrol('style','pushbutton','parent',h_pan,...
@@ -110,10 +113,18 @@
110113
h = buildPanelTAstateConfiguration(h,p);
111114

112115
x = x+wpan1+p.mg;
116+
y = pospan(4)-p.mg-hpan2;
113117

114-
h.uipanel_TA_stateTransitionRates = uipanel('parent',h_pan,'units',p.posun,...
118+
h.uipanel_TA_dtHistograms = uipanel('parent',h_pan,'units',p.posun,...
115119
'fontunits',p.fntun,'fontsize',p.fntsz1,'fontweight','bold','position',...
116-
[x,y,wpan1,hpan1],'title',ttl2);
117-
h = buildPanelTAstateTransitionRates(h,p);
120+
[x,y,wpan1,hpan2],'title',ttl2);
121+
h = buildPanelTAdtHistograms(h,p);
122+
123+
y = y-p.mg/2-hpan3;
124+
125+
h.uipanel_TA_kineticModel = uipanel('parent',h_pan,'units',p.posun,...
126+
'fontunits',p.fntun,'fontsize',p.fntsz1,'fontweight','bold','position',...
127+
[x,y,wpan1,hpan3],'title',ttl3);
128+
h = buildPanelTAkineticModel(h,p);
118129

119130

0 commit comments

Comments
 (0)