[BioC] detecting oscillating genes from RNA-seq data

Gordon K Smyth smyth at wehi.EDU.AU
Thu Apr 3 05:16:03 CEST 2014

Dear Mali,

It is easy to do such an analysis directly in edgeR.

Suppose for example that you are looking for a daily cycle, and that you 
have at least half a dozen time points spanning more than a full day.  The 
method is to create basis vectors for a periodic expression pattern. 
Suppose that 'time' is time in hours:

   s1 <- sin(2*pi*time/24)
   c1 <- cos(2*pi*time/24)
   design <- model.matrix(~s1+c1)

This will give a design matrix with three columns: one for the intercept 
and two for the periodic signal.  To test for a periodic cycle:

   fit <- glmFit(y,design)
   lrt <- glmLRT(fit,coef=2:3)

If you have lots of time points and you want to make a more complex curve 
you can add a harmonic:

   s2 <- sin(4*pi*time/24)
   c2 <- cos(4*pi*time/24)
   design <- model.matrix(~s1+c1+s2+c2)

There are now four coefficients parametrizing the periodic curve.  (These 
can be viewed as representing amplitudes and phase shifts for the two 
harmonics.)  I think you would seldom want more than two harmonics for 
RNA-seq data.

This method can easily be adapted to find cell-cycle genes and so on.

Best wishes

> Date: Tue, 1 Apr 2014 14:33:27 +0200
> From: mali salmon <shalmom1 at gmail.com>
> To: "bioconductor at r-project.org" <bioconductor at r-project.org>
> Subject: [BioC] detecting oscillating genes from RNA-seq data
> Hello List
> I have RNA-seq data from different time points and I would like to find
> oscillating genes.
> I thought of using the "cycle" package (which is based on Fourier score) ,
> but I'm not sure what values to use: FPKM or DESeq/edgeR normalized values.
> Any suggestion what would be more appropriate?
> Thanks
> Mali

The information in this email is confidential and intend...{{dropped:4}}

More information about the Bioconductor mailing list