美文网首页
5.1.2 edgeRUsersGuide

5.1.2 edgeRUsersGuide

作者: YZZZZZero | 来源:发表于2022-05-07 15:54 被阅读0次
> library(edgeR)
> library(limma)
> setwd("D:/")
> expr_matrix <- read.csv("transcript_count_matrix.csv")
> head(expr_matrix)
  transcript_id CK18 CK69  T18  T69
1 MSTRG.18752.1 1214  724  918  581
2 MSTRG.11041.1 1458 1317  540  302
3 MSTRG.21591.1 2801  502  446  359
4 MSTRG.14117.1  792 1168  624 1569
5  MSTRG.7407.1  486 1492 1855 2097
6  MSTRG.7407.3  390 1168  228  764
> counts <- expr_matrix[,2:5]
> group <- c("CK", "CK", "T", "T")
> transcript <- expr_matrix[,1]
> y <- DGEList(counts=counts, genes =transcript, group = group)
> y
An object of class "DGEList"
$counts
  CK18 CK69  T18  T69
1 1214  724  918  581
2 1458 1317  540  302
3 2801  502  446  359
4  792 1168  624 1569
5  486 1492 1855 2097
30451 more rows ...

$samples
     group lib.size norm.factors
CK18    CK 89473310            1
CK69    CK 70278971            1
T18      T 81813431            1
T69      T 76984977            1

$genes
          genes
1 MSTRG.18752.1
2 MSTRG.11041.1
3 MSTRG.21591.1
4 MSTRG.14117.1
5  MSTRG.7407.1
30451 more rows ...

> keep <- filterByExpr(y)
> table(keep)
keep
FALSE  TRUE 
 1018 29438 
> y <- y[keep, , keep.lib.sizes=FALSE]
> y <- calcNormFactors(y)
> y$samples
     group lib.size norm.factors
CK18    CK 89017858    1.0064240
CK69    CK 70130046    0.9560699
T18      T 81558247    0.9301324
T69      T 76576585    1.1173382
> plotMDS(y, col=rep(1:2, each=2))
> plotMDS(y)
> y <- estimateCommonDisp(y, verbose=TRUE)
Disp = 0.73806 , BCV = 0.8591 
> plotBCV(y)
> et <- exactTest(y)
> top <- topTags(et)
> top
Comparison of groups:  T-CK 
              genes     logFC   logCPM       PValue
26756 MSTRG.20829.1 -17.10412 6.791271 2.870725e-11
5422  MSTRG.19982.1 -16.02954 5.717000 2.160155e-10
26380  MSTRG.7784.2  15.81060 5.498230 3.258128e-10
22792 MSTRG.17835.2 -12.80841 8.573027 6.830962e-10
5092  MSTRG.13851.3  15.39324 5.081155 7.133885e-10
10520 MSTRG.13698.3  15.31394 5.001918 8.279609e-10
1605  MSTRG.14269.1  15.27153 4.959513 8.965476e-10
30441 MSTRG.14683.2  15.00903 4.697222 1.467732e-09
23906 MSTRG.10097.2  14.96704 4.655322 1.588126e-09
21599  MSTRG.5987.1  14.75320 4.441690 2.372516e-09
               FDR
26756 8.450840e-07
5422  3.179533e-06
26380 3.197092e-06
22792 3.770367e-06
5092  3.770367e-06
10520 3.770367e-06
1605  3.770367e-06
30441 5.194585e-06
23906 5.194585e-06
21599 6.984212e-06
> summary(de <- decideTestsDGE(et));
        T-CK
Down     125
NotSig 29181
Up       132
> detags <- rownames(y)[as.logical(de)]
> plotSmear(et, de.tags=detags)
> abline(h=c(-1, 1), col="blue")
> abline(h=c(-1, 1), col="blue")
> 
> abline(h=c(-1, 1), col="blue")
> 
> design <- model.matrix(~0+group);design
  groupCK groupT
1       1      0
2       1      0
3       0      1
4       0      1
attr(,"assign")
[1] 1 1
attr(,"contrasts")
attr(,"contrasts")$group
[1] "contr.treatment"

> y <- estimateDisp(y, design, robust=TRUE)
Error in fitFDistRobustly(var, df1 = df, covariate = covariate, winsor.tail.p = winsor.tail.p) : 
  statmod package required but is not installed

> install.packages("statmod")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
试开URL’https://cran.rstudio.com/bin/windows/contrib/3.6/statmod_1.4.34.zip'
Content type 'application/zip' length 285669 bytes (278 KB)
downloaded 278 KB

package ‘statmod’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\yize\AppData\Local\Temp\RtmpaqoJul\downloaded_packages
> y <- estimateDisp(y, design, robust=TRUE)
> y$common.dispersion
[1] 0.7017119
> plotBCV(y)
> fit <- glmQLFit(y, design, robust=TRUE)
> plotQLDisp(fit)
> qlf <- glmQLFTest(fit, coef=2:3)
Error in glmfit$coefficients[, coef, drop = FALSE] : 下标出界
> qlf <- glmQLFTest(fit, coef=1:2)
> topTags(qlf)
Coefficient:  groupCK groupT 
              genes logFC.groupCK logFC.groupT   logCPM        F
19773  MSTRG.8349.1     -14.41772    -13.32484 6.161872 2646.042
27250 MSTRG.17553.1     -13.71611    -13.99838 6.081715 2639.279
3586   MSTRG.2987.1     -14.56360    -13.37351 6.082907 2637.124
7921  MSTRG.15227.1     -13.69366    -13.70289 6.233752 2636.310
28242  MSTRG.6527.1     -13.75446    -13.72020 6.194808 2631.706
8901  MSTRG.13011.1     -13.70567    -13.74024 6.209180 2625.411
26265  MSTRG.3120.1     -13.62765    -13.75216 6.243455 2623.619
21134 MSTRG.12588.2     -13.58061    -13.57212 6.355626 2616.077
12415 MSTRG.21479.1     -13.98569    -13.99914 5.939728 2606.411
11524 MSTRG.19348.1     -13.66187    -14.18647 6.031634 2601.578
            PValue          FDR
19773 2.038534e-06 5.510429e-05
27250 2.047919e-06 5.510429e-05
3586  2.050923e-06 5.510429e-05
7921  2.052060e-06 5.510429e-05
28242 2.058508e-06 5.510429e-05
8901  2.067375e-06 5.510429e-05
26265 2.069909e-06 5.510429e-05
21134 2.080631e-06 5.510429e-05
12415 2.094500e-06 5.510429e-05
11524 2.101488e-06 5.510429e-05
> FDR <- p.adjust(qlf$table$PValue, method="BH")
> sum(FDR < 0.05)
[1] 29419
> qlf <- glmQLFTest(fit)
> topTags(qlf)
Coefficient:  groupT 
              genes     logFC   logCPM        F       PValue
11275 MSTRG.10568.1 -15.25428 6.293569 2705.323 2.671557e-06
27250 MSTRG.17553.1 -13.99838 6.081715 2669.282 2.736616e-06
11524 MSTRG.19348.1 -14.18647 6.031634 2656.249 2.760753e-06
7921  MSTRG.15227.1 -13.70289 6.233752 2637.304 2.796431e-06
26265  MSTRG.3120.1 -13.75216 6.243455 2636.954 2.797097e-06
8901  MSTRG.13011.1 -13.74024 6.209180 2629.106 2.812094e-06
28242  MSTRG.6527.1 -13.72020 6.194808 2628.039 2.814141e-06
21134 MSTRG.12588.2 -13.57212 6.355626 2615.163 2.839046e-06
10440   MSTRG.820.1 -13.63421 6.383175 2609.525 2.850059e-06
7872    MSTRG.406.1 -13.58699 6.413094 2607.847 2.853350e-06
               FDR
11275 7.542372e-05
27250 7.542372e-05
11524 7.542372e-05
7921  7.542372e-05
26265 7.542372e-05
8901  7.542372e-05
28242 7.542372e-05
21134 7.542372e-05
10440 7.542372e-05
7872  7.542372e-05
> summary(decideTests(qlf))
       groupT
Down    29367
NotSig     71
Up          0

代码

library(edgeR)
setwd("D:/")
expr_matrix <- read.csv("transcript_count_matrix.csv")
head(expr_matrix)
counts <- expr_matrix[,2:5]
group <- c("CK", "CK", "T", "T")
transcript <- expr_matrix[,1]
y <- DGEList(counts=counts, genes =transcript, group = group)
y
keep <- filterByExpr(y)
table(keep)
y <- y[keep, , keep.lib.sizes=FALSE]
y <- calcNormFactors(y)
y$samples
plotMDS(y)
y <- estimateCommonDisp(y, verbose=TRUE)
plotBCV(y)
et <- exactTest(y)
top <- topTags(et)
top
summary(de <- decideTestsDGE(et))
detags <- rownames(y)[as.logical(de)]
plotSmear(et, de.tags=detags)
abline(h=c(-1, 1), col="blue")
design <- model.matrix(~0+group);design
y <- estimateDisp(y, design, robust=TRUE)
y$common.dispersion
plotBCV(y)
fit <- glmQLFit(y, design, robust=TRUE)
plotQLDisp(fit)
install.packages statmod
library(limma)
qlf <- glmQLFTest(fit, coef=2)
topTags(qlf)
FDR <- p.adjust(qlf$table$PValue, method="BH")
sum(FDR < 0.05)
qlf <- glmQLFTest(fit)
topTags(qlf)
summary(decideTests(qlf))

相关文章

网友评论

      本文标题:5.1.2 edgeRUsersGuide

      本文链接:https://www.haomeiwen.com/subject/uzsdpktx.html