Source codes: https://github.com/markziemann/tohidul_rnaseq
Here we have n=3 control (H2O; “H”) and n=3 seaweed based fertiliser treatments:
S80 ANDP
S94 DP
S93 AN
Reads underwent quality trimming using Skewer (Jiang et al, 2014). I mapped the reads to the Arabidopsis transcriptome (TAIR10/Ensembl47) using Kallisto (Bray et al, 2016). Expression counts were loaded into R and then DE analysis was performed with DESeq2 (Love et al, 2014). Enrichment analysis was performed using Plant Reactome genesets with the Mitch package (Kaspi & Ziemann 2020).
suppressPackageStartupMessages({
library("reshape2")
library("gplots")
library("DESeq2")
library("mitch")
library("kableExtra")
library("eulerr")
library("UpSetR")
})
Here we load the data in from the aligner. Take note that the columns are arranged in order.
tmp <- read.table("3col.tsv.gz")
x <- as.data.frame(acast(tmp, V2~V1, value.var="V3"))
x$gene <- sapply(strsplit(rownames(x),"\\."),"[[",1)
xx <- aggregate(. ~ gene, x, sum)
rownames(xx) <- xx$gene
xx$gene = NULL
xx <- xx[,order(colnames(xx))]
The sample sheet is read in and put in order as well.
ss <- read.table("samplesheet.tsv",header=TRUE)
ss <- ss[order(ss$Run),]
ss$label <- gsub("-0hpi","",ss$SampleName)
# check that names are in order
colnames(xx) == ss$Run
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
# change data header
colnames(xx) <- ss$label
kbl(ss) %>% kable_styling()
Run | SampleName | Treatment | label | |
---|---|---|---|---|
6 | SRR11404271 | S80-0hpi_R3 | Seaweed_16280 | S80_R3 |
5 | SRR11404272 | S80-0hpi_R2 | Seaweed_16280 | S80_R2 |
4 | SRR11404273 | S80-0hpi_R1 | Seaweed_16280 | S80_R1 |
12 | SRR11404287 | S94-0hpi_R3 | Seaweed_15294 | S94_R3 |
11 | SRR11404288 | S94-0hpi_R2 | Seaweed_15294 | S94_R2 |
10 | SRR11404289 | S94-0hpi_R1 | Seaweed_15294 | S94_R1 |
3 | SRR11404301 | H-0hpi_R3 | Water | H_R3 |
9 | SRR11404304 | S93-0hpi_R3 | Seaweed_15293 | S93_R3 |
8 | SRR11404305 | S93-0hpi_R2 | Seaweed_15293 | S93_R2 |
7 | SRR11404306 | S93-0hpi_R1 | Seaweed_15293 | S93_R1 |
2 | SRR11404312 | H-0hpi_R2 | Water | H_R2 |
1 | SRR11404313 | H-0hpi_R1 | Water | H_R1 |
MDS is just like PCA. The more similar (correlated) the data sets are the closer they will appear on the scatterplot.
cols <- as.numeric(factor(ss$Treatment))
plot(cmdscale(dist(t(xx))), xlab="Coordinate 1", ylab="Coordinate 2",
col=cols, cex=4 , main="MDS plot")
text(cmdscale(dist(t(xx))), labels=ss$label )
#colfunc <- colorRampPalette(c("white", "yellow", "orange" , "red", "darkred"))
colfunc <- colorRampPalette(c("white","blue"))
heatmap.2(cor(xx,method="pearson"),col=colfunc(25),trace="none",
scale="none",margin=c(10,10),main="Pearson correlation")
heatmap.2(cor(xx,method="spearman"),col=colfunc(25),trace="none",
scale="none",margin=c(10,10),main="Spearman correlation")
run_de <- function(ss,xx){
xx <- xx[which(rowMeans(xx)>10),]
y <- round(xx)
# MDS
mds <- cmdscale(dist(t(y)))
XMAX=max(mds[,1])*1.1
XMIN=min(mds[,1])*1.1
plot( mds , xlab="Coordinate 1", ylab="Coordinate 2",
type = "n" , xlim=c(XMIN,XMAX),main="MDS plot",bty="n")
text(mds, labels=colnames(y) )
# DE
dds <- DESeqDataSetFromMatrix(countData=y, colData = ss, design = ~ trt)
dds <- DESeq(dds)
de <- DESeq2::results(dds)
de <- de[order(de$pvalue),]
up <- rownames(subset(de, log2FoldChange>0 & padj<0.05 ))
dn <- rownames(subset(de, log2FoldChange<0 & padj<0.05 ))
str(up)
str(dn)
# MA plot
sig <-subset(de, padj < 0.05 )
GENESUP <- length(up)
GENESDN <- length(dn)
SUBHEADER = paste(GENESUP, "up, ", GENESDN, "down")
ns <-subset(de, padj > 0.05 )
plot(log2(de$baseMean),de$log2FoldChange,
xlab="log2 basemean", ylab="log2 foldchange",
pch=19, cex=0.5, col="dark gray",
main="smear plot")
points(log2(sig$baseMean),sig$log2FoldChange,
pch=19, cex=0.5, col="red")
mtext(SUBHEADER)
# heatmap
yn <- y/colSums(y)*1000000
yf <- yn[which(rownames(yn) %in% rownames(de)[1:50]),]
mycols <- gsub("0","yellow",ss$trt)
mycols <- gsub("1","orange",mycols)
colfunc <- colorRampPalette(c("blue", "white", "red"))
heatmap.2( as.matrix(yf), col=colfunc(25),scale="row",
ColSideColors =mycols ,trace="none",
margin = c(10,10), cexRow=0.6, cexCol=0.8 , main="Top 50 genes by p-val")
mtext("yellow=ctrl, orange=trt")
return(de)
}
mitch_barplot <- function(res){
sig <- res$enrichment_result
sig <- head( sig[order(sig$pANOVA),] ,30)
sig <- sig[order(sig$s.dist),]
par(mar=c(3,25,1,1)); barplot(sig$s.dist,horiz=TRUE,las=2,cex.names = 0.6,cex.axis = 0.6,
names.arg=sig$set,main="Enrichment score") ;grid()
}
ss93 <- subset(ss,Treatment=="Seaweed_15293"|Treatment=="Water")
ss93$trt <- as.numeric(grepl("Seaweed",ss93$Treatment))
xx93 <- xx[,which(colnames(xx) %in% ss93$label)]
ss94 <- subset(ss,Treatment=="Seaweed_15294"|Treatment=="Water")
ss94$trt <- as.numeric(grepl("Seaweed",ss94$Treatment))
xx94 <- xx[,which(colnames(xx) %in% ss94$label)]
ss80 <- subset(ss,Treatment=="Seaweed_16280"|Treatment=="Water")
ss80$trt <- as.numeric(grepl("Seaweed",ss80$Treatment))
xx80 <- xx[,which(colnames(xx) %in% ss80$label)]
Here, were using DESeq2 to perform differential expression analysis to understand gene expression changes caused by the different formulations. Enrichment analysis is performed at the end using mitch with all 4 timepoints.
de93 <- run_de(ss93,xx93)
## converting counts to integer mode
## the design formula contains one or more numeric variables with integer values,
## specifying a model with increasing fold change for higher values.
## did you mean for this to be a factor? if so, first convert
## this variable to a factor using the factor() function
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## chr [1:131] "ATCG00650" "ATCG00270" "ATCG00450" "ATCG00090" "AT2G29380" ...
## chr [1:74] "AT1G07550" "AT4G15393" "AT1G61480" "AT4G13420" "AT5G42600" ...
de94 <- run_de(ss94,xx94)
## converting counts to integer mode
## the design formula contains one or more numeric variables with integer values,
## specifying a model with increasing fold change for higher values.
## did you mean for this to be a factor? if so, first convert
## this variable to a factor using the factor() function
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## chr [1:48] "AT1G05523" "AT1G07893" "AT5G47450" "AT2G29380" "ATCG01000" ...
## chr [1:63] "AT3G20380" "AT4G13420" "AT2G46390" "AT1G67148" "AT5G28630" ...
de80 <- run_de(ss80,xx80)
## converting counts to integer mode
## the design formula contains one or more numeric variables with integer values,
## specifying a model with increasing fold change for higher values.
## did you mean for this to be a factor? if so, first convert
## this variable to a factor using the factor() function
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## chr [1:729] "AT1G65970" "AT4G06665" "AT3G11510" "AT5G64100" "AT1G24996" ...
## chr [1:730] "AT2G47450" "AT1G55673" "AT2G22510" "AT2G32870" "AT2G18328" ...
de93_top <- head(as.data.frame(de93),40)
kbl(de93_top[order(-de93_top$log2FoldChange),]) %>% kable_styling()
baseMean | log2FoldChange | lfcSE | stat | pvalue | padj | |
---|---|---|---|---|---|---|
AT2G05250 | 20.06891 | 7.6582985 | 1.3561246 | 5.647194 | 0e+00 | 0.0000138 |
ATCG00030 | 156.69794 | 2.4690560 | 0.4318902 | 5.716861 | 0e+00 | 0.0000108 |
ATCG00460 | 81.51351 | 2.2885593 | 0.3389210 | 6.752486 | 0e+00 | 0.0000000 |
ATCG00150 | 613.03109 | 2.2836146 | 0.3304977 | 6.909622 | 0e+00 | 0.0000000 |
AT1G08440 | 148.04467 | 2.2193028 | 0.3056109 | 7.261857 | 0e+00 | 0.0000000 |
AT2G29440 | 66.63172 | 2.1181942 | 0.3736903 | 5.668314 | 0e+00 | 0.0000127 |
ATCG00300 | 475.91230 | 2.0292842 | 0.3685969 | 5.505430 | 0e+00 | 0.0000289 |
ATCG00270 | 5911.36124 | 1.9394232 | 0.2467682 | 7.859292 | 0e+00 | 0.0000000 |
ATCG00650 | 399.31947 | 1.8721366 | 0.1957331 | 9.564740 | 0e+00 | 0.0000000 |
AT2G29380 | 103.12033 | 1.8664464 | 0.2549292 | 7.321432 | 0e+00 | 0.0000000 |
ATCG00160 | 207.44469 | 1.8551026 | 0.3500219 | 5.299961 | 1e-07 | 0.0000747 |
ATCG00450 | 107.87068 | 1.8385628 | 0.2376897 | 7.735140 | 0e+00 | 0.0000000 |
AT5G05250 | 194.13408 | 1.7381615 | 0.2879731 | 6.035847 | 0e+00 | 0.0000019 |
ATCG00550 | 194.49345 | 1.6110753 | 0.2224401 | 7.242739 | 0e+00 | 0.0000000 |
ATCG00090 | 271.96536 | 1.3955804 | 0.1811235 | 7.705130 | 0e+00 | 0.0000000 |
ATCG00440 | 3614.44781 | 1.3786288 | 0.2343762 | 5.882121 | 0e+00 | 0.0000042 |
AT2G38600 | 313.27568 | 1.3159796 | 0.1959970 | 6.714286 | 0e+00 | 0.0000000 |
AT1G43800 | 226.58505 | 1.2514585 | 0.2083557 | 6.006355 | 0e+00 | 0.0000022 |
ATCG00080 | 244.13459 | 1.1923254 | 0.2025920 | 5.885352 | 0e+00 | 0.0000042 |
AT3G12500 | 683.07210 | 0.9640148 | 0.1390948 | 6.930631 | 0e+00 | 0.0000000 |
AT5G41080 | 753.96991 | 0.8650560 | 0.1587080 | 5.450615 | 1e-07 | 0.0000355 |
ATCG00820 | 1138.90003 | 0.8390081 | 0.1649416 | 5.086699 | 4e-07 | 0.0002103 |
ATCG00830 | 3961.83710 | 0.7438248 | 0.1206828 | 6.163472 | 0e+00 | 0.0000010 |
ATCG01310 | 3961.83710 | 0.7438248 | 0.1206828 | 6.163472 | 0e+00 | 0.0000010 |
AT1G25220 | 1104.70865 | 0.6507050 | 0.1296480 | 5.019012 | 5e-07 | 0.0002921 |
AT2G30860 | 19565.46921 | 0.6150604 | 0.1134059 | 5.423529 | 1e-07 | 0.0000401 |
AT2G01890 | 931.51406 | -0.6675194 | 0.1292639 | -5.164005 | 2e-07 | 0.0001433 |
AT1G60095 | 1453.37407 | -0.7102906 | 0.1297534 | -5.474157 | 0e+00 | 0.0000321 |
AT1G74450 | 595.40288 | -0.8671836 | 0.1665104 | -5.207986 | 2e-07 | 0.0001163 |
AT4G15393 | 1989.17973 | -0.9901515 | 0.1485213 | -6.666732 | 0e+00 | 0.0000000 |
AT4G19975 | 199.66962 | -0.9984882 | 0.1802379 | -5.539835 | 0e+00 | 0.0000246 |
AT2G17050 | 256.44657 | -1.0689654 | 0.2032928 | -5.258256 | 1e-07 | 0.0000912 |
AT2G14510 | 235.54066 | -1.0899585 | 0.2187095 | -4.983591 | 6e-07 | 0.0003418 |
AT1G07550 | 358.84301 | -1.1546757 | 0.1496251 | -7.717123 | 0e+00 | 0.0000000 |
AT1G74810 | 301.28682 | -1.2219915 | 0.2292445 | -5.330516 | 1e-07 | 0.0000651 |
AT1G61480 | 144.72070 | -1.3241403 | 0.2122536 | -6.238483 | 0e+00 | 0.0000007 |
AT5G08275 | 80.48553 | -1.4168300 | 0.2585898 | -5.479064 | 0e+00 | 0.0000321 |
AT5G42600 | 192.60018 | -1.5297996 | 0.2693292 | -5.680037 | 0e+00 | 0.0000127 |
AT4G13420 | 4964.41642 | -1.9741099 | 0.3251097 | -6.072134 | 0e+00 | 0.0000016 |
AT4G01985 | 583.32836 | -3.1637997 | 0.5575694 | -5.674270 | 0e+00 | 0.0000127 |
de94_top <- head(as.data.frame(de94),40)
kbl(de94_top[order(-de94_top$log2FoldChange),]) %>% kable_styling()
baseMean | log2FoldChange | lfcSE | stat | pvalue | padj | |
---|---|---|---|---|---|---|
AT4G06665 | 176.949923 | 11.0825144 | 1.9998867 | 5.541571 | 0.0e+00 | 0.0000499 |
AT2G08750 | 80.716371 | 9.9494840 | 2.1877668 | 4.547781 | 5.4e-06 | 0.0032604 |
AT1G05523 | 50.263784 | 9.2684255 | 1.2794841 | 7.243877 | 0.0e+00 | 0.0000000 |
ATCG01000 | 34.161919 | 8.7077199 | 1.5371206 | 5.664955 | 0.0e+00 | 0.0000318 |
AT2G09975 | 24.725558 | 8.2394817 | 1.5397308 | 5.351248 | 1.0e-07 | 0.0001051 |
AT1G07893 | 291.385881 | 3.0347990 | 0.4746791 | 6.393370 | 0.0e+00 | 0.0000009 |
AT2G29380 | 109.958811 | 2.3300527 | 0.3813925 | 6.109330 | 0.0e+00 | 0.0000031 |
AT1G08440 | 85.917146 | 1.5807682 | 0.3547177 | 4.456412 | 8.3e-06 | 0.0045109 |
AT5G47450 | 2398.597002 | 1.3591791 | 0.2170536 | 6.261951 | 0.0e+00 | 0.0000014 |
AT1G57590 | 504.091543 | 1.1338581 | 0.2509785 | 4.517749 | 6.3e-06 | 0.0035609 |
AT4G22530 | 356.754173 | 0.9359380 | 0.1871747 | 5.000345 | 6.0e-07 | 0.0005387 |
AT3G57010 | 687.200399 | 0.8450270 | 0.1742118 | 4.850574 | 1.2e-06 | 0.0010251 |
AT4G11570 | 2785.154584 | 0.6875898 | 0.1498746 | 4.587768 | 4.5e-06 | 0.0028586 |
AT1G35580 | 5760.956899 | 0.6528030 | 0.1340270 | 4.870682 | 1.1e-06 | 0.0009631 |
AT1G06430 | 3533.787890 | 0.6351913 | 0.1402416 | 4.529264 | 5.9e-06 | 0.0034634 |
AT4G10960 | 1006.088382 | 0.6234614 | 0.1334511 | 4.671835 | 3.0e-06 | 0.0020848 |
AT5G58200 | 1709.302202 | -0.6244188 | 0.1392258 | -4.484937 | 7.3e-06 | 0.0040489 |
AT2G40765 | 1293.208229 | -0.7169874 | 0.1407630 | -5.093577 | 4.0e-07 | 0.0003622 |
AT5G65040 | 903.352822 | -0.8117109 | 0.1473786 | -5.507657 | 0.0e+00 | 0.0000562 |
AT2G46390 | 970.073218 | -0.9195554 | 0.1451276 | -6.336184 | 0.0e+00 | 0.0000010 |
AT1G54950 | 280.407408 | -0.9595267 | 0.2047506 | -4.686320 | 2.8e-06 | 0.0020074 |
AT3G62040 | 730.548089 | -0.9724651 | 0.1865740 | -5.212222 | 2.0e-07 | 0.0002126 |
AT5G65980 | 480.343952 | -1.0101416 | 0.1812039 | -5.574614 | 0.0e+00 | 0.0000448 |
AT5G53880 | 729.219249 | -1.0167014 | 0.2032885 | -5.001273 | 6.0e-07 | 0.0005387 |
AT4G15393 | 1615.603995 | -1.0464929 | 0.2172873 | -4.816171 | 1.5e-06 | 0.0011734 |
AT3G52420 | 190.667544 | -1.1073950 | 0.2233719 | -4.957629 | 7.0e-07 | 0.0006437 |
AT1G49310 | 818.702027 | -1.1100436 | 0.2342177 | -4.739367 | 2.1e-06 | 0.0016005 |
AT3G52310 | 273.218762 | -1.1626381 | 0.2544375 | -4.569444 | 4.9e-06 | 0.0030249 |
AT3G48180 | 168.568433 | -1.1761801 | 0.2552235 | -4.608433 | 4.1e-06 | 0.0027449 |
AT3G07195 | 364.438346 | -1.2081644 | 0.2240949 | -5.391307 | 1.0e-07 | 0.0000891 |
AT3G20380 | 671.602736 | -1.2220039 | 0.1760420 | -6.941546 | 0.0e+00 | 0.0000000 |
AT5G52260 | 182.006398 | -1.5566513 | 0.2886810 | -5.392290 | 1.0e-07 | 0.0000891 |
AT1G67148 | 280.866425 | -1.5632862 | 0.2578229 | -6.063411 | 0.0e+00 | 0.0000036 |
AT1G71030 | 815.503034 | -1.7013740 | 0.3144715 | -5.410265 | 1.0e-07 | 0.0000891 |
AT5G28630 | 199.457731 | -1.7434598 | 0.2958335 | -5.893382 | 0.0e+00 | 0.0000091 |
AT4G13420 | 4050.402883 | -2.0339078 | 0.3126679 | -6.505009 | 0.0e+00 | 0.0000006 |
AT3G20760 | 85.636689 | -2.9389409 | 0.5748671 | -5.112383 | 3.0e-07 | 0.0003444 |
AT2G07495 | 9.177598 | -6.4736086 | 1.4111899 | -4.587340 | 4.5e-06 | 0.0028586 |
AT3G08230 | 11.757532 | -6.8235725 | 1.4243698 | -4.790591 | 1.7e-06 | 0.0012858 |
AT5G02195 | 17.480899 | -7.3974662 | 1.3109886 | -5.642662 | 0.0e+00 | 0.0000330 |
de80_top <- head(as.data.frame(de80),40)
kbl(de80_top[order(-de80_top$log2FoldChange),]) %>% kable_styling()
baseMean | log2FoldChange | lfcSE | stat | pvalue | padj | |
---|---|---|---|---|---|---|
AT4G06665 | 132.02756 | 10.6703428 | 1.2214435 | 8.735846 | 0 | 0 |
AT2G08750 | 37.84520 | 8.8747367 | 1.2919905 | 6.869042 | 0 | 0 |
AT1G24996 | 323.82079 | 4.3818892 | 0.5618073 | 7.799630 | 0 | 0 |
AT3G20810 | 1371.83363 | 3.1462473 | 0.4775527 | 6.588273 | 0 | 0 |
AT5G06760 | 1048.96459 | 2.9414243 | 0.4414667 | 6.662845 | 0 | 0 |
AT4G33905 | 330.48540 | 2.1883867 | 0.3352305 | 6.528005 | 0 | 0 |
AT1G65970 | 319.83244 | 1.8879852 | 0.2028938 | 9.305287 | 0 | 0 |
AT3G48510 | 71.68292 | 1.7527497 | 0.2646986 | 6.621681 | 0 | 0 |
AT1G19250 | 177.80497 | 1.3027098 | 0.2005740 | 6.494908 | 0 | 0 |
AT3G14440 | 696.62229 | 1.1073515 | 0.1674480 | 6.613105 | 0 | 0 |
AT5G03345 | 831.78940 | 0.9323214 | 0.1398791 | 6.665195 | 0 | 0 |
AT5G64100 | 3886.71544 | 0.9061570 | 0.1091747 | 8.300067 | 0 | 0 |
AT4G12600 | 1344.31545 | 0.8738919 | 0.1317509 | 6.632912 | 0 | 0 |
AT3G11510 | 6114.57364 | 0.8224084 | 0.0964760 | 8.524483 | 0 | 0 |
AT5G42090 | 3764.73635 | 0.7636518 | 0.1042944 | 7.322079 | 0 | 0 |
AT1G14980 | 1578.18877 | 0.7608785 | 0.1126658 | 6.753414 | 0 | 0 |
AT3G22230 | 3405.70403 | 0.7473244 | 0.0963363 | 7.757453 | 0 | 0 |
AT3G09735 | 1220.96912 | 0.7320855 | 0.0981377 | 7.459776 | 0 | 0 |
AT2G44310 | 1560.18430 | 0.6872796 | 0.0950144 | 7.233422 | 0 | 0 |
AT3G18740 | 3328.73251 | 0.6726190 | 0.1004285 | 6.697488 | 0 | 0 |
AT4G09320 | 6585.58229 | 0.6659963 | 0.0894218 | 7.447803 | 0 | 0 |
AT4G20150 | 3164.43679 | 0.6605573 | 0.0950525 | 6.949394 | 0 | 0 |
AT5G02870 | 7649.88412 | 0.6494672 | 0.0860326 | 7.549084 | 0 | 0 |
AT1G55330 | 2376.62233 | 0.6279042 | 0.0917265 | 6.845395 | 0 | 0 |
AT3G53430 | 5234.77439 | 0.6126416 | 0.0824943 | 7.426474 | 0 | 0 |
AT5G57660 | 1896.01283 | -0.7450316 | 0.1135806 | -6.559499 | 0 | 0 |
AT2G32870 | 1214.28389 | -0.8573352 | 0.1021669 | -8.391513 | 0 | 0 |
AT3G47470 | 34652.01704 | -0.8809525 | 0.1335732 | -6.595277 | 0 | 0 |
AT3G15353 | 23919.22730 | -0.9793861 | 0.1511211 | -6.480802 | 0 | 0 |
AT2G18328 | 689.16212 | -1.0454080 | 0.1455697 | -7.181493 | 0 | 0 |
AT4G39720 | 211.17876 | -1.0949131 | 0.1686647 | -6.491655 | 0 | 0 |
AT2G47450 | 3594.05175 | -1.1612794 | 0.1044117 | -11.122115 | 0 | 0 |
AT5G48490 | 1040.34652 | -1.2382333 | 0.1779417 | -6.958647 | 0 | 0 |
AT5G54270 | 14956.45719 | -1.2741526 | 0.1886138 | -6.755352 | 0 | 0 |
AT1G64370 | 5582.52780 | -1.2768304 | 0.1829606 | -6.978719 | 0 | 0 |
AT4G38080 | 3041.08385 | -1.4147394 | 0.1978268 | -7.151404 | 0 | 0 |
AT2G22510 | 1187.84821 | -1.5712553 | 0.1672951 | -9.392116 | 0 | 0 |
AT3G02400 | 210.64282 | -2.0573297 | 0.3175210 | -6.479350 | 0 | 0 |
AT1G15830 | 157.00814 | -2.1186271 | 0.3203694 | -6.613077 | 0 | 0 |
AT1G55673 | 735.08530 | -12.7838910 | 1.2309372 | -10.385494 | 0 | 0 |
write.table(de93,file="de93.tsv",quote=FALSE,sep="\t")
write.table(de94,file="de94.tsv",quote=FALSE,sep="\t")
write.table(de80,file="de80.tsv",quote=FALSE,sep="\t")
de93_up <- rownames(subset(de93,padj<0.05&log2FoldChange>0))
de93_dn <- rownames(subset(de93,padj<0.05&log2FoldChange<0))
de94_up <- rownames(subset(de94,padj<0.05&log2FoldChange>0))
de94_dn <- rownames(subset(de94,padj<0.05&log2FoldChange<0))
de80_up <- rownames(subset(de80,padj<0.05&log2FoldChange>0))
de80_dn <- rownames(subset(de80,padj<0.05&log2FoldChange<0))
up <- sapply(list(de93_up,de94_up,de80_up),length)
dn <- sapply(list(de93_dn,de94_dn,de80_dn),length)
res_summary <- data.frame(up,dn,row.names=c("S93","S94","S80"))
res_summary$de <- c("93","94","80")
kbl(res_summary) %>% kable_styling()
up | dn | de | |
---|---|---|---|
S93 | 131 | 74 | 93 |
S94 | 48 | 63 | 94 |
S80 | 729 | 730 | 80 |
barplot(res_summary$up,ylim=c(-750,750), axes=TRUE, main="number of DEGs up/down")
barplot(-res_summary$dn, add = TRUE, names.arg = rownames(res_summary), axes = FALSE)
# upregulated genes
v1 <- list("93 up"=de93_up, "94 up"=de94_up, "80 up" =de80_up )
plot(euler(v1),quantities = TRUE)
intersect(de93_up,de94_up)
## [1] "AT2G29380" "AT1G08440" "AT2G29440" "AT1G59940" "AT3G57010" "AT1G17180"
## [7] "AT5G59090" "AT1G24996"
intersect(de93_up,de80_up)
## [1] "ATCG00650" "ATCG00270" "ATCG00090" "AT2G29380" "ATCG00550" "AT3G12500"
## [7] "ATCG00460" "ATCG00440" "ATCG00030" "AT2G29440" "ATCG00300" "AT5G41080"
## [13] "ATCG00820" "AT3G48510" "ATCG00640" "AT1G59940" "ATCG00620" "AT3G57010"
## [19] "AT1G17180" "AT4G37070" "ATCG01040" "AT3G56970" "ATCG00210" "AT1G19540"
## [25] "ATCG00360" "AT5G63350" "ATCG00670" "AT5G59090" "AT1G24996" "ATCG00040"
## [31] "AT3G56980" "AT1G61255" "ATCG00050" "AT3G15670" "AT3G48100" "ATCG00380"
## [37] "AT3G18280" "ATCG00370" "AT1G14980" "AT1G07985"
intersect(de93_up,de80_up)
## [1] "ATCG00650" "ATCG00270" "ATCG00090" "AT2G29380" "ATCG00550" "AT3G12500"
## [7] "ATCG00460" "ATCG00440" "ATCG00030" "AT2G29440" "ATCG00300" "AT5G41080"
## [13] "ATCG00820" "AT3G48510" "ATCG00640" "AT1G59940" "ATCG00620" "AT3G57010"
## [19] "AT1G17180" "AT4G37070" "ATCG01040" "AT3G56970" "ATCG00210" "AT1G19540"
## [25] "ATCG00360" "AT5G63350" "ATCG00670" "AT5G59090" "AT1G24996" "ATCG00040"
## [31] "AT3G56980" "AT1G61255" "ATCG00050" "AT3G15670" "AT3G48100" "ATCG00380"
## [37] "AT3G18280" "ATCG00370" "AT1G14980" "AT1G07985"
intersect(de94_up,de80_up)
## [1] "AT1G07893" "AT2G29380" "AT4G06665" "AT4G22530" "AT1G35580" "AT3G57010"
## [7] "AT4G10960" "AT2G08750" "AT1G57590" "AT5G64100" "AT4G02280" "AT2G36830"
## [13] "AT4G17340" "AT1G43910" "AT3G56800" "AT1G24996" "AT2G02870" "AT2G39040"
## [19] "AT1G17180" "AT4G23630" "AT1G59940" "AT3G59500" "AT2G29440" "AT5G59090"
## [25] "AT5G60790" "AT5G24080"
names(which(table(c(de93_up,de94_up,de80_up))==3))
## [1] "AT1G17180" "AT1G24996" "AT1G59940" "AT2G29380" "AT2G29440" "AT3G57010"
## [7] "AT5G59090"
# downregulated genes
v2 <- list("93 dn"=de93_dn, "94 dn"=de94_dn, "80 dn" =de80_dn )
plot(euler(v2),quantities = TRUE)
intersect(de93_dn,de94_dn)
## [1] "AT1G07550" "AT4G15393" "AT4G13420" "AT4G19975" "AT5G65980" "AT3G52310"
## [7] "AT3G10320"
intersect(de93_dn,de80_dn)
## [1] "AT4G15393" "AT4G13420" "AT4G01985" "AT5G08275" "AT5G56270" "AT3G52310"
## [7] "AT4G11300" "AT3G10320" "AT2G02610" "AT1G62760" "AT2G26650" "AT3G02620"
## [13] "AT3G13760"
intersect(de93_dn,de80_dn)
## [1] "AT4G15393" "AT4G13420" "AT4G01985" "AT5G08275" "AT5G56270" "AT3G52310"
## [7] "AT4G11300" "AT3G10320" "AT2G02610" "AT1G62760" "AT2G26650" "AT3G02620"
## [13] "AT3G13760"
intersect(de94_dn,de80_dn)
## [1] "AT3G20380" "AT4G13420" "AT1G67148" "AT5G28630" "AT1G71030" "AT5G52260"
## [7] "AT3G07195" "AT3G62040" "AT2G40765" "AT5G53880" "AT3G52420" "AT4G15393"
## [13] "AT1G54950" "AT3G52310" "AT5G58200" "AT5G19151" "AT3G43800" "AT5G57340"
## [19] "AT2G28110" "AT5G20110" "AT3G61210" "AT2G45660" "AT4G16240" "AT1G78780"
## [25] "AT1G70470" "AT5G48560" "AT3G10320" "AT5G57565" "AT5G44578" "AT1G56200"
## [31] "AT4G01390" "AT3G53235" "AT3G58550" "AT2G16750" "AT1G54410" "AT5G19090"
## [37] "AT5G44480" "AT3G14020" "AT1G10690"
names(which(table(c(de93_dn,de94_dn,de80_dn))==3))
## [1] "AT3G10320" "AT3G52310" "AT4G13420" "AT4G15393"
# up and downregulated genes
v3 <- list("93 up"=de93_up, "94 up"=de94_up, "80 up" =de80_up ,
"93 dn"=de93_dn, "94 dn"=de94_dn, "80 dn" =de80_dn )
plot(euler(v3),quantities = TRUE)
intersect(de93_up,de80_dn)
## [1] "AT2G05510"
Here is a heatmap of all the differentially expressed genes. It looks a bit random.
degs <- unique(c(de93_up,de93_dn,de94_up,de94_dn,de80_up,de80_dn))
xxx <- xx/colSums(xx)*1e6
deg_mx <- as.matrix(xxx[which(rownames(xxx) %in% degs),])
colfunc <- colorRampPalette(c("blue", "white", "red"))
heatmap.2(deg_mx,col=colfunc(25),trace="none",scale="row",margin=c(10,10))
Mapman pathways last modified in 2012 and used in the previous RNA-seq analysis.
genesets <- gmt_import("../baseline/ref/Ath_AGI_LOCUS_TAIR10_Aug2012.txt.gmt")
gt <- read.table("../baseline/ref/Arabidopsis_thaliana.TAIR10.46.geneaccession2symbol.tsv",
fill=TRUE)
l <- list("S93"=de93,"S94"=de94,"S80"=de80)
m <- mitch_import(x=l,DEtype="deseq2",geneTable=gt)
## Note: Mean no. genes in input = 21817.6666666667
## Note: no. genes in output = 21283
## Note: estimated proportion of input genes in output = 0.975
# significance
res_sig <- mitch_calc(x=m,genesets=genesets,priority="significance")
## Note: When prioritising by significance (ie: small
## p-values), large effect sizes might be missed.
top <- head(subset(res_sig$enrichment_result,p.adjustMANOVA<0.05),50)
kbl(head(top,30)) %>% kable_styling()
set | setSize | pMANOVA | s.S93 | s.S94 | s.S80 | p.S93 | p.S94 | p.S80 | s.dist | SD | p.adjustMANOVA | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
90 | NOT_ASSIGNED_NO_ONTOLOGY_PENTATRICOPEPTIDE_(PPR)_REPEAT-CONTAINING_PROTEIN | 417 | 0.0e+00 | -0.3577936 | 0.2891597 | 0.1931390 | 0.0000000 | 0.0000000 | 0.0000000 | 0.4989312 | 0.3491168 | 0.00e+00 |
93 | NOT_ASSIGNED_UNKNOWN | 4521 | 0.0e+00 | 0.0411330 | -0.1138630 | -0.0073580 | 0.0000212 | 0.0000000 | 0.4469948 | 0.1212883 | 0.0792868 | 0.00e+00 |
12 | CELL_WALL_CELL_WALL_PROTEINS_AGPS_AGP | 39 | 0.0e+00 | 0.5658792 | -0.1886530 | -0.1315871 | 0.0000000 | 0.0414797 | 0.1550328 | 0.6108391 | 0.4201259 | 0.00e+00 |
247 | TRANSPORT_ABC_TRANSPORTERS_AND_MULTIDRUG_RESISTANCE_SYSTEMS | 110 | 0.0e+00 | -0.1271843 | 0.2524158 | -0.0458457 | 0.0211976 | 0.0000048 | 0.4061819 | 0.2863414 | 0.1998633 | 0.00e+00 |
111 | PROTEIN_DEGRADATION_UBIQUITIN_E3_SCF_FBOX | 250 | 0.0e+00 | -0.0642514 | 0.1762971 | 0.2054725 | 0.0802577 | 0.0000016 | 0.0000000 | 0.2782586 | 0.1480235 | 0.00e+00 |
25 | DNA_SYNTHESIS/CHROMATIN_STRUCTURE | 204 | 0.0e+00 | -0.1564962 | -0.0362562 | -0.2357039 | 0.0001165 | 0.3720839 | 0.0000000 | 0.2852401 | 0.1004248 | 0.00e+00 |
241 | STRESS_BIOTIC_PR-PROTEINS | 170 | 0.0e+00 | -0.1955422 | -0.0866714 | -0.2698443 | 0.0000109 | 0.0512409 | 0.0000000 | 0.3443322 | 0.0921285 | 0.00e+00 |
91 | NOT_ASSIGNED_NO_ONTOLOGY_PROLINE_RICH_FAMILY | 38 | 0.0e+00 | -0.0392835 | -0.5140553 | -0.5498953 | 0.6751904 | 0.0000000 | 0.0000000 | 0.7537778 | 0.2850196 | 0.00e+00 |
113 | PROTEIN_DEGRADATION_UBIQUITIN_PROTEASOM | 59 | 0.0e+00 | 0.2370549 | 0.2544928 | 0.4930459 | 0.0016348 | 0.0007213 | 0.0000000 | 0.6033705 | 0.1430286 | 0.00e+00 |
174 | RNA_REGULATION_OF_TRANSCRIPTION_G2-LIKE_TRANSCRIPTION_FACTOR_FAMILY,_GARP | 37 | 0.0e+00 | -0.0823863 | -0.5920351 | -0.4031105 | 0.3858352 | 0.0000000 | 0.0000220 | 0.7209655 | 0.2576492 | 0.00e+00 |
85 | NOT_ASSIGNED_NO_ONTOLOGY_DC1_DOMAIN_CONTAINING_PROTEIN | 101 | 0.0e+00 | -0.3728974 | -0.1910010 | -0.1320400 | 0.0000000 | 0.0009097 | 0.0218507 | 0.4392817 | 0.1255488 | 1.00e-07 |
8 | CELL_ORGANISATION | 344 | 0.0e+00 | -0.0593010 | -0.0476817 | -0.1865938 | 0.0588195 | 0.1286907 | 0.0000000 | 0.2015128 | 0.0770660 | 1.00e-07 |
144 | PS_LIGHTREACTION_PHOTOSYSTEM_II_LHC-II | 14 | 0.0e+00 | 0.1861126 | 0.3946925 | -0.5209661 | 0.2279330 | 0.0105548 | 0.0007371 | 0.6795776 | 0.4799126 | 1.00e-07 |
185 | RNA_REGULATION_OF_TRANSCRIPTION_MYB_DOMAIN_TRANSCRIPTION_FACTOR_FAMILY | 121 | 0.0e+00 | 0.0812981 | -0.2043840 | -0.2470646 | 0.1224722 | 0.0001030 | 0.0000027 | 0.3307916 | 0.1785394 | 3.00e-07 |
108 | PROTEIN_DEGRADATION_UBIQUITIN_E2 | 38 | 0.0e+00 | 0.1794552 | -0.2956634 | 0.1368396 | 0.0555798 | 0.0016095 | 0.1443744 | 0.3719490 | 0.2628728 | 4.00e-07 |
88 | NOT_ASSIGNED_NO_ONTOLOGY_GLYCINE_RICH_PROTEINS | 55 | 0.0e+00 | -0.2697929 | -0.3713466 | -0.4505542 | 0.0005375 | 0.0000019 | 0.0000000 | 0.6431839 | 0.0906105 | 4.00e-07 |
165 | RNA_REGULATION_OF_TRANSCRIPTION_BHLH,BASIC_HELIX-LOOP-HELIX_FAMILY | 120 | 0.0e+00 | 0.1152845 | -0.1998834 | -0.1914765 | 0.0291695 | 0.0001554 | 0.0002911 | 0.2998452 | 0.1795846 | 6.00e-07 |
52 | MICRO_RNA,_NATURAL_ANTISENSE_ETC | 201 | 2.0e-07 | 0.0749339 | -0.1662268 | -0.0648100 | 0.0670504 | 0.0000484 | 0.1132170 | 0.1935117 | 0.1210869 | 3.30e-06 |
104 | PROTEIN_DEGRADATION_METALLOPROTEASE | 37 | 3.0e-07 | -0.3346538 | 0.2183788 | -0.0101463 | 0.0004266 | 0.0215180 | 0.9149490 | 0.3997316 | 0.2779010 | 3.60e-06 |
10 | CELL_WALL_CELLULOSE_SYNTHESIS | 14 | 5.0e-07 | 0.5263999 | 0.5927406 | -0.1163061 | 0.0006482 | 0.0001227 | 0.4511721 | 0.8012274 | 0.3916247 | 6.40e-06 |
78 | MITOCHONDRIAL_ELECTRON_TRANSPORT_/_ATP_SYNTHESIS_F1-ATPASE | 20 | 6.0e-07 | 0.6517189 | 0.1681371 | 0.3626064 | 0.0000004 | 0.1930114 | 0.0049926 | 0.7645202 | 0.2433296 | 7.60e-06 |
168 | RNA_REGULATION_OF_TRANSCRIPTION_C2C2(ZN)_DOF_ZINC_FINGER_FAMILY | 31 | 9.0e-07 | 0.2344037 | -0.2650134 | -0.4000291 | 0.0238919 | 0.0106530 | 0.0001156 | 0.5340417 | 0.3342035 | 1.10e-05 |
186 | RNA_REGULATION_OF_TRANSCRIPTION_MYB-RELATED_TRANSCRIPTION_FACTOR_FAMILY | 42 | 1.0e-06 | 0.0546069 | -0.1793903 | -0.4518395 | 0.5403245 | 0.0442579 | 0.0000004 | 0.4892052 | 0.2534664 | 1.11e-05 |
173 | RNA_REGULATION_OF_TRANSCRIPTION_CHROMATIN_REMODELING_FACTORS | 35 | 1.0e-06 | -0.3666201 | -0.0808627 | -0.3783294 | 0.0001740 | 0.4077425 | 0.0001071 | 0.5329936 | 0.1684640 | 1.11e-05 |
118 | PROTEIN_POSTRANSLATIONAL_MODIFICATION | 505 | 1.1e-06 | -0.0773232 | 0.0529974 | -0.0324519 | 0.0029407 | 0.0415321 | 0.2120316 | 0.0992005 | 0.0662048 | 1.13e-05 |
11 | CELL_WALL_CELLULOSE_SYNTHESIS_CELLULOSE_SYNTHASE | 24 | 1.3e-06 | -0.0120851 | 0.4942652 | 0.0070088 | 0.9183745 | 0.0000276 | 0.9526060 | 0.4944626 | 0.2869884 | 1.32e-05 |
79 | MITOCHONDRIAL_ELECTRON_TRANSPORT_/_ATP_SYNTHESIS_NADH-DH_LOCALISATION_NOT_CLEAR | 33 | 1.3e-06 | 0.4985982 | 0.2220720 | 0.3395594 | 0.0000007 | 0.0272532 | 0.0007349 | 0.6428194 | 0.1387824 | 1.32e-05 |
134 | PROTEIN_TARGETING_CHLOROPLAST | 36 | 1.7e-06 | -0.4328925 | 0.0106237 | 0.1362885 | 0.0000069 | 0.9121674 | 0.1570381 | 0.4539640 | 0.2990165 | 1.57e-05 |
110 | PROTEIN_DEGRADATION_UBIQUITIN_E3_RING | 374 | 1.8e-06 | -0.1628086 | -0.0663701 | -0.0559343 | 0.0000001 | 0.0275576 | 0.0633083 | 0.1845001 | 0.0589229 | 1.60e-05 |
13 | CELL_WALL_CELL_WALL_PROTEINS_HRGP | 14 | 2.3e-06 | -0.1955227 | -0.6041254 | -0.8034698 | 0.2052754 | 0.0000906 | 0.0000002 | 1.0240900 | 0.3099178 | 2.03e-05 |
rownames(top) <- top[,1]
top <- top[,4:6]
colfunc <- colorRampPalette(c("blue", "white", "red"))
colnames(top) <- gsub("s\\.","",colnames(top))
heatmap.2( as.matrix(top), col=colfunc(25),
scale="none",Colv=FALSE,trace="none", dendrogram="row",
margins = c(10,30), cexCol=0.5 , cexRow=0.5, main="Top genes sets by p-value")
# effect size
res_eff <- mitch_calc(x=m,genesets=genesets,priority="effect")
## Note: Enrichments with large effect sizes may not be
## statistically significant.
top <- head(subset(res_eff$enrichment_result,p.adjustMANOVA<0.05),50)
kbl(head(top,30)) %>% kable_styling()
set | setSize | pMANOVA | s.S93 | s.S94 | s.S80 | p.S93 | p.S94 | p.S80 | s.dist | SD | p.adjustMANOVA | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
172 | RNA_REGULATION_OF_TRANSCRIPTION_CCAAT_BOX_BINDING_FACTOR_FAMILY,_HAP2 | 10 | 0.0000738 | -0.2732572 | -0.6907347 | -0.8002632 | 0.1345778 | 0.0001551 | 0.0000117 | 1.0918815 | 0.2780945 | 0.0003579 |
153 | REDOX_THIOREDOXIN_PDIL | 13 | 0.0000557 | 0.4920328 | 0.6378648 | 0.6511085 | 0.0021265 | 0.0000681 | 0.0000479 | 1.0358137 | 0.0882680 | 0.0003013 |
13 | CELL_WALL_CELL_WALL_PROTEINS_HRGP | 14 | 0.0000023 | -0.1955227 | -0.6041254 | -0.8034698 | 0.2052754 | 0.0000906 | 0.0000002 | 1.0240900 | 0.3099178 | 0.0000203 |
251 | TRANSPORT_MAJOR_INTRINSIC_PROTEINS_PIP | 13 | 0.0002546 | 0.4479549 | 0.6066761 | 0.5947488 | 0.0051625 | 0.0001519 | 0.0002044 | 0.9604403 | 0.0883960 | 0.0010882 |
20 | DEVELOPMENT_LATE_EMBRYOGENESIS_ABUNDANT | 18 | 0.0000743 | 0.2187946 | 0.5334065 | 0.5854848 | 0.1080369 | 0.0000891 | 0.0000170 | 0.8216970 | 0.1983912 | 0.0003579 |
10 | CELL_WALL_CELLULOSE_SYNTHESIS | 14 | 0.0000005 | 0.5263999 | 0.5927406 | -0.1163061 | 0.0006482 | 0.0001227 | 0.4511721 | 0.8012274 | 0.3916247 | 0.0000064 |
128 | PROTEIN_SYNTHESIS_RIBOSOMAL_RNA | 15 | 0.0000613 | 0.6871544 | 0.2616325 | 0.2850793 | 0.0000040 | 0.0793575 | 0.0559191 | 0.7886082 | 0.2391941 | 0.0003183 |
188 | RNA_REGULATION_OF_TRANSCRIPTION_NUCLEOSOME/CHROMATIN_ASSEMBLY_FACTOR_GROUP | 13 | 0.0008450 | -0.0674912 | -0.5582221 | -0.5318216 | 0.6735141 | 0.0004915 | 0.0008987 | 0.7739517 | 0.2760183 | 0.0029083 |
78 | MITOCHONDRIAL_ELECTRON_TRANSPORT_/_ATP_SYNTHESIS_F1-ATPASE | 20 | 0.0000006 | 0.6517189 | 0.1681371 | 0.3626064 | 0.0000004 | 0.1930114 | 0.0049926 | 0.7645202 | 0.2433296 | 0.0000076 |
91 | NOT_ASSIGNED_NO_ONTOLOGY_PROLINE_RICH_FAMILY | 38 | 0.0000000 | -0.0392835 | -0.5140553 | -0.5498953 | 0.6751904 | 0.0000000 | 0.0000000 | 0.7537778 | 0.2850196 | 0.0000000 |
26 | DNA_SYNTHESIS/CHROMATIN_STRUCTURE_HISTONE_CORE_H2A | 14 | 0.0006407 | 0.5562959 | 0.2184265 | 0.4055399 | 0.0003129 | 0.1570537 | 0.0086042 | 0.7222450 | 0.1692604 | 0.0023581 |
174 | RNA_REGULATION_OF_TRANSCRIPTION_G2-LIKE_TRANSCRIPTION_FACTOR_FAMILY,_GARP | 37 | 0.0000000 | -0.0823863 | -0.5920351 | -0.4031105 | 0.3858352 | 0.0000000 | 0.0000220 | 0.7209655 | 0.2576492 | 0.0000000 |
39 | HORMONE_METABOLISM_JASMONATE_INDUCED-REGULATED-RESPONSIVE-ACTIVATED | 13 | 0.0013418 | 0.3910455 | 0.5808904 | 0.1711186 | 0.0146321 | 0.0002868 | 0.2854031 | 0.7208549 | 0.2050698 | 0.0043900 |
138 | PROTEIN_TARGETING_SECRETORY_PATHWAY_ER | 14 | 0.0006586 | 0.4545650 | 0.2192997 | 0.5105956 | 0.0032288 | 0.1554019 | 0.0009390 | 0.7179342 | 0.1545652 | 0.0023584 |
75 | MITOCHONDRIAL_ELECTRON_TRANSPORT_/_ATP_SYNTHESIS_CYTOCHROME_C | 10 | 0.0180976 | 0.4681239 | 0.2835895 | 0.4501763 | 0.0103633 | 0.1204538 | 0.0136949 | 0.7086760 | 0.1017564 | 0.0361612 |
87 | NOT_ASSIGNED_NO_ONTOLOGY_FORMIN_HOMOLOGY_2_DOMAIN-CONTAINING_PROTEIN | 16 | 0.0007986 | -0.1948030 | -0.3068310 | -0.5883881 | 0.1773123 | 0.0335886 | 0.0000459 | 0.6915881 | 0.2027864 | 0.0028217 |
209 | SIGNALLING_14-3-3_PROTEINS | 11 | 0.0073188 | 0.4501350 | 0.2105200 | 0.4671784 | 0.0097319 | 0.2266695 | 0.0072941 | 0.6820527 | 0.1435150 | 0.0179582 |
14 | CELL_WALL_CELL_WALL_PROTEINS_LRR | 17 | 0.0010390 | -0.1931445 | -0.3283396 | -0.5628537 | 0.1679790 | 0.0190838 | 0.0000586 | 0.6796440 | 0.1870648 | 0.0035300 |
144 | PS_LIGHTREACTION_PHOTOSYSTEM_II_LHC-II | 14 | 0.0000000 | 0.1861126 | 0.3946925 | -0.5209661 | 0.2279330 | 0.0105548 | 0.0007371 | 0.6795776 | 0.4799126 | 0.0000001 |
160 | RNA_REGULATION_OF_TRANSCRIPTION_ARF,_AUXIN_RESPONSE_FACTOR_FAMILY | 16 | 0.0026024 | -0.2512167 | -0.3240995 | -0.5359595 | 0.0818967 | 0.0247948 | 0.0002054 | 0.6748354 | 0.1479161 | 0.0078369 |
242 | STRESS_BIOTIC_PR-PROTEINS_PLANT_DEFENSINS | 13 | 0.0001118 | 0.4622835 | 0.0020397 | 0.4478247 | 0.0038994 | 0.9898405 | 0.0051755 | 0.6436281 | 0.2616479 | 0.0005198 |
88 | NOT_ASSIGNED_NO_ONTOLOGY_GLYCINE_RICH_PROTEINS | 55 | 0.0000000 | -0.2697929 | -0.3713466 | -0.4505542 | 0.0005375 | 0.0000019 | 0.0000000 | 0.6431839 | 0.0906105 | 0.0000004 |
79 | MITOCHONDRIAL_ELECTRON_TRANSPORT_/_ATP_SYNTHESIS_NADH-DH_LOCALISATION_NOT_CLEAR | 33 | 0.0000013 | 0.4985982 | 0.2220720 | 0.3395594 | 0.0000007 | 0.0272532 | 0.0007349 | 0.6428194 | 0.1387824 | 0.0000132 |
163 | RNA_REGULATION_OF_TRANSCRIPTION_AUX/IAA_FAMILY | 22 | 0.0000493 | 0.5582094 | 0.3107696 | 0.0665666 | 0.0000058 | 0.0116213 | 0.5888659 | 0.6423446 | 0.2458232 | 0.0002722 |
227 | SIGNALLING_RECEPTOR_KINASES_LEUCINE_RICH_REPEAT_X | 12 | 0.0002626 | -0.2642095 | 0.4842900 | 0.3117233 | 0.1130200 | 0.0036721 | 0.0615144 | 0.6336520 | 0.3919459 | 0.0010896 |
48 | LIPID_METABOLISM_PHOSPHOLIPID_SYNTHESIS | 16 | 0.0132641 | 0.2237622 | 0.4541778 | 0.3682525 | 0.1212280 | 0.0016573 | 0.0107595 | 0.6260646 | 0.1164417 | 0.0276771 |
124 | PROTEIN_SYNTHESIS_ELONGATION | 29 | 0.0000070 | 0.0022584 | 0.4575626 | 0.4268957 | 0.9832063 | 0.0000199 | 0.0000690 | 0.6257863 | 0.2544796 | 0.0000514 |
183 | RNA_REGULATION_OF_TRANSCRIPTION_MADS_BOX_TRANSCRIPTION_FACTOR_FAMILY | 28 | 0.0001533 | -0.1825688 | -0.4780858 | -0.3586854 | 0.0944994 | 0.0000119 | 0.0010181 | 0.6249421 | 0.1486628 | 0.0006885 |
82 | NOT_ASSIGNED_NO_ONTOLOGY_AGENET_DOMAIN-CONTAINING_PROTEIN | 15 | 0.0088425 | -0.4661024 | -0.2449752 | -0.3204251 | 0.0017733 | 0.1004408 | 0.0316574 | 0.6163899 | 0.1124069 | 0.0202004 |
196 | RNA_REGULATION_OF_TRANSCRIPTION_TRIHELIX,_TRIPLE-HELIX_TRANSCRIPTION_FACTOR_FAMILY | 29 | 0.0000272 | -0.1438464 | -0.2879523 | -0.5232703 | 0.1800034 | 0.0072730 | 0.0000011 | 0.6143452 | 0.1915305 | 0.0001676 |
rownames(top) <- top[,1]
top <- top[,4:6]
colfunc <- colorRampPalette(c("blue", "white", "red"))
colnames(top) <- gsub("s\\.","",colnames(top))
heatmap.2( as.matrix(top), col=colfunc(25),
scale="none",Colv=FALSE,trace="none", dendrogram="row",
margins = c(10,30), cexCol=0.5 , cexRow=0.5, main="Top genes sets by effect size (FDR<0.05)")
unlink("mapman_report_sig.html")
capture.output(
mitch_report(res_sig,outfile=paste("mapman_report_sig.html"))
, file = "/dev/null", append = FALSE,
type = c("output", "message"), split = FALSE)
## Dataset saved as " /tmp/RtmpE6FsNj/mapman_report_sig.rds ".
##
##
## processing file: mitch.Rmd
## output file: /mnt/bfx4/tohidul/baseline3/mitch.knit.md
##
## Output created: /tmp/RtmpE6FsNj/mitch_report.html
unlink("mapman_report_eff.html")
capture.output(
mitch_report(res_eff,outfile=paste("mapman_report_eff.html"))
, file = "/dev/null", append = FALSE,
type = c("output", "message"), split = FALSE)
## Dataset saved as " /tmp/RtmpE6FsNj/mapman_report_eff.rds ".
##
##
## processing file: mitch.Rmd
## output file: /mnt/bfx4/tohidul/baseline3/mitch.knit.md
##
## Output created: /tmp/RtmpE6FsNj/mitch_report.html
So you know what version of R and packages was used.
sessionInfo()
## R version 4.0.3 (2020-10-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.2 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] parallel stats4 stats graphics grDevices utils datasets
## [8] methods base
##
## other attached packages:
## [1] pkgload_1.1.0 GGally_2.0.0
## [3] ggplot2_3.3.2 beeswarm_0.2.3
## [5] gtools_3.8.2 tibble_3.0.4
## [7] dplyr_1.0.2 echarts4r_0.3.3
## [9] UpSetR_1.4.0 eulerr_6.1.0
## [11] kableExtra_1.3.4 mitch_1.2.2
## [13] DESeq2_1.30.0 SummarizedExperiment_1.20.0
## [15] Biobase_2.50.0 MatrixGenerics_1.2.0
## [17] matrixStats_0.57.0 GenomicRanges_1.42.0
## [19] GenomeInfoDb_1.26.0 IRanges_2.24.0
## [21] S4Vectors_0.28.0 BiocGenerics_0.36.0
## [23] gplots_3.1.0 reshape2_1.4.4
##
## loaded via a namespace (and not attached):
## [1] bitops_1.0-6 bit64_4.0.5 webshot_0.5.2
## [4] RColorBrewer_1.1-2 httr_1.4.2 rprojroot_1.3-2
## [7] backports_1.2.0 tools_4.0.3 R6_2.5.0
## [10] KernSmooth_2.23-18 DBI_1.1.0 colorspace_2.0-0
## [13] withr_2.3.0 tidyselect_1.1.0 gridExtra_2.3
## [16] bit_4.0.4 compiler_4.0.3 rvest_0.3.6
## [19] xml2_1.3.2 desc_1.2.0 DelayedArray_0.16.0
## [22] labeling_0.4.2 caTools_1.18.0 scales_1.1.1
## [25] genefilter_1.72.0 systemfonts_1.0.1 stringr_1.4.0
## [28] digest_0.6.27 rmarkdown_2.5 svglite_2.0.0
## [31] XVector_0.30.0 pkgconfig_2.0.3 htmltools_0.5.0
## [34] highr_0.8 fastmap_1.0.1 htmlwidgets_1.5.2
## [37] rlang_0.4.8 rstudioapi_0.12 RSQLite_2.2.1
## [40] shiny_1.5.0 farver_2.0.3 generics_0.1.0
## [43] jsonlite_1.7.1 BiocParallel_1.24.1 RCurl_1.98-1.2
## [46] magrittr_1.5 GenomeInfoDbData_1.2.4 Matrix_1.2-18
## [49] Rcpp_1.0.5 munsell_0.5.0 lifecycle_0.2.0
## [52] yaml_2.2.1 stringi_1.5.3 MASS_7.3-53
## [55] zlibbioc_1.36.0 plyr_1.8.6 grid_4.0.3
## [58] blob_1.2.1 promises_1.1.1 crayon_1.3.4
## [61] lattice_0.20-41 splines_4.0.3 annotate_1.68.0
## [64] polylabelr_0.2.0 locfit_1.5-9.4 knitr_1.30
## [67] pillar_1.4.6 geneplotter_1.68.0 XML_3.99-0.5
## [70] glue_1.4.2 evaluate_0.14 vctrs_0.3.4
## [73] httpuv_1.5.4 testthat_3.0.0 polyclip_1.10-0
## [76] gtable_0.3.0 purrr_0.3.4 assertthat_0.2.1
## [79] reshape_0.8.8 xfun_0.19 mime_0.9
## [82] xtable_1.8-4 later_1.1.0.1 survival_3.2-7
## [85] viridisLite_0.3.0 AnnotationDbi_1.52.0 memoise_1.1.0
## [88] ellipsis_0.3.1
Bray NL, Pimentel H, Melsted P, Pachter L. Near-optimal probabilistic RNA-seq quantification [published correction appears in Nat Biotechnol. 2016 Aug 9;34(8):888]. Nat Biotechnol. 2016;34(5):525-527. doi:10.1038/nbt.3519
Jiang H, Lei R, Ding SW, Zhu S. Skewer: a fast and accurate adapter trimmer for next-generation sequencing paired-end reads. BMC Bioinformatics. 2014;15:182. Published 2014 Jun 12. doi:10.1186/1471-2105-15-182
Love MI, Huber W, Anders S. Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2. Genome Biol. 2014;15(12):550. doi:10.1186/s13059-014-0550-8
Kaspi A, Ziemann M. mitch: multi-contrast pathway enrichment for multi-omics and single-cell profiling data. BMC Genomics. 2020;21(1):447. Published 2020 Jun 29. doi:10.1186/s12864-020-06856-9