This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Genome music,can P-value of smg be 0?

Hi, I am new to Music and there was a question bothered me.

I use music to find significant mutation gene,and the result shows that there are some genes' P-value are 0.How can the P-value be 0?

Here are the code and part of my output.

Code:

genome music smg \
  --gene-mr-file gene_coverage/gene_mrs \
  --output-file Music_smg.out.xls

Output:

Muts pMbp     P-value FCPT     P-value LRT  P-value CT     FDR FCPT       FDR LRT      FDR CT
248.8         0                0            0              0              0            0
72.84         0                0            0              0              0            0
109.8         1.99E-14         0            5.66E-21       1.56E-10       0            4.45E-17
16483.52      6.22E-11         9.10E-15     5.40E-15       3.67E-07       3.58E-11     3.19E-11
11.49         2.86E-10         0            1.02E-14       1.35E-06       0            4.81E-11
37.2          3.22E-09         3.61E-13     7.42E-14       1.27E-05       8.64E-10     2.92E-10
93.68         2.38E-08         7.44E-15     2.07E-13       8.03E-05       3.51E-11     6.97E-10
117.15        3.51E-08         4.20E-12     4.54E-13       0.000103511    7.62E-09     1.34E-09

Thank you very much for your help!

p-value smg music

1 answer

This generally means the p-value is below the level that can be represented by the numeric storage type. You're right that it's not exactly zero, but it gets rounded to zero when sufficiently small.

Thank you very much for your answer,and I still have a question,is there a cutoff that “below the level that can be represented by the numeric storage type” in Music?

I may be wrong:

In MuSiC's code from http://apt.genome.wustl.edu/ubuntu/pool/main/g/genome-music/genome-music_0.4.1-1.tar.gz in the file "ClinicalCorrelation.pm" there is a comment that says:

Internally, the input data is fed into an R script which calculates a P-value representing the probability that the correlation seen between the mutations in each gene (or variant) and each phenotype trait are random. Lower P-values indicate lower randomness, or likely true correlations.

So the lowest p-value depends on your R installation.

In R, when you run the command .Machine$double.xmin you get the lowest possible floating value on your machine, which in my case is 2.225074e-308, tiny! It may vary on your machine, especially if it's still a 32 bit machine.

It helps a lot, I found the similar description in Smg.pm, thanks very much!

Log in to answer this question.