Welcome to the New Seqanswers!

Welcome to the new Seqanswers! We'd love your feedback, please post any you have to this topic: New Seqanswers Feedback.
See more
See less

dspchip: a digital signal processing approach to chip-seq analysis

  • Filter
  • Time
  • Show
Clear All
new posts

  • dspchip: a digital signal processing approach to chip-seq analysis

    Hi all, according to this Nick Barnes on Nature news, many people in this forum should make their software public. After some time I've decided to follow the advice and I'm glad to announce dspchip, a digital signal processing approach to ChIP-seq analysis.
    Actually dspchip doesn't implement anything new, simply borrows some algorithms and approaches that are much more common in other fields, such as image and/or audio processing.
    I've started dspchip to study genomic features that are typically spread over kilobases (or megabases), such as some histonic modifications, replication forks. Soon we realized it can be used to analyze at "low resolution" some other genomic features, such as gene clusters or feature correlations at genome scale.
    dspchip takes one or two input signals and can perform many operations (typically low-pass filters, wavelet denoising or even some basic arithmetics). In addition it can find eriched regions.
    dspchip supports the following file formats as input: bam/sam, bigwig, bed, wig and bar. It outputs profiles in bigwig format (or gzipped bedgraph) and peak list in tab-separated format (which can be easitly converted to bed with awk).
    There are some caveats you should be aware when using dspchip:
    • it is a permanent beta: it has bugs and they may make your computer collapse in a quark plasma
    • it is written in python: it is not the fastest software around...
    • it has many dependencies
    • it requires much RAM: you'd better run dspchip on a recent bigmem machine (more than 6 Gb are highly recommended, although I've run on my 4 Gb laptop sometimes), depending on the genome size. I blame python for this, but of course it's my fault, I'm only looking for a scapegoat!
    • it's maintained mainly by me: Nobody won't correct that bug if I'm on holidays.
    • I'm not an engineer nor a physicist: I guess I understand wavelets in the same way many other bio* can

    If you want to give it a try, the dspchip page on google code is, the discussion group can be found at