[BioC] Differential expression ( Limma) for illumina microarrays?
Gordon K Smyth
smyth at wehi.EDU.AU
Thu Jul 9 01:20:56 CEST 2009
Dear Mohamed,
You are spamming me and my colleagues (by private email as well as on the
Bioconductor list), and I don't appreciate this.
If you are unable to find any differential expression with 40-fold
replication then obviously (i) there is no differential expression, or
(ii) you have not paid enough attention to quality control or (iii) you've
made a programming mistake. None of these things are our responsibility.
Best wishes
Gordon
-----------------------------------------------
Associate Professor Gordon K Smyth,
NHMRC Senior Research Fellow,
Bioinformatics Division,
Walter and Eliza Hall Institute of Medical Research,
1G Royal Parade, Parkville, Vic 3052, Australia.
smyth at wehi.edu.au
http://www.wehi.edu.au
http://www.statsci.org/smyth
On Wed, 8 Jul 2009, Mohamed Lajnef wrote:
> Mohamed Lajnef a écrit :
>> Dear R-Users,
>>
>> I can not uderstand a result I have ( see Toptable). I used LIMMA to find
>> differentially expressed genes by 3 treatments, my database ( illumina
>> files) includes (48803 probes (rows) and 120 columns ( 40 by level)), my
>> program as follows
>> library(beadarray)
>> BSData<-readBeadSummaryData(fichier,skip=0,columns = list(exprs =
>> "AVG_Signal", se.exprs="BEAD_STDERR",NoBeads = "Avg_NBEADS",
>> Detection="Detection.Pval"))
>> BSData.quantile=normaliseIllumina(BSData,
>> method="quantile",transform="log2") #
>> detection<-Detection(BSData) # Matrix contain detection P value which
>> estimates the probability of a probe being detected above the background
>> level
>>
>> # Filtring after normalization
>> library(genefilter)
>> filtre<-function (p = 0.05, A = 100, na.rm = TRUE)
>>
>> {
>> function(x) {
>> if (na.rm)
>> x <- x[!is.na(x)]
>> sum(x <= A)/length(x) >= p
>> }
>> }
>> ff<-filtre(p=0.80, A=0.01) # i keep rows if pvalues<=0.01, the probe has to
>> be over expressed in at least 80% per level ( i have 3 levels)
>>
>> i<-genefilter(detection[,1:40],ff)
>> j<-genefilter(detection[,41:80],ff) # I will now keep 10156 probes (after
>> filtring tools)
>> k<-genefilter(detection[,81:120],ff)
>>
>> # Differential expression using Limma after normalization & filtering tools
>> library(limma)
>> donne<-exprs(BSData.quantile)
>> OBSnormfilter<-donne[j,] # keep 10156 probes after normalization
>> groups<-as.factor(c(rep("Tem",40),rep("EarlyO",40),rep("LateO",40)))
>> design<-model.matrix(~0+groups)
>> colnames(design)=levels(groups)
>> fit<-lmFit(OBSnormfilter,design)
>> cont.matrix<-makeContrasts(Tem-EarlyO,Tem-LateO,EarlyO-LateO,
>> levels=design)
>> fit2<-contrasts.fit(fit, cont.matrix)
>> ebfit<-eBayes(fit2)
>> gene1<-topTable(ebfit, coef=1)
>> gene2<-topTable(ebfit, coef=2)
>> gene3<-topTable(ebfit, coef=3)
>>
>> gene1 ( result of Toptable between the control and first treatment groups)
>>
>> ID logFC AveExpr t P.Value
>> adj.P.Val B
>> 9300 520255 -0.3209704 6.429487 -3.643323 0.0003963748 0.9998062
>> -0.6345996
>> 6192 7650097 -0.2677064 6.243968 -3.581163 0.0004921590 0.9998062
>> -0.7817435
>> 5528 10161 0.2022500 8.002581 3.434507 0.0008116961 0.9998062
>> -1.1212432
>> 6077 4180725 0.1380486 5.922805 3.423087 0.0008434258 0.9998062
>> -1.1472217
>> 3569 5080487 -0.1621675 7.717032 -3.308604 0.0012326133 0.9998062
>> -1.4039040
>> 2265 270332 -0.1996710 6.599011 -3.257771 0.0014545247 0.9998062
>> -1.5156669
>> 4643 5360301 0.5115730 6.616680 3.188442 0.0018176145 0.9998062
>> -1.6658702
>> 3885 110523 -0.1489957 6.165416 -3.130799 0.0021819409 0.9998062
>> -1.7887772
>> 8220 6280053 -0.1379738 6.603755 -3.057891 0.0027397895 0.9998062
>> -1.9416230
>> 4355 1430626 -0.1867890 6.624203 -3.054026 0.0027727561 0.9998062
>> -1.9496424
>>
>> looking at the results, Toptable show no any signficant genes, how do you
>> explain this?? ( because I have a lot of replication ( 40 by level) ???)
>>
>> Any help would be appreciated
>>
>> Regards
>> ML
>>
>>
>>
>>
>>
>>
>>
>
>
> --
> Mohamed Lajnef
> INSERM Unité 955. 40 rue de Mesly. 94000 Créteil.
> Courriel : Mohamed.lajnef at inserm.fr tel. : 01 49 81 31 31 (poste 18470)
> Sec : 01 49 81 32 90
> fax : 01 49 81 30 99
>
More information about the Bioconductor
mailing list