1
$\begingroup$

I have been working on FindMarkers function for identifying significant genes in the cluster. But some Significant genes have very low p values, so they are returned as 0 in the output.Any value less than the .machine$double.xmin limit on R(that is 1e-305). So this output cannot be used for further plots like Volcano plots for visualization. Any solution to get p values for all the genes?

cd4.markers <- FindMarkers(sc.combined, ident.1 = "CD4+ T cell", min.pct = 0.25)

Part of the cd4.markers output Output sample for cd4.markers

$\endgroup$
2
  • $\begingroup$ you can add some constant to those columns $\endgroup$
    – kcm
    Nov 17 '21 at 10:55
  • $\begingroup$ Since other values are proportionally related, if we use a constant those genes forms a cluster. -Thanks $\endgroup$ Nov 17 '21 at 13:37
1
$\begingroup$

I prefer to apply a threshold when showing Volcano plots, displaying any points with extreme / impossible p-values (e.g. < 10e-20) with a different symbol at the top of the graph.

However, a better approach is to avoid using p-values as quantitative / rankable results in plots; they're not meant to be used in that way. You can show results as a MA plot instead, plotting log2 fold change vs average expression:

MA plot of log2 fold change vs mean normalised expression

It's a bit trickier to get expression values out of Seurat because they're not currently calculated in the FindMarkers results tables, so you'll need to manually subset the cells and calculate mean expression on a per-marker basis.

$\endgroup$
1
  • 1
    $\begingroup$ It was really helpful solution. I used the AverageExpression(object = pbmc_small) to get mean expression per cell type. then combed it with the Find Markers results using the Gene names then was able to perform MA plot. So those genes are visible under the plot now. - Thanks a lot $\endgroup$ Nov 18 '21 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.