Search
Question: DiffBind "no lines available in input" error
0
2.3 years ago by
igor20
United States
igor20 wrote:

Sometimes my ChIP-seq samples do not get any significant peaks by MACS, so the output peaks file is empty. When I use that file in DiffBind sample sheet, I get an error:

Error in read.table(fn, blank.lines.skip = T, header = T) :
no lines available in input
Calls: dba ... pv.peakset -> pv.readPeaks -> pv.macs -> read.table

Is there a way to suppress that error?

I understand if all the samples have no peaks, there should definitely be an error, but sometimes you have one sample that just doesn't have strong peaks that you still want to include in the analysis.

modified 2.3 years ago by Rory Stark2.6k • written 2.3 years ago by igor20
2
2.3 years ago by
Rory Stark2.6k
CRUK, Cambridge, UK
Rory Stark2.6k wrote:

Actually there is a workaround. If you leave the Peaks file empty (blank, no value) in the samplesheet for that sample, it should work! dba.count() will still count reads for this sample in the consensus peaks, and these reads can be used for a differential analysis.

We'll have a look at the error message so we can fix this in a future release.

-Rory

1
2.3 years ago by
Gord Brown570
United Kingdom
Gord Brown570 wrote:

To the best of my knowledge there's no way to suppress that error.  I can see how it might be useful, though, if (for example) one condition completely eliminated binding.  I'll add it to the list of feature requests, but for now I can't see how to bypass it without hacking the source code.  It wouldn't surprise me if, even if you could read the file, other problems would arise downstream, since DiffBind hasn't been tested with empty peak files (that I know of).  Sorry I can't be more helpful.

Wait... just reading the manual page for "dba.peakset", it looks like you can add a peak set that is explicitly empty by setting "peaks=NA".  No idea what might happen downstream, though.