Entering edit mode
Mohamed Lajnef
▴
250
@mohamed-lajnef-3515
Last seen 10.2 years ago
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
0
Entering edit mode
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
ADD REPLY
• link
15.4 years ago
Mohamed Lajnef
▴
250