This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Average bigwig files (not sum)

Hello,

I have bigwig (RPKM) files of a chip-seq experiment for treatment and control conditions which I am trying to compare. I have 3 replicates for control and 5 replicates for treatment condition. To show the average difference in signal, I merged the replicates for each condition using ucsc bigWigMerge command.

However, if my understanding is correct this command simply adds the signal of all replicates and so the merged treatment file is no longer comparable to the merged control file. The treatment condition has more replicates and so shows higher values than control even when the actual signal shouldn't be different. Is my understanding correct? If yes, is there a way to merge bigwig files using average instead of sum of replicates and does this make sense? (preferably without merging bam files and recreating bigwigs)

Thanks

chip-seq bigwig

1 answer

Wiggletools has a mean command that can do it. It will accept BigWig files and output Wig files. Wig can then either be formatted into bigwig or into bedGraph. Note though that the bigwig files that e.g. WigToBigWig creates from these Wig files will be very large in size, in my experience 40-50% larger than if you first transform that Wig back to bedGraph and then to BigWig with bedGraphToBigWig. I never found out why that is but I always go Bigwigs => Wiggletools Mean => bedGraph => Bigwig to avoid these very large files.

Thanks. That looks perfect.

how did you merge your replicates bigwig format file? did you use bigWigMerge from UCSC tools? Now ,I also average my bigwig files.Thank you!

I averaged them with the tool described in my answer.

Hi,

I have used wiggletools to average several bigwig files, but I get a "weird" format wig file (it looks like a mix of WIG and bedgraph) and I cannot convert it to bedGraph. You can see more info here: https://github.com/bedops/bedops/issues/273

I can convert that directly to a bigwig file, but as you said, the size is huge.

How do you convert wiggletools output to a proper bedGraph so I can convert it to Bigwig and "save" space?

Thanks!

wigToBedGraph from kentUtils

Thanks! I could not find that tool on the UCSC Utils... I will try to install it and see if it works.

You can use WiggleTools to export the bedGraph directly and then use bedGraphToBigWig. I found that the averaged bigwig file sizes were the same by either method.

wiggletools write_bg Average.bedGraph mean Rep1.bigwig Rep2.bigwig Rep3.bigwig
bedGraphToBigWig Average.bedGraph <link/to/chrom.sizes> Average.bigwig

Log in to answer this question.