wiggins-lab / SuperSegger

A completely automated MATLAB-based trainable image cell segmentation, fluorescence quantification and analysis suite, particularly well suited for high-throughput time lapse fluorescence microscopy of in vivo bacterial cells.
GNU General Public License v3.0
32 stars 20 forks source link

Quantify number of foci per cell #28

Open sciencechick opened 5 years ago

sciencechick commented 5 years ago

I've searched the website, but I can't seem to figure out how to get the number of foci per cell for each channel. I have no problems running supersegger, analyzing the cells and foci in the supersegger viewer, or saving and viewing the c list, but it seems like the c list doesn't have the data I'm interested in seeing. There's lots of information on individual focus intensity/xy position/timing/etc..., but I'm not seeing the integer number of foci. Thanks in advance for your help!

stellastyl commented 5 years ago

That would be a good thing to have in the clist. The reason is not there is because the foci number depends on our own filters (e.g. only foci with score above X - it can change depending on the experiment).

Here is some information on how to add another entry to the clist so that it is calculated during supersegger segmentation: https://github.com/wiggins-lab/SuperSegger/wiki/Adding-an-entry-to-the-clist

You can manually add an entry to your clist dataset after segmentation as described here at the bottom of this wiki: https://github.com/wiggins-lab/SuperSegger/wiki/GateTool-Functions-of-Super-Segger An example of this is done at the very end of this tutorial: http://mtshasta.phys.washington.edu/website/gatetoolTutorial/tutorial.html#15

sciencechick commented 5 years ago

From reading over this, I understand how to add a new entry and a new dataset into the clist, but I'm still confused about how I convert the marked foci in a cell from an image in the viewer to a number that can be imported into the dataset. Given the scoring/filter dependence, I'm not sure how to pull this data out and make it into a function that can then be imported into the clist.

pawiggins commented 5 years ago

Hi,

Stella’s point is the correct one.

In the past we have counted foci many times in cells, but each biological question required its own fine tuning. We never added this feature because we didn’t want to endorse an unreliable method and have people assume that it was bullet proof.

Last time I remember implementing this feature, I had both a minimum score as well as a condition on the score relative to the largest scoring foci in that particular cell. In combination, this method appeared to work well for the problem I was working on at the time. However, a couple months later we were working on another problem with much lower protein expression and we had to use another set of criteria.

But… back to brass tacks. Here is what I would do for a one-off analysis:

Open up:

http://mtshasta.phys.washington.edu/website/gatetoolTutorial/tutorial.html

and go down to the heading: "Geting data out of the clist” where we are missing a ’t’;)

Extract all the info about the loci in vectors that you need to make your choice about which are real. For instance, the scores for each focus…

since '28 : locus1_1 score’ '32 : locus1_2 score’ ...

we get the two locus score vectors like this:

[~,s11] = gateTool( clist, 'get', 28 ); [~,s12] = gateTool( clist, 'get', 32 ); ...

Now… say that you wanted to sum up the total number of foci with scores above smin.

num1 = double( s11 > smin ) + double( s12 > smin ) + double( s13 > smin ) + double( s14 > smin ) + double( s15 > smin );

Now we have a vector with the count num1 for each cell. Then we can put this back in the list:

clist = gateTool( clist, 'add', num1, ’Number of foci in channel 1' );

—PAW

On May 24, 2019, at 3:57 PM, Stella notifications@github.com wrote:

That would be a good thing to have in the clist. The reason is not there is because the foci number depends on our own filters (e.g. only foci with score above X - it can change depending on the experiment).

Here is some information on how to add another entry to the clist so that it is calculated during supersegger segmentation: https://github.com/wiggins-lab/SuperSegger/wiki/Adding-an-entry-to-the-clist

You can manually add an entry to your clist dataset after segmentation as described here at the bottom of this wiki: https://github.com/wiggins-lab/SuperSegger/wiki/GateTool-Functions-of-Super-Segger An example of this is done at the very end of this tutorial: http://mtshasta.phys.washington.edu/website/gatetoolTutorial/tutorial.html#15

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.