macs2 pileup and callpeak

1,507 views
Skip to first unread message

Max Qian

unread,
Oct 12, 2016, 6:07:40 PM10/12/16
to MACS announcement
Hi,

I found the macs2 pileup is a very useful tool to generate chip-seq signals in bedGraph format, as well as by callpeak, when I want to view the signals in a region for different samples on the same page.  But currently, the signal generated by pileup seems not normalized to a same total reads number and the callpeak with SPMR will fix it to signal per million.   So, I'm wondering can you add a parameter to pileup, which make the signal be normalized to this specified total number (maybe with default million)?  And also to callpeak.  It will be very helpful to view or check the signals from different samples in the same scale.

Many thanks in advance.

Max

Timothy Parnell

unread,
Oct 13, 2016, 11:54:34 AM10/13/16
to macs-ann...@googlegroups.com
Hi Max,

You can always scale the pileups yourself by using the bdgopt function of macs2 with the multiply method. Determining the scale factor is left as a math exercise for you.

The treatment and control bedGraph pileups generated by the callpeak function are automatically scaled to the same depth. By default, the sample with the most reads are scaled down linearly to the same depth as the sample with the fewest reads. This can be reversed with the --to-large option. There is also the --down-sample option if you prefer.

Hope that helps.
Tim
--
You received this message because you are subscribed to the Google Groups "MACS announcement" group.
To unsubscribe from this group and stop receiving emails from it, send an email to macs-announcem...@googlegroups.com<mailto:macs-announcem...@googlegroups.com>.
To post to this group, send email to macs-ann...@googlegroups.com<mailto:macs-ann...@googlegroups.com>.
Visit this group at https://groups.google.com/group/macs-announcement.
For more options, visit https://groups.google.com/d/optout.

Max Qian

unread,
Oct 13, 2016, 4:39:15 PM10/13/16
to MACS announcement, Timothy...@hci.utah.edu
Hi Tim,

Yes, you are absolutely right. That's definite a solution.  But, I have to go back and check the total number of reads for each samples when I want to revise the pileup results.  It's fine,  but it's a little bit noisy.  So,  I'm hoping the macs2 author can enhance it a little bit and give a little bit of flexibility to the user.  And then it can solve my issue without extra steps.  That will make life easier, right?

BTW, I have an idea about normalizing the signal,which may be more reasonable.

First estimating the fragment size by modeling or directly from the paired-end reads to pinpoint the middle position by shifting, and then extending the fragment from the middle position with a specific/fixed size to both direction. This extending size should be the same among all the samples to keep them in the same scale when pileuping. 


Since under current macs2 way, when the fragment size was got from modeling, and then that did force the same fragment size between the sample and control, but that will make different samples not on the same scale even all of them were normalized to the same total reads, but different fragment sizes will make them still different.  If I want to keep them in the same scale,  I also can use the --nomodel, but that way will lose some precision compared to the modeling mode.


Although there may be just a very miner difference, that still will make the tool better, since I like macs very much. Many thanks.


Best,

Max



在 2016年10月13日星期四 UTC-5上午10:54:34,Timothy Parnell写道:
Hi Max,

You can always scale the pileups yourself by using the bdgopt function of macs2 with the multiply method. Determining the scale factor is left as a math exercise for you.

The treatment and control bedGraph pileups generated by the callpeak function are automatically scaled to the same depth. By default, the sample with the most reads are scaled down linearly to the same depth as the sample with the fewest reads. This can be reversed with the --to-large option. There is also the --down-sample option if you prefer.

Hope that helps.
Tim

On Oct 12, 2016, at 4:07 PM, Max Qian <mxq...@gmail.com<mailto:mxqian...@gmail.com>> wrote:

Hi,

I found the macs2 pileup is a very useful tool to generate chip-seq signals in bedGraph format, as well as by callpeak, when I want to view the signals in a region for different samples on the same page.  But currently, the signal generated by pileup seems not normalized to a same total reads number and the callpeak with SPMR will fix it to signal per million.   So, I'm wondering can you add a parameter to pileup, which make the signal be normalized to this specified total number (maybe with default million)?  And also to callpeak.  It will be very helpful to view or check the signals from different samples in the same scale.

Many thanks in advance.

Max

--
You received this message because you are subscribed to the Google Groups "MACS announcement" group.
To unsubscribe from this group and stop receiving emails from it, send an email to macs-announcem...@googlegroups.com<mailto:macs-announcement+unsubscribe@googlegroups.com>.
To post to this group, send email to macs-ann...@googlegroups.com<mailto:macs-announ...@googlegroups.com>.
Reply all
Reply to author
Forward
0 new messages