Giter Club home page Giter Club logo

mash-fret's Introduction

MASH-FRET

What is MASH-FRET?

MASH-FRET is a Matlab-based software package for the analysis of single-molecule FRET videos and trajectories. The framework encompasses the entire workflow from localizing single molecule on videos to characterizing molecule dynamics.

First visit? Learn how to use MASH-FRET with Getting started.

Installation

Clone MASH-FRET into a directory of your choice:

git clone https://github.com/RNA-FRETools/MASH-FRET.git

Or download the source code.

For more information about system requirements, please refer to System requirements.

Updates

MASH-FRET will constantly develop. If you are interested in updates and future release notes, please subscribe to our email list https://www.chem.uzh.ch/en/sigel/software/MASH.html .

Getting involved

Please report any bugs or feature requests through the issue tracker on Github.

If you have any questions, do not hesitate to contact us at [email protected].

Citing MASH-FRET

The functionalities of MASH-FRET have been described in several articles. If you use MASH-FRET in your work, please refer to the respective publication listed here.

About

MASH-FRET was developed by Mélodie C.A.S. Hadzic in collaboration with Danny Kowerko, Sebastian L.B. König and Richard Börner in the group of Prof. Roland Sigel at the University of Zurich and is currently maintained by Mélodie C.A.S. Hadzic, Fabio D. Steffen and Richard Börner.

MASH-FRET is licensed under the GNU General Public License (GPLv3)

mash-fret's People

Contributors

fdsteffen avatar mca-sh avatar pflanzenhueter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mash-fret's Issues

Calculate traces only works for .sira files not .avi files

Hi Melodie,

Just coming on here to let you know that a consistent error has caught my attention pertaining to calculating traces. When using a .avi video file, the program generates an error even after following all proper procedures. I went back and reran it with a .sira file and found that it worked. It is not a major problem for me, but I figured that you would want to know if it was not your intention to make it this way. Here is the error code that comes up.
image

Sydney Nguyen

Rotation of average image in trace manager

Description of the Bug

When you have a movie loaded in video processing of the MASH-FRET software and want to analyze the mash file generated of this movie, it filps the average 180° and then turns it 90° clockwise (compare screenshots below and look at the bright dots and their respective location)
So now the molecules are compared in the same channel instead of betwen the two different channels. Meaning a molecule is matched with another molecule also from the green channel instead of the signal from the same molecule in the red channel.
When you close and re-open MASH-FRET and just load the MASH-file (the same one that didnt work before) its fine, given that no movie is loaded into the video processing part.

To reproduce
Make the normal video processing procedure and when your done, load the mash file into traces processing (do all the adjustments like factor corrections and so or not (doesnt matter for the issue)) and open the trace manager. go to View on Video and you will see that the picture is flipped and rotated.

Error code:
No error code appears at any step of the bug.

Expected behavior:
That the average image will not change its orientation.

Screenshots:
Screenshot 2019-11-25 00 25 36
Screenshot 2019-11-25 00 24 16

Desktop:

OS Windows 10 (also checked with 8.1)
Matlab Version 2017a
MASH-FRET version 1.1.2 (prev. commit 6bc4127)

Contact:
Kevin Kraft
[email protected]

MASH-FRET bug report

Describe the bug
When you want to transform your input file during the coordinates transformation using MASH-FRET 1.1.2 the process does not start. The window showing you where it will be saved does not show up aswell before the process would start and you get the posted error code in the command window of matlab .

To Reproduce
Steps to reproduce the behavior:

  1. Go to video processing in MASH-FRET and perfom all the steps till you want to transform your input coordinates file.
  2. Click on transfrom (window for selectino of file does not show up and process does not start)
  3. Scroll down in command window right after spots coordinates have been successfully written...
  4. See error

Error Code

Error using feval
Undefined function handle.

Error in tform (line 55)
X = feval( t.(f.fwd_fcn), U, t );

Error in tforminv (line 67)
varargout = tform('inv', nargout, varargin{:});

Error in applyTrafo (line 62)
tforminv(tr_ij, coord_i{i});

Error in pushbutton_trGo_Callback (line 16)
coordTrsf = applyTrafo(h.param.movPr.trsf_tr, ...

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in MASH (line 19)
gui_mainfcn(gui_State, varargin{:});

Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)MASH('pushbutton_trGo_Callback',hObject,eventdata,guidata(hObject))

Error while evaluating UIControl Callback.

Expected behavior
I would expect that the window with the path where it will be saved opens and the transformation starts after selecting it

Screenshots
image

image

Desktop (please complete the following information):

  • OS [Windows 10]
  • Matlab Version [ 2018b]
  • MASH-FRET Version [bc9b504]

Additional context
We tried it on a laptop with the same transformation file and input coordinates file and there it worked as intended. The laptop is using windows 10 the same MASH-FREt version but matlab2017a instead of 2018b.

Your contact
Kevin Kraft
[email protected]

Error when opening an already video-processed .mash project

Describe the bug
Corrupted MASH files. After video processing, some MASH files cannot be reopened and only a error appears.

To Reproduce

Error Code
Error using bfGetReader (line 85)
Java exception occurred:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
    at java.util.ArrayList.rangeCheck(ArrayList.java:657)
    at java.util.ArrayList.get(ArrayList.java:433)
    at loci.formats.in.CellSensReader.parseETSFile(CellSensReader.java:1198)
    at loci.formats.in.CellSensReader.initFile(CellSensReader.java:734)
    at loci.formats.FormatReader.setId(FormatReader.java:1421)
    at loci.formats.ImageReader.setId(ImageReader.java:849)
    at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
    at loci.formats.ChannelFiller.setId(ChannelFiller.java:223)
    at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
    at loci.formats.ChannelSeparator.setId(ChannelSeparator.java:293)

Error in readBf (line 29)
    r = bfGetReader(fullFname, 0);
Error in getFrames (line 16)
            [data,ok] = readBf(fullFname, n, param, h_fig, useMov);
Error in checkField (line 152)
        [data,ok] = getFrames([pname fname], 1, {}, h_fig, false);
Error in loadProj (line 38)
        [s,ok] = checkField(s, [pname fname{i}], h_fig);
Error in pushbutton_openProj_Callback (line 86)
    [dat,ok] = loadProj(pname, fname, [], h_fig);
Error while evaluating UIControl Callback.

Expected behavior
Open the MASH file after video processing
Screenshots
n/a

Desktop (please complete the following information):

  • Windows 10
  • Matlab Version 2021B
  • MASH-FRET Version [1.3.2] bf9e2ee

Additional context
Your contact
[email protected]
_20220328_PJ19_01_stoich-sort.zip

MASH-FRET bug report

Describe the bug
The "view on video" shows the video view upside down to the original one.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Trace manager'
  2. Click on 'view on video'

Desktop (please complete the following information):

  • OS [e.g. Windows 10]
  • Matlab Version [e.g. 2017a]
  • MASH-FRET Version [1.1.2]

Your contact
Susann Zelger-Paulus
[email protected]

MASH- FRET does not calculate traces over the whole channel pictures

Hi,

I am just getting started with MASH-FRET (v.1.3.4) and came across the issue, when I was checking my traces in the tracemanager. Apparently traces were only calculated for around 2/3 of the detected spots along the x- dimension of the two channels.

Screenshot 2024-05-17 110748

I think, I was able to track down the error to create_trace.m file line 20, where the dimensions of the resolutions were falsely assigned.
But I do not know, if this is intended or if I did something wrong while iterating through the calculation steps.

  • Windows 11
  • Matlab Version R2023b
  • MASH-FRET (v.1.3.4)

Best regards,
Michael Kaltenegger

e-mail: [email protected]

MASH-FRET bug report

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to TP
  2. Click on k-mean
  3. Value "0"
  4. See error

Error Code
16:44 -- Inferred model: J=1, states=5.369106e-01
Cell contents indices must be greater than 0

Error in ud_kinPrm (line 22)
wght = p.kin_start{curr_k,1}(4)*p.kin_start{curr_k,1}(1);

Error in pushbutton_TDPupdateClust_Callback (line 87)
prm = ud_kinPrm(prm,Jopt);

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in MASH (line 19)
gui_mainfcn(gui_State, varargin{:});

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)MASH('pushbutton_TDPupdateClust_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.

Expected behavior
k-mean clustering should start

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Win 10
  • Matlab Version 2017b
  • MASH-FRET Version [1.1.2]

Additional context
Add any other context about the problem here.

Your contact
[email protected]

MASH projects cannot be merged

Describe the bug
MASH fails to merge projects.

To Reproduce
Steps to reproduce the behavior:

  1. Select two or more projects
  2. Right click
  3. Select "merge projects"
  4. A warning pops up, that data such as single molecule videos will be lost such as crosstalks parameters will be taken from the first movie. Click yes
  5. See error

Error Code
Unable to perform assignment because the size of the left side is 15-by-2 and the size of the right side is 15-by-1.

Error in menu_projMenu_merge_Callback>extendTags (line 316)
molTag_ext(:,~cellfun('isempty',strfind(namesRef,names{tag}))) = ...

Error in menu_projMenu_merge_Callback (line 209)
s.molTag = cat(1,s.molTag,extendTags(p.proj{proj}.molTag,...

Error while evaluating Menu Callback.

Expected behavior
Merging of projects.

Screenshots
n/a

Desktop (please complete the following information):

  • OS [e.g. Windows 111]
  • Matlab Version [e.g. 2022B]
  • MASH-FRET Version [1.3.2] prev. commit 3713f5e

Additional context
n/a

MASH-FRET bug report

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Error Code
Build *.pdf figures of bootstrapped histograms ...
Error using horzcat
Dimensions of matrices being concatenated are not consistent.

Error in export_thm (line 406)
P_s = [x_axis P(:,curr_s)];

Error in MASH>pushbutton_thm_export_Callback (line 4002)
export_thm(h.figure_MASH);

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in MASH (line 19)
gui_mainfcn(gui_State, varargin{:});

Error in @(hObject,eventdata)MASH('pushbutton_thm_export_Callback',hObject,eventdata,guidata(hObject))

Error while evaluating UIControl Callback

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS [Windows 10]
  • Matlab Version [2014b]
  • MASH-FRET Version [1.1.2]

Additional context
Add any other context about the problem here.

Your contact
[email protected]

MASH-FRET bug report

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Error Code
Reference to non-existent element of a cell array.

Error in ud_kinPrm (line 22)
wght = p.kin_start{curr_k,1}(4)*p.kin_start{curr_k,1}(1);

Error in pushbutton_TDPupdateClust_Callback (line 87)
prm = ud_kinPrm(prm,Jopt);

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in MASH (line 19)
gui_mainfcn(gui_State, varargin{:});

Error in @(hObject,eventdata)MASH('pushbutton_TDPupdateClust_Callback',hObject,eventdata,guidata(hObject))

Error while evaluating UIControl Callback

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS [e.g. Windows 10]
  • Matlab Version [e.g. 2016a]
  • MASH-FRET Version [1.1.2]

Additional context
Add any other context about the problem here.

Your contact
Leave your email address.

Simulation kinetic model not matching video project kinetic model; video project traces finding more states than was intended with not enough data to generate ml-dph

After applying the background corrections, the video project generated a kinetic model containing more states than was expected as per the original simulation kinetic model. I simulated a 2-state system originally but the video project will sometimes indicate more than two states. I am guessing that these states have lower probabilities of occurring, but because of this the ml-dph is sometimes not able to be generated as there are not enough data points to fit the dwell time histograms to be used for the ml-dph and monte carlo simulation. When it is able to generate a kinetic model, the kinetic model is not the same as the original kinetic model from the simulation.
Here are my images for the 2-state simulation I ran:
image
image

Here are the images from the video project using the .sira video file from the above simulation:
image
image

I am wondering if I am doing anything wrong or is the program supposed to be this way?

Many Thanks,
Sydney Nguyen

MASH-FRET bug report

Describe the bug

  • Bin time axis:
    I have been trying to bin the time axis of exported ASCII files from a MASH file. It is possible to define a new bin time in the first pop-up, and also to select the source folder where the ASCII are stored and to run, MASH does not save any files and the error showed below is coming up.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Tools'
  2. Click on bin time axis and define a new bin time (e.g. 0.1 s)
  3. Choose source folder of exported ASCII files
  4. See error

Error Code
Error with file n°:279, L14_10mM_autotag_G045_2ndsort_mol9of279.txt
Unrecognized function or variable 'pname_out'.
in function: binTrajFiles, line: 88

Expected behavior
A new folder with ASCII files of the binned traces
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS [Windows 10]
  • Matlab Version [2019b]
  • MASH-FRET Version [1.1.2, prev. commit: 86500f0]

Additional context
Add any other context about the problem here.

Your contact
[email protected]

Error loading .pma file

Hi all,

I get an error when trying to load in .pma files from our microscope. It says;

LoadPMA: Cannot get a complete set of frames out of this file. Something is wrong.

I've attached a sample .pma file below if you want to take a look.

beads1.zip

Many thanks,
Ben

MASH-FRET bug report

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Transition analysis
  2. Click on Export
  3. Select everything
  4. See error

Error Code
08:59 -- Export TDP and clustering results ...
no clustering for data: Cy3 at 532nm
Error using cat
Too many output arguments.

Error in saveTDP (line 78)
[ok,str_act] = cat(2,str_act,...

Error in expTDPopt>pushbutton_next_Callback (line 189)
saveTDP(h_fig);

Error while evaluating DestroyedObject Callback.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Windows 10
  • Matlab Version 2017b
  • MASH-FRET Version [1.1.2beta]

Additional context
Everything else is running well ;-)

Your contact
[email protected]

Excising photoblinking segments

If during 400 ms photoblinking over 50 ms or longer takes place, it would be great to excise this part and to use only the two flanking regions. So far, only cutting off the trace is possible. This would increase the amount of data

Susann Zelger-Paulus

MASH-FRET bug report: Export traces

Describe the bug

  • Cannot export traces as txt file

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Trace processing'
  2. Click on 'Export'
  3. Toggle only 'Export time traces'; intensity time traces
  4. can choose directory. But nothing happens.

Error Code

Export processed data for selected molecules ...
export data of molecule n:°1(1 on 62)...
16:42 An error occurred during processing of molecule n:°1:
Index in position 1 exceeds array bounds.
function: saveProcAscii, line: 320
function: pushbutton_next_Callback, line: 51

Expected behavior
Data get exported.

Screenshots
The bar do not fill.
image

Desktop (please complete the following information):

  • OS: Windows 11
  • Matlab Version R2022b
  • MASH-FRET Version [1.3.3.1]

Your contact
[email protected]

FRET Traces not showing up in Trace processing

Hey Melodie,

I am running the most recent version of MASH-FRET and noticed that sometimes the FRET Traces were not being calculated. I was wondering if that was on purpose and if I have to press something to have it show up.

image

Here is an image of the issue.

Best,
Sydney

Import of .ets video data file fails

Describe the bug
I have measured some movies with ets format, and somehow I recently get an error when I try to upload the movie file.
I have tried to upload it with MASH-FRET Version [1.3.2] (bf9e2ee), where I failed. However, with the older MASH-FRET Version [1.3.1] (ad20b05) it works.

To Reproduce
Steps to reproduce the behavior:

  1. New project
  2. import video
  3. select ets. video file

Error Code
14:33 -- Import video from file: D:\00_BESF_SigelLab\02_Projects\21_ED135E-L14_BeFa\211_Raw_Data\smFRET set up IV\20221108_20221108_beadslide_FS__02_\stack1\frame_t_0.ets ...
14:33 -- Tagged Image File Format(*.tiff)
Cycle time = 0.10359s-1
Movie dimensions = 256x256 pixels
Movie length = 1000 frames
Lasers = 532nm, 640nm

Import movie frames from file...
Process completed.
14:33 -- Tagged Image File Format(*.tiff)
Cycle time = 0.10359s-1
Movie dimensions = 256x256 pixels
Movie length = 1000 frames
Lasers = 532nm, 640nm

14:33 -- Recalculate average images...
14:33 -- Average images successfully recalculated!
Index exceeds the number of array elements. Index must not exceed 1.

Error in getStrPop (line 81)
round(clr{1}{i,j}(1:3)*255));

Error in ud_setExpSet_tabDiv (line 30)
str_pop = getStrPop('DTA_chan',{proj.labels,proj.FRET,proj.S,...

Error in edit_setExpSet_nExc (line 77)
ud_setExpSet_tabDiv(h_fig);

Error in push_setExpSet_impFile (line 86)
edit_setExpSet_nExc(h.edit_nExc,[],h_fig,h_fig0);

Error while evaluating UIControl Callback.

Expected behavior
Video opened
Screenshots
n/a
Desktop (please complete the following information):

  • Windows 11]
  • Matlab Version [e.g. 2022B]
  • MASH-FRET Version [1.3.2] (bf9e2ee)

Additional context
link to affected file:
https://filesender.switch.ch/filesender2/?s=download&token=03012135-19a3-41ae-b457-aa418a889273

Your contact
[email protected]

Merging projects with diferent video sampling rate

          Dear Mélodie,
         
         Thank you very much for the fix! Yes, it is working now. 
         However, I have a small issue with merging. We can't merge some traces due to different frame rates. I assume the root cause for this is that the frame rate given by the measurements differs in the last digit, stemming from a rounding up or down. How can we tell the software to accept that difference?

Originally posted by @Befazl in #87 (comment)

Spotting tool + zoom function issue

Hi Melodie,

Thank you for applying the new feature! However, I am getting a new issue with the spotting tool. At first, the spotting looks fine, but when I move the spotting are box(red) in the second channel to the right, the spots on the second channel somehow shift into the first channel. You can see the before and after below.
Before:
image

After:
image
and
image

Many Thanks,
Sydney Nguyen
[email protected]

Spotting tool being funny with a 2048x2048 video

Hi Melodie,

My image in the spotting tool keeps turning orange whenever I try to spot a molecule. I am assuming this is due to the image being much larger, but it is quite inconvenient as our camera takes videos at 2048x2048. You can see what I mean in the image below:
image

Also, I have noticed that as the size of the video increases, the size of the molecules in the spotting tool decreases which makes sense. However, it does make it difficult to spot them accurately. Is there any zoom function in the spotting tool that I can use? If not, would it be possible for you to add a zoom function?

Many Thanks,
Sydney Nguyen

Background-corrected trajectories drop below zero

Describe the bug
After bleaching, the Intensities are too high or too low (not around 0). We are mainly using "N-Median" as the default background correction method. Nonetheless, using a different correction method do not improve the issue.

Expected behavior
After bleaching, the traces should drop around zero. Often the traces drop to a higher or lower value than 0.

Screenshots
image
image
image

Desktop (please complete the following information):

  • OS: Windows 11
  • Matlab Version: R2022b
  • MASH-FRET Version: 1.3.3.1 (prev. commit: 95082dc)

Additional context
The method "Dark traces" solves sometimes the issue, but chooses randomly a spot as reference, where another molecule is.

Your contact
[email protected]

Incorrect checking of available memory on MacOS

Hi Richard and Melodie,

Thanks for providing this amazing piece of software! I started using MASH-FRET on MacOS and found a small bug related to querying the available memory (see below).

Describe the bug
The memory check upon loading TIF files does not work correctly on MacOS.

To Reproduce
Load TIF file of smaller size than available memory. MASH-FRET displays error that memory is insufficient.

Solution
Can be fixed by minor modification to memAlloc.m by distinguishing between MacOS and Linux-based systems, as follows:

function ok = memAlloc(arr_size)
ok = 1;
if ~contains(computer,'PCWIN') % not Windows platfroms
    if ismac % MACOS
        [~, w] = system('sysctl hw.memsize | awk ''{print $2}''');
        maxsz = str2double(w);
    else % LINUX
        % from angainor (https://stackoverflow.com/questions/12350598/how-to-access-memory-information-in-matlab-on-unix-equivalent-of-user-view-max)
        [~,w] = unix('free -b | grep Mem');
        stats = str2double(regexp(w, '[0-9]*', 'match'));
        maxsz = stats(end);
    end
else
    mem = memory;
    maxsz = mem.MaxPossibleArrayBytes;
end

if arr_size>=maxsz
    ok = 0;
    return
end

Exporting traces to text files without FRET gives an error

Describe the bug
A clear and concise description of what the bug is.
Cannot export traces (with no FRET calculation) as text file. This seems to be the same error described in bug report: Export traces #89. I downloaded the latest version of MASH-FRET, but the error still occurs.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Trace Processing'
  2. Click on 'EXPORT.'
  3. Scroll down to 'Export Time Traces'. Other exports deselected.
  4. See error

Error Code
Copy and Paste the full error code in Matlabs command history.
An error occurred during processing of molecule n:°1:
Index in position 1 exceeds array bounds.
function: saveProcAscii, line: 320
function: pushbutton_next_Callback, line: 51

Expected behavior
A clear and concise description of what you expected to happen.
Text files downloaded to selected directory.

Screenshots
If applicable, add screenshots to help explain your problem.

Project file(s)
If applicable, attatch the .mash files concerned by the bug. Github does not accept .mash file attachments.

Desktop (please complete the following information):

  • OS [e.g. Windows 10] Windows 10Pro
  • Matlab Version [e.g. 2016a] 2023a
  • MASH-FRET Version [1.1.2] 1.3.2

Additional context
Add any other context about the problem here.

Your contact
Leave your email address. [email protected]

MASH-FRET bug report

Describe the bug
Fitting of mono-exp with bootstrapping gave error after excluding first and last dwell time.

To Reproduce
Steps to reproduce the behavior:

  1. Go to TP, cluster k-mean, choose transition, fit with BOBA, exclude dwells
  2. See error

Error Code
16:48 -- Inferred model: J=2, states=8.692412e-02 9.868970e-01
16:48 -- Fitting in progress ...
molecules 1 2 3 10 11 12 13 17 18 19 20 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 79 80 83 84 85 87 88 included in data to fit.
Performing randomisation and exponential fitting...
Success. Fitting converged to a solution.
Process completed.
16:49 -- The graph illustrates the variation in thedecay constant.
16:49 -- Fitting in progress ...
Error using cat
Dimensions of matrices being concatenated are not consistent.

Error in fitDt (line 50)
dt = cat(2,dt,dt_m_j1j2);

Error in pushbutton_TDPfit_fit_Callback (line 71)
res = fitDt(dat, j1, j2, excl, ref_k, p_fit, p_boba, h.figure_MASH);

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in MASH (line 19)
gui_mainfcn(gui_State, varargin{:});

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)MASH('pushbutton_TDPfit_fit_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.

Expected behavior
Fit

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Win 10
  • Matlab Version 2017b
  • MASH-FRET Version [1.1.2]

Additional context
Add any other context about the problem here.

Your contact
[email protected]

bug when exporting simulated traces

Hi Mélodie,
I'm sorry, there seems to be a new bug in the latest MASH-FRET version (downloaded this morning at 9 am)
When I simulate traces and then click on EXPORT, I get the following error message Error while evaluating UIControl Callback.
Unfortunately I have no further information what goes wrong.
Best,
Leonie

Bug in traces processing tab

Describe the bug
changing the parameters in the dwell time processing window leads to the deletion of a whole trace, not reversible, reloading the sif file again is the only solution at the moment

I am unable to click on save after importing video. These errors are occurring

Error in push_setExpSet_save (line 53)
h = guidata(h_fig0);

Error while evaluating UIControl Callback.

Error using guidata
Object must be a figure or one of its child objects.

Error in push_setExpSet_save (line 53)
h = guidata(h_fig0);

Error while evaluating UIControl Callback.

Error using guidata
Object must be a figure or one of its child objects.

Error in push_setExpSet_save (line 53)
h = guidata(h_fig0);

Error while evaluating UIControl Callback.

Email- [email protected]

Poisson SNR characteristics

Hi Melodie,

I was wondering if this effect is normal. I set my simulation at 2 states with each kinetic rate being 0.1 in sampling steps. I also set my FRET efficiencies as the default State 1 = 0 and State 2 = 1. However, when I set my SNR characteristics to Poisson the time trace and FRET histogram do not indicate FRET efficiencies of 0 and 1. Instead, it concentrates in the middle between 0.4 and 0.6 as seen below.
image
image

I was wondering if this is to be expected. This does not seem to happen with any other SNR characteristic option. However, our camera's SNR is that of Poisson distribution. I was wondering if this effect will occur when I import our raw data into the program and whether this is to be expected or not.

Many Thanks,
Sydney

Excluding single labeled molecules automatically

Excluding single labeled molecules according to the e.g. low fluorescent intensity or stoichiometry of either 1 or 0 within the trace manager would be great and drastically reduce the number of molecules you have to go through manually, which would save a lot of time!!!!

Type error when computing average image

Describe the bug
A typer error occurs when computing the average image.

To Reproduce
Load single-channel image as stack into memory and compute average.

Error Code

Error using +
Integers can only be combined with integers of the same class, or scalar doubles.

Error in createAveIm (line 91)
img_ave = img_ave+h.movie.movie(:,:,l)/L0;

Error in pushbutton_aveImg_go_Callback (line 35)
[img_ave{mov},ok] = createAveIm(param,true,true,h_fig);

91 img_ave = img_ave+h.movie.movie(:,:,l)/L0;

Desktop (please complete the following information):

  • MacOS
  • Matlab Version 2023a
  • MASH-FRET Version 1.3.2

Solution

Can be solved by converting the image slice to double before performing the averaging, i.e. for line 87 in createAveIm.m:

% original average image
if isMov && ~isBgcorr
    img_ave = zeros(resY,resX);
    for l = start:iv:stop
        img_ave = img_ave+double(h.movie.movie(:,:,l))/L0;
    end
    return
end

Use to take trajectories for just one channel?

Hey Melodie,

Is it possible to track the trajectories of just a single channel with one laser? When I try to transform or calculate, the program says the feature is only possible with 2 or more channels, so I am assuming it is not possible. However, I was wondering if it would be possible to implement this? If not, that is okay.

Many Thanks,
Sydney Nguyen

simulation pre-set file not read properly

Hello,
I encountered some problems when running simulations with MASH-FRET. I created presetFiles.mat with createSimPrm.m.

  1. When I entered values for trans_prob and left trans_rates empty nothing was imported when using 'import presets'. Is it not sufficient to give only the probabilities?
  2. When I entered values for trans_rates and left trans_prob empty rates were imported when using 'import presets' (numbers appeared in the Thermodynamic model and turned grey). BUT the resulting traces don’t fit my numbers). When I add the same rates by hand into the table on the GUI completely different traces (ones which fit my rates) are generated.
    I set the frame rate to 1 to prevent some frames^-1 to seconds^-1 miscalculations.
  3. I created a transition matrix with 4 states where the molecule can only go in one direction. The state sequence should always be 13241324… But when I generate traces the state sequence in the exported ASCII does not match. Are some states not in the traces because their dwell time is too short and they are missed?#

Thank you for your help,
Leonie
Email: [email protected]

Rates in GUI -> traces with long dwell times
ratesinGUI
Rates imported via presets -> very short dwell times
ratesinpresets

MASH-FRET bug report- I am unable to spot the coordinates now .

The following error is coming while I start mapping the spots.
13:17 Opening mapping tool...
13:17 Mapping tool is ready!
Undefined function 'axes_map_ButtonDownFcn' for input arguments of type 'matlab.graphics.primitive.Image'.

Error while evaluating Image ButtonDownFcn.

Undefined function 'axes_map_ButtonDownFcn' for input arguments of type 'matlab.graphics.primitive.Image'.

Error while evaluating Image ButtonDownFcn.

[email protected]

MASH-FRET bug report

Describe the bug
A clear and concise description of what the bug is.

While video processing, it is not possible to put in the coordinates via coordination file (...ace.coord)
I tried with newly generated coordination files, as well as with coordination files generated with older MASH versions. Both resulted in the same error message.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Video processing
  2. Click "Load..." to upload a movie file (.sif)
  3. Click on "Input coordinates" in the intensity integration panel
  4. See error

Error Code
09:21 -- Load coordinates ...
Index in position 1 exceeds array bounds (must not exceed 1).

Error in orgCoordCol (line 44)
if x_col(i,1)>nCol || y_col(i,1)>nCol

Error in pushbutton_TTgen_loadCoord_Callback (line 43)
coord_itg = orgCoordCol(fDat, 'cw', p.itg_impMolPrm, p.nChan, ...

Error while evaluating UIControl Callback.

Expected behavior
Upload of the coordination file

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS [Windows 10]
  • Matlab Version [2019b]
  • MASH-FRET Version [1.1.2, prev. commit 1a1f465]

Additional context
I have also applied the routine tests integrated in MASH to check for all functionalities, where further Errors were generated. Please see attached word file.
20200924_MASH_bug report.docx

Your contact
[email protected]

Movies not loaded in trace processing

The movie files are no longer loaded in the trace processing module (on master it worked up to commit 4822172). I tracked the issue down to the following lines in checkField.m

if ~isempty(s.movie_file)
    s.movie_file = which(s.movie_file); % get absolute path
end

The which() function returns an empty string if the file is neither in the current path nor on the Matlab path. In my case the s.movie_file was already a full path and the issue is resolved by commenting out the if..else statement. Is there any scenario where the s.movie_file returns a relative path that would need to be solved by which()?

MASH-FRET bug report

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Error Code
Copy and Paste the full error code in Matlabs command history.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS [e.g. Windows 10]
  • Matlab Version [e.g. 2016a]
  • MASH-FRET Version [1.1.2]

Additional context
Add any other context about the problem here.

Your contact
Leave your email address.

Poor model selection on histograms

Suggested configuration according to BIC is wrong
In the Histogram analysis tap, state configuration, the suggested configuration according to the BIC criteria is wrong.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Histogram analysis'
  2. Click on 'Start analysis'
  3. See suggested configuration

Desktop (please complete the following information):

  • Windows 10
  • Matlab Version 2017a
  • MASH-FRET Version 1.1.2

Susann Zelger-Paulus
[email protected]
20190822_error_BIC.pptx

Video Processing is not able to open .pma file

Describe the bug
I cannot load a .pma video file. MatLab produces an error code saying

Error using zeros
Size inputs must be integers.

Error in readPma (line 116)
h.movie.movie = zeros([pixelY pixelX frameLen]);

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Video Processing'
  2. Click on 'Load'
  3. Choose any .pma file
  4. See error

Error Code
See attachment

Expected behavior
I expect for an image to load corresponding to the .pma file so that I may create trace files with a .mash format for further processing.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS [Windows 10]
  • Matlab Version [2017a]
  • MASH-FRET Version [1.1.2]

Additional context
I am newly trying this software in the hopes of using BOBA FRET for further analysis of histograms. However, we use the Single.exe software for data acquisition providing video files in the .pma format so I thought to convert my traces by starting with the original video processing.

Your contact
[email protected]
Capture

New Video Project not calculating traces

Hi,

I tried to import a video created from the simulation to try out the video project function. After inputting all of the spot coordinates and mapping the reference coordinates, I tried to calculate the traces. The system then showed an error and was not able to calculate the traces.

Screenshot 2024-01-10 142012
This is the error code.

image
These were the parameters.

Many Thanks,
Sydney Nguyen

A common project management area for all modules

Is your feature request related to a problem? Yes.

It happens very often that I edit the same file in different modules. E.g., I have a look at the TDP or Histogram and simultaneously on the single traces in TP. In the TDP I am working on the clustering and saving the file while I have a look at the single traces if the transitions/states are there too. Then, in TP I am applying different tags, but now they are not updated in the TA, on the other hand, the clustering is not updated in the TP. Basically I am modifying and saving the same file in parallel, in the end, I have two different files. One with the information about the clustering and a second containing the tag information. Do you have an idea how to overcome this?

Describe the solution you'd like
Is it possible to update the file in different modules or even better, the file you open in TP or HA or TA is automatically open in all the other modules as well.

Your contact information
[email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.