Hi,
I am using enrichPeakOverlap of ChIPseeker to find significance of peak overlap.
Here is my result of the overlap with no. of shuffle i.e nshuffle=10000
qSample | tSample | qLen | tLen | N_OL | pvalue | p.adjust | |
TF1_peaks.bed | Irf1_0.peaks.bed | 13094 | 17119 | 2633 | 0.2010844662 | 0.00009999 | 0.00009999 |
TF1_peaks.bed | Irf4_0.peaks.bed | 13094 | 13500 | 3420 | 0.2611883305 | 0.00009999 | 0.00009999 |
TF1_peaks.bed | Junb_0.peaks.bed | 13094 | 13460 | 2387 | 0.1822972354 | 0.00009999 | 0.00009999 |
TF1_peaks.bed | K27Ac_0.peaks.bed | 13094 | 48386 | 8275 | 0.6319688407 | 0.00009999 | 0.00009999 |
TF1_peaks.bed | PU1_0.peaks.bed | 13094 | 68692 | 7110 | 0.5429967924 | 0.00009999 | 0.00009999 |
TF1_peaks.bed | Rela_0.peaks.bed | 13094 | 3544 | 350 | 0.0267297999 | 0.00009999 | 0.00009999 |
TF1_peaks.bed | Runx_0.peaks.bed | 13094 | 2558 | 765 | 0.0584237055 | 0.00009999 | 0.00009999 |
TF1_peaks.bed | Stat1_0.peaks.bed | 13094 | 423 | 21 | 0.001603788 | 0.00009999 | 0.00009999 |
TF1_peaks.bed | Stat2_0.peaks.bed | 13094 | 69 | 14 | 0.001069192 | 0.00009999 | 0.00009999 |
Here P value is same for all comparison . overlap of TF1 with peaks having highest overlap is coming out to be as significant as lowest overlap with other peaks. I could not able to find the reason for same . I would like to understand what could be the possible reason.
Thanks
Hello, I have the same question
When I perform enrichPeakoverlap on your files I get this output
ARmo_1nM GSM1174480_ARmo_0M_peaks.bed.gz GSM1174481_ARmo_1nM_peaks.bed.gz 812 2296 26
ARmo_100nM GSM1174480_ARmo_0M_peaks.bed.gz GSM1174482_ARmo_100nM_peaks.bed.gz 812 1359 24
CBX6_BF GSM1174480_ARmo_0M_peaks.bed.gz GSM1295076_CBX6_BF_ChipSeq_mergedReps_peaks.bed.gz 812 1331 0
CBX7_BF GSM1174480_ARmo_0M_peaks.bed.gz GSM1295077_CBX7_BF_ChipSeq_mergedReps_peaks.bed.gz 812 1663 0
pvalue p.adjust
ARmo_1nM 0.000999001 0.001998002
ARmo_100nM 0.000999001 0.001998002
CBX6_BF 0.390609391 0.390609391
CBX7_BF 0.390609391 0.390609391
And then when I perform mine
PGP1vs1D4<- "Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed"
PGP1vs1G6<- "Combined_PGP1vs1G6_H3K4me1_2fold.regions.bed"
PGP1vs1G1<- "Combined_PGP1vs1G1_H3K4me1_2fold.regions.bed"
PGP1vsD2355N<- "Combined_PGP1vsD2355N_H3K4me1_2fold.regions.bed"
PGP1vsR2111W<- "Combined_PGP1vsR2111W_H3K4me1_2fold.regions.bed"
test<- enrichPeakOverlap(queryPeak = PGP1vs1D4, targetPeak = unlist(c(PGP1vs1G6, PGP1vs1G1, PGP1vsD2355N, PGP1vsR2111W)) , TxDb = NULL, pAdjustMethod = "BH", nShuffle = 1000, chainFile = NULL, verbose = TRUE)
test
1 Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed Combined_PGP1vs1G6_H3K4me1_2fold.regions.bed 1557 1626 254
2 Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed Combined_PGP1vs1G1_H3K4me1_2fold.regions.bed 1557 967 57
3 Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed Combined_PGP1vsD2355N_H3K4me1_2fold.regions.bed 1557 703 167
4 Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed Combined_PGP1vsR2111W_H3K4me1_2fold.regions.bed 1557 608 23
pvalue p.adjust
1 0.000999001 0.000999001
2 0.000999001 0.000999001
3 0.000999001 0.000999001
4 0.000999001 0.000999001
Why are all my p values and adjusted p values the same? Please help
try to increase the number of
nShuffle
, e.g. using 10000Thank you for your quick response. When I do that, I get the same result in that all my ps and adjusted ps are the same. They're just a lower p value (9.99e-5)
1 Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed Combined_PGP1vs1G6_H3K4me1_2fold.regions.bed 1557 1626 254
2 Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed Combined_PGP1vs1G1_H3K4me1_2fold.regions.bed 1557 967 57
3 Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed Combined_PGP1vsD2355N_H3K4me1_2fold.regions.bed 1557 703 167
4 Combined_PGP1vs1D4_H3K4me1_2fold.regions.bed Combined_PGP1vsR2111W_H3K4me1_2fold.regions.bed 1557 608 23
pvalue p.adjust
1 9.999e-05 9.999e-05
2 9.999e-05 9.999e-05
3 9.999e-05 9.999e-05
4 9.999e-05 9.999e-05
Hi, did you ever find a solution to this?
I have the same problem, I am always getting the same p-values which is essentially just nshuffle/(nshuffle+1). I have a simple test case below:
I also can't get pool=F to work when using granges, I think this is because targetFiles[i] is used as input recursively rather than target.gr[[i]]?