Answers.Body: <p>I prefer to apply a threshold when showing Volcano plots, displaying any points with extreme / impossible p-values (e.g. &lt; 10e-20) with a different symbol at the top of the graph.</p>
  <p>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:</p>
  <p><a href="https://i.sstatic.net/pIE45.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/pIE45.jpg" alt="MA plot of log2 fold change vs mean normalised expression" /></a></p>
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-11-18T10:47:50.273Z
Answers.Text: 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
Answers.UserDisplayName: Austin George
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-11-17T21:30:44.650Z
Answers.LastActivityDate: 2021-11-17T21:30:44.650Z
Answers.UserDisplayName: gringer
Body: <p>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?</p>
  <pre><code>cd4.markers &lt;- FindMarkers(sc.combined, ident.1 = &quot;CD4+ T cell&quot;, min.pct = 0.25)
  </code></pre>
  <p>Part of the cd4.markers output
  <a href="https://i.sstatic.net/8Q9cr.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/8Q9cr.png" alt="Output sample for cd4.markers" /></a></p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-11-17T10:55:46.437Z
Comments.Text: you can add some constant to those columns
Comments.UserDisplayName: kcm
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-11-17T13:37:44.213Z
Comments.Text: Since other values are proportionally related, if we use a constant those genes forms a cluster.   -Thanks
Comments.UserDisplayName: Austin George
Tags: <r><scrnaseq><seurat>
Title: FindMarkers from Seurat returns p values as 0 for highly significant genes
ThreadText: # FindMarkers from Seurat returns p values as 0 for highly significant genes
  
  (Asked by: username_0 on 2021-11-17)
  
  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](https://i.sstatic.net/8Q9cr.png)](https://i.sstatic.net/8Q9cr.png)
  
  **Tags:** r, scrnaseq, seurat
  
  > **Comments:**
  > **username_1**: you can add some constant to those columns  
  > **username_0**: Since other values are proportionally related, if we use a constant those genes forms a cluster.   -Thanks  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2021-11-17. Score: 1 | Accepted answer
  
  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](https://i.sstatic.net/pIE45.jpg)](https://i.sstatic.net/pIE45.jpg)
  
  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.
  
  > **Comments:**
  > **username_0**: 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  
  
  ---
  
  