Closed denvercal1234GitHub closed 1 year ago
plotScatter() does a faceting, fixing x and y scales to be the same across all panels. My guess is that it just appears like all cells are squeezed at 0, because UMAP coordinates are usually in the range of (-50, 50) or less, not 500.
Try using plotDR() instead for UMAPs. You are plotting CD185 expression vs. UMAP dimensions, which I have never seen. Typically one would plot UMAP dim. 1 vs. 2, and color cells by expression level.
Also, just to note that: UMAP coordinates are arbitrary, and do not translate to expression levels; e.g., 0 UMAP coords have nothing to do with cells having an expression of 0.
Unrelated: I see this is FACS data, but am a little confused by the scale. Are you expecting the transformed data to lie in the 100s (instead of, say, 0-15)?
Thank you so much @HelenaLC for your response.
The plot above was just the output of the CATALYST::plotScatter(F37_channel_fcs_data_sce, c("CD185", "CD183"), assay = "exprs", zeros=T)
. The "reducedDims.UMAP" plots were automatically generated along with the density plot.
Below is an example of a FCS file after I transformed it in FlowJo with bi-exponential transformation. I then exported it as channel values (.csv) to then import into R (according to https://wiki.centenary.org.au/display/SPECTRE/Data+transformation in the section "Alternative approach to data transformation: CSV channel values")
Once the channel values are imported into R, the values are indeed in the 100s and not 0-15. So, the bi-exponential transformation did scale the data into this range (even though from visually looking at the FlowJo plots, it looks like some cells should be at 0?), and the baseline therefore is not 0...
Do you think these exported channel values are compatible with FlowSOM clustering and dimension reduction without doing any additional steps I am not aware?
Thank you again.
I can't really give a good answer here; I don't know. This seems to be nothing software-related, so I'd suggest posting your question on alternative platforms, or seeking advice from a colleague or bioinformatics consultant.
I will confirm points mentioned by Helena. Channels are usually not plotted versus reduced dimensions. I don't understand how/why you get a transformed range of 250 to 750. The difference of ranges explained the compressed UMAP dimensions. The range of transformed channels and reduced dimensions are usually different. But the range of transformed channels are typically in 0-10. I don't rely on the transformed and exported data from FlowJo: transformed data look similar, which makes sense, but the scaling is unknown to me. On the contrary, when I do the transformation by hand, I understand what I get. For example, using asinh as transformation function (taking 500 as a starting point for the cofactor), asinh(1e5/500) = 5.991471, which confirms our experience with mass and flow data. Best.
Hi there,
Thank you again for the package with very useful plotting functions.
I was a bit puzzled by looking at the plotPbExprs because across all markers, none has any cells that were at 0 expression, and in the reducedDims.UMAP plots, they are all squeezed down at 0 (below).
Would you mind giving me some pointers as to why it might be the case?
I did check
?CATALYST::plotPbExprs
, it does not seem the function applies any additional transformation to the transformed data.Thank you for your help!
This is how I process my data before clustering (#356):
Some diagnostic plots after clustering and UMAP:
CATALYST::plotScatter(F37_channel_fcs_data_sce, c("CD185", "CD183"), assay = "exprs", zeros=T)