[BioC] edgeR: Analyze mini-time-series MeDIP data of pooled DNAs without replicates

Vang Quy Le / Region Nordjylland vql at rn.dk
Mon Aug 11 23:15:20 CEST 2014

Dear Gordon,
I hope this email will reach you this time. Thank you for your expert inputs. You made two precise assumptions. I generated counts per 100-base windows across all chromosomes with MEDIPS package. I also read "What to do if you have no replicates” and found it does not completely fit our case so I want to seek for other approaches. I read through the publications and the limma documentation you mentioned. They gave much useful background information.
I wrote a rough script while I still have little knowledge about what really going on behind the code, especially the ‘design’ and subsequent analysis choices. Could you or some expert take a look and provide some more detailed inputs about how logics (execution choices and function choices) in this R script?  In case there is some problem with attaching the script to the maillinglist, here is the Dropbox link to it: https://www.dropbox.com/s/miltokwipqm34bs/test_edgeR.limma.METF01.R (Link may expire after 1 month).

Thank you very much.

Best regards

On 08 Aug 2014, at 05:26, Gordon K Smyth <smyth at wehi.edu.au<mailto:smyth at wehi.edu.au>> wrote:

Dear Vang Quy Le,

I don't have any experience analysing MeDIP data myself, so I will assume that you know how to generate counts from MeDIP that are suitable for edgeR, and I will just answer the linear modelling question.

I also assume that you have read the section of the edgeR User's Guide called "What to do if you have no replicates."

In terms of an edgeR analysis, you have two main choices.  First, you could simply omit the dispersion estimation steps of the edgeR pipeline and run glmFit() and glmLRT() with a manually set value for the dispersion.  You have already mentioned this possibility.  There is no problems with this except that the number of DE genes will be highly dependent on the dispersion value you choice.  Nevertheless, it is much better than assuming Poisson variability.  We took this approach for our paper in Cell Reports:


Second, you could manufacture residual degrees of freedom by fitting a smooth curve to the time course trends.  This approach is explained the section called "Many time points" in the limma User's Guide.  We took this approach to analyse the development stages of Drosophila melanogaster in the voom paper:


Personally, I would take the second approach.  I would fit an orthogonal quadratic polynomial to the time trend for the Control and Treated groups separately.  This will allow you to use the complete edgeR pipeline including dispersion estimation.  This will allow you to test for time trends for each gene in each of the groups.  It will also allow you examine at which time point each gene has its peak expression.  See the analysis in the voom paper.

Best wishes

Vang Quy Le / Region Nordjylland vql at rn.dk<http://rn.dk>
Wed Aug 6 10:19:58 CEST 2014

Hello edgeR users,

I have been checking around to find out how to best analyze our data as well as remedy our experiment design. It's hard to decide so I will try my best to explain what we have, what we want in a rather long message. Please bear with me.

We did experiments with two groups of test animals namely treated "T" and control "C" (without treatment) groups. Bot T and C have 20 subjects each. We took samples 4 times with 2-week intervals. For example, at week 2, we extracted DNA samples from 5 subjects in the C group and 5 subjects in T group. At week 4, we extracted DNA for each group from each 5 other subjects. And so on. However, before MeDIP-seq we pooled all 5 DNA samples of the same group and same week together to save time and money. This is like making direct biological everage. So the sequencing samples look like this:

 Week Control Treated
1 week2      C2      T2
2 week4      C4      T4
3 week6      C6      T6
4 week8      C8      T8

Where: C2 is the DNA pool of 5 control subjects at Week2; T2 is the DNA pool of  5 treated subjects at Week 2 and so on. We then subject the pools through MeDIP-Seq protocols and sequence them on NGS platform (color-space).

1. Which genes are hypo/hyper-methylated in response to our treatment?
2. How does methylation rate/status change from one time point to another (i.e. which one responded early, which one responded later)?

I have looked through R's package, MEDIPS. But it is not intended for our case because it does not have functions to handle time-series data. It also relies very much on edgeR to do its job. So I think it would be more flexible to use edgeR directly myself. Reading edgeRUsersGuide.pdf, I found that our case is similar to the example in Section "3.3 Treatment effects over all times". However, we don't have replicates the way edgeR expects.

1. Can we find the answers for our research questions based on the current data by using edgeR? And how, in high-level view?
2. I am thinking since we have the pools (biological mean) we can somehow skip some statistics treatment (i.e. relax p.value, set dispersion value to something reasonable) and get on with the workflow on Section 3.3. Will this be alright in terms of data analysis practice and edgeR expectations?
3. If we must do something from sequencing step, what would be the most economical and time-saveing things to do?
4. Would you suggest anything else to make the best out of this case?

Thank you for your time.

Kind regards,

Vang Quy Le
Bioinformatician, Molecular Biologist, PhD

+45 97 66 56 29
vql at rn.dk<http://rn.dk>

Section for Molecular Diagnostics,
Clinical Biochemistry
DK 9000 Aalborg

The information in this email is confidential and intended solely for the addressee.
You must not disclose, forward, print or use it without the permission of the sender.

Vang Quy Le
Bioinformatician, Molecular Biologist, PhD
+45 97 66 56 29
vql at rn.dk<mailto:vql at rn.dk>

Section for Molecular Diagnostics,
Clinical Biochemistry
DK 9000 Aalborg

More information about the Bioconductor mailing list