kundajelab / phantompeakqualtools

This package computes informative enrichment and quality measures for ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data. It can also be used to obtain robust estimates of the predominant fragment length or characteristic tag shift values in these assays.
BSD 3-Clause "New" or "Revised" License
55 stars 17 forks source link

Peak Calling - Error when calculating statistical thresholds #20

Open mw-neuro opened 3 years ago

mw-neuro commented 3 years ago

I have been trying to call peaks/generate narrow peaks files for a number of chip replicates and psuedo-replicates using the following settings:

-npeak=300000 -speak={Fragment_Length_Estimated_Previously_from_spp} -x=-500:{Max_Exclusion_Range_Estimated_From_First_100_Reads}

It has run without errors on about half of the files but for others I am getting the following error:

"" calculating statistical thresholds Error in if (!is.null(k) & dim(k)[1] > 0) { : argument is of length zero Calls: find.binding.positions -> lwcc.prediction -> do.call -> lapply -> FUN Execution halted ""

Based on a similar issue posted here where npeak files where not saved I have tried:

But I still get the same error.

Any help on fixing this issue would be much appreciated!

leepc12 commented 3 years ago

Anshul (author of the code) answered to your question. I am forwarding his comments.

It looks like SPP is not able to find any peaks. Looks like low quality datasets. Ask them to switch to using MACS2 if SPP is not finding any peaks. And ask them to use our pipeline instead of run_spp.R independently.

Please refer to our chip-seq-pipeline to call peak with MACS2 and then run IDR (phantompeakquals) on peaks (rep1 vs rep2 and repX-psedos for each repX ...). You can start from BAM or TAG-ALIGN.

{
    "chip.pipeline_type": "tf",
    "chip.paired_end": false, # or true if it's PE,
    "chip.nodup_bam": [ "REP1.filtered.bam", "REP2.filterered.bam"],
    "chip.ctl_nodup_bam": [ "CTL1.filtered.bam", "CTL2.filterered.bam"],
    "chip.peak_caller": "macs2", # or spp if you want to keep using it
     .... # other parameters
}
mw-neuro commented 3 years ago

Thanks very much for your reply! I will try calling peaks with MACS2