Cellprofiler Analyst Scatter Plot Issues


I am using cellprofiler to segment and measure intensities. I export the intensities in CSV and in database form for use with CellProfiler Analyst (uploaded images). I use the mean intensity values for two different channels to make a scatter plot. When I use the CSV and import the intensities into Matlab (red scatter) and create a scatter plot, it looks very different from what I see in Cellprofiler Analyst (blue scatter) using the same numbers. My question is, is CellProfiler Analyst doing any normalization or preprocessing of the mean intensities when making a scatter plot? If so, how do I turn off?

The reason is, I am trying to create gates in Analyst for a classifier. I want the cells in the extreme arms seen in the Matlab figure. However, they are lost when plotted in Analyst. Is there a workaround anyone knows about?


That definitely should not be different between the two, which makes me think you aren’t actually graphing what you think you are in your matlab code. Can you post the matlab code here, or alternately can you, rather than overriding the axis values to say “… AU” make the axes say exactly the name of the thing they are measuring?

I get an excel sheet as an output. Since nucleus is my main object, the excel sheet is named nucleus. I then identify the columns with Intensity_MeanIntensity_mcherry and Intensity_MeanIntensity_Yfp and copy to its own csv file. So now I have a csv with only these two columns, and I import this into Matlab and rename WT_mcherry and WT_YFP for the intensities mention above. Then I make a scatter plot using the following code in Matlab:

xlim([0 .12])
ylim([0 1])

Please let me know if I am missing something obvious. Thanks!


I’m really not certain what’s going on; CPA certainly would not be changing the normalization. I suspect perhaps a manual copy error, purely because that’s the only thing that can’t be traced after-the-fact after renaming, at least not without then comparing back to the original source file. Have you done that? Or could you try loading directly from the CellProfiler-created-CSV (or even your database you’re using with CPA, to make the comparison truly apples-to-apples)?

One thing that will be different however between CPA and your MatLab code is the dot size- the “arms” one can see in the matlab graph may be being somewhat obscured in your CPA scatter if you have a lot of points. You could try a density plot to avoid that rather than a scatter.

I have traced back to all copied csv files and they were all copied correctly. I then create scatter overlays from the copied csv and the original CP produced csv and they overlay exactly.

Yea, I am trying to create gates basically from .035 to .1 on mcherry axis and .35 to 1 on YFP axis. These are seen easily in the matlab scatter, and they are real because I see them in my original images (albeit scarce and I have too many images to do by hand). It would be easier to create gates based off the scatter and then classify. Is there another way to do this?


Can I change dot size in CPA?

You cannot change the dot size in CPA, though as I said doing a density plot rather than a scatter may help make things easier to visualize.

If you know the gates you want to make, though, you can of course just make the gates.

Perfect! haha thanks for pointing that out.