Time course analysis of PADDI genomics data.
suppressPackageStartupMessages({
library("gplots")
library("reshape2")
library("WGCNA")
library("dplyr")
library("DESeq2")
library("mitch")
library("MASS")
library("eulerr")
library("beeswarm")
library("RhpcBLASctl")
})
RhpcBLASctl::blas_set_num_threads(1)
tmp <- read.table("3col.tsv.gz",header=FALSE)
x <- as.matrix(acast(tmp, V2~V1, value.var="V3", fun.aggregate = sum))
x <- as.data.frame(x)
accession <- sapply((strsplit(rownames(x),"\\|")),"[[",2)
symbol<-sapply((strsplit(rownames(x),"\\|")),"[[",6)
x$geneid <- paste(accession,symbol)
xx <- aggregate(. ~ geneid,x,sum)
rownames(xx) <- xx$geneid
colnames <- gsub("T0R","T0",colnames(xx))
xx$geneid = NULL
xx <- round(xx)
xx[1:10,1:6]
## 3166-POD1 3166-T0 3167-POD1 3167-T0 3171-POD1
## ENSG00000000003.15 TSPAN6 3 1 5 5 23
## ENSG00000000005.6 TNMD 0 0 0 0 0
## ENSG00000000419.14 DPM1 685 577 521 735 811
## ENSG00000000457.14 SCYL3 622 611 550 777 789
## ENSG00000000460.17 C1orf112 181 171 232 263 215
## ENSG00000000938.13 FGR 33797 44344 31524 38959 26402
## ENSG00000000971.16 CFH 106 40 98 183 195
## ENSG00000001036.14 FUCA2 1229 769 1150 868 978
## ENSG00000001084.13 GCLC 944 1085 577 961 908
## ENSG00000001167.15 NFYA 1243 1277 1295 1605 1166
## 3171-T0
## ENSG00000000003.15 TSPAN6 4
## ENSG00000000005.6 TNMD 1
## ENSG00000000419.14 DPM1 494
## ENSG00000000457.14 SCYL3 575
## ENSG00000000460.17 C1orf112 196
## ENSG00000000938.13 FGR 33751
## ENSG00000000971.16 CFH 130
## ENSG00000001036.14 FUCA2 805
## ENSG00000001084.13 GCLC 798
## ENSG00000001167.15 NFYA 1251
Let’s look at the number of reads per sample
Most samples were in the range of 25-30 million assigned reads. Just 2 samples had less than 20 million reads: PG1452-EOS and PG1423-EOS. The maximum read count was about 40 million for PG7072-EOS.
xxcs <- colSums(xx)
par(mar=c(5,8,3,1))
barplot(xxcs,horiz=TRUE,las=1,main="no. reads per sample")
barplot(head(xxcs[order(xxcs)],20),horiz=TRUE,las=1,main="lowest no. reads per sample")
barplot(head(xxcs[order(-xxcs)],20),horiz=TRUE,las=1,main="highest no. reads per sample")
Some outliers are apparent.
PG2090-EOS to the left of the chart - this is clearly the effect of rRNA carryover. Other samples over to the left of the chart include PG815-EOS, PG145-EOS and PG702-POD1 which all have elevated rRNA.
heatmap.2( cor(xx),trace="none",scale="none")
mds <- cmdscale(dist(t(xx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) ,
type = "p", col="gray", pch=19, cex.axis=1.3,cex.lab=1.3, bty='n')
text(mds, labels=rownames(mds), cex=0.8)
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n')
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0, orange=POD1, pink=EOS")
Exclude PG2090-EOS and repeat the analysis.
xx <- xx[,grep("PG2090-EOS",colnames(xx),invert=TRUE)]
mds <- cmdscale(dist(t(xx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) ,
type = "p", col="gray", pch=19, cex.axis=1.3,cex.lab=1.3, bty='n')
text(mds, labels=rownames(mds), cex=0.8)
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n')
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0, orange=POD1, pink=EOS")
In the MDS plot with PG2090-EOS removed, there appears to be some separation of T0, POD1 and EOS samples. POD1 (orange) are more towards the upper side of the chart and T0 (blue) are toward the bottom right. EOS (pink) are quite spread out.
xx <- xx[,order(colnames(xx))]
ss <- read.csv("PADDIgenomicsData.csv")
ss <- ss[order(ss$PG_number),]
colnames(ss)
## [1] "PG_number" "sexD"
## [3] "ageD" "weightD"
## [5] "heightD" "asaD"
## [7] "ethnicityD" "ethnicity_otherD"
## [9] "current_smokerD" "diabetes_typeD"
## [11] "daily_insulinD" "oral_hypoglycemicsD"
## [13] "non_insulin_injectablesD" "diabetes_yrs_since_diagnosisD"
## [15] "DM_years" "creatinine_preopD"
## [17] "crp_preopD" "crp_preop_typeD"
## [19] "crp_preop_naD" "hba1c_doneD"
## [21] "surgery_typeD" "surgery_procedureD"
## [23] "surgery_dominantD" "wound_typeOP"
## [25] "non_study_dexameth_steriodPOSTOP" "nonstudy_dexameth_steriodD3"
## [27] "HbA1c" "bmi"
## [29] "whodas_total_preop" "revised_whodas_preop"
## [31] "neut_lymph_ratio_d0" "neut_lymph_ratio_d1"
## [33] "neut_lymph_ratio_change_d1" "neut_lymph_ratio_d2"
## [35] "neut_lymph_ratio_change_d2" "neut_lymph_ratio_d1_2"
## [37] "neut_lymph_ratio_d2_2" "ab_noninfection"
## [39] "risk" "risk_cat"
## [41] "bmi_cat" "asa_cat"
## [43] "wound_type_cat" "oxygen_quin"
## [45] "duration_sx" "duration_sx_quin"
## [47] "anyDex" "anyDex_count"
## [49] "anyDexMiss" "anyDex2"
## [51] "treatment_group" "deltacrp"
## [53] "crp_group"
str(ss)
## 'data.frame': 117 obs. of 53 variables:
## $ PG_number : chr "3166" "3167" "3171" "3172" ...
## $ sexD : chr "Male" "Male" "Male" "Male" ...
## $ ageD : int 62 67 61 78 73 77 84 54 70 62 ...
## $ weightD : num 64.5 78.8 71.1 43 83.6 ...
## $ heightD : num 163 169 165 156 171 167 133 155 170 175 ...
## $ asaD : int 2 2 2 2 2 3 3 2 2 2 ...
## $ ethnicityD : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicity_otherD : chr "" "" "" "" ...
## $ current_smokerD : chr "No" "No" "No" "No" ...
## $ diabetes_typeD : chr "" "" "" "" ...
## $ daily_insulinD : chr "" "" "" "" ...
## $ oral_hypoglycemicsD : chr "" "" "" "" ...
## $ non_insulin_injectablesD : chr "" "" "" "" ...
## $ diabetes_yrs_since_diagnosisD : int NA NA NA NA NA 1 NA NA NA NA ...
## $ DM_years : int NA NA NA NA NA 1 NA NA NA NA ...
## $ creatinine_preopD : int 68 82 82 96 105 90 54 47 109 98 ...
## $ crp_preopD : chr "2.1" "0.6" "2.7" "1.2" ...
## $ crp_preop_typeD : chr "CRP" "CRP" "CRP" "CRP" ...
## $ crp_preop_naD : int 0 0 0 0 0 0 0 0 0 0 ...
## $ hba1c_doneD : chr "Yes" "Yes" "Yes" "Yes" ...
## $ surgery_typeD : chr "Laparoscopic assisted low anterior resection of rectum" "Laparoscopic sigmoidectomy" "Laparoscopic assisted anterior resection of rectum" "Robotic assisted laparoscopic radical prostatectomy, pelvic lymph node dissection" ...
## $ surgery_procedureD : chr "None of the above" "None of the above" "None of the above" "None of the above" ...
## $ surgery_dominantD : chr "Gastrointestinal" "Gastrointestinal" "Gastrointestinal" "Urology-renal" ...
## $ wound_typeOP : chr "Clean / contaminated" "Clean / contaminated" "Clean / contaminated" "Clean / contaminated" ...
## $ non_study_dexameth_steriodPOSTOP: chr "No" "No" "No" "No" ...
## $ nonstudy_dexameth_steriodD3 : chr "No" "No" "No" "No" ...
## $ HbA1c : num 5.7 6.2 6.2 6.3 6.3 ...
## $ bmi : num 24.3 27.6 26.1 17.7 28.6 ...
## $ whodas_total_preop : int 16 12 12 12 12 12 24 14 12 12 ...
## $ revised_whodas_preop : int 16 12 12 12 12 12 24 14 12 12 ...
## $ neut_lymph_ratio_d0 : num 4.3 2.94 2.29 2.93 2.62 ...
## $ neut_lymph_ratio_d1 : num 13 6.5 7.22 23.2 8.57 ...
## $ neut_lymph_ratio_change_d1 : num 8.7 3.56 4.93 20.27 5.95 ...
## $ neut_lymph_ratio_d2 : num 5.92 3.68 3.77 22 NA ...
## $ neut_lymph_ratio_change_d2 : num 1.623 0.741 1.475 19.071 NA ...
## $ neut_lymph_ratio_d1_2 : num 13 6.5 7.22 23.2 8.57 ...
## $ neut_lymph_ratio_d2_2 : num 5.92 3.68 3.77 22 NA ...
## $ ab_noninfection : int 1 1 0 1 1 1 1 1 1 1 ...
## $ risk : int 2 2 2 2 2 5 4 1 2 1 ...
## $ risk_cat : chr "Moderate" "Moderate" "Moderate" "Moderate" ...
## $ bmi_cat : chr "Normal [18.5 to <25]" "Overweight [25 to <30]" "Overweight [25 to <30]" "Underweight [BMI<18.5]" ...
## $ asa_cat : chr "1-2" "1-2" "1-2" "1-2" ...
## $ wound_type_cat : chr "Contaminated" "Contaminated" "Contaminated" "Contaminated" ...
## $ oxygen_quin : chr "0.21-0.4" "0.21-0.4" "0.21-0.4" "0.21-0.4" ...
## $ duration_sx : num 2.5 2.67 2.42 3.17 2.5 ...
## $ duration_sx_quin : chr "2.18-2.82" "2.18-2.82" "2.18-2.82" "2.83-3.75" ...
## $ anyDex : chr "No" "No" "No" "No" ...
## $ anyDex_count : int 0 0 0 0 0 0 0 0 0 0 ...
## $ anyDexMiss : int 0 0 0 0 0 0 0 0 0 0 ...
## $ anyDex2 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ treatment_group : int 1 1 2 2 1 1 2 1 2 1 ...
## $ deltacrp : num 39.3 38.3 49 189.9 7.3 ...
## $ crp_group : int 1 1 1 4 1 1 4 1 4 1 ...
summary(ss)
## PG_number sexD ageD weightD
## Length:117 Length:117 Min. :25.00 Min. : 41.00
## Class :character Class :character 1st Qu.:54.00 1st Qu.: 68.50
## Mode :character Mode :character Median :62.00 Median : 82.00
## Mean :61.03 Mean : 84.55
## 3rd Qu.:69.00 3rd Qu.: 95.40
## Max. :86.00 Max. :185.00
##
## heightD asaD ethnicityD ethnicity_otherD
## Min. :133.0 Min. :1.000 Length:117 Length:117
## 1st Qu.:163.0 1st Qu.:2.000 Class :character Class :character
## Median :171.0 Median :2.000 Mode :character Mode :character
## Mean :170.2 Mean :2.308
## 3rd Qu.:178.0 3rd Qu.:3.000
## Max. :193.0 Max. :4.000
##
## current_smokerD diabetes_typeD daily_insulinD oral_hypoglycemicsD
## Length:117 Length:117 Length:117 Length:117
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## non_insulin_injectablesD diabetes_yrs_since_diagnosisD DM_years
## Length:117 Min. : 1.000 Min. : 1.000
## Class :character 1st Qu.: 1.500 1st Qu.: 1.500
## Mode :character Median : 7.000 Median : 7.000
## Mean : 7.467 Mean : 7.467
## 3rd Qu.:11.000 3rd Qu.:11.000
## Max. :18.000 Max. :18.000
## NA's :102 NA's :102
## creatinine_preopD crp_preopD crp_preop_typeD crp_preop_naD
## Min. : 19.0 Length:117 Length:117 Min. :0
## 1st Qu.: 66.0 Class :character Class :character 1st Qu.:0
## Median : 76.0 Mode :character Mode :character Median :0
## Mean : 80.3 Mean :0
## 3rd Qu.: 91.0 3rd Qu.:0
## Max. :177.0 Max. :0
## NA's :10
## hba1c_doneD surgery_typeD surgery_procedureD surgery_dominantD
## Length:117 Length:117 Length:117 Length:117
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## wound_typeOP non_study_dexameth_steriodPOSTOP
## Length:117 Length:117
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## nonstudy_dexameth_steriodD3 HbA1c bmi
## Length:117 Min. : 4.500 Min. :16.59
## Class :character 1st Qu.: 5.200 1st Qu.:24.93
## Mode :character Median : 5.600 Median :28.07
## Mean : 5.714 Mean :29.00
## 3rd Qu.: 5.900 3rd Qu.:31.73
## Max. :10.000 Max. :72.27
##
## whodas_total_preop revised_whodas_preop neut_lymph_ratio_d0
## Min. :12.00 Min. :12.00 Min. : 0.5312
## 1st Qu.:12.00 1st Qu.:12.00 1st Qu.: 1.8254
## Median :14.00 Median :14.00 Median : 2.5737
## Mean :16.74 Mean :16.74 Mean : 2.8745
## 3rd Qu.:17.00 3rd Qu.:17.00 3rd Qu.: 3.3338
## Max. :50.00 Max. :50.00 Max. :11.0000
## NA's :9
## neut_lymph_ratio_d1 neut_lymph_ratio_change_d1 neut_lymph_ratio_d2
## Min. : 1.375 Min. :-1.255 Min. : 0.1235
## 1st Qu.: 5.132 1st Qu.: 2.610 1st Qu.: 3.7692
## Median : 7.353 Median : 4.450 Median : 6.7273
## Mean : 8.882 Mean : 6.088 Mean : 8.1589
## 3rd Qu.:11.627 3rd Qu.: 8.730 3rd Qu.:10.8889
## Max. :44.000 Max. :39.299 Max. :25.6042
## NA's :13 NA's :21 NA's :28
## neut_lymph_ratio_change_d2 neut_lymph_ratio_d1_2 neut_lymph_ratio_d2_2
## Min. :-6.182 Min. : 1.375 Min. : 0.1235
## 1st Qu.: 1.591 1st Qu.: 5.132 1st Qu.: 3.7692
## Median : 4.356 Median : 7.353 Median : 6.7273
## Mean : 5.356 Mean : 8.882 Mean : 8.1589
## 3rd Qu.: 7.403 3rd Qu.:11.627 3rd Qu.:10.8889
## Max. :22.776 Max. :44.000 Max. :25.6042
## NA's :35 NA's :13 NA's :28
## ab_noninfection risk risk_cat bmi_cat
## Min. :0.0000 Min. :0.000 Length:117 Length:117
## 1st Qu.:0.0000 1st Qu.:1.000 Class :character Class :character
## Median :0.0000 Median :1.000 Mode :character Mode :character
## Mean :0.4495 Mean :1.598
## 3rd Qu.:1.0000 3rd Qu.:2.000
## Max. :1.0000 Max. :6.000
## NA's :8
## asa_cat wound_type_cat oxygen_quin duration_sx
## Length:117 Length:117 Length:117 Min. : 0.6833
## Class :character Class :character Class :character 1st Qu.: 2.5000
## Mode :character Mode :character Mode :character Median : 3.3333
## Mean : 3.9007
## 3rd Qu.: 4.7667
## Max. :10.6667
##
## duration_sx_quin anyDex anyDex_count anyDexMiss
## Length:117 Length:117 Min. :0.0000 Min. :0.000000
## Class :character Class :character 1st Qu.:0.0000 1st Qu.:0.000000
## Mode :character Mode :character Median :0.0000 Median :0.000000
## Mean :0.1282 Mean :0.008547
## 3rd Qu.:0.0000 3rd Qu.:0.000000
## Max. :2.0000 Max. :1.000000
##
## anyDex2 treatment_group deltacrp crp_group
## Min. :0.0000 Min. :1.000 Min. :-16.7 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:1.000 1st Qu.: 32.9 1st Qu.:1.000
## Median :0.0000 Median :2.000 Median : 49.5 Median :1.000
## Mean :0.1111 Mean :1.556 Mean :130.9 Mean :2.487
## 3rd Qu.:0.0000 3rd Qu.:2.000 3rd Qu.:221.1 3rd Qu.:4.000
## Max. :1.0000 Max. :2.000 Max. :359.0 Max. :4.000
##
ss1 <- ss
rownames(ss) <- paste(ss$PG_number,ss$timepoint,sep="-")
dim(ss)
## [1] 117 53
ss$ageCS <- scale(ss$ageD)
ss$sexD <- as.numeric(factor(ss$sexD))
ss$ethnicityCAT <- ss$ethnicityD
ss$ethnicityD <- as.numeric(factor(ss$ethnicityD))
ss$current_smokerD <- as.numeric(factor(ss$current_smokerD))
ss$diabetes_typeD <- as.numeric(factor(ss$diabetes_typeD))
ss$daily_insulinD <- as.numeric(factor(ss$daily_insulinD))
ss$oral_hypoglycemicsD <- as.numeric(factor(ss$oral_hypoglycemicsD))
ss$crp_preopD <- as.numeric(gsub("<5","2.5",gsub("<1","0.5",gsub("<1.0","0.5",ss$crp_preopD))))
ss$surgery_dominantD <- as.numeric(factor(ss$surgery_dominantD))
ss$wound_typeOP <- as.numeric(factor(ss$wound_typeOP))
ss$risk_cat <- as.numeric(factor(ss$risk_cat,levels=c("Low","Moderate","High")))
ss$wound_type_cat <- as.numeric(factor(ss$wound_type_cat))
ss$anyDex <- as.numeric(factor(ss$anyDex))
ss$bmi_cat <- as.numeric(factor(ss$bmi_cat,
levels=c("Underweight [BMI<18.5]","Normal [18.5 to <25]",
"Overweight [25 to <30]","Obese [30 to <40]","Super obese [40+]")))
ss <- ss[,c("PG_number","sexD","ageD","ageCS","weightD","asaD","heightD","ethnicityCAT","ethnicityD",
"current_smokerD","diabetes_typeD","daily_insulinD","creatinine_preopD",
"surgery_dominantD","wound_typeOP","HbA1c","bmi","revised_whodas_preop",
"neut_lymph_ratio_d0","neut_lymph_ratio_d1","neut_lymph_ratio_d2","ab_noninfection",
"risk","risk_cat","bmi_cat","wound_type_cat","duration_sx","anyDex","treatment_group",
"deltacrp","crp_group")]
ss <- ss[order(rownames(ss)),]
ss_t0 <- ss
ss_eos <- ss
ss_pod1 <- ss
ss_t0$timepoint <- "T0"
ss_eos$timepoint <- "EOS"
ss_pod1$timepoint <- "POD1"
rownames(ss_t0) <- paste(ss_t0$PG_number,"T0",sep="-")
rownames(ss_eos) <- paste(ss_t0$PG_number,"EOS",sep="-")
rownames(ss_pod1) <- paste(ss_t0$PG_number,"POD1",sep="-")
ss <- rbind(ss_t0, ss_eos, ss_pod1)
rownames(ss) <- paste(ss$PG_number,ss$timepoint,sep="-")
xt0 <- xx[,grep("T0",colnames(xx))]
xpod1 <- xx[,grep("POD1",colnames(xx))]
xeos <- xx[,grep("EOS",colnames(xx))]
xt0f <- xt0[rowMeans(xt0)>=10,]
xpod1f <- xpod1[rowMeans(xpod1)>=10,]
xeosf <- xeos[rowMeans(xeos)>=10,]
dim(xt0f)
## [1] 21935 111
dim(xpod1f)
## [1] 21313 109
dim(xeosf)
## [1] 22067 98
ss_t0 <- ss_t0[which(rownames(ss_t0) %in% colnames(xt0)),]
ss_pod1 <- ss_pod1[which(rownames(ss_pod1) %in% colnames(xpod1)),]
ss_eos <- ss_eos[which(rownames(ss_eos) %in% colnames(xeos)),]
colnames(xt0) %in% rownames(ss_t0)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE
colnames(xpod1) %in% rownames(ss_pod1)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE
colnames(xeos) %in% rownames(ss_eos)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
rownames(ss_t0) %in% colnames(xt0)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE
rownames(ss_pod1) %in% colnames(xpod1)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE
rownames(ss_eos) %in% colnames(xeos)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
xxf <- xx[rowMeans(xx)>=10,]
xxf <- xxf[,order(colnames(xxf))]
ss1 <- ss
ss1 <- ss1[which(rownames(ss1) %in% colnames(xx)),]
# dex is treatment group A
ss1$dex <- (ss1$treatment_group -2 ) * -1
mds <- cmdscale(dist(t(xx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
shp <- ss1$crp_group + 14
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=shp, cex.axis=1.3,cex.lab=1.3, bty='n')
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1,sq=lowCRP,di=highCRP")
xn <- xx
gt <- as.data.frame(sapply(strsplit(rownames(xn)," "),"[[",2) )
rownames(gt) <- rownames(xx)
colnames(gt) = "genesymbol"
gt$geneID <- rownames(xx)
blood <- read.table("https://raw.githubusercontent.com/giannimonaco/ABIS/master/data/sigmatrixRNAseq.txt")
blood2 <- merge(gt,blood,by.x="genesymbol",by.y=0)
blood2 <- blood2[which(!duplicated(blood2$genesymbol)),]
rownames(blood2) <- blood2$geneID
blood2 <- blood2[,c(3:ncol(blood2))]
genes <- intersect(rownames(xx), rownames(blood2))
dec <- apply(xx[genes, , drop=F], 2, function(x) coef(rlm( as.matrix(blood2[genes,]), x, maxit =100 ))) *100
## Warning in rlm.default(as.matrix(blood2[genes, ]), x, maxit = 100): 'rlm'
## failed to converge in 100 steps
## Warning in rlm.default(as.matrix(blood2[genes, ]), x, maxit = 100): 'rlm'
## failed to converge in 100 steps
dec <- t(dec/colSums(dec)*100)
dec <- signif(dec, 3)
# remove negative values
dec2 <- t(apply(dec,2,function(x) { mymin=min(x) ; if (mymin<0) { x + (mymin * -1) } else { x } } ))
dec2 <- apply(dec2,2,function(x) {x / sum(x) *100} )
colfunc <- colorRampPalette(c("blue", "white", "red"))
heatmap.2( dec2, col=colfunc(25),scale="row",
trace="none",margins = c(5,5), cexRow=.7, cexCol=.8, main="cell type abundances")
heatmap.2( dec2, col=colfunc(25),scale="none",
trace="none",margins = c(5,5), cexRow=.7, cexCol=.8, main="cell type abundances")
par(mar=c(5,10,3,1))
boxplot(t(dec2[order(rowMeans(dec2)),]),horizontal=TRUE,las=1, xlab="estimated cell proportion (%)")
par(mar = c(5.1, 4.1, 4.1, 2.1))
heatmap.2( cor(dec2),trace="none",scale="none")
heatmap.2( cor(t(dec2)),trace="none",scale="none", margins = c(8,8))
par(mar=c(5,10,3,1))
barplot(apply(dec2,1,sd),horiz=TRUE,las=1,xlab="SD of cell proportions (%)")
which(apply(dec2,1,sd)>4)
## Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
## 1 2 3 4 10
Based on this analysis we can begin with correction of:
According to the correlation heatmap, these are not strongly correlated.
Now look at how the cell proportions change over time.
ct0 <- dec2[,grep("-T0",colnames(dec2))]
ceos <- dec2[,grep("-EOS",colnames(dec2))]
cpod1 <- dec2[,grep("-POD1",colnames(dec2))]
par(mar=c(5,10,3,1))
boxplot(t(ct0),horizontal=TRUE,las=1, xlab="estimated cell proportion (%)",main="T0")
boxplot(t(ceos),horizontal=TRUE,las=1, xlab="estimated cell proportion (%)",main="EOS")
boxplot(t(cpod1),horizontal=TRUE,las=1, xlab="estimated cell proportion (%)",main="POD1")
sscell <- as.data.frame(t(dec2))
sscell_t0 <- sscell[grep("-T0",rownames(sscell)),]
sscell_eos <- sscell[grep("-EOS",rownames(sscell)),]
sscell_pod1 <- sscell[grep("POD1",rownames(sscell)),]
Now look at how cell types associate with the PCAs.
#xt0f xeosf xpod1f
#sscell_t0 sscell_eos sscell_pod1
## T0
mx <- xt0f
ss2 <- sscell_t0
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
loadings = pca$x
par(mar = c(5.1, 4.1, 4.1, 2.1))
plot(pca,type="lines",col="blue")
nGenes <- nrow(mx)
nSamples <- ncol(mx)
datTraits <- ss2
moduleTraitCor <- cor(loadings[,1:8], datTraits, use = "p")
moduleTraitPvalue <- corPvalueStudent(moduleTraitCor, nSamples)
textMatrix <- paste(signif(moduleTraitCor, 2), "\n(",
signif(moduleTraitPvalue, 1), ")", sep = "")
dim(textMatrix) = dim(moduleTraitCor)
labeledHeatmap(Matrix = t(moduleTraitCor),
xLabels = colnames(loadings)[1:ncol(t(moduleTraitCor))],
yLabels = names(datTraits), colorLabels = FALSE, colors = blueWhiteRed(6),
textMatrix = t(textMatrix), setStdMargins = FALSE, cex.text = 0.5,
cex.lab.y = 0.6, zlim = c(-0.45,0.45),
main = paste("PCA-cell relationships @T0: Top principal components"))
## Warning in numbers2colors(data, signed, colors = colors, lim = zlim, naColor =
## naColor): Some values of 'x' are below given minimum and will be truncated to
## the minimum.
## Warning in numbers2colors(data, signed, colors = colors, lim = zlim, naColor =
## naColor): Some values of 'x' are above given maximum and will be truncated to
## the maximum.
## EOS
mx <- xeosf
ss2 <- sscell_eos
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
loadings = pca$x
plot(pca,type="lines",col="blue")
nGenes <- nrow(mx)
nSamples <- ncol(mx)
datTraits <- ss2
moduleTraitCor <- cor(loadings[,1:8], datTraits, use = "p")
moduleTraitPvalue <- corPvalueStudent(moduleTraitCor, nSamples)
textMatrix <- paste(signif(moduleTraitCor, 2), "\n(",
signif(moduleTraitPvalue, 1), ")", sep = "")
dim(textMatrix) = dim(moduleTraitCor)
labeledHeatmap(Matrix = t(moduleTraitCor),
xLabels = colnames(loadings)[1:ncol(t(moduleTraitCor))],
yLabels = names(datTraits), colorLabels = FALSE, colors = blueWhiteRed(6),
textMatrix = t(textMatrix), setStdMargins = FALSE, cex.text = 0.5,
cex.lab.y = 0.6, zlim = c(-0.45,0.45),
main = paste("PCA-cell relationships @EOS: Top principal components"))
## Warning in numbers2colors(data, signed, colors = colors, lim = zlim, naColor =
## naColor): Some values of 'x' are below given minimum and will be truncated to
## the minimum.
## Warning in numbers2colors(data, signed, colors = colors, lim = zlim, naColor =
## naColor): Some values of 'x' are above given maximum and will be truncated to
## the maximum.
## POD1
mx <- xpod1f
ss2 <- sscell_pod1
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
loadings = pca$x
plot(pca,type="lines",col="blue")
nGenes <- nrow(mx)
nSamples <- ncol(mx)
datTraits <- ss2
moduleTraitCor <- cor(loadings[,1:8], datTraits, use = "p")
moduleTraitPvalue <- corPvalueStudent(moduleTraitCor, nSamples)
textMatrix <- paste(signif(moduleTraitCor, 2), "\n(",
signif(moduleTraitPvalue, 1), ")", sep = "")
dim(textMatrix) = dim(moduleTraitCor)
labeledHeatmap(Matrix = t(moduleTraitCor),
xLabels = colnames(loadings)[1:ncol(t(moduleTraitCor))],
yLabels = names(datTraits), colorLabels = FALSE, colors = blueWhiteRed(6),
textMatrix = t(textMatrix), setStdMargins = FALSE, cex.text = 0.5,
cex.lab.y = 0.6, zlim = c(-0.45,0.45),
main = paste("PCA-cell relationships @POD1: Top principal components"))
## Warning in numbers2colors(data, signed, colors = colors, lim = zlim, naColor =
## naColor): Some values of 'x' are below given minimum and will be truncated to
## the minimum.
## Warning in numbers2colors(data, signed, colors = colors, lim = zlim, naColor =
## naColor): Some values of 'x' are above given maximum and will be truncated to
## the maximum.
The conclusion here is that the cell types correlate strongly with the principal components. The good news is that we have selected the cell types that associate the strongest, so we can correct for their contribution.
Specific PCAs for key clinical parameters:
And blood composition:
And ones we didn’t include:
TODO:
age data centred and scaled
ethnicity categories unordered
Treat timepoints as unordered factors using LRT test stat
Timecourse in low CRP group
Timecourse in high CRP group
Timecourse in low CRP group with dex
Timecourse in low CRP group with placebo
Timecourse in high CRP group with dex
Timecourse in high CRP group and with placebo
ss2 <- as.data.frame(cbind(ss1,sscell))
ss2 <- ss2[order(rownames(ss2)),]
ss2 <- ss2[table(ss2$PG_number)==3,] # must include all 3 timepoints
mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[,order(colnames(mx)),]
rownames(ss2) == colnames(mx)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE
ss2$timepoint <- factor(ss2$timepoint, ordered = FALSE)
ss2$PG_number <- factor(ss2$PG_number, ordered = FALSE)
str(ss2)
## 'data.frame': 246 obs. of 50 variables:
## $ PG_number : Factor w/ 102 levels "3176","3178",..: 1 2 3 3 4 5 5 6 6 7 ...
## $ sexD : num 1 1 2 2 2 1 1 1 1 1 ...
## $ ageD : int 84 54 70 70 62 58 58 61 61 68 ...
## $ ageCS : num [1:246, 1] 1.9878 -0.6079 0.7765 0.7765 0.0843 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : NULL
## $ weightD : num 60 63.6 70.1 70.1 78.7 ...
## $ asaD : int 3 2 2 2 2 1 1 1 1 2 ...
## $ heightD : num 133 155 170 170 175 158 158 149 149 155 ...
## $ ethnicityCAT : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicityD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ current_smokerD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ diabetes_typeD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ daily_insulinD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ creatinine_preopD : int 54 47 109 109 98 50 50 49 49 61 ...
## $ surgery_dominantD : num 1 2 6 6 4 2 2 2 2 4 ...
## $ wound_typeOP : num 2 2 2 2 2 2 2 2 2 2 ...
## $ HbA1c : num 5.7 4.9 5.2 5.2 5.4 ...
## $ bmi : num 33.9 26.5 24.3 24.3 25.7 ...
## $ revised_whodas_preop: int 24 14 12 12 12 12 12 18 18 12 ...
## $ neut_lymph_ratio_d0 : num 1.31 6 1.83 1.83 6.88 ...
## $ neut_lymph_ratio_d1 : num 14 15.62 6.27 6.27 16.57 ...
## $ neut_lymph_ratio_d2 : num 14 9.5 7.67 7.67 12.17 ...
## $ ab_noninfection : int 1 1 1 1 1 1 1 1 1 1 ...
## $ risk : int 4 1 2 2 1 1 1 1 1 1 ...
## $ risk_cat : num 3 1 2 2 1 1 1 1 1 1 ...
## $ bmi_cat : num 4 3 2 2 3 3 3 1 1 2 ...
## $ wound_type_cat : num 2 2 2 2 2 2 2 2 2 2 ...
## $ duration_sx : num 3.067 1.333 5.167 5.167 0.683 ...
## $ anyDex : num 2 2 2 2 2 2 2 2 2 2 ...
## $ treatment_group : int 2 1 2 2 1 1 1 2 2 2 ...
## $ deltacrp : num 277.9 32.7 202.9 202.9 24.8 ...
## $ crp_group : int 4 1 4 4 1 4 4 1 1 1 ...
## $ timepoint : Factor w/ 3 levels "EOS","POD1","T0": 3 2 2 3 3 2 3 2 3 2 ...
## $ dex : num 0 1 0 0 1 1 1 0 0 0 ...
## $ Monocytes.C : num 48.2 20.1 48.7 36.4 15.2 ...
## $ NK : num 0.421 2.007 3.586 2.176 8.347 ...
## $ T.CD8.Memory : num 2.59 10.74 1.81 5.96 14.67 ...
## $ T.CD4.Naive : num 1.57 9.23 2.42 4.61 16.31 ...
## $ T.CD8.Naive : num 11.65 11.69 13.91 12.5 6.73 ...
## $ B.Naive : num 2.158 5.499 0.849 5.065 2.638 ...
## $ T.CD4.Memory : num 15.8 12.9 14.4 16.2 10.1 ...
## $ MAIT : num 0.398 1.474 2.769 1.372 0.525 ...
## $ T.gd.Vd2 : num 1.93 2.05 1.86 2.17 1.85 ...
## $ Neutrophils.LD : num 2.808 3.663 5.722 0.739 14.631 ...
## $ T.gd.non.Vd2 : num 0.473 0.304 0.338 0.519 0.337 ...
## $ Basophils.LD : num 0.74 1.188 0.779 0.343 1.778 ...
## $ Monocytes.NC.I : num 9.98 13.41 2.07 10.35 4.13 ...
## $ B.Memory : num 0.561 4.538 0.205 0.549 1.921 ...
## $ mDCs : num 0.529 0.766 0.45 0.819 0.634 ...
## $ pDCs : num 0.0712 0.3356 0.0858 0.0405 0.075 ...
## $ Plasmablasts : num 0.1371 0.0945 0.1127 0.1229 0.1151 ...
ss3 <- subset(ss2,crp_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss3)]
dim(mx)
## [1] 60649 118
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21886 118
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ timepoint )
## converting counts to integer mode
res <- DESeq(dds,test="LRT",reduced=~1)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 142 genes
## -- DESeq argument 'minReplicatesForReplace' = 7
## -- original counts are preserved in counts(dds)
## estimating dispersions
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000109906.15 ZBTB16 3189.6002 -2.2647845 0.23146461 178.4128
## ENSG00000184988.8 TMEM106A 690.2249 0.2886611 0.07754794 163.6025
## ENSG00000155659.15 VSIG4 762.7179 -1.0578765 0.27047462 138.7501
## ENSG00000010327.10 STAB1 19864.0172 0.3629479 0.17427540 125.0763
## ENSG00000164674.17 SYTL3 2811.1697 -1.2643723 0.17448405 124.8753
## ENSG00000156804.7 FBXO32 684.6172 -0.7633622 0.11499308 124.3779
## ENSG00000010704.19 HFE 335.3743 0.4432520 0.10571291 124.0804
## ENSG00000137474.22 MYO7A 545.0876 -0.2485286 0.17387727 122.0199
## ENSG00000080546.13 SESN1 1314.6754 -0.8554067 0.11078103 120.3103
## ENSG00000133816.18 MICAL2 2886.4821 0.5205656 0.09011262 118.0238
## pvalue padj
## ENSG00000109906.15 ZBTB16 1.811958e-39 3.965650e-35
## ENSG00000184988.8 TMEM106A 2.979706e-36 3.260693e-32
## ENSG00000155659.15 VSIG4 7.426931e-31 5.418194e-27
## ENSG00000010327.10 STAB1 6.918718e-28 3.348686e-24
## ENSG00000164674.17 SYTL3 7.650292e-28 3.348686e-24
## ENSG00000156804.7 FBXO32 9.810536e-28 3.559181e-24
## ENSG00000010704.19 HFE 1.138366e-27 3.559181e-24
## ENSG00000137474.22 MYO7A 3.189382e-27 8.725353e-24
## ENSG00000080546.13 SESN1 7.498147e-27 1.823383e-23
## ENSG00000133816.18 MICAL2 2.352056e-26 5.147709e-23
mean(abs(dge$stat))
## [1] 9.784467
# model with PG number as batch
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + timepoint )
## converting counts to integer mode
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced=~PG_number)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 7 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000137474.22 MYO7A 545.0876 -0.34577642 0.13221556 183.1579
## ENSG00000166033.13 HTRA1 110.5558 -0.06145743 0.19209222 177.5434
## ENSG00000184988.8 TMEM106A 690.2249 0.27340265 0.06987686 175.0883
## ENSG00000133816.18 MICAL2 2886.4821 0.47939317 0.07332695 169.1832
## ENSG00000169385.3 RNASE2 727.1242 -0.08959165 0.13994579 160.0376
## ENSG00000162654.9 GBP4 1748.5864 0.58981572 0.07537573 157.5747
## ENSG00000173083.16 HPSE 1284.0684 0.69818262 0.08775447 151.3225
## ENSG00000115415.20 STAT1 6307.1969 0.31807940 0.06917440 149.5838
## ENSG00000107798.18 LIPA 2677.9824 0.30074792 0.09122080 145.8203
## ENSG00000133106.15 EPSTI1 1128.9184 0.22445660 0.06886511 143.2016
## pvalue padj
## ENSG00000137474.22 MYO7A 1.689497e-40 3.697633e-36
## ENSG00000166033.13 HTRA1 2.798570e-39 3.062475e-35
## ENSG00000184988.8 TMEM106A 9.551136e-39 6.967872e-35
## ENSG00000133816.18 MICAL2 1.829533e-37 1.001029e-33
## ENSG00000169385.3 RNASE2 1.771239e-35 7.753068e-32
## ENSG00000162654.9 GBP4 6.068502e-35 2.213587e-31
## ENSG00000173083.16 HPSE 1.382734e-33 4.323215e-30
## ENSG00000115415.20 STAT1 3.298382e-33 9.023547e-30
## ENSG00000107798.18 LIPA 2.165311e-32 5.265555e-29
## ENSG00000133106.15 EPSTI1 8.020068e-32 1.755272e-28
mean(abs(dge$stat))
## [1] 13.55102
tc_lo <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP low")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000067048.17 DDX3Y 2422.45479 0.04133442 0.38417925 2015.6373
## ENSG00000230847.4 OCLNP1 31.17915 0.36714653 0.23192500 752.2341
## ENSG00000285238.2 RP5-940J5.10 127.19150 0.17408963 0.51751357 718.2801
## ENSG00000278621.1 THBS1-AS1 32.40773 -3.25929135 0.46713062 566.0391
## ENSG00000269693.1 CTD-2192J16.20 31.70738 0.07587236 0.56934450 325.1288
## ENSG00000133816.18 MICAL2 2886.48214 0.52345263 0.07201316 188.9663
## ENSG00000166033.13 HTRA1 110.55579 0.02416476 0.19593246 165.1479
## ENSG00000137474.22 MYO7A 545.08756 -0.30456339 0.13590005 160.7918
## ENSG00000184988.8 TMEM106A 690.22488 0.28811681 0.07462022 154.7441
## ENSG00000107798.18 LIPA 2677.98242 0.32576723 0.09553011 145.0207
## pvalue padj
## ENSG00000067048.17 DDX3Y 0.000000e+00 0.000000e+00
## ENSG00000230847.4 OCLNP1 4.512719e-164 4.938269e-160
## ENSG00000285238.2 RP5-940J5.10 1.065270e-156 7.771500e-153
## ENSG00000278621.1 THBS1-AS1 1.219485e-123 6.672411e-120
## ENSG00000269693.1 CTD-2192J16.20 2.507119e-71 1.097416e-67
## ENSG00000133816.18 MICAL2 9.257567e-42 3.376852e-38
## ENSG00000166033.13 HTRA1 1.375910e-36 4.301880e-33
## ENSG00000137474.22 MYO7A 1.214812e-35 3.323421e-32
## ENSG00000184988.8 TMEM106A 2.498922e-34 6.076824e-31
## ENSG00000107798.18 LIPA 3.229675e-32 7.068466e-29
mean(abs(dge$stat))
## [1] 13.24375
tc_lo_adj <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP low adj")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
Now with separate t0-EOS-POD1 comparisons.
# t0-EOS comparison
ss3a <- ss3[grep("POD",rownames(ss3),invert=TRUE),]
mx <- xx[,colnames(xx) %in% rownames(ss3a)]
mx <- mx[,order(colnames(mx)),]
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 22144 79
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3a,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000259976.3 RP11-553L6.5 661.62056 0.08958522 1.43937872 74.56869
## ENSG00000235706.8 DICER1-AS1 293.06741 -0.42425148 0.05269482 64.57162
## ENSG00000267436.1 AC005786.7 22.26384 -2.54180079 1.26138100 59.40819
## ENSG00000109971.14 HSPA8 14953.38389 0.37312894 0.04866653 58.28635
## ENSG00000261093.1 CTD-3126B10.1 43.00486 1.82036113 1.43778924 52.74201
## ENSG00000117228.11 GBP1 2168.31028 0.62306247 0.08467300 52.34733
## ENSG00000152207.8 CYSLTR2 348.85253 0.74645493 0.10330633 49.77883
## ENSG00000111252.11 SH2B3 4768.12668 0.56986196 0.08264100 46.35763
## ENSG00000183337.18 BCOR 1343.06026 0.61010901 0.09047863 44.34599
## ENSG00000242732.4 RTL5 189.97352 0.77093227 0.11393072 43.97220
## pvalue padj
## ENSG00000259976.3 RP11-553L6.5 5.856474e-18 1.296858e-13
## ENSG00000235706.8 DICER1-AS1 9.308671e-16 1.030656e-11
## ENSG00000267436.1 AC005786.7 1.281348e-14 9.458053e-11
## ENSG00000109971.14 HSPA8 2.266108e-14 1.254517e-10
## ENSG00000261093.1 CTD-3126B10.1 3.803682e-13 1.684575e-09
## ENSG00000117228.11 GBP1 4.650300e-13 1.716271e-09
## ENSG00000152207.8 CYSLTR2 1.720907e-12 5.443968e-09
## ENSG00000111252.11 SH2B3 9.852288e-12 2.727113e-08
## ENSG00000183337.18 BCOR 2.751748e-11 6.770523e-08
## ENSG00000242732.4 RTL5 3.330723e-11 7.375554e-08
mean(abs(dge$stat))
## [1] 2.802669
tc1_lo_adj <- dge
nrow(tc1_lo_adj)
## [1] 22144
nrow(subset(tc1_lo_adj,padj<0.05))
## [1] 2062
nrow(subset(tc1_lo_adj,padj<0.05 & log2FoldChange >0))
## [1] 1063
nrow(subset(tc1_lo_adj,padj<0.05 & log2FoldChange <0))
## [1] 999
# EOS-POD1 comparison
ss3b <- ss3[grep("T0",rownames(ss3),invert=TRUE),]
mx <- xx[,colnames(xx) %in% rownames(ss3b)]
mx <- mx[,order(colnames(mx)),]
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21793 80
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3b,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000240247.8 DEFA1B 1722.06173 -4.0980962 0.47378091 1779.0131
## ENSG00000281887.3 GIMAP1-GIMAP5 576.99100 -1.2141825 0.54067063 729.8270
## ENSG00000235655.3 H3P6 574.93467 0.9736707 0.83430259 389.3044
## ENSG00000279117.1 CTD-2562J17.6 61.45752 -1.9028310 0.85421563 257.8098
## ENSG00000133816.18 MICAL2 2848.09796 0.9870993 0.07503490 167.8258
## ENSG00000182580.3 EPHB3 84.24902 2.4206827 0.19949094 127.5448
## ENSG00000101347.11 SAMHD1 14367.49292 0.5382133 0.04764215 126.1909
## ENSG00000120029.13 ARMH3 1080.38040 0.3395919 0.03063002 122.5982
## ENSG00000107798.18 LIPA 2784.14312 1.1293832 0.10253820 115.5094
## ENSG00000010327.10 STAB1 22427.91687 1.7854273 0.16088322 109.7020
## pvalue padj
## ENSG00000240247.8 DEFA1B 0.000000e+00 0.000000e+00
## ENSG00000281887.3 GIMAP1-GIMAP5 9.768085e-161 1.064379e-156
## ENSG00000235655.3 H3P6 1.173018e-86 8.521195e-83
## ENSG00000279117.1 CTD-2562J17.6 5.151441e-58 2.806634e-54
## ENSG00000133816.18 MICAL2 2.208261e-38 9.624924e-35
## ENSG00000182580.3 EPHB3 1.411808e-29 5.127921e-26
## ENSG00000101347.11 SAMHD1 2.792772e-29 8.694698e-26
## ENSG00000120029.13 ARMH3 1.707479e-28 4.651386e-25
## ENSG00000107798.18 LIPA 6.087045e-27 1.473944e-23
## ENSG00000010327.10 STAB1 1.138864e-25 2.481926e-22
mean(abs(dge$stat))
## [1] 8.135987
tc2_lo_adj <- dge
nrow(tc2_lo_adj)
## [1] 21793
nrow(subset(tc2_lo_adj,padj<0.05))
## [1] 8155
nrow(subset(tc2_lo_adj,padj<0.05 & log2FoldChange >0))
## [1] 4057
nrow(subset(tc2_lo_adj,padj<0.05 & log2FoldChange <0))
## [1] 4098
Sort DEGs into 8 groups.
tc1_lo_adj_up <- rownames(subset(tc1_lo_adj,padj<0.05 & log2FoldChange >0 ))
tc1_lo_adj_dn <- rownames(subset(tc1_lo_adj,padj<0.05 & log2FoldChange <0 ))
tc1_lo_adj_ns <- rownames(subset(tc1_lo_adj,padj>0.05 ))
tc2_lo_adj_up <- rownames(subset(tc2_lo_adj,padj<0.05 & log2FoldChange >0 ))
tc2_lo_adj_dn <- rownames(subset(tc2_lo_adj,padj<0.05 & log2FoldChange <0 ))
tc2_lo_adj_ns <- rownames(subset(tc2_lo_adj,padj>0.05 ))
G1 <- intersect(tc1_lo_adj_ns,tc2_lo_adj_up)
G2 <- intersect(tc1_lo_adj_ns,tc2_lo_adj_dn)
G3 <- intersect(tc1_lo_adj_up, tc2_lo_adj_dn)
G4 <- intersect(tc1_lo_adj_dn, tc2_lo_adj_up)
G5 <- intersect(tc1_lo_adj_up,tc2_lo_adj_ns)
G6 <- intersect(tc1_lo_adj_dn,tc2_lo_adj_ns)
G7 <- intersect(tc1_lo_adj_up, tc2_lo_adj_up)
G8 <- intersect(tc1_lo_adj_dn, tc2_lo_adj_dn)
G9 <- intersect(tc1_lo_adj_ns,tc2_lo_adj_ns)
GL <- list("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8,"G9"=G9)
lapply(GL,length)
## $G1
## [1] 3346
##
## $G2
## [1] 3328
##
## $G3
## [1] 46
##
## $G4
## [1] 19
##
## $G5
## [1] 337
##
## $G6
## [1] 254
##
## $G7
## [1] 675
##
## $G8
## [1] 724
##
## $G9
## [1] 12998
length(c("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8,"G9"=G9))
## [1] 21727
length(unique(c("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8)))
## [1] 8729
ss2 <- as.data.frame(cbind(ss1,sscell))
ss2 <- ss2[order(rownames(ss2)),]
ss2 <- ss2[table(ss2$PG_number)==3,] # must include all 3 timepoints
mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[,order(colnames(mx)),]
dim(mx)
## [1] 60649 246
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21843 246
rownames(ss2) == colnames(mx)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE
ss2$timepoint <- factor(ss2$timepoint, ordered = FALSE)
ss2$PG_number <- factor(ss2$PG_number, ordered = FALSE)
str(ss2)
## 'data.frame': 246 obs. of 50 variables:
## $ PG_number : Factor w/ 102 levels "3176","3178",..: 1 2 3 3 4 5 5 6 6 7 ...
## $ sexD : num 1 1 2 2 2 1 1 1 1 1 ...
## $ ageD : int 84 54 70 70 62 58 58 61 61 68 ...
## $ ageCS : num [1:246, 1] 1.9878 -0.6079 0.7765 0.7765 0.0843 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : NULL
## $ weightD : num 60 63.6 70.1 70.1 78.7 ...
## $ asaD : int 3 2 2 2 2 1 1 1 1 2 ...
## $ heightD : num 133 155 170 170 175 158 158 149 149 155 ...
## $ ethnicityCAT : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicityD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ current_smokerD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ diabetes_typeD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ daily_insulinD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ creatinine_preopD : int 54 47 109 109 98 50 50 49 49 61 ...
## $ surgery_dominantD : num 1 2 6 6 4 2 2 2 2 4 ...
## $ wound_typeOP : num 2 2 2 2 2 2 2 2 2 2 ...
## $ HbA1c : num 5.7 4.9 5.2 5.2 5.4 ...
## $ bmi : num 33.9 26.5 24.3 24.3 25.7 ...
## $ revised_whodas_preop: int 24 14 12 12 12 12 12 18 18 12 ...
## $ neut_lymph_ratio_d0 : num 1.31 6 1.83 1.83 6.88 ...
## $ neut_lymph_ratio_d1 : num 14 15.62 6.27 6.27 16.57 ...
## $ neut_lymph_ratio_d2 : num 14 9.5 7.67 7.67 12.17 ...
## $ ab_noninfection : int 1 1 1 1 1 1 1 1 1 1 ...
## $ risk : int 4 1 2 2 1 1 1 1 1 1 ...
## $ risk_cat : num 3 1 2 2 1 1 1 1 1 1 ...
## $ bmi_cat : num 4 3 2 2 3 3 3 1 1 2 ...
## $ wound_type_cat : num 2 2 2 2 2 2 2 2 2 2 ...
## $ duration_sx : num 3.067 1.333 5.167 5.167 0.683 ...
## $ anyDex : num 2 2 2 2 2 2 2 2 2 2 ...
## $ treatment_group : int 2 1 2 2 1 1 1 2 2 2 ...
## $ deltacrp : num 277.9 32.7 202.9 202.9 24.8 ...
## $ crp_group : int 4 1 4 4 1 4 4 1 1 1 ...
## $ timepoint : Factor w/ 3 levels "EOS","POD1","T0": 3 2 2 3 3 2 3 2 3 2 ...
## $ dex : num 0 1 0 0 1 1 1 0 0 0 ...
## $ Monocytes.C : num 48.2 20.1 48.7 36.4 15.2 ...
## $ NK : num 0.421 2.007 3.586 2.176 8.347 ...
## $ T.CD8.Memory : num 2.59 10.74 1.81 5.96 14.67 ...
## $ T.CD4.Naive : num 1.57 9.23 2.42 4.61 16.31 ...
## $ T.CD8.Naive : num 11.65 11.69 13.91 12.5 6.73 ...
## $ B.Naive : num 2.158 5.499 0.849 5.065 2.638 ...
## $ T.CD4.Memory : num 15.8 12.9 14.4 16.2 10.1 ...
## $ MAIT : num 0.398 1.474 2.769 1.372 0.525 ...
## $ T.gd.Vd2 : num 1.93 2.05 1.86 2.17 1.85 ...
## $ Neutrophils.LD : num 2.808 3.663 5.722 0.739 14.631 ...
## $ T.gd.non.Vd2 : num 0.473 0.304 0.338 0.519 0.337 ...
## $ Basophils.LD : num 0.74 1.188 0.779 0.343 1.778 ...
## $ Monocytes.NC.I : num 9.98 13.41 2.07 10.35 4.13 ...
## $ B.Memory : num 0.561 4.538 0.205 0.549 1.921 ...
## $ mDCs : num 0.529 0.766 0.45 0.819 0.634 ...
## $ pDCs : num 0.0712 0.3356 0.0858 0.0405 0.075 ...
## $ Plasmablasts : num 0.1371 0.0945 0.1127 0.1229 0.1151 ...
ss3 <- subset(ss2,crp_group==4)
mx <- mx[,colnames(mx) %in% rownames(ss3)]
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ timepoint )
## converting counts to integer mode
res <- DESeq(dds,test="LRT",reduced=~1)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 146 genes
## -- DESeq argument 'minReplicatesForReplace' = 7
## -- original counts are preserved in counts(dds)
## estimating dispersions
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000108950.12 FAM20A 1130.04673 -1.46517918 0.2202846 258.3787
## ENSG00000129538.14 RNASE1 78.89075 -0.47629153 0.2511412 212.2280
## ENSG00000137869.15 CYP19A1 57.57623 -3.94452929 0.4059742 193.8924
## ENSG00000149418.11 ST14 1968.06004 -0.30002151 0.1109534 178.7982
## ENSG00000163958.14 ZDHHC19 265.62720 -0.83587065 0.4243056 178.3933
## ENSG00000099377.14 HSD3B7 142.30198 -0.27573564 0.1303896 175.3940
## ENSG00000170439.7 METTL7B 137.23441 -2.82246946 0.3311439 170.9125
## ENSG00000163221.9 S100A12 14212.52005 -2.32656785 0.2480649 170.8011
## ENSG00000145287.11 PLAC8 4019.44402 0.02605796 0.1151415 166.9811
## ENSG00000171812.13 COL8A2 255.09375 0.13117239 0.1576245 166.4452
## pvalue padj
## ENSG00000108950.12 FAM20A 7.830419e-57 1.710398e-52
## ENSG00000129538.14 RNASE1 8.227649e-47 8.985827e-43
## ENSG00000137869.15 CYP19A1 7.884910e-43 5.741003e-39
## ENSG00000149418.11 ST14 1.494400e-39 7.993557e-36
## ENSG00000163958.14 ZDHHC19 1.829775e-39 7.993557e-36
## ENSG00000099377.14 HSD3B7 8.197251e-39 2.984209e-35
## ENSG00000170439.7 METTL7B 7.705746e-38 2.224552e-34
## ENSG00000163221.9 S100A12 8.147423e-38 2.224552e-34
## ENSG00000145287.11 PLAC8 5.501802e-37 1.335287e-33
## ENSG00000171812.13 COL8A2 7.192605e-37 1.571081e-33
mean(abs(dge$stat))
## [1] 14.34977
# model with PG number as batch
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + timepoint )
## converting counts to integer mode
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced=~PG_number)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 15 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000108950.12 FAM20A 1130.04673 -1.0882976 0.17989751 411.4108
## ENSG00000129538.14 RNASE1 78.89075 -0.4866870 0.19019602 296.9424
## ENSG00000169385.3 RNASE2 1133.53780 -0.5732621 0.12763025 295.4913
## ENSG00000099377.14 HSD3B7 142.30198 -0.2948502 0.10729294 283.3423
## ENSG00000170439.7 METTL7B 137.23441 -2.1818611 0.26781437 279.0033
## ENSG00000014257.16 ACP3 771.16189 -0.1503327 0.07859514 272.8122
## ENSG00000116574.6 RHOU 1061.49548 -0.4007232 0.07348453 258.4538
## ENSG00000135424.18 ITGA7 351.45475 -0.5957969 0.13253878 256.9594
## ENSG00000161944.16 ASGR2 2510.88699 -0.1541761 0.11602491 250.3254
## ENSG00000198848.13 CES1 2391.37105 -0.9640238 0.12947420 247.7674
## pvalue padj
## ENSG00000108950.12 FAM20A 4.605515e-90 1.005983e-85
## ENSG00000129538.14 RNASE1 3.309543e-65 3.614517e-61
## ENSG00000169385.3 RNASE2 6.837180e-65 4.978151e-61
## ENSG00000099377.14 HSD3B7 2.971728e-62 1.622786e-58
## ENSG00000170439.7 METTL7B 2.601426e-61 1.136459e-57
## ENSG00000014257.16 ACP3 5.748884e-60 2.092881e-56
## ENSG00000116574.6 RHOU 7.541771e-57 2.353356e-53
## ENSG00000135424.18 ITGA7 1.592113e-56 4.347066e-53
## ENSG00000161944.16 ASGR2 4.390592e-55 1.065597e-51
## ENSG00000198848.13 CES1 1.577559e-54 3.445862e-51
mean(abs(dge$stat))
## [1] 20.82393
tc_hi <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP high")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 11 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000087116.16 ADAMTS2 465.25599 -2.2685850 0.39065221 2230.7387
## ENSG00000204936.10 CD177 5668.23901 -3.9026176 0.44926011 3679.0286
## ENSG00000269711.1 CTD-3214H19.16 367.95745 -1.7172991 0.25347528 2787.9429
## ENSG00000079393.21 DUSP13 67.18730 -5.0262036 0.51898462 848.6468
## ENSG00000169174.11 PCSK9 28.86034 -4.7554139 0.61919333 593.4778
## ENSG00000276107.1 THBS1-IT1 35.23013 -3.6696653 0.49924775 571.9965
## ENSG00000108950.12 FAM20A 1130.04673 -1.1063056 0.19711548 353.4320
## ENSG00000014257.16 ACP3 771.16189 -0.1657610 0.08558598 241.3292
## ENSG00000129538.14 RNASE1 78.89075 -0.4408703 0.20764987 234.5550
## ENSG00000169385.3 RNASE2 1133.53780 -0.5538046 0.14078212 233.7628
## pvalue padj
## ENSG00000087116.16 ADAMTS2 0.000000e+00 0.000000e+00
## ENSG00000204936.10 CD177 0.000000e+00 0.000000e+00
## ENSG00000269711.1 CTD-3214H19.16 0.000000e+00 0.000000e+00
## ENSG00000079393.21 DUSP13 5.232248e-185 2.857200e-181
## ENSG00000169174.11 PCSK9 1.342529e-129 5.864974e-126
## ENSG00000276107.1 THBS1-IT1 6.202123e-125 2.257883e-121
## ENSG00000108950.12 FAM20A 1.791520e-77 5.590312e-74
## ENSG00000014257.16 ACP3 3.944805e-53 1.077080e-49
## ENSG00000129538.14 RNASE1 1.166867e-51 2.831986e-48
## ENSG00000169385.3 RNASE2 1.734000e-51 3.787576e-48
mean(abs(dge$stat))
## [1] 18.83117
tc_hi_adj <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP high adj")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
Look at the top genes.
rpm <- apply(xx,2,function(x) { x/sum(x) * 1e6 } )
zrpm <- t(apply(rpm,1,scale))
colnames(zrpm) <- colnames(rpm)
dim(zrpm)
## [1] 60649 318
ss3 <- subset(ss2,crp_group==1)
zrpmlo <- zrpm[,colnames(zrpm) %in% rownames(ss3)]
dim(zrpmlo)
## [1] 60649 118
ss3 <- subset(ss2,crp_group==4)
zrpmhi <- zrpm[,colnames(zrpm) %in% rownames(ss3)]
dim(zrpmhi)
## [1] 60649 128
mygenes <- c("ENSG00000100368.14 CSF2RB","ENSG00000139572.4 GPR84","ENSG00000236911.6 RP11-78B10.2",
"ENSG00000197632.9 SERPINB2", "ENSG00000059804.16 SLC2A3", "ENSG00000184557.4 SOCS3")
par(mfrow=c(3,2))
null <- lapply(mygenes, function(myg) {
mymax <- max(c(zrpmlo[which(rownames(zrpmlo) == myg),], zrpmhi[which(rownames(zrpmhi) == myg),]))
mymin <- min(c(zrpmlo[which(rownames(zrpmlo) == myg),], zrpmhi[which(rownames(zrpmhi) == myg),]))
myd <- zrpmlo[which(rownames(zrpmlo) == myg),]
t0 <- myd[grep("T0",names(myd))]
eos <- myd[grep("EOS",names(myd))]
pod1 <- myd[grep("POD1",names(myd))]
myl <- list("T0"=t0,"EOS"=eos,"POD1"=pod1)
boxplot(myl,cex=0,col="white",ylab="scaled relative expression",
main=paste("low CRP",myg),ylim=c(mymin,mymax))
beeswarm(myl,add=TRUE)
myd <- zrpmhi[which(rownames(zrpmhi) == myg),]
t0 <- myd[grep("T0",names(myd))]
eos <- myd[grep("EOS",names(myd))]
pod1 <- myd[grep("POD1",names(myd))]
myl <- list("T0"=t0,"EOS"=eos,"POD1"=pod1)
boxplot(myl,cex=0,col="white",ylab="scaled relative expression",
main=paste("high CRP",myg),ylim=c(mymin,mymax))
beeswarm(myl,add=TRUE)
})
par(mfrow=c(1,2))
par(mar=c(8.1,4.1,4.1,1.1))
# distinguish between treatment groups
null <- lapply(mygenes, function(myg) {
mymax <- max(c(rpm[which(rownames(rpm) == myg),], rpm[which(rownames(rpm) == myg),]))
mymin <- min(c(rpm[which(rownames(rpm) == myg),], rpm[which(rownames(rpm) == myg),]))
i <- which(rownames(rpm) == myg )
rpm_lo_t0_placebo <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==1 & dex==0 & timepoint == "T0")))]
rpm_lo_t0_dex <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==1 & dex==1 & timepoint == "T0")))]
rpm_lo_eos_placebo <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==1 & dex==0 & timepoint == "EOS")))]
rpm_lo_eos_dex <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==1 & dex==1 & timepoint == "EOS")))]
rpm_lo_pod1_placebo <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==1 & dex==0 & timepoint == "POD1")))]
rpm_lo_pod1_dex <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==1 & dex==1 & timepoint == "POD1")))]
myl <- list("t0 placebo" = rpm_lo_t0_placebo, "t0 dex" = rpm_lo_t0_dex,
"EOS placebo" = rpm_lo_eos_placebo,"EOS dex" = rpm_lo_eos_dex,
"POD1 placebo" = rpm_lo_pod1_placebo,"POD1 dex" = rpm_lo_pod1_dex)
boxplot(myl,cex=0,col="white",ylab="scaled relative expression",
main="low CRP",ylim=c(mymin,mymax),las=2)
mtext(myg)
beeswarm(myl,add=TRUE,cex=0.7)
rpm_hi_t0_placebo <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==4 & dex==0 & timepoint == "T0")))]
rpm_hi_t0_dex <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==4 & dex==1 & timepoint == "T0")))]
rpm_hi_eos_placebo <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==4 & dex==0 & timepoint == "EOS")))]
rpm_hi_eos_dex <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==4 & dex==1 & timepoint == "EOS")))]
rpm_hi_pod1_placebo <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==4 & dex==0 & timepoint == "POD1")))]
rpm_hi_pod1_dex <- rpm[i,which(colnames(rpm) %in% rownames(subset(ss2,crp_group==4 & dex==1 & timepoint == "POD1")))]
myl <- list("t0 placebo" = rpm_hi_t0_placebo, "t0 dex" = rpm_hi_t0_dex,
"EOS placebo" = rpm_hi_eos_placebo,"EOS dex" = rpm_hi_eos_dex,
"POD1 placebo" = rpm_hi_pod1_placebo,"POD1 dex" = rpm_hi_pod1_dex)
boxplot(myl,cex=0,col="white",ylab="scaled relative expression",
main="high CRP",ylim=c(mymin,mymax),las=2)
mtext(myg)
beeswarm(myl,add=TRUE,cex=0.7)
})
par(mar=c(5.1,4.1,4.1,2.1))
par(mfrow=c(1,1))
mydowngenes <- c("ENSG00000158485.11 CD1B", "ENSG00000158488.16 CD1E", "ENSG00000136944.19 LMX1B", "ENSG00000165526.9 RPUSD4")
zhi <- colSums(zrpmhi[which(rownames(zrpmhi) %in% mygenes),])
zhi <- zhi[grep("EOS",names(zhi))]
dhi <- colSums(zrpmhi[which(rownames(zrpmhi) %in% mydowngenes),])
dhi <- dhi[grep("EOS",names(dhi))]
zzhi <- zhi/dhi
zlo <- colSums(zrpmlo[which(rownames(zrpmlo) %in% mygenes),])
zlo <- zlo[grep("EOS",names(zhi))]
dlo <- colSums(zrpmlo[which(rownames(zrpmlo) %in% mydowngenes),])
dlo <- dlo[grep("EOS",names(dhi))]
zzlo <- zlo/dlo
zll <- list("low"=zlo,"high"=zhi)
boxplot(zll,cex=0,col="white",ylab="aggregate expression")
beeswarm(zll,add=TRUE,pch=19,col="darkgray",cex=1.2)
This method can identify genes with overall differential expression, however it does not show ones that could be good candidate genes.
Now with separate t0-EOS-POD1 comparisons.
# t0-EOS comparison
ss3a <- ss3[grep("POD",rownames(ss3),invert=TRUE),]
mx <- xx[,colnames(xx) %in% rownames(ss3a)]
mx <- mx[,order(colnames(mx)),]
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21985 87
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3a,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000276107.1 THBS1-IT1 45.98864 -3.6401521 0.57274017 355.91320
## ENSG00000169174.11 PCSK9 34.24941 -5.0866832 0.80057667 332.94850
## ENSG00000272414.6 FAM47E-STBD1 27.83774 -4.2647559 0.67530331 307.85908
## ENSG00000288622.1 PDCD6-AHRR 19.82626 1.0187079 1.00200250 109.76160
## ENSG00000175130.7 MARCKSL1 924.15723 0.8236127 0.08231150 97.20120
## ENSG00000123685.9 BATF3 129.79319 1.0238607 0.10256338 96.61485
## ENSG00000281162.2 LINC01127 706.45160 -1.6579848 0.16266109 92.88174
## ENSG00000152503.10 TRIM36 35.85324 1.4584576 0.15493704 86.85939
## ENSG00000112299.8 VNN1 1495.87314 -1.9260363 0.19258471 85.07530
## ENSG00000197122.12 SRC 1085.06560 0.9174088 0.09757797 84.31643
## pvalue padj
## ENSG00000276107.1 THBS1-IT1 2.185181e-79 4.804121e-75
## ENSG00000169174.11 PCSK9 2.190826e-74 2.408265e-70
## ENSG00000272414.6 FAM47E-STBD1 6.391668e-69 4.684027e-65
## ENSG00000288622.1 PDCD6-AHRR 1.105136e-25 6.074102e-22
## ENSG00000175130.7 MARCKSL1 6.262870e-23 2.753784e-19
## ENSG00000123685.9 BATF3 8.421414e-23 3.085747e-19
## ENSG00000281162.2 LINC01127 5.551430e-22 1.743546e-18
## ENSG00000152503.10 TRIM36 1.165173e-20 3.202042e-17
## ENSG00000112299.8 VNN1 2.872163e-20 7.016055e-17
## ENSG00000197122.12 SRC 4.215973e-20 9.268817e-17
mean(abs(dge$stat))
## [1] 5.739634
tc1_hi_adj <- dge
nrow(tc1_hi_adj)
## [1] 21985
nrow(subset(tc1_hi_adj,padj<0.05))
## [1] 6247
nrow(subset(tc1_hi_adj,padj<0.05 & log2FoldChange >0))
## [1] 3306
nrow(subset(tc1_hi_adj,padj<0.05 & log2FoldChange <0))
## [1] 2941
# EOS-POD1 comparison
ss3b <- ss3[grep("T0",rownames(ss3),invert=TRUE),]
mx <- xx[,colnames(xx) %in% rownames(ss3b)]
mx <- mx[,order(colnames(mx)),]
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21636 82
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3b,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000281887.3 GIMAP1-GIMAP5 523.96066 0.8662831 0.53467974 591.6035
## ENSG00000007968.7 E2F2 832.48521 1.4469203 0.11992632 133.3384
## ENSG00000108950.12 FAM20A 1594.39647 2.5714503 0.20408032 125.4211
## ENSG00000165092.13 ALDH1A1 417.46501 -2.0084993 0.16534119 124.0316
## ENSG00000104972.16 LILRB1 6764.89681 1.0778177 0.09481709 123.0875
## ENSG00000137959.17 IFI44L 1288.93357 -1.6918778 0.14352191 122.9230
## ENSG00000111424.12 VDR 667.27585 0.8605779 0.07687280 121.5435
## ENSG00000213557.4 RP11-240E2.2 83.16359 -2.2318800 0.18763123 121.1044
## ENSG00000014257.16 ACP3 889.43004 0.9883047 0.08832163 119.9995
## ENSG00000072310.18 SREBF1 2193.44292 0.9947788 0.08930528 118.8486
## pvalue padj
## ENSG00000281887.3 GIMAP1-GIMAP5 1.122338e-130 2.428291e-126
## ENSG00000007968.7 E2F2 7.624132e-31 8.247786e-27
## ENSG00000108950.12 FAM20A 4.116320e-29 2.968690e-25
## ENSG00000165092.13 ALDH1A1 8.291342e-29 4.484787e-25
## ENSG00000104972.16 LILRB1 1.334313e-28 5.227386e-25
## ENSG00000137959.17 IFI44L 1.449636e-28 5.227386e-25
## ENSG00000111424.12 VDR 2.905660e-28 8.980979e-25
## ENSG00000213557.4 RP11-240E2.2 3.625354e-28 9.804771e-25
## ENSG00000014257.16 ACP3 6.327810e-28 1.521206e-24
## ENSG00000072310.18 SREBF1 1.130380e-27 2.445690e-24
mean(abs(dge$stat))
## [1] 6.611274
tc2_hi_adj <- dge
nrow(tc2_hi_adj)
## [1] 21636
nrow(subset(tc2_hi_adj,padj<0.05))
## [1] 6877
nrow(subset(tc2_hi_adj,padj<0.05 & log2FoldChange >0))
## [1] 3536
nrow(subset(tc2_hi_adj,padj<0.05 & log2FoldChange <0))
## [1] 3341
Sort DEGs into 8 groups.
tc1_hi_adj_up <- rownames(subset(tc1_hi_adj,padj<0.05 & log2FoldChange >0 ))
tc1_hi_adj_dn <- rownames(subset(tc1_hi_adj,padj<0.05 & log2FoldChange <0 ))
tc1_hi_adj_ns <- rownames(subset(tc1_hi_adj,padj>0.05 ))
tc2_hi_adj_up <- rownames(subset(tc2_hi_adj,padj<0.05 & log2FoldChange >0 ))
tc2_hi_adj_dn <- rownames(subset(tc2_hi_adj,padj<0.05 & log2FoldChange <0 ))
tc2_hi_adj_ns <- rownames(subset(tc2_hi_adj,padj>0.05 ))
G1 <- intersect(tc1_hi_adj_ns,tc2_hi_adj_up)
G2 <- intersect(tc1_hi_adj_ns,tc2_hi_adj_dn)
G3 <- intersect(tc1_hi_adj_up, tc2_hi_adj_dn)
G4 <- intersect(tc1_hi_adj_dn, tc2_hi_adj_up)
G5 <- intersect(tc1_hi_adj_up,tc2_hi_adj_ns)
G6 <- intersect(tc1_hi_adj_dn,tc2_hi_adj_ns)
G7 <- intersect(tc1_hi_adj_up, tc2_hi_adj_up)
G8 <- intersect(tc1_hi_adj_dn, tc2_hi_adj_dn)
G9 <- intersect(tc1_hi_adj_ns,tc2_hi_adj_ns)
GL <- list("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8,"G9"=G9)
lapply(GL,length)
## $G1
## [1] 2131
##
## $G2
## [1] 2387
##
## $G3
## [1] 137
##
## $G4
## [1] 403
##
## $G5
## [1] 2152
##
## $G6
## [1] 1715
##
## $G7
## [1] 977
##
## $G8
## [1] 813
##
## $G9
## [1] 10807
length(c("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8,"G9"=G9))
## [1] 21522
length(unique(c("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8)))
## [1] 10715
treatment_group==1 is DEX
ss2 <- as.data.frame(cbind(ss1,sscell))
ss2 <- ss2[order(rownames(ss2)),]
ss2 <- ss2[table(ss2$PG_number)==3,] # must include all 3 timepoints
mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[,order(colnames(mx)),]
rownames(ss2) == colnames(mx)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE
ss2$timepoint <- factor(ss2$timepoint, ordered = FALSE)
ss2$PG_number <- factor(ss2$PG_number, ordered = FALSE)
str(ss2)
## 'data.frame': 246 obs. of 50 variables:
## $ PG_number : Factor w/ 102 levels "3176","3178",..: 1 2 3 3 4 5 5 6 6 7 ...
## $ sexD : num 1 1 2 2 2 1 1 1 1 1 ...
## $ ageD : int 84 54 70 70 62 58 58 61 61 68 ...
## $ ageCS : num [1:246, 1] 1.9878 -0.6079 0.7765 0.7765 0.0843 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : NULL
## $ weightD : num 60 63.6 70.1 70.1 78.7 ...
## $ asaD : int 3 2 2 2 2 1 1 1 1 2 ...
## $ heightD : num 133 155 170 170 175 158 158 149 149 155 ...
## $ ethnicityCAT : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicityD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ current_smokerD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ diabetes_typeD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ daily_insulinD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ creatinine_preopD : int 54 47 109 109 98 50 50 49 49 61 ...
## $ surgery_dominantD : num 1 2 6 6 4 2 2 2 2 4 ...
## $ wound_typeOP : num 2 2 2 2 2 2 2 2 2 2 ...
## $ HbA1c : num 5.7 4.9 5.2 5.2 5.4 ...
## $ bmi : num 33.9 26.5 24.3 24.3 25.7 ...
## $ revised_whodas_preop: int 24 14 12 12 12 12 12 18 18 12 ...
## $ neut_lymph_ratio_d0 : num 1.31 6 1.83 1.83 6.88 ...
## $ neut_lymph_ratio_d1 : num 14 15.62 6.27 6.27 16.57 ...
## $ neut_lymph_ratio_d2 : num 14 9.5 7.67 7.67 12.17 ...
## $ ab_noninfection : int 1 1 1 1 1 1 1 1 1 1 ...
## $ risk : int 4 1 2 2 1 1 1 1 1 1 ...
## $ risk_cat : num 3 1 2 2 1 1 1 1 1 1 ...
## $ bmi_cat : num 4 3 2 2 3 3 3 1 1 2 ...
## $ wound_type_cat : num 2 2 2 2 2 2 2 2 2 2 ...
## $ duration_sx : num 3.067 1.333 5.167 5.167 0.683 ...
## $ anyDex : num 2 2 2 2 2 2 2 2 2 2 ...
## $ treatment_group : int 2 1 2 2 1 1 1 2 2 2 ...
## $ deltacrp : num 277.9 32.7 202.9 202.9 24.8 ...
## $ crp_group : int 4 1 4 4 1 4 4 1 1 1 ...
## $ timepoint : Factor w/ 3 levels "EOS","POD1","T0": 3 2 2 3 3 2 3 2 3 2 ...
## $ dex : num 0 1 0 0 1 1 1 0 0 0 ...
## $ Monocytes.C : num 48.2 20.1 48.7 36.4 15.2 ...
## $ NK : num 0.421 2.007 3.586 2.176 8.347 ...
## $ T.CD8.Memory : num 2.59 10.74 1.81 5.96 14.67 ...
## $ T.CD4.Naive : num 1.57 9.23 2.42 4.61 16.31 ...
## $ T.CD8.Naive : num 11.65 11.69 13.91 12.5 6.73 ...
## $ B.Naive : num 2.158 5.499 0.849 5.065 2.638 ...
## $ T.CD4.Memory : num 15.8 12.9 14.4 16.2 10.1 ...
## $ MAIT : num 0.398 1.474 2.769 1.372 0.525 ...
## $ T.gd.Vd2 : num 1.93 2.05 1.86 2.17 1.85 ...
## $ Neutrophils.LD : num 2.808 3.663 5.722 0.739 14.631 ...
## $ T.gd.non.Vd2 : num 0.473 0.304 0.338 0.519 0.337 ...
## $ Basophils.LD : num 0.74 1.188 0.779 0.343 1.778 ...
## $ Monocytes.NC.I : num 9.98 13.41 2.07 10.35 4.13 ...
## $ B.Memory : num 0.561 4.538 0.205 0.549 1.921 ...
## $ mDCs : num 0.529 0.766 0.45 0.819 0.634 ...
## $ pDCs : num 0.0712 0.3356 0.0858 0.0405 0.075 ...
## $ Plasmablasts : num 0.1371 0.0945 0.1127 0.1229 0.1151 ...
ss3 <- subset(ss2,treatment_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss3)]
dim(mx)
## [1] 60649 108
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21939 108
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 6 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000087116.16 ADAMTS2 860.45395 -3.3962967 0.4562792 3195.2105
## ENSG00000206047.3 DEFA1 4723.55792 -0.9276721 0.3351349 5131.8516
## ENSG00000240247.8 DEFA1B 1690.08283 -1.1807731 0.4772744 2353.5189
## ENSG00000169174.11 PCSK9 40.53020 -6.4573550 0.6613702 652.3026
## ENSG00000276107.1 THBS1-IT1 48.31861 -4.2445455 0.5367128 620.1901
## ENSG00000270800.3 RPS10-NUDT3 36.21711 -0.3960061 0.4560349 391.6784
## ENSG00000258610.1 RP11-488C13.7 19.92537 1.1007498 0.5289340 293.8621
## ENSG00000079215.15 SLC1A3 779.22201 -4.7401012 0.2593646 288.4815
## ENSG00000109906.15 ZBTB16 4123.18207 -3.2331971 0.2314980 284.8919
## ENSG00000182580.3 EPHB3 74.37827 2.4413997 0.2040367 266.1091
## pvalue padj
## ENSG00000087116.16 ADAMTS2 0.000000e+00 0.000000e+00
## ENSG00000206047.3 DEFA1 0.000000e+00 0.000000e+00
## ENSG00000240247.8 DEFA1B 0.000000e+00 0.000000e+00
## ENSG00000169174.11 PCSK9 2.260893e-142 1.240043e-138
## ENSG00000276107.1 THBS1-IT1 2.125385e-135 9.325766e-132
## ENSG00000270800.3 RPS10-NUDT3 8.873851e-86 3.244724e-82
## ENSG00000258610.1 RP11-488C13.7 1.544014e-64 4.839161e-61
## ENSG00000079215.15 SLC1A3 2.275342e-63 6.239841e-60
## ENSG00000109906.15 ZBTB16 1.369308e-62 3.337915e-59
## ENSG00000182580.3 EPHB3 1.641161e-58 3.600544e-55
mean(abs(dge$stat))
## [1] 20.19949
tc_a_adj <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP low Trt A adj")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
Now with separate t0-EOS-POD1 comparisons.
# t0-EOS comparison
ss3a <- ss3[grep("POD",rownames(ss3),invert=TRUE),]
mx <- xx[,colnames(xx) %in% rownames(ss3a)]
mx <- mx[,order(colnames(mx)),]
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 22202 74
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3a,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000169174.11 PCSK9 54.32418 -5.762911 0.6782482 574.4628
## ENSG00000278621.1 THBS1-AS1 66.89541 -4.368039 0.5449107 509.2353
## ENSG00000276107.1 THBS1-IT1 56.82353 -4.847236 0.5933214 490.3805
## ENSG00000272414.6 FAM47E-STBD1 38.24046 -4.492660 0.6472102 342.0049
## ENSG00000060982.15 BCAT1 621.48379 -1.790402 0.1319497 163.6974
## ENSG00000179593.16 ALOX15B 959.98158 -4.674079 0.3144553 143.4485
## ENSG00000109906.15 ZBTB16 5788.44049 -3.097051 0.2300085 142.2666
## ENSG00000119138.5 KLF9 2371.87214 -1.265162 0.1071657 130.9946
## ENSG00000079215.15 SLC1A3 1075.19072 -4.600394 0.3191578 130.1879
## ENSG00000112299.8 VNN1 1828.70045 -2.176259 0.1745376 129.2454
## pvalue padj
## ENSG00000169174.11 PCSK9 6.005489e-127 1.333339e-122
## ENSG00000278621.1 THBS1-AS1 9.302328e-113 1.032651e-108
## ENSG00000276107.1 THBS1-IT1 1.177675e-108 8.715578e-105
## ENSG00000272414.6 FAM47E-STBD1 2.334795e-76 1.295928e-72
## ENSG00000060982.15 BCAT1 1.761411e-37 7.821368e-34
## ENSG00000179593.16 ALOX15B 4.689980e-33 1.735449e-29
## ENSG00000109906.15 ZBTB16 8.503394e-33 2.697033e-29
## ENSG00000119138.5 KLF9 2.482824e-30 6.890457e-27
## ENSG00000079215.15 SLC1A3 3.727754e-30 9.195956e-27
## ENSG00000112299.8 VNN1 5.993040e-30 1.330575e-26
mean(abs(dge$stat))
## [1] 5.211927
tc1_a_adj <- dge
nrow(tc1_a_adj)
## [1] 22202
nrow(subset(tc1_a_adj,padj<0.05))
## [1] 4819
nrow(subset(tc1_a_adj,padj<0.05 & log2FoldChange >0))
## [1] 2503
nrow(subset(tc1_a_adj,padj<0.05 & log2FoldChange <0))
## [1] 2316
# EOS-POD1 comparison
ss3b <- ss3[grep("T0",rownames(ss3),invert=TRUE),]
mx <- xx[,colnames(xx) %in% rownames(ss3b)]
mx <- mx[,order(colnames(mx)),]
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21793 71
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3b,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000206047.3 DEFA1 4784.89090 -2.937490 0.39038238 2668.9412
## ENSG00000240247.8 DEFA1B 1529.85554 -3.417137 0.53080759 1616.1825
## ENSG00000039523.20 RIPOR1 3112.79726 1.121681 0.06627426 275.6357
## ENSG00000185338.7 SOCS1 725.84569 -2.508268 0.14120108 269.5549
## ENSG00000146232.17 NFKBIE 683.20228 1.566953 0.09300174 264.5056
## ENSG00000279117.1 CTD-2562J17.6 50.69047 -3.204443 0.65987886 252.4878
## ENSG00000182580.3 EPHB3 70.06990 3.238613 0.19021779 249.4731
## ENSG00000111252.11 SH2B3 4551.38840 1.086923 0.06887367 239.7238
## ENSG00000164056.11 SPRY1 175.47944 -3.230139 0.19037787 229.6396
## ENSG00000074966.11 TXK 1797.19071 -1.597079 0.10165677 226.2726
## pvalue padj
## ENSG00000206047.3 DEFA1 0.000000e+00 0.000000e+00
## ENSG00000240247.8 DEFA1B 0.000000e+00 0.000000e+00
## ENSG00000039523.20 RIPOR1 6.709294e-62 4.873855e-58
## ENSG00000185338.7 SOCS1 1.418757e-60 7.729745e-57
## ENSG00000146232.17 NFKBIE 1.788266e-59 7.794338e-56
## ENSG00000279117.1 CTD-2562J17.6 7.448991e-57 2.705598e-53
## ENSG00000182580.3 EPHB3 3.383088e-56 1.053252e-52
## ENSG00000111252.11 SH2B3 4.517856e-54 1.230720e-50
## ENSG00000164056.11 SPRY1 7.143961e-52 1.729871e-48
## ENSG00000074966.11 TXK 3.874916e-51 8.444605e-48
mean(abs(dge$stat))
## [1] 13.01018
tc2_a_adj <- dge
nrow(tc2_a_adj)
## [1] 21793
nrow(subset(tc2_a_adj,padj<0.05))
## [1] 10545
nrow(subset(tc2_a_adj,padj<0.05 & log2FoldChange >0))
## [1] 5121
nrow(subset(tc2_a_adj,padj<0.05 & log2FoldChange <0))
## [1] 5424
Sort DEGs into 8 groups.
tc1_a_adj_up <- rownames(subset(tc1_a_adj,padj<0.05 & log2FoldChange >0 ))
tc1_a_adj_dn <- rownames(subset(tc1_a_adj,padj<0.05 & log2FoldChange <0 ))
tc1_a_adj_ns <- rownames(subset(tc1_a_adj,padj>0.05 ))
tc2_a_adj_up <- rownames(subset(tc2_a_adj,padj<0.05 & log2FoldChange >0 ))
tc2_a_adj_dn <- rownames(subset(tc2_a_adj,padj<0.05 & log2FoldChange <0 ))
tc2_a_adj_ns <- rownames(subset(tc2_a_adj,padj>0.05 ))
G1 <- intersect(tc1_a_adj_ns,tc2_a_adj_up)
G2 <- intersect(tc1_a_adj_ns,tc2_a_adj_dn)
G3 <- intersect(tc1_a_adj_up, tc2_a_adj_dn)
G4 <- intersect(tc1_a_adj_dn, tc2_a_adj_up)
G5 <- intersect(tc1_a_adj_up,tc2_a_adj_ns)
G6 <- intersect(tc1_a_adj_dn,tc2_a_adj_ns)
G7 <- intersect(tc1_a_adj_up, tc2_a_adj_up)
G8 <- intersect(tc1_a_adj_dn, tc2_a_adj_dn)
G9 <- intersect(tc1_a_adj_ns,tc2_a_adj_ns)
GL <- list("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8,"G9"=G9)
lapply(GL,length)
## $G1
## [1] 3573
##
## $G2
## [1] 3787
##
## $G3
## [1] 86
##
## $G4
## [1] 59
##
## $G5
## [1] 913
##
## $G6
## [1] 701
##
## $G7
## [1] 1468
##
## $G8
## [1] 1545
##
## $G9
## [1] 9577
length(c("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8,"G9"=G9))
## [1] 21709
length(unique(c("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8)))
## [1] 12132
treatment_group==2 is PLACEBO
ss2 <- as.data.frame(cbind(ss1,sscell))
ss2 <- ss2[order(rownames(ss2)),]
ss2 <- ss2[table(ss2$PG_number)==3,] # must include all 3 timepoints
mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[,order(colnames(mx)),]
rownames(ss2) == colnames(mx)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE
ss2$timepoint <- factor(ss2$timepoint, ordered = FALSE)
ss2$PG_number <- factor(ss2$PG_number, ordered = FALSE)
str(ss2)
## 'data.frame': 246 obs. of 50 variables:
## $ PG_number : Factor w/ 102 levels "3176","3178",..: 1 2 3 3 4 5 5 6 6 7 ...
## $ sexD : num 1 1 2 2 2 1 1 1 1 1 ...
## $ ageD : int 84 54 70 70 62 58 58 61 61 68 ...
## $ ageCS : num [1:246, 1] 1.9878 -0.6079 0.7765 0.7765 0.0843 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : NULL
## $ weightD : num 60 63.6 70.1 70.1 78.7 ...
## $ asaD : int 3 2 2 2 2 1 1 1 1 2 ...
## $ heightD : num 133 155 170 170 175 158 158 149 149 155 ...
## $ ethnicityCAT : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicityD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ current_smokerD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ diabetes_typeD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ daily_insulinD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ creatinine_preopD : int 54 47 109 109 98 50 50 49 49 61 ...
## $ surgery_dominantD : num 1 2 6 6 4 2 2 2 2 4 ...
## $ wound_typeOP : num 2 2 2 2 2 2 2 2 2 2 ...
## $ HbA1c : num 5.7 4.9 5.2 5.2 5.4 ...
## $ bmi : num 33.9 26.5 24.3 24.3 25.7 ...
## $ revised_whodas_preop: int 24 14 12 12 12 12 12 18 18 12 ...
## $ neut_lymph_ratio_d0 : num 1.31 6 1.83 1.83 6.88 ...
## $ neut_lymph_ratio_d1 : num 14 15.62 6.27 6.27 16.57 ...
## $ neut_lymph_ratio_d2 : num 14 9.5 7.67 7.67 12.17 ...
## $ ab_noninfection : int 1 1 1 1 1 1 1 1 1 1 ...
## $ risk : int 4 1 2 2 1 1 1 1 1 1 ...
## $ risk_cat : num 3 1 2 2 1 1 1 1 1 1 ...
## $ bmi_cat : num 4 3 2 2 3 3 3 1 1 2 ...
## $ wound_type_cat : num 2 2 2 2 2 2 2 2 2 2 ...
## $ duration_sx : num 3.067 1.333 5.167 5.167 0.683 ...
## $ anyDex : num 2 2 2 2 2 2 2 2 2 2 ...
## $ treatment_group : int 2 1 2 2 1 1 1 2 2 2 ...
## $ deltacrp : num 277.9 32.7 202.9 202.9 24.8 ...
## $ crp_group : int 4 1 4 4 1 4 4 1 1 1 ...
## $ timepoint : Factor w/ 3 levels "EOS","POD1","T0": 3 2 2 3 3 2 3 2 3 2 ...
## $ dex : num 0 1 0 0 1 1 1 0 0 0 ...
## $ Monocytes.C : num 48.2 20.1 48.7 36.4 15.2 ...
## $ NK : num 0.421 2.007 3.586 2.176 8.347 ...
## $ T.CD8.Memory : num 2.59 10.74 1.81 5.96 14.67 ...
## $ T.CD4.Naive : num 1.57 9.23 2.42 4.61 16.31 ...
## $ T.CD8.Naive : num 11.65 11.69 13.91 12.5 6.73 ...
## $ B.Naive : num 2.158 5.499 0.849 5.065 2.638 ...
## $ T.CD4.Memory : num 15.8 12.9 14.4 16.2 10.1 ...
## $ MAIT : num 0.398 1.474 2.769 1.372 0.525 ...
## $ T.gd.Vd2 : num 1.93 2.05 1.86 2.17 1.85 ...
## $ Neutrophils.LD : num 2.808 3.663 5.722 0.739 14.631 ...
## $ T.gd.non.Vd2 : num 0.473 0.304 0.338 0.519 0.337 ...
## $ Basophils.LD : num 0.74 1.188 0.779 0.343 1.778 ...
## $ Monocytes.NC.I : num 9.98 13.41 2.07 10.35 4.13 ...
## $ B.Memory : num 0.561 4.538 0.205 0.549 1.921 ...
## $ mDCs : num 0.529 0.766 0.45 0.819 0.634 ...
## $ pDCs : num 0.0712 0.3356 0.0858 0.0405 0.075 ...
## $ Plasmablasts : num 0.1371 0.0945 0.1127 0.1229 0.1151 ...
ss3 <- subset(ss2,treatment_group==2)
mx <- mx[,colnames(mx) %in% rownames(ss3)]
dim(mx)
## [1] 60649 138
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21760 138
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 3 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000162551.14 ALPL 2946.94311 -0.2274504 0.39901411 2956.2619
## ENSG00000269711.1 CTD-3214H19.16 313.60348 -1.6720104 0.26384596 2468.3361
## ENSG00000283228.1 CTD-2021K4.1 37.44045 -0.9915125 0.52551833 449.1692
## ENSG00000215695.1 RSC1A1 38.59619 0.2811810 0.43926464 445.5870
## ENSG00000108950.12 FAM20A 878.14031 -0.6517365 0.18074664 345.7818
## ENSG00000132170.24 PPARG 89.80847 -1.0434402 0.17150958 287.6216
## ENSG00000182580.3 EPHB3 95.13640 0.4801801 0.11342764 253.7072
## ENSG00000271605.6 MILR1 816.49098 -0.3661628 0.06868836 238.5424
## ENSG00000251429.1 AIDAP2 101.32970 -0.3916133 0.10013722 238.3724
## ENSG00000166033.13 HTRA1 96.58832 -0.4769617 0.16288572 233.5979
## pvalue padj
## ENSG00000162551.14 ALPL 0.000000e+00 0.000000e+00
## ENSG00000269711.1 CTD-3214H19.16 0.000000e+00 0.000000e+00
## ENSG00000283228.1 CTD-2021K4.1 2.911647e-98 2.111915e-94
## ENSG00000215695.1 RSC1A1 1.745910e-97 9.497748e-94
## ENSG00000108950.12 FAM20A 8.211845e-76 3.573795e-72
## ENSG00000132170.24 PPARG 3.497630e-63 1.268474e-59
## ENSG00000182580.3 EPHB3 8.094484e-56 2.516228e-52
## ENSG00000271605.6 MILR1 1.589166e-52 4.183238e-49
## ENSG00000251429.1 AIDAP2 1.730199e-52 4.183238e-49
## ENSG00000166033.13 HTRA1 1.883049e-51 4.097514e-48
mean(abs(dge$stat))
## [1] 14.58125
tc_b_adj <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP low Trt A adj")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
Now with separate t0-EOS-POD1 comparisons.
# t0-EOS comparison
ss3a <- ss3[grep("POD",rownames(ss3),invert=TRUE),]
mx <- xx[,colnames(xx) %in% rownames(ss3a)]
mx <- mx[,order(colnames(mx)),]
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21934 92
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3a,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000240247.8 DEFA1B 6579.59709 0.5806921 0.42579578 1678.50873
## ENSG00000235655.3 H3P6 445.21630 0.5288523 0.91745911 411.64639
## ENSG00000283228.1 CTD-2021K4.1 36.07887 -0.2710799 0.60008513 200.10984
## ENSG00000285953.1 CTB-161K23.3 23.78130 -0.4207883 0.74045409 128.42787
## ENSG00000259976.3 RP11-553L6.5 588.97562 0.2052055 1.26045285 88.76926
## ENSG00000072310.18 SREBF1 2096.36058 0.4829198 0.05881330 66.48116
## ENSG00000175130.7 MARCKSL1 1002.81430 0.6108331 0.07482858 65.00045
## ENSG00000160223.17 ICOSLG 556.85200 0.5434674 0.07031431 58.69910
## ENSG00000235092.6 ID2-AS1 54.75710 -0.6613187 0.08745188 56.93472
## ENSG00000111252.11 SH2B3 5056.90538 0.4178643 0.05540651 56.31648
## pvalue padj
## ENSG00000240247.8 DEFA1B 0.000000e+00 0.000000e+00
## ENSG00000235655.3 H3P6 1.606020e-91 1.727114e-87
## ENSG00000283228.1 CTD-2021K4.1 1.976345e-45 1.416907e-41
## ENSG00000285953.1 CTB-161K23.3 9.047635e-30 4.864913e-26
## ENSG00000259976.3 RP11-553L6.5 4.436577e-21 1.908438e-17
## ENSG00000072310.18 SREBF1 3.532537e-16 1.266297e-12
## ENSG00000175130.7 MARCKSL1 7.488099e-16 2.300772e-12
## ENSG00000160223.17 ICOSLG 1.837252e-14 4.939452e-11
## ENSG00000235092.6 ID2-AS1 4.505215e-14 1.076646e-10
## ENSG00000111252.11 SH2B3 6.169609e-14 1.326960e-10
mean(abs(dge$stat))
## [1] 3.183411
tc1_b_adj <- dge
nrow(tc1_b_adj)
## [1] 21934
nrow(subset(tc1_b_adj,padj<0.05))
## [1] 2408
nrow(subset(tc1_b_adj,padj<0.05 & log2FoldChange >0))
## [1] 1245
nrow(subset(tc1_b_adj,padj<0.05 & log2FoldChange <0))
## [1] 1163
# EOS-POD1 comparison
ss3b <- ss3[grep("T0",rownames(ss3),invert=TRUE),]
mx <- xx[,colnames(xx) %in% rownames(ss3b)]
mx <- mx[,order(colnames(mx)),]
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21680 91
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3b,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000281887.3 GIMAP1-GIMAP5 553.8598 -0.07682829 0.48307595 728.3128
## ENSG00000108950.12 FAM20A 1206.9285 2.44204939 0.13211117 291.6108
## ENSG00000104972.16 LILRB1 6821.4957 0.87370782 0.06665671 167.0458
## ENSG00000014257.16 ACP3 835.2770 0.89282405 0.06824753 166.1824
## ENSG00000010327.10 STAB1 27203.0489 1.26456479 0.09556640 163.8148
## ENSG00000133816.18 MICAL2 3032.2181 0.74173844 0.05751934 162.9407
## ENSG00000182580.3 EPHB3 105.1110 1.54774531 0.12082423 153.0831
## ENSG00000019169.11 MARCO 1038.7854 1.48322552 0.11822391 143.1396
## ENSG00000173083.16 HPSE 1332.8482 0.75448756 0.06408498 135.1263
## ENSG00000072310.18 SREBF1 2284.5222 0.75503775 0.06478505 132.2108
## pvalue padj
## ENSG00000281887.3 GIMAP1-GIMAP5 2.084803e-160 4.519854e-156
## ENSG00000108950.12 FAM20A 2.216086e-65 2.402237e-61
## ENSG00000104972.16 LILRB1 3.269115e-38 2.362480e-34
## ENSG00000014257.16 ACP3 5.046924e-38 2.735433e-34
## ENSG00000010327.10 STAB1 1.660446e-37 7.199694e-34
## ENSG00000133816.18 MICAL2 2.577352e-37 9.312832e-34
## ENSG00000182580.3 EPHB3 3.673676e-35 1.137790e-31
## ENSG00000019169.11 MARCO 5.479188e-33 1.484860e-29
## ENSG00000173083.16 HPSE 3.098241e-31 7.463318e-28
## ENSG00000072310.18 SREBF1 1.345430e-30 2.880505e-27
mean(abs(dge$stat))
## [1] 6.554625
tc2_b_adj <- dge
nrow(tc2_b_adj)
## [1] 21680
nrow(subset(tc2_b_adj,padj<0.05))
## [1] 6280
nrow(subset(tc2_b_adj,padj<0.05 & log2FoldChange >0))
## [1] 3288
nrow(subset(tc2_b_adj,padj<0.05 & log2FoldChange <0))
## [1] 2992
Sort DEGs into 8 groups.
tc1_b_adj_up <- rownames(subset(tc1_b_adj,padj<0.05 & log2FoldChange >0 ))
tc1_b_adj_dn <- rownames(subset(tc1_b_adj,padj<0.05 & log2FoldChange <0 ))
tc1_b_adj_ns <- rownames(subset(tc1_b_adj,padj>0.05 ))
tc2_b_adj_up <- rownames(subset(tc2_b_adj,padj<0.05 & log2FoldChange >0 ))
tc2_b_adj_dn <- rownames(subset(tc2_b_adj,padj<0.05 & log2FoldChange <0 ))
tc2_b_adj_ns <- rownames(subset(tc2_b_adj,padj>0.05 ))
G1 <- intersect(tc1_b_adj_ns,tc2_b_adj_up)
G2 <- intersect(tc1_b_adj_ns,tc2_b_adj_dn)
G3 <- intersect(tc1_b_adj_up, tc2_b_adj_dn)
G4 <- intersect(tc1_b_adj_dn, tc2_b_adj_up)
G5 <- intersect(tc1_b_adj_up,tc2_b_adj_ns)
G6 <- intersect(tc1_b_adj_dn,tc2_b_adj_ns)
G7 <- intersect(tc1_b_adj_up, tc2_b_adj_up)
G8 <- intersect(tc1_b_adj_dn, tc2_b_adj_dn)
G9 <- intersect(tc1_b_adj_ns,tc2_b_adj_ns)
GL <- list("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8,"G9"=G9)
lapply(GL,length)
## $G1
## [1] 2668
##
## $G2
## [1] 2559
##
## $G3
## [1] 67
##
## $G4
## [1] 194
##
## $G5
## [1] 781
##
## $G6
## [1] 606
##
## $G7
## [1] 392
##
## $G8
## [1] 362
##
## $G9
## [1] 13758
length(c("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8,"G9"=G9))
## [1] 21387
length(unique(c("G1"=G1,"G2"=G2,"G3"=G3,"G4"=G4,"G5"=G5,"G6"=G6,"G7"=G7,"G8"=G8)))
## [1] 7629
treatment_group==1
ss2 <- as.data.frame(cbind(ss1,sscell))
ss2 <- ss2[order(rownames(ss2)),]
ss2 <- ss2[table(ss2$PG_number)==3,] # must include all 3 timepoints
mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[,order(colnames(mx)),]
rownames(ss2) == colnames(mx)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE
ss2$timepoint <- factor(ss2$timepoint, ordered = FALSE)
ss2$PG_number <- factor(ss2$PG_number, ordered = FALSE)
str(ss2)
## 'data.frame': 246 obs. of 50 variables:
## $ PG_number : Factor w/ 102 levels "3176","3178",..: 1 2 3 3 4 5 5 6 6 7 ...
## $ sexD : num 1 1 2 2 2 1 1 1 1 1 ...
## $ ageD : int 84 54 70 70 62 58 58 61 61 68 ...
## $ ageCS : num [1:246, 1] 1.9878 -0.6079 0.7765 0.7765 0.0843 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : NULL
## $ weightD : num 60 63.6 70.1 70.1 78.7 ...
## $ asaD : int 3 2 2 2 2 1 1 1 1 2 ...
## $ heightD : num 133 155 170 170 175 158 158 149 149 155 ...
## $ ethnicityCAT : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicityD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ current_smokerD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ diabetes_typeD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ daily_insulinD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ creatinine_preopD : int 54 47 109 109 98 50 50 49 49 61 ...
## $ surgery_dominantD : num 1 2 6 6 4 2 2 2 2 4 ...
## $ wound_typeOP : num 2 2 2 2 2 2 2 2 2 2 ...
## $ HbA1c : num 5.7 4.9 5.2 5.2 5.4 ...
## $ bmi : num 33.9 26.5 24.3 24.3 25.7 ...
## $ revised_whodas_preop: int 24 14 12 12 12 12 12 18 18 12 ...
## $ neut_lymph_ratio_d0 : num 1.31 6 1.83 1.83 6.88 ...
## $ neut_lymph_ratio_d1 : num 14 15.62 6.27 6.27 16.57 ...
## $ neut_lymph_ratio_d2 : num 14 9.5 7.67 7.67 12.17 ...
## $ ab_noninfection : int 1 1 1 1 1 1 1 1 1 1 ...
## $ risk : int 4 1 2 2 1 1 1 1 1 1 ...
## $ risk_cat : num 3 1 2 2 1 1 1 1 1 1 ...
## $ bmi_cat : num 4 3 2 2 3 3 3 1 1 2 ...
## $ wound_type_cat : num 2 2 2 2 2 2 2 2 2 2 ...
## $ duration_sx : num 3.067 1.333 5.167 5.167 0.683 ...
## $ anyDex : num 2 2 2 2 2 2 2 2 2 2 ...
## $ treatment_group : int 2 1 2 2 1 1 1 2 2 2 ...
## $ deltacrp : num 277.9 32.7 202.9 202.9 24.8 ...
## $ crp_group : int 4 1 4 4 1 4 4 1 1 1 ...
## $ timepoint : Factor w/ 3 levels "EOS","POD1","T0": 3 2 2 3 3 2 3 2 3 2 ...
## $ dex : num 0 1 0 0 1 1 1 0 0 0 ...
## $ Monocytes.C : num 48.2 20.1 48.7 36.4 15.2 ...
## $ NK : num 0.421 2.007 3.586 2.176 8.347 ...
## $ T.CD8.Memory : num 2.59 10.74 1.81 5.96 14.67 ...
## $ T.CD4.Naive : num 1.57 9.23 2.42 4.61 16.31 ...
## $ T.CD8.Naive : num 11.65 11.69 13.91 12.5 6.73 ...
## $ B.Naive : num 2.158 5.499 0.849 5.065 2.638 ...
## $ T.CD4.Memory : num 15.8 12.9 14.4 16.2 10.1 ...
## $ MAIT : num 0.398 1.474 2.769 1.372 0.525 ...
## $ T.gd.Vd2 : num 1.93 2.05 1.86 2.17 1.85 ...
## $ Neutrophils.LD : num 2.808 3.663 5.722 0.739 14.631 ...
## $ T.gd.non.Vd2 : num 0.473 0.304 0.338 0.519 0.337 ...
## $ Basophils.LD : num 0.74 1.188 0.779 0.343 1.778 ...
## $ Monocytes.NC.I : num 9.98 13.41 2.07 10.35 4.13 ...
## $ B.Memory : num 0.561 4.538 0.205 0.549 1.921 ...
## $ mDCs : num 0.529 0.766 0.45 0.819 0.634 ...
## $ pDCs : num 0.0712 0.3356 0.0858 0.0405 0.075 ...
## $ Plasmablasts : num 0.1371 0.0945 0.1127 0.1229 0.1151 ...
ss3 <- subset(ss2,crp_group==1 & treatment_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss3)]
dim(mx)
## [1] 60649 72
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21918 72
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ timepoint )
## converting counts to integer mode
res <- DESeq(dds,test="LRT",reduced=~1)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 83 genes
## -- DESeq argument 'minReplicatesForReplace' = 7
## -- original counts are preserved in counts(dds)
## estimating dispersions
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000109906.15 ZBTB16 4156.81958 -2.6303013 0.24357091 217.2179
## ENSG00000048740.18 CELF2 13468.87908 -1.0329741 0.08611315 209.1076
## ENSG00000184988.8 TMEM106A 684.66718 0.4340993 0.09332418 177.2567
## ENSG00000155659.15 VSIG4 1007.41864 -1.3045583 0.27093411 165.6167
## ENSG00000132514.14 CLEC10A 695.00314 2.1352445 0.20341091 149.1938
## ENSG00000156804.7 FBXO32 742.04841 -1.0302928 0.13966556 142.7911
## ENSG00000010704.19 HFE 322.19730 0.8547414 0.13115951 142.6640
## ENSG00000155893.13 PXYLP1 781.93379 -1.2399368 0.12124351 142.4558
## ENSG00000080546.13 SESN1 1445.60586 -1.1768907 0.13269017 141.4885
## ENSG00000118257.17 NRP2 62.99809 1.2726142 0.13806979 139.5135
## pvalue padj
## ENSG00000109906.15 ZBTB16 6.787894e-48 1.487771e-43
## ENSG00000048740.18 CELF2 3.916113e-46 4.291669e-42
## ENSG00000184988.8 TMEM106A 3.229924e-39 2.359783e-35
## ENSG00000155659.15 VSIG4 1.088386e-36 5.963811e-33
## ENSG00000132514.14 CLEC10A 4.008515e-33 1.757173e-29
## ENSG00000156804.7 FBXO32 9.847176e-32 3.190308e-28
## ENSG00000010704.19 HFE 1.049324e-31 3.190308e-28
## ENSG00000155893.13 PXYLP1 1.164452e-31 3.190308e-28
## ENSG00000080546.13 SESN1 1.888723e-31 4.599670e-28
## ENSG00000118257.17 NRP2 5.070181e-31 1.111282e-27
mean(abs(dge$stat))
## [1] 10.24394
# model with PG number as batch
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + timepoint )
## converting counts to integer mode
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced=~PG_number)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 4 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000185338.7 SOCS1 644.54673 -2.52766879 0.18591016 259.2848
## ENSG00000109906.15 ZBTB16 4156.81958 -3.24769418 0.24278271 237.7431
## ENSG00000184988.8 TMEM106A 684.66718 0.44859056 0.07596021 236.0413
## ENSG00000182580.3 EPHB3 78.85195 2.55522967 0.20371925 216.3295
## ENSG00000079215.15 SLC1A3 747.75306 -4.76098267 0.29916992 215.2455
## ENSG00000057294.16 PKP2 187.24784 -2.66650543 0.20417945 209.2120
## ENSG00000169385.3 RNASE2 706.22585 0.07177945 0.14991083 208.2096
## ENSG00000166033.13 HTRA1 125.26974 0.30695827 0.21197865 200.4619
## ENSG00000279359.1 RP11-36D19.9 66.26585 -5.58508265 0.41097850 199.7428
## ENSG00000080546.13 SESN1 1445.60586 -1.16729363 0.10812779 193.8960
## pvalue padj
## ENSG00000185338.7 SOCS1 4.977727e-57 1.091018e-52
## ENSG00000109906.15 ZBTB16 2.369908e-52 2.597183e-48
## ENSG00000184988.8 TMEM106A 5.549746e-52 4.054645e-48
## ENSG00000182580.3 EPHB3 1.058406e-47 5.799534e-44
## ENSG00000079215.15 SLC1A3 1.819851e-47 7.977497e-44
## ENSG00000057294.16 PKP2 3.716908e-46 1.357786e-42
## ENSG00000169385.3 RNASE2 6.135760e-46 1.921194e-42
## ENSG00000166033.13 HTRA1 2.952915e-44 8.090248e-41
## ENSG00000279359.1 RP11-36D19.9 4.230683e-44 1.030312e-40
## ENSG00000080546.13 SESN1 7.870672e-43 1.725094e-39
mean(abs(dge$stat))
## [1] 16.17485
tc_lo_a <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP low Trt A")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 16 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000087116.16 ADAMTS2 800.00452 -3.0295490 0.53686124 1758.4517
## ENSG00000206047.3 DEFA1 5410.57927 -1.1984198 0.35729482 5050.2751
## ENSG00000280064.1 RP11-205M5.3 183.75957 -0.8054127 0.49784696 701.6864
## ENSG00000278621.1 THBS1-AS1 46.55267 -3.7278700 0.65630817 404.4843
## ENSG00000169174.11 PCSK9 27.33863 -6.5646449 0.86702571 382.7897
## ENSG00000185338.7 SOCS1 644.54673 -2.4816454 0.21240576 232.8286
## ENSG00000109906.15 ZBTB16 4156.81958 -3.3216741 0.26660811 227.9771
## ENSG00000057294.16 PKP2 187.24784 -2.7692492 0.21892666 213.4316
## ENSG00000184988.8 TMEM106A 684.66718 0.4551594 0.08718572 209.1198
## ENSG00000279117.1 CTD-2562J17.6 50.87568 -1.3027055 0.83224213 207.0851
## pvalue padj
## ENSG00000087116.16 ADAMTS2 0.000000e+00 0.000000e+00
## ENSG00000206047.3 DEFA1 0.000000e+00 0.000000e+00
## ENSG00000280064.1 RP11-205M5.3 4.272993e-153 3.121849e-149
## ENSG00000278621.1 THBS1-AS1 1.470111e-88 8.055475e-85
## ENSG00000169174.11 PCSK9 7.555704e-84 3.312118e-80
## ENSG00000185338.7 SOCS1 2.766408e-51 1.010569e-47
## ENSG00000109906.15 ZBTB16 3.128927e-50 9.797116e-47
## ENSG00000057294.16 PKP2 4.507350e-47 1.234901e-43
## ENSG00000184988.8 TMEM106A 3.892409e-46 9.479314e-43
## ENSG00000279117.1 CTD-2562J17.6 1.076570e-45 2.359626e-42
mean(abs(dge$stat))
## [1] 15.91797
tc_lo_a_adj <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP low Trt A adj")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
treatment_group==2
ss2 <- as.data.frame(cbind(ss1,sscell))
ss2 <- ss2[order(rownames(ss2)),]
ss2 <- ss2[table(ss2$PG_number)==3,] # must include all 3 timepoints
mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[,order(colnames(mx)),]
rownames(ss2) == colnames(mx)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE
ss2$timepoint <- factor(ss2$timepoint, ordered = FALSE)
ss2$PG_number <- factor(ss2$PG_number, ordered = FALSE)
str(ss2)
## 'data.frame': 246 obs. of 50 variables:
## $ PG_number : Factor w/ 102 levels "3176","3178",..: 1 2 3 3 4 5 5 6 6 7 ...
## $ sexD : num 1 1 2 2 2 1 1 1 1 1 ...
## $ ageD : int 84 54 70 70 62 58 58 61 61 68 ...
## $ ageCS : num [1:246, 1] 1.9878 -0.6079 0.7765 0.7765 0.0843 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : NULL
## $ weightD : num 60 63.6 70.1 70.1 78.7 ...
## $ asaD : int 3 2 2 2 2 1 1 1 1 2 ...
## $ heightD : num 133 155 170 170 175 158 158 149 149 155 ...
## $ ethnicityCAT : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicityD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ current_smokerD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ diabetes_typeD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ daily_insulinD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ creatinine_preopD : int 54 47 109 109 98 50 50 49 49 61 ...
## $ surgery_dominantD : num 1 2 6 6 4 2 2 2 2 4 ...
## $ wound_typeOP : num 2 2 2 2 2 2 2 2 2 2 ...
## $ HbA1c : num 5.7 4.9 5.2 5.2 5.4 ...
## $ bmi : num 33.9 26.5 24.3 24.3 25.7 ...
## $ revised_whodas_preop: int 24 14 12 12 12 12 12 18 18 12 ...
## $ neut_lymph_ratio_d0 : num 1.31 6 1.83 1.83 6.88 ...
## $ neut_lymph_ratio_d1 : num 14 15.62 6.27 6.27 16.57 ...
## $ neut_lymph_ratio_d2 : num 14 9.5 7.67 7.67 12.17 ...
## $ ab_noninfection : int 1 1 1 1 1 1 1 1 1 1 ...
## $ risk : int 4 1 2 2 1 1 1 1 1 1 ...
## $ risk_cat : num 3 1 2 2 1 1 1 1 1 1 ...
## $ bmi_cat : num 4 3 2 2 3 3 3 1 1 2 ...
## $ wound_type_cat : num 2 2 2 2 2 2 2 2 2 2 ...
## $ duration_sx : num 3.067 1.333 5.167 5.167 0.683 ...
## $ anyDex : num 2 2 2 2 2 2 2 2 2 2 ...
## $ treatment_group : int 2 1 2 2 1 1 1 2 2 2 ...
## $ deltacrp : num 277.9 32.7 202.9 202.9 24.8 ...
## $ crp_group : int 4 1 4 4 1 4 4 1 1 1 ...
## $ timepoint : Factor w/ 3 levels "EOS","POD1","T0": 3 2 2 3 3 2 3 2 3 2 ...
## $ dex : num 0 1 0 0 1 1 1 0 0 0 ...
## $ Monocytes.C : num 48.2 20.1 48.7 36.4 15.2 ...
## $ NK : num 0.421 2.007 3.586 2.176 8.347 ...
## $ T.CD8.Memory : num 2.59 10.74 1.81 5.96 14.67 ...
## $ T.CD4.Naive : num 1.57 9.23 2.42 4.61 16.31 ...
## $ T.CD8.Naive : num 11.65 11.69 13.91 12.5 6.73 ...
## $ B.Naive : num 2.158 5.499 0.849 5.065 2.638 ...
## $ T.CD4.Memory : num 15.8 12.9 14.4 16.2 10.1 ...
## $ MAIT : num 0.398 1.474 2.769 1.372 0.525 ...
## $ T.gd.Vd2 : num 1.93 2.05 1.86 2.17 1.85 ...
## $ Neutrophils.LD : num 2.808 3.663 5.722 0.739 14.631 ...
## $ T.gd.non.Vd2 : num 0.473 0.304 0.338 0.519 0.337 ...
## $ Basophils.LD : num 0.74 1.188 0.779 0.343 1.778 ...
## $ Monocytes.NC.I : num 9.98 13.41 2.07 10.35 4.13 ...
## $ B.Memory : num 0.561 4.538 0.205 0.549 1.921 ...
## $ mDCs : num 0.529 0.766 0.45 0.819 0.634 ...
## $ pDCs : num 0.0712 0.3356 0.0858 0.0405 0.075 ...
## $ Plasmablasts : num 0.1371 0.0945 0.1127 0.1229 0.1151 ...
ss3 <- subset(ss2,crp_group==1 & treatment_group==2)
mx <- mx[,colnames(mx) %in% rownames(ss3)]
dim(mx)
## [1] 60649 46
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21845 46
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ timepoint )
## converting counts to integer mode
res <- DESeq(dds,test="LRT",reduced=~1)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 481 genes
## -- DESeq argument 'minReplicatesForReplace' = 7
## -- original counts are preserved in counts(dds)
## estimating dispersions
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000132170.24 PPARG 42.70220 -0.86970865 0.2611693 73.50727
## ENSG00000108950.12 FAM20A 401.53523 -0.35174970 0.3440642 51.99428
## ENSG00000100985.7 MMP9 2655.89725 -4.10659874 0.6650772 44.30546
## ENSG00000224505.2 AC002117.1 20.14733 -0.91352671 0.1941644 42.26239
## ENSG00000010704.19 HFE 356.16762 -0.05243458 0.1180618 42.09033
## ENSG00000161647.19 MPP3 42.58430 -0.22715716 0.2109499 40.45680
## ENSG00000010327.10 STAB1 20950.06358 -0.04069266 0.2746697 39.48556
## ENSG00000134755.18 DSC2 477.23195 0.01197978 0.2554267 37.85083
## ENSG00000099377.14 HSD3B7 107.67330 -0.09793217 0.1942379 34.48871
## ENSG00000244115.1 DNAJC25-GNG10 184.33678 -0.21536275 0.1774448 34.10334
## pvalue padj
## ENSG00000132170.24 PPARG 1.091687e-16 2.199749e-12
## ENSG00000108950.12 FAM20A 5.123716e-12 5.162144e-08
## ENSG00000100985.7 MMP9 2.394368e-10 1.608217e-06
## ENSG00000224505.2 AC002117.1 6.650251e-10 2.920822e-06
## ENSG00000010704.19 HFE 7.247698e-10 2.920822e-06
## ENSG00000161647.19 MPP3 1.640279e-09 5.508605e-06
## ENSG00000010327.10 STAB1 2.665758e-09 7.673573e-06
## ENSG00000134755.18 DSC2 6.036645e-09 1.520480e-05
## ENSG00000099377.14 HSD3B7 3.242434e-08 7.259450e-05
## ENSG00000244115.1 DNAJC25-GNG10 3.931468e-08 7.921908e-05
mean(abs(dge$stat))
## [1] 2.710453
# model with PG number as batch
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + timepoint )
## converting counts to integer mode
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced=~PG_number)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 1 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000132170.24 PPARG 42.70220 -0.8847874 0.2181030 81.51333
## ENSG00000251429.1 AIDAP2 87.75176 -0.4033861 0.1587894 77.83337
## ENSG00000108950.12 FAM20A 401.53523 -0.1600737 0.2809508 66.81341
## ENSG00000248429.5 FAM198B-AS1 600.58520 -0.4161474 0.1517196 56.19607
## ENSG00000182580.3 EPHB3 94.58301 0.4014728 0.2007362 56.15441
## ENSG00000164125.16 GASK1B 3047.85026 -0.5615996 0.1660687 55.04406
## ENSG00000142733.17 MAP3K6 814.23977 -0.3115333 0.1289856 53.98658
## ENSG00000019169.11 MARCO 735.39056 -0.3188957 0.1770722 51.78241
## ENSG00000164124.11 TMEM144 563.00447 -0.4565167 0.1697311 51.44249
## ENSG00000173083.16 HPSE 1385.71462 0.4630122 0.1130094 51.06832
## pvalue padj
## ENSG00000132170.24 PPARG 1.993451e-18 3.932480e-14
## ENSG00000251429.1 AIDAP2 1.255160e-17 1.238027e-13
## ENSG00000108950.12 FAM20A 3.102081e-15 2.039825e-11
## ENSG00000248429.5 FAM198B-AS1 6.268714e-13 2.525315e-09
## ENSG00000182580.3 EPHB3 6.400656e-13 2.525315e-09
## ENSG00000164125.16 GASK1B 1.115154e-12 3.666441e-09
## ENSG00000142733.17 MAP3K6 1.892187e-12 5.332453e-09
## ENSG00000019169.11 MARCO 5.696284e-12 1.404632e-08
## ENSG00000164124.11 TMEM144 6.751561e-12 1.464237e-08
## ENSG00000173083.16 HPSE 8.140569e-12 1.464237e-08
mean(abs(dge$stat))
## [1] 3.778548
tc_lo_b <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP low Trt B")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 30 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE
## ENSG00000259753.1 RP11-290H9.2 54.70937 -1.9442552 1.2396029
## ENSG00000108950.12 FAM20A 401.53523 0.1743055 0.2644317
## ENSG00000182580.3 EPHB3 94.58301 0.4702156 0.1758519
## ENSG00000263020.6 XXbac-BPG32J3.22 22.32231 0.7392663 1.5839249
## ENSG00000132170.24 PPARG 42.70220 -0.6850263 0.2352249
## ENSG00000256713.8 PGA5 19.03812 -0.8726175 0.3862981
## ENSG00000133816.18 MICAL2 2975.61042 0.4329956 0.1146490
## ENSG00000251429.1 AIDAP2 87.75176 -0.3550854 0.1859875
## ENSG00000142733.17 MAP3K6 814.23977 -0.1677662 0.1273258
## ENSG00000183250.12 LINC01547 841.82505 -0.5855218 0.1160606
## stat pvalue padj
## ENSG00000259753.1 RP11-290H9.2 186.53833 3.116856e-41 6.280465e-37
## ENSG00000108950.12 FAM20A 93.38781 5.261311e-21 5.300771e-17
## ENSG00000182580.3 EPHB3 87.69798 9.049514e-20 6.078257e-16
## ENSG00000263020.6 XXbac-BPG32J3.22 70.49562 4.921200e-16 2.479054e-12
## ENSG00000132170.24 PPARG 69.48099 8.173250e-16 3.293820e-12
## ENSG00000256713.8 PGA5 64.80851 8.452981e-15 2.838793e-11
## ENSG00000133816.18 MICAL2 59.82053 1.023616e-13 2.946552e-10
## ENSG00000251429.1 AIDAP2 56.94877 4.302599e-13 1.083717e-09
## ENSG00000142733.17 MAP3K6 56.50158 5.380686e-13 1.204676e-09
## ENSG00000183250.12 LINC01547 51.62343 6.167581e-12 1.242768e-08
mean(abs(dge$stat))
## [1] 3.524798
tc_lo_b_adj <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP low Trt B adj")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
treatment_group==1
ss2 <- as.data.frame(cbind(ss1,sscell))
ss2 <- ss2[order(rownames(ss2)),]
ss2 <- ss2[table(ss2$PG_number)==3,] # must include all 3 timepoints
mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[,order(colnames(mx)),]
rownames(ss2) == colnames(mx)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE
ss2$timepoint <- factor(ss2$timepoint, ordered = FALSE)
ss2$PG_number <- factor(ss2$PG_number, ordered = FALSE)
str(ss2)
## 'data.frame': 246 obs. of 50 variables:
## $ PG_number : Factor w/ 102 levels "3176","3178",..: 1 2 3 3 4 5 5 6 6 7 ...
## $ sexD : num 1 1 2 2 2 1 1 1 1 1 ...
## $ ageD : int 84 54 70 70 62 58 58 61 61 68 ...
## $ ageCS : num [1:246, 1] 1.9878 -0.6079 0.7765 0.7765 0.0843 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : NULL
## $ weightD : num 60 63.6 70.1 70.1 78.7 ...
## $ asaD : int 3 2 2 2 2 1 1 1 1 2 ...
## $ heightD : num 133 155 170 170 175 158 158 149 149 155 ...
## $ ethnicityCAT : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicityD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ current_smokerD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ diabetes_typeD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ daily_insulinD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ creatinine_preopD : int 54 47 109 109 98 50 50 49 49 61 ...
## $ surgery_dominantD : num 1 2 6 6 4 2 2 2 2 4 ...
## $ wound_typeOP : num 2 2 2 2 2 2 2 2 2 2 ...
## $ HbA1c : num 5.7 4.9 5.2 5.2 5.4 ...
## $ bmi : num 33.9 26.5 24.3 24.3 25.7 ...
## $ revised_whodas_preop: int 24 14 12 12 12 12 12 18 18 12 ...
## $ neut_lymph_ratio_d0 : num 1.31 6 1.83 1.83 6.88 ...
## $ neut_lymph_ratio_d1 : num 14 15.62 6.27 6.27 16.57 ...
## $ neut_lymph_ratio_d2 : num 14 9.5 7.67 7.67 12.17 ...
## $ ab_noninfection : int 1 1 1 1 1 1 1 1 1 1 ...
## $ risk : int 4 1 2 2 1 1 1 1 1 1 ...
## $ risk_cat : num 3 1 2 2 1 1 1 1 1 1 ...
## $ bmi_cat : num 4 3 2 2 3 3 3 1 1 2 ...
## $ wound_type_cat : num 2 2 2 2 2 2 2 2 2 2 ...
## $ duration_sx : num 3.067 1.333 5.167 5.167 0.683 ...
## $ anyDex : num 2 2 2 2 2 2 2 2 2 2 ...
## $ treatment_group : int 2 1 2 2 1 1 1 2 2 2 ...
## $ deltacrp : num 277.9 32.7 202.9 202.9 24.8 ...
## $ crp_group : int 4 1 4 4 1 4 4 1 1 1 ...
## $ timepoint : Factor w/ 3 levels "EOS","POD1","T0": 3 2 2 3 3 2 3 2 3 2 ...
## $ dex : num 0 1 0 0 1 1 1 0 0 0 ...
## $ Monocytes.C : num 48.2 20.1 48.7 36.4 15.2 ...
## $ NK : num 0.421 2.007 3.586 2.176 8.347 ...
## $ T.CD8.Memory : num 2.59 10.74 1.81 5.96 14.67 ...
## $ T.CD4.Naive : num 1.57 9.23 2.42 4.61 16.31 ...
## $ T.CD8.Naive : num 11.65 11.69 13.91 12.5 6.73 ...
## $ B.Naive : num 2.158 5.499 0.849 5.065 2.638 ...
## $ T.CD4.Memory : num 15.8 12.9 14.4 16.2 10.1 ...
## $ MAIT : num 0.398 1.474 2.769 1.372 0.525 ...
## $ T.gd.Vd2 : num 1.93 2.05 1.86 2.17 1.85 ...
## $ Neutrophils.LD : num 2.808 3.663 5.722 0.739 14.631 ...
## $ T.gd.non.Vd2 : num 0.473 0.304 0.338 0.519 0.337 ...
## $ Basophils.LD : num 0.74 1.188 0.779 0.343 1.778 ...
## $ Monocytes.NC.I : num 9.98 13.41 2.07 10.35 4.13 ...
## $ B.Memory : num 0.561 4.538 0.205 0.549 1.921 ...
## $ mDCs : num 0.529 0.766 0.45 0.819 0.634 ...
## $ pDCs : num 0.0712 0.3356 0.0858 0.0405 0.075 ...
## $ Plasmablasts : num 0.1371 0.0945 0.1127 0.1229 0.1151 ...
ss3 <- subset(ss2,crp_group==4 & treatment_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss3)]
dim(mx)
## [1] 60649 36
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21926 36
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ timepoint )
## converting counts to integer mode
res <- DESeq(dds,test="LRT",reduced=~1)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 137 genes
## -- DESeq argument 'minReplicatesForReplace' = 7
## -- original counts are preserved in counts(dds)
## estimating dispersions
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000129538.14 RNASE1 105.05708 -0.1873818 0.4128093 101.76408
## ENSG00000240520.7 UOX 10.29845 -3.4350044 0.4606356 92.73596
## ENSG00000072310.18 SREBF1 2084.48517 0.6110182 0.1392730 90.35521
## ENSG00000064270.13 ATP2C2 302.56988 -4.6236485 0.4745922 88.07823
## ENSG00000165572.8 KBTBD6 440.54799 -1.6052097 0.2375288 78.74733
## ENSG00000155307.19 SAMSN1 2989.75622 -2.5285469 0.2861237 78.15487
## ENSG00000273812.3 WI2-87327B8.2 83.36408 -3.0543043 0.3648122 78.11093
## ENSG00000132514.14 CLEC10A 622.25530 2.1872509 0.2950728 77.51117
## ENSG00000115604.12 IL18R1 2591.46541 -2.7973924 0.3697179 76.18905
## ENSG00000265527.1 MIR5690 11.71063 -3.5456615 0.4343705 76.06340
## pvalue padj
## ENSG00000129538.14 RNASE1 7.983826e-23 1.750454e-18
## ENSG00000240520.7 UOX 7.288552e-21 7.990076e-17
## ENSG00000072310.18 SREBF1 2.396710e-20 1.751596e-16
## ENSG00000064270.13 ATP2C2 7.482648e-20 4.101426e-16
## ENSG00000165572.8 KBTBD6 7.947570e-18 3.421914e-14
## ENSG00000155307.19 SAMSN1 1.068773e-17 3.421914e-14
## ENSG00000273812.3 WI2-87327B8.2 1.092515e-17 3.421914e-14
## ENSG00000132514.14 CLEC10A 1.474564e-17 4.041227e-14
## ENSG00000115604.12 IL18R1 2.855995e-17 6.227793e-14
## ENSG00000265527.1 MIR5690 3.041179e-17 6.227793e-14
mean(abs(dge$stat))
## [1] 5.94874
# model with PG number as batch
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + timepoint )
## converting counts to integer mode
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced=~PG_number)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000164056.11 SPRY1 133.61762 -2.59816462 0.2481835 154.66535
## ENSG00000079215.15 SLC1A3 835.88837 -4.78881534 0.3802098 130.33514
## ENSG00000129538.14 RNASE1 105.05708 0.07751128 0.3432228 119.83771
## ENSG00000152766.6 ANKRD22 356.87682 -2.92684127 0.2815125 118.56554
## ENSG00000072310.18 SREBF1 2084.48517 0.63017527 0.1295444 108.14689
## ENSG00000166523.8 CLEC4E 4086.99251 -2.54615880 0.2625058 105.80056
## ENSG00000273812.3 WI2-87327B8.2 83.36408 -2.94135985 0.2980309 103.08295
## ENSG00000226091.7 LINC00937 1984.92284 -1.15144454 0.1528075 97.88405
## ENSG00000279359.1 RP11-36D19.9 113.58309 -5.44218251 0.5464200 97.36547
## ENSG00000169385.3 RNASE2 988.21610 -0.39766102 0.2482582 94.38259
## pvalue padj
## ENSG00000164056.11 SPRY1 2.599235e-34 5.699083e-30
## ENSG00000079215.15 SLC1A3 4.989816e-29 5.470335e-25
## ENSG00000129538.14 RNASE1 9.496675e-27 6.940803e-23
## ENSG00000152766.6 ANKRD22 1.793993e-26 9.833771e-23
## ENSG00000072310.18 SREBF1 3.282480e-24 1.439433e-20
## ENSG00000166523.8 CLEC4E 1.060961e-23 3.877104e-20
## ENSG00000273812.3 WI2-87327B8.2 4.128789e-23 1.293255e-19
## ENSG00000226091.7 LINC00937 5.555821e-22 1.522712e-18
## ENSG00000279359.1 RP11-36D19.9 7.200405e-22 1.754179e-18
## ENSG00000169385.3 RNASE2 3.199493e-21 7.015208e-18
mean(abs(dge$stat))
## [1] 8.581202
tc_hi_a <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP high Trt A")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 64 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000115590.14 IL1R2 8211.96397 -5.8511483245 0.7668540 1914.51973
## ENSG00000087116.16 ADAMTS2 974.16136 -4.7345420954 0.9560728 1014.81861
## ENSG00000240247.8 DEFA1B 786.49058 0.0001582271 0.8734524 588.03452
## ENSG00000137869.15 CYP19A1 61.10795 -4.2242563460 0.9960758 293.45991
## ENSG00000276107.1 THBS1-IT1 61.17866 -5.4574521365 1.0213847 270.82790
## ENSG00000169174.11 PCSK9 65.01672 -7.7783285409 1.3322730 267.36338
## ENSG00000164056.11 SPRY1 133.61762 -2.5539870657 0.3136618 109.96073
## ENSG00000157150.5 TIMP4 15.15388 -4.5526719154 1.2549673 97.12172
## ENSG00000168264.11 IRF2BP2 5314.98252 0.6374952971 0.1048680 93.69223
## ENSG00000226091.7 LINC00937 1984.92284 -1.0852003274 0.1776981 92.08954
## pvalue padj
## ENSG00000115590.14 IL1R2 0.000000e+00 0.000000e+00
## ENSG00000087116.16 ADAMTS2 4.314583e-221 4.730078e-217
## ENSG00000240247.8 DEFA1B 2.041392e-128 1.491985e-124
## ENSG00000137869.15 CYP19A1 1.887945e-64 1.034877e-60
## ENSG00000276107.1 THBS1-IT1 1.550488e-59 6.799198e-56
## ENSG00000169174.11 PCSK9 8.765545e-59 3.203222e-55
## ENSG00000164056.11 SPRY1 1.325350e-24 4.151375e-21
## ENSG00000157150.5 TIMP4 8.133673e-22 2.229236e-18
## ENSG00000168264.11 IRF2BP2 4.518459e-21 1.100797e-17
## ENSG00000226091.7 LINC00937 1.006957e-20 2.207854e-17
mean(abs(dge$stat))
## [1] 7.094966
tc_hi_a_adj <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP high Trt A adj")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
top <- as.matrix(dge[1:30,grep("-",colnames(dge))])
colfunc <- colorRampPalette(c("blue", "white", "red"))
tp <- sapply(strsplit(colnames(top),"-"),"[[",2)
colsidecols <- gsub("POD1","darkred",gsub("EOS","chocolate1",gsub("T0","darkgreen",tp)))
heatmap.2(as.matrix(top),trace="none",col=colfunc(25),scale="row",
margins = c(6,12), cexRow=0.7, cexCol=0.1, ColSideColors=colsidecols )
nsig <- nrow(subset(dge,padj<0.05))
#top <- as.matrix(tc_hi_b_adj[1:nsig,grep("-",colnames(tc_hi_b_adj))])
top <- as.matrix(dge[1:1000,grep("-",colnames(dge))])
rowmeans <- rowMeans(top)
mmean <- mean(rowmeans)
topn <- top / rowmeans
keep <- names(which(table(sapply(strsplit(colnames(topn),"-"),"[[",1))==3))
keep <-c(paste(keep,"-T0",sep=""),paste(keep,"-EOS",sep=""),paste(keep,"-POD1",sep="") )
topn <- topn[,which(colnames(topn) %in% keep)]
distClust <-as.dist(1-cor(t(topn), method="spearman"))
hClust <- hclust(distClust , method="complete")
mycl <- cutree(hClust, h=max(hClust$height/1.4))
length(unique(mycl)) #mycl_length
## [1] 7
tp <- sapply(strsplit(colnames(topn),"-"),"[[",2)
colsidecols <- gsub("POD1","darkred",gsub("EOS","chocolate1",gsub("T0","darkgreen",tp)))
heatmap.2(as.matrix(topn),trace="none",col=colfunc(25),scale="row",
margins = c(6,12), cexRow=0.2, cexCol=0.1,
ColSideColors=colsidecols , RowSideColors=as.character(mycl) )
lapply(min(mycl):max(mycl),function(i) {
dat <- topn[rownames(topn) %in% names(mycl[which(mycl==i)]),]
t0 <- rowMeans(dat[,grep("T0",colnames(dat))])
eos <- rowMeans(dat[,grep("EOS",colnames(dat))])
pod1 <- rowMeans(dat[,grep("POD1",colnames(dat))])
zz <- data.frame(t0,eos,pod1)
HEADER=paste("Cluster",i,"Members=",nrow(zz))
plot(unlist(zz[1,,drop=TRUE]),type="b",ylim=c(0.7,1.3),
xlab="Timepoint", ylab="Normalised expresion level",
main=HEADER)
lapply(2:nrow(zz),function(j) {
points(unlist(zz[j,,drop=TRUE]),type="b")
} )
} )
## [[1]]
## [[1]][[1]]
## NULL
##
## [[1]][[2]]
## NULL
##
## [[1]][[3]]
## NULL
##
## [[1]][[4]]
## NULL
##
## [[1]][[5]]
## NULL
##
## [[1]][[6]]
## NULL
##
## [[1]][[7]]
## NULL
##
## [[1]][[8]]
## NULL
##
## [[1]][[9]]
## NULL
##
## [[1]][[10]]
## NULL
##
## [[1]][[11]]
## NULL
##
## [[1]][[12]]
## NULL
##
## [[1]][[13]]
## NULL
##
## [[1]][[14]]
## NULL
##
## [[1]][[15]]
## NULL
##
## [[1]][[16]]
## NULL
##
## [[1]][[17]]
## NULL
##
## [[1]][[18]]
## NULL
##
## [[1]][[19]]
## NULL
##
## [[1]][[20]]
## NULL
##
## [[1]][[21]]
## NULL
##
## [[1]][[22]]
## NULL
##
## [[1]][[23]]
## NULL
##
## [[1]][[24]]
## NULL
##
## [[1]][[25]]
## NULL
##
## [[1]][[26]]
## NULL
##
## [[1]][[27]]
## NULL
##
## [[1]][[28]]
## NULL
##
## [[1]][[29]]
## NULL
##
## [[1]][[30]]
## NULL
##
## [[1]][[31]]
## NULL
##
## [[1]][[32]]
## NULL
##
## [[1]][[33]]
## NULL
##
## [[1]][[34]]
## NULL
##
## [[1]][[35]]
## NULL
##
## [[1]][[36]]
## NULL
##
## [[1]][[37]]
## NULL
##
## [[1]][[38]]
## NULL
##
## [[1]][[39]]
## NULL
##
## [[1]][[40]]
## NULL
##
## [[1]][[41]]
## NULL
##
## [[1]][[42]]
## NULL
##
## [[1]][[43]]
## NULL
##
## [[1]][[44]]
## NULL
##
## [[1]][[45]]
## NULL
##
## [[1]][[46]]
## NULL
##
## [[1]][[47]]
## NULL
##
## [[1]][[48]]
## NULL
##
## [[1]][[49]]
## NULL
##
## [[1]][[50]]
## NULL
##
## [[1]][[51]]
## NULL
##
## [[1]][[52]]
## NULL
##
## [[1]][[53]]
## NULL
##
## [[1]][[54]]
## NULL
##
## [[1]][[55]]
## NULL
##
## [[1]][[56]]
## NULL
##
## [[1]][[57]]
## NULL
##
## [[1]][[58]]
## NULL
##
## [[1]][[59]]
## NULL
##
## [[1]][[60]]
## NULL
##
## [[1]][[61]]
## NULL
##
## [[1]][[62]]
## NULL
##
## [[1]][[63]]
## NULL
##
## [[1]][[64]]
## NULL
##
## [[1]][[65]]
## NULL
##
## [[1]][[66]]
## NULL
##
## [[1]][[67]]
## NULL
##
## [[1]][[68]]
## NULL
##
## [[1]][[69]]
## NULL
##
## [[1]][[70]]
## NULL
##
## [[1]][[71]]
## NULL
##
## [[1]][[72]]
## NULL
##
## [[1]][[73]]
## NULL
##
## [[1]][[74]]
## NULL
##
## [[1]][[75]]
## NULL
##
## [[1]][[76]]
## NULL
##
## [[1]][[77]]
## NULL
##
## [[1]][[78]]
## NULL
##
## [[1]][[79]]
## NULL
##
## [[1]][[80]]
## NULL
##
## [[1]][[81]]
## NULL
##
## [[1]][[82]]
## NULL
##
## [[1]][[83]]
## NULL
##
## [[1]][[84]]
## NULL
##
## [[1]][[85]]
## NULL
##
## [[1]][[86]]
## NULL
##
## [[1]][[87]]
## NULL
##
## [[1]][[88]]
## NULL
##
## [[1]][[89]]
## NULL
##
## [[1]][[90]]
## NULL
##
## [[1]][[91]]
## NULL
##
## [[1]][[92]]
## NULL
##
## [[1]][[93]]
## NULL
##
## [[1]][[94]]
## NULL
##
## [[1]][[95]]
## NULL
##
## [[1]][[96]]
## NULL
##
## [[1]][[97]]
## NULL
##
## [[1]][[98]]
## NULL
##
## [[1]][[99]]
## NULL
##
## [[1]][[100]]
## NULL
##
## [[1]][[101]]
## NULL
##
## [[1]][[102]]
## NULL
##
## [[1]][[103]]
## NULL
##
## [[1]][[104]]
## NULL
##
## [[1]][[105]]
## NULL
##
## [[1]][[106]]
## NULL
##
## [[1]][[107]]
## NULL
##
## [[1]][[108]]
## NULL
##
## [[1]][[109]]
## NULL
##
## [[1]][[110]]
## NULL
##
## [[1]][[111]]
## NULL
##
## [[1]][[112]]
## NULL
##
## [[1]][[113]]
## NULL
##
## [[1]][[114]]
## NULL
##
## [[1]][[115]]
## NULL
##
## [[1]][[116]]
## NULL
##
## [[1]][[117]]
## NULL
##
## [[1]][[118]]
## NULL
##
## [[1]][[119]]
## NULL
##
## [[1]][[120]]
## NULL
##
## [[1]][[121]]
## NULL
##
## [[1]][[122]]
## NULL
##
## [[1]][[123]]
## NULL
##
## [[1]][[124]]
## NULL
##
## [[1]][[125]]
## NULL
##
## [[1]][[126]]
## NULL
##
## [[1]][[127]]
## NULL
##
## [[1]][[128]]
## NULL
##
## [[1]][[129]]
## NULL
##
## [[1]][[130]]
## NULL
##
## [[1]][[131]]
## NULL
##
## [[1]][[132]]
## NULL
##
## [[1]][[133]]
## NULL
##
## [[1]][[134]]
## NULL
##
## [[1]][[135]]
## NULL
##
## [[1]][[136]]
## NULL
##
## [[1]][[137]]
## NULL
##
## [[1]][[138]]
## NULL
##
## [[1]][[139]]
## NULL
##
## [[1]][[140]]
## NULL
##
## [[1]][[141]]
## NULL
##
## [[1]][[142]]
## NULL
##
## [[1]][[143]]
## NULL
##
## [[1]][[144]]
## NULL
##
## [[1]][[145]]
## NULL
##
## [[1]][[146]]
## NULL
##
## [[1]][[147]]
## NULL
##
## [[1]][[148]]
## NULL
##
## [[1]][[149]]
## NULL
##
## [[1]][[150]]
## NULL
##
## [[1]][[151]]
## NULL
##
## [[1]][[152]]
## NULL
##
## [[1]][[153]]
## NULL
##
## [[1]][[154]]
## NULL
##
## [[1]][[155]]
## NULL
##
## [[1]][[156]]
## NULL
##
## [[1]][[157]]
## NULL
##
## [[1]][[158]]
## NULL
##
## [[1]][[159]]
## NULL
##
## [[1]][[160]]
## NULL
##
## [[1]][[161]]
## NULL
##
## [[1]][[162]]
## NULL
##
## [[1]][[163]]
## NULL
##
## [[1]][[164]]
## NULL
##
## [[1]][[165]]
## NULL
##
## [[1]][[166]]
## NULL
##
## [[1]][[167]]
## NULL
##
## [[1]][[168]]
## NULL
##
## [[1]][[169]]
## NULL
##
## [[1]][[170]]
## NULL
##
## [[1]][[171]]
## NULL
##
## [[1]][[172]]
## NULL
##
## [[1]][[173]]
## NULL
##
## [[1]][[174]]
## NULL
##
## [[1]][[175]]
## NULL
##
## [[1]][[176]]
## NULL
##
## [[1]][[177]]
## NULL
##
## [[1]][[178]]
## NULL
##
## [[1]][[179]]
## NULL
##
## [[1]][[180]]
## NULL
##
## [[1]][[181]]
## NULL
##
## [[1]][[182]]
## NULL
##
##
## [[2]]
## [[2]][[1]]
## NULL
##
## [[2]][[2]]
## NULL
##
## [[2]][[3]]
## NULL
##
## [[2]][[4]]
## NULL
##
## [[2]][[5]]
## NULL
##
## [[2]][[6]]
## NULL
##
## [[2]][[7]]
## NULL
##
## [[2]][[8]]
## NULL
##
## [[2]][[9]]
## NULL
##
## [[2]][[10]]
## NULL
##
## [[2]][[11]]
## NULL
##
## [[2]][[12]]
## NULL
##
## [[2]][[13]]
## NULL
##
## [[2]][[14]]
## NULL
##
## [[2]][[15]]
## NULL
##
## [[2]][[16]]
## NULL
##
## [[2]][[17]]
## NULL
##
## [[2]][[18]]
## NULL
##
## [[2]][[19]]
## NULL
##
## [[2]][[20]]
## NULL
##
## [[2]][[21]]
## NULL
##
## [[2]][[22]]
## NULL
##
## [[2]][[23]]
## NULL
##
## [[2]][[24]]
## NULL
##
## [[2]][[25]]
## NULL
##
## [[2]][[26]]
## NULL
##
## [[2]][[27]]
## NULL
##
## [[2]][[28]]
## NULL
##
## [[2]][[29]]
## NULL
##
## [[2]][[30]]
## NULL
##
## [[2]][[31]]
## NULL
##
## [[2]][[32]]
## NULL
##
## [[2]][[33]]
## NULL
##
## [[2]][[34]]
## NULL
##
## [[2]][[35]]
## NULL
##
## [[2]][[36]]
## NULL
##
## [[2]][[37]]
## NULL
##
## [[2]][[38]]
## NULL
##
## [[2]][[39]]
## NULL
##
## [[2]][[40]]
## NULL
##
## [[2]][[41]]
## NULL
##
## [[2]][[42]]
## NULL
##
## [[2]][[43]]
## NULL
##
## [[2]][[44]]
## NULL
##
## [[2]][[45]]
## NULL
##
## [[2]][[46]]
## NULL
##
## [[2]][[47]]
## NULL
##
## [[2]][[48]]
## NULL
##
## [[2]][[49]]
## NULL
##
## [[2]][[50]]
## NULL
##
## [[2]][[51]]
## NULL
##
## [[2]][[52]]
## NULL
##
## [[2]][[53]]
## NULL
##
## [[2]][[54]]
## NULL
##
## [[2]][[55]]
## NULL
##
## [[2]][[56]]
## NULL
##
## [[2]][[57]]
## NULL
##
## [[2]][[58]]
## NULL
##
## [[2]][[59]]
## NULL
##
## [[2]][[60]]
## NULL
##
## [[2]][[61]]
## NULL
##
## [[2]][[62]]
## NULL
##
## [[2]][[63]]
## NULL
##
## [[2]][[64]]
## NULL
##
## [[2]][[65]]
## NULL
##
## [[2]][[66]]
## NULL
##
## [[2]][[67]]
## NULL
##
## [[2]][[68]]
## NULL
##
## [[2]][[69]]
## NULL
##
## [[2]][[70]]
## NULL
##
## [[2]][[71]]
## NULL
##
## [[2]][[72]]
## NULL
##
## [[2]][[73]]
## NULL
##
## [[2]][[74]]
## NULL
##
## [[2]][[75]]
## NULL
##
## [[2]][[76]]
## NULL
##
## [[2]][[77]]
## NULL
##
## [[2]][[78]]
## NULL
##
## [[2]][[79]]
## NULL
##
## [[2]][[80]]
## NULL
##
## [[2]][[81]]
## NULL
##
## [[2]][[82]]
## NULL
##
## [[2]][[83]]
## NULL
##
## [[2]][[84]]
## NULL
##
## [[2]][[85]]
## NULL
##
## [[2]][[86]]
## NULL
##
## [[2]][[87]]
## NULL
##
## [[2]][[88]]
## NULL
##
## [[2]][[89]]
## NULL
##
## [[2]][[90]]
## NULL
##
## [[2]][[91]]
## NULL
##
## [[2]][[92]]
## NULL
##
## [[2]][[93]]
## NULL
##
## [[2]][[94]]
## NULL
##
## [[2]][[95]]
## NULL
##
## [[2]][[96]]
## NULL
##
## [[2]][[97]]
## NULL
##
## [[2]][[98]]
## NULL
##
## [[2]][[99]]
## NULL
##
## [[2]][[100]]
## NULL
##
## [[2]][[101]]
## NULL
##
## [[2]][[102]]
## NULL
##
## [[2]][[103]]
## NULL
##
## [[2]][[104]]
## NULL
##
## [[2]][[105]]
## NULL
##
## [[2]][[106]]
## NULL
##
## [[2]][[107]]
## NULL
##
## [[2]][[108]]
## NULL
##
## [[2]][[109]]
## NULL
##
## [[2]][[110]]
## NULL
##
## [[2]][[111]]
## NULL
##
## [[2]][[112]]
## NULL
##
## [[2]][[113]]
## NULL
##
## [[2]][[114]]
## NULL
##
## [[2]][[115]]
## NULL
##
## [[2]][[116]]
## NULL
##
## [[2]][[117]]
## NULL
##
## [[2]][[118]]
## NULL
##
## [[2]][[119]]
## NULL
##
## [[2]][[120]]
## NULL
##
## [[2]][[121]]
## NULL
##
## [[2]][[122]]
## NULL
##
## [[2]][[123]]
## NULL
##
## [[2]][[124]]
## NULL
##
## [[2]][[125]]
## NULL
##
## [[2]][[126]]
## NULL
##
## [[2]][[127]]
## NULL
##
## [[2]][[128]]
## NULL
##
## [[2]][[129]]
## NULL
##
## [[2]][[130]]
## NULL
##
## [[2]][[131]]
## NULL
##
## [[2]][[132]]
## NULL
##
## [[2]][[133]]
## NULL
##
## [[2]][[134]]
## NULL
##
##
## [[3]]
## [[3]][[1]]
## NULL
##
## [[3]][[2]]
## NULL
##
## [[3]][[3]]
## NULL
##
## [[3]][[4]]
## NULL
##
## [[3]][[5]]
## NULL
##
## [[3]][[6]]
## NULL
##
## [[3]][[7]]
## NULL
##
## [[3]][[8]]
## NULL
##
## [[3]][[9]]
## NULL
##
## [[3]][[10]]
## NULL
##
## [[3]][[11]]
## NULL
##
## [[3]][[12]]
## NULL
##
## [[3]][[13]]
## NULL
##
## [[3]][[14]]
## NULL
##
## [[3]][[15]]
## NULL
##
## [[3]][[16]]
## NULL
##
## [[3]][[17]]
## NULL
##
## [[3]][[18]]
## NULL
##
## [[3]][[19]]
## NULL
##
## [[3]][[20]]
## NULL
##
## [[3]][[21]]
## NULL
##
## [[3]][[22]]
## NULL
##
## [[3]][[23]]
## NULL
##
## [[3]][[24]]
## NULL
##
## [[3]][[25]]
## NULL
##
## [[3]][[26]]
## NULL
##
## [[3]][[27]]
## NULL
##
## [[3]][[28]]
## NULL
##
## [[3]][[29]]
## NULL
##
## [[3]][[30]]
## NULL
##
## [[3]][[31]]
## NULL
##
## [[3]][[32]]
## NULL
##
## [[3]][[33]]
## NULL
##
## [[3]][[34]]
## NULL
##
## [[3]][[35]]
## NULL
##
## [[3]][[36]]
## NULL
##
## [[3]][[37]]
## NULL
##
## [[3]][[38]]
## NULL
##
## [[3]][[39]]
## NULL
##
## [[3]][[40]]
## NULL
##
## [[3]][[41]]
## NULL
##
## [[3]][[42]]
## NULL
##
## [[3]][[43]]
## NULL
##
## [[3]][[44]]
## NULL
##
## [[3]][[45]]
## NULL
##
## [[3]][[46]]
## NULL
##
## [[3]][[47]]
## NULL
##
## [[3]][[48]]
## NULL
##
## [[3]][[49]]
## NULL
##
## [[3]][[50]]
## NULL
##
## [[3]][[51]]
## NULL
##
## [[3]][[52]]
## NULL
##
## [[3]][[53]]
## NULL
##
## [[3]][[54]]
## NULL
##
## [[3]][[55]]
## NULL
##
## [[3]][[56]]
## NULL
##
## [[3]][[57]]
## NULL
##
## [[3]][[58]]
## NULL
##
## [[3]][[59]]
## NULL
##
## [[3]][[60]]
## NULL
##
## [[3]][[61]]
## NULL
##
## [[3]][[62]]
## NULL
##
## [[3]][[63]]
## NULL
##
## [[3]][[64]]
## NULL
##
## [[3]][[65]]
## NULL
##
## [[3]][[66]]
## NULL
##
## [[3]][[67]]
## NULL
##
## [[3]][[68]]
## NULL
##
## [[3]][[69]]
## NULL
##
## [[3]][[70]]
## NULL
##
## [[3]][[71]]
## NULL
##
## [[3]][[72]]
## NULL
##
## [[3]][[73]]
## NULL
##
## [[3]][[74]]
## NULL
##
## [[3]][[75]]
## NULL
##
## [[3]][[76]]
## NULL
##
## [[3]][[77]]
## NULL
##
## [[3]][[78]]
## NULL
##
## [[3]][[79]]
## NULL
##
## [[3]][[80]]
## NULL
##
## [[3]][[81]]
## NULL
##
## [[3]][[82]]
## NULL
##
## [[3]][[83]]
## NULL
##
## [[3]][[84]]
## NULL
##
## [[3]][[85]]
## NULL
##
## [[3]][[86]]
## NULL
##
## [[3]][[87]]
## NULL
##
## [[3]][[88]]
## NULL
##
## [[3]][[89]]
## NULL
##
## [[3]][[90]]
## NULL
##
## [[3]][[91]]
## NULL
##
## [[3]][[92]]
## NULL
##
## [[3]][[93]]
## NULL
##
## [[3]][[94]]
## NULL
##
## [[3]][[95]]
## NULL
##
## [[3]][[96]]
## NULL
##
## [[3]][[97]]
## NULL
##
## [[3]][[98]]
## NULL
##
## [[3]][[99]]
## NULL
##
## [[3]][[100]]
## NULL
##
## [[3]][[101]]
## NULL
##
## [[3]][[102]]
## NULL
##
## [[3]][[103]]
## NULL
##
## [[3]][[104]]
## NULL
##
## [[3]][[105]]
## NULL
##
## [[3]][[106]]
## NULL
##
## [[3]][[107]]
## NULL
##
## [[3]][[108]]
## NULL
##
## [[3]][[109]]
## NULL
##
## [[3]][[110]]
## NULL
##
## [[3]][[111]]
## NULL
##
## [[3]][[112]]
## NULL
##
## [[3]][[113]]
## NULL
##
## [[3]][[114]]
## NULL
##
## [[3]][[115]]
## NULL
##
## [[3]][[116]]
## NULL
##
## [[3]][[117]]
## NULL
##
## [[3]][[118]]
## NULL
##
## [[3]][[119]]
## NULL
##
## [[3]][[120]]
## NULL
##
## [[3]][[121]]
## NULL
##
## [[3]][[122]]
## NULL
##
## [[3]][[123]]
## NULL
##
## [[3]][[124]]
## NULL
##
## [[3]][[125]]
## NULL
##
## [[3]][[126]]
## NULL
##
## [[3]][[127]]
## NULL
##
## [[3]][[128]]
## NULL
##
## [[3]][[129]]
## NULL
##
## [[3]][[130]]
## NULL
##
## [[3]][[131]]
## NULL
##
## [[3]][[132]]
## NULL
##
## [[3]][[133]]
## NULL
##
## [[3]][[134]]
## NULL
##
## [[3]][[135]]
## NULL
##
## [[3]][[136]]
## NULL
##
## [[3]][[137]]
## NULL
##
## [[3]][[138]]
## NULL
##
## [[3]][[139]]
## NULL
##
## [[3]][[140]]
## NULL
##
## [[3]][[141]]
## NULL
##
## [[3]][[142]]
## NULL
##
## [[3]][[143]]
## NULL
##
## [[3]][[144]]
## NULL
##
## [[3]][[145]]
## NULL
##
##
## [[4]]
## [[4]][[1]]
## NULL
##
## [[4]][[2]]
## NULL
##
## [[4]][[3]]
## NULL
##
## [[4]][[4]]
## NULL
##
## [[4]][[5]]
## NULL
##
## [[4]][[6]]
## NULL
##
## [[4]][[7]]
## NULL
##
## [[4]][[8]]
## NULL
##
## [[4]][[9]]
## NULL
##
## [[4]][[10]]
## NULL
##
## [[4]][[11]]
## NULL
##
## [[4]][[12]]
## NULL
##
## [[4]][[13]]
## NULL
##
## [[4]][[14]]
## NULL
##
## [[4]][[15]]
## NULL
##
## [[4]][[16]]
## NULL
##
## [[4]][[17]]
## NULL
##
## [[4]][[18]]
## NULL
##
## [[4]][[19]]
## NULL
##
## [[4]][[20]]
## NULL
##
## [[4]][[21]]
## NULL
##
## [[4]][[22]]
## NULL
##
## [[4]][[23]]
## NULL
##
## [[4]][[24]]
## NULL
##
## [[4]][[25]]
## NULL
##
## [[4]][[26]]
## NULL
##
## [[4]][[27]]
## NULL
##
## [[4]][[28]]
## NULL
##
## [[4]][[29]]
## NULL
##
## [[4]][[30]]
## NULL
##
## [[4]][[31]]
## NULL
##
## [[4]][[32]]
## NULL
##
## [[4]][[33]]
## NULL
##
## [[4]][[34]]
## NULL
##
## [[4]][[35]]
## NULL
##
## [[4]][[36]]
## NULL
##
## [[4]][[37]]
## NULL
##
## [[4]][[38]]
## NULL
##
## [[4]][[39]]
## NULL
##
## [[4]][[40]]
## NULL
##
## [[4]][[41]]
## NULL
##
## [[4]][[42]]
## NULL
##
## [[4]][[43]]
## NULL
##
## [[4]][[44]]
## NULL
##
## [[4]][[45]]
## NULL
##
## [[4]][[46]]
## NULL
##
## [[4]][[47]]
## NULL
##
## [[4]][[48]]
## NULL
##
## [[4]][[49]]
## NULL
##
## [[4]][[50]]
## NULL
##
## [[4]][[51]]
## NULL
##
## [[4]][[52]]
## NULL
##
## [[4]][[53]]
## NULL
##
## [[4]][[54]]
## NULL
##
## [[4]][[55]]
## NULL
##
## [[4]][[56]]
## NULL
##
## [[4]][[57]]
## NULL
##
## [[4]][[58]]
## NULL
##
## [[4]][[59]]
## NULL
##
## [[4]][[60]]
## NULL
##
## [[4]][[61]]
## NULL
##
## [[4]][[62]]
## NULL
##
## [[4]][[63]]
## NULL
##
## [[4]][[64]]
## NULL
##
## [[4]][[65]]
## NULL
##
## [[4]][[66]]
## NULL
##
## [[4]][[67]]
## NULL
##
## [[4]][[68]]
## NULL
##
## [[4]][[69]]
## NULL
##
## [[4]][[70]]
## NULL
##
## [[4]][[71]]
## NULL
##
## [[4]][[72]]
## NULL
##
## [[4]][[73]]
## NULL
##
## [[4]][[74]]
## NULL
##
## [[4]][[75]]
## NULL
##
## [[4]][[76]]
## NULL
##
## [[4]][[77]]
## NULL
##
## [[4]][[78]]
## NULL
##
## [[4]][[79]]
## NULL
##
## [[4]][[80]]
## NULL
##
## [[4]][[81]]
## NULL
##
## [[4]][[82]]
## NULL
##
## [[4]][[83]]
## NULL
##
## [[4]][[84]]
## NULL
##
## [[4]][[85]]
## NULL
##
## [[4]][[86]]
## NULL
##
## [[4]][[87]]
## NULL
##
## [[4]][[88]]
## NULL
##
## [[4]][[89]]
## NULL
##
## [[4]][[90]]
## NULL
##
## [[4]][[91]]
## NULL
##
## [[4]][[92]]
## NULL
##
## [[4]][[93]]
## NULL
##
## [[4]][[94]]
## NULL
##
## [[4]][[95]]
## NULL
##
## [[4]][[96]]
## NULL
##
## [[4]][[97]]
## NULL
##
## [[4]][[98]]
## NULL
##
## [[4]][[99]]
## NULL
##
## [[4]][[100]]
## NULL
##
## [[4]][[101]]
## NULL
##
## [[4]][[102]]
## NULL
##
## [[4]][[103]]
## NULL
##
## [[4]][[104]]
## NULL
##
## [[4]][[105]]
## NULL
##
## [[4]][[106]]
## NULL
##
## [[4]][[107]]
## NULL
##
## [[4]][[108]]
## NULL
##
## [[4]][[109]]
## NULL
##
## [[4]][[110]]
## NULL
##
## [[4]][[111]]
## NULL
##
## [[4]][[112]]
## NULL
##
## [[4]][[113]]
## NULL
##
## [[4]][[114]]
## NULL
##
## [[4]][[115]]
## NULL
##
## [[4]][[116]]
## NULL
##
## [[4]][[117]]
## NULL
##
## [[4]][[118]]
## NULL
##
## [[4]][[119]]
## NULL
##
## [[4]][[120]]
## NULL
##
## [[4]][[121]]
## NULL
##
## [[4]][[122]]
## NULL
##
## [[4]][[123]]
## NULL
##
## [[4]][[124]]
## NULL
##
## [[4]][[125]]
## NULL
##
## [[4]][[126]]
## NULL
##
## [[4]][[127]]
## NULL
##
## [[4]][[128]]
## NULL
##
## [[4]][[129]]
## NULL
##
## [[4]][[130]]
## NULL
##
## [[4]][[131]]
## NULL
##
## [[4]][[132]]
## NULL
##
## [[4]][[133]]
## NULL
##
## [[4]][[134]]
## NULL
##
## [[4]][[135]]
## NULL
##
## [[4]][[136]]
## NULL
##
## [[4]][[137]]
## NULL
##
## [[4]][[138]]
## NULL
##
## [[4]][[139]]
## NULL
##
## [[4]][[140]]
## NULL
##
## [[4]][[141]]
## NULL
##
## [[4]][[142]]
## NULL
##
## [[4]][[143]]
## NULL
##
## [[4]][[144]]
## NULL
##
## [[4]][[145]]
## NULL
##
## [[4]][[146]]
## NULL
##
## [[4]][[147]]
## NULL
##
## [[4]][[148]]
## NULL
##
## [[4]][[149]]
## NULL
##
## [[4]][[150]]
## NULL
##
## [[4]][[151]]
## NULL
##
## [[4]][[152]]
## NULL
##
## [[4]][[153]]
## NULL
##
## [[4]][[154]]
## NULL
##
## [[4]][[155]]
## NULL
##
## [[4]][[156]]
## NULL
##
## [[4]][[157]]
## NULL
##
## [[4]][[158]]
## NULL
##
## [[4]][[159]]
## NULL
##
## [[4]][[160]]
## NULL
##
##
## [[5]]
## [[5]][[1]]
## NULL
##
## [[5]][[2]]
## NULL
##
## [[5]][[3]]
## NULL
##
## [[5]][[4]]
## NULL
##
## [[5]][[5]]
## NULL
##
## [[5]][[6]]
## NULL
##
## [[5]][[7]]
## NULL
##
## [[5]][[8]]
## NULL
##
## [[5]][[9]]
## NULL
##
## [[5]][[10]]
## NULL
##
## [[5]][[11]]
## NULL
##
## [[5]][[12]]
## NULL
##
## [[5]][[13]]
## NULL
##
## [[5]][[14]]
## NULL
##
## [[5]][[15]]
## NULL
##
## [[5]][[16]]
## NULL
##
## [[5]][[17]]
## NULL
##
## [[5]][[18]]
## NULL
##
## [[5]][[19]]
## NULL
##
## [[5]][[20]]
## NULL
##
## [[5]][[21]]
## NULL
##
## [[5]][[22]]
## NULL
##
## [[5]][[23]]
## NULL
##
## [[5]][[24]]
## NULL
##
## [[5]][[25]]
## NULL
##
## [[5]][[26]]
## NULL
##
## [[5]][[27]]
## NULL
##
## [[5]][[28]]
## NULL
##
## [[5]][[29]]
## NULL
##
## [[5]][[30]]
## NULL
##
## [[5]][[31]]
## NULL
##
## [[5]][[32]]
## NULL
##
## [[5]][[33]]
## NULL
##
## [[5]][[34]]
## NULL
##
## [[5]][[35]]
## NULL
##
## [[5]][[36]]
## NULL
##
## [[5]][[37]]
## NULL
##
## [[5]][[38]]
## NULL
##
## [[5]][[39]]
## NULL
##
## [[5]][[40]]
## NULL
##
## [[5]][[41]]
## NULL
##
## [[5]][[42]]
## NULL
##
## [[5]][[43]]
## NULL
##
## [[5]][[44]]
## NULL
##
## [[5]][[45]]
## NULL
##
## [[5]][[46]]
## NULL
##
## [[5]][[47]]
## NULL
##
## [[5]][[48]]
## NULL
##
## [[5]][[49]]
## NULL
##
## [[5]][[50]]
## NULL
##
## [[5]][[51]]
## NULL
##
## [[5]][[52]]
## NULL
##
## [[5]][[53]]
## NULL
##
## [[5]][[54]]
## NULL
##
## [[5]][[55]]
## NULL
##
## [[5]][[56]]
## NULL
##
## [[5]][[57]]
## NULL
##
## [[5]][[58]]
## NULL
##
## [[5]][[59]]
## NULL
##
## [[5]][[60]]
## NULL
##
## [[5]][[61]]
## NULL
##
## [[5]][[62]]
## NULL
##
## [[5]][[63]]
## NULL
##
## [[5]][[64]]
## NULL
##
## [[5]][[65]]
## NULL
##
## [[5]][[66]]
## NULL
##
## [[5]][[67]]
## NULL
##
## [[5]][[68]]
## NULL
##
## [[5]][[69]]
## NULL
##
## [[5]][[70]]
## NULL
##
## [[5]][[71]]
## NULL
##
## [[5]][[72]]
## NULL
##
## [[5]][[73]]
## NULL
##
## [[5]][[74]]
## NULL
##
## [[5]][[75]]
## NULL
##
## [[5]][[76]]
## NULL
##
## [[5]][[77]]
## NULL
##
## [[5]][[78]]
## NULL
##
## [[5]][[79]]
## NULL
##
## [[5]][[80]]
## NULL
##
## [[5]][[81]]
## NULL
##
## [[5]][[82]]
## NULL
##
## [[5]][[83]]
## NULL
##
## [[5]][[84]]
## NULL
##
## [[5]][[85]]
## NULL
##
## [[5]][[86]]
## NULL
##
## [[5]][[87]]
## NULL
##
## [[5]][[88]]
## NULL
##
## [[5]][[89]]
## NULL
##
## [[5]][[90]]
## NULL
##
## [[5]][[91]]
## NULL
##
## [[5]][[92]]
## NULL
##
## [[5]][[93]]
## NULL
##
## [[5]][[94]]
## NULL
##
## [[5]][[95]]
## NULL
##
## [[5]][[96]]
## NULL
##
## [[5]][[97]]
## NULL
##
## [[5]][[98]]
## NULL
##
## [[5]][[99]]
## NULL
##
## [[5]][[100]]
## NULL
##
## [[5]][[101]]
## NULL
##
## [[5]][[102]]
## NULL
##
## [[5]][[103]]
## NULL
##
## [[5]][[104]]
## NULL
##
## [[5]][[105]]
## NULL
##
## [[5]][[106]]
## NULL
##
## [[5]][[107]]
## NULL
##
## [[5]][[108]]
## NULL
##
## [[5]][[109]]
## NULL
##
## [[5]][[110]]
## NULL
##
## [[5]][[111]]
## NULL
##
## [[5]][[112]]
## NULL
##
## [[5]][[113]]
## NULL
##
## [[5]][[114]]
## NULL
##
## [[5]][[115]]
## NULL
##
## [[5]][[116]]
## NULL
##
## [[5]][[117]]
## NULL
##
## [[5]][[118]]
## NULL
##
## [[5]][[119]]
## NULL
##
## [[5]][[120]]
## NULL
##
## [[5]][[121]]
## NULL
##
## [[5]][[122]]
## NULL
##
## [[5]][[123]]
## NULL
##
## [[5]][[124]]
## NULL
##
## [[5]][[125]]
## NULL
##
## [[5]][[126]]
## NULL
##
## [[5]][[127]]
## NULL
##
## [[5]][[128]]
## NULL
##
## [[5]][[129]]
## NULL
##
## [[5]][[130]]
## NULL
##
## [[5]][[131]]
## NULL
##
## [[5]][[132]]
## NULL
##
## [[5]][[133]]
## NULL
##
## [[5]][[134]]
## NULL
##
## [[5]][[135]]
## NULL
##
## [[5]][[136]]
## NULL
##
## [[5]][[137]]
## NULL
##
## [[5]][[138]]
## NULL
##
## [[5]][[139]]
## NULL
##
## [[5]][[140]]
## NULL
##
## [[5]][[141]]
## NULL
##
## [[5]][[142]]
## NULL
##
## [[5]][[143]]
## NULL
##
## [[5]][[144]]
## NULL
##
## [[5]][[145]]
## NULL
##
## [[5]][[146]]
## NULL
##
## [[5]][[147]]
## NULL
##
## [[5]][[148]]
## NULL
##
## [[5]][[149]]
## NULL
##
## [[5]][[150]]
## NULL
##
## [[5]][[151]]
## NULL
##
## [[5]][[152]]
## NULL
##
## [[5]][[153]]
## NULL
##
## [[5]][[154]]
## NULL
##
## [[5]][[155]]
## NULL
##
## [[5]][[156]]
## NULL
##
## [[5]][[157]]
## NULL
##
## [[5]][[158]]
## NULL
##
## [[5]][[159]]
## NULL
##
## [[5]][[160]]
## NULL
##
## [[5]][[161]]
## NULL
##
## [[5]][[162]]
## NULL
##
## [[5]][[163]]
## NULL
##
## [[5]][[164]]
## NULL
##
## [[5]][[165]]
## NULL
##
## [[5]][[166]]
## NULL
##
## [[5]][[167]]
## NULL
##
## [[5]][[168]]
## NULL
##
## [[5]][[169]]
## NULL
##
## [[5]][[170]]
## NULL
##
## [[5]][[171]]
## NULL
##
## [[5]][[172]]
## NULL
##
## [[5]][[173]]
## NULL
##
## [[5]][[174]]
## NULL
##
## [[5]][[175]]
## NULL
##
## [[5]][[176]]
## NULL
##
## [[5]][[177]]
## NULL
##
## [[5]][[178]]
## NULL
##
## [[5]][[179]]
## NULL
##
## [[5]][[180]]
## NULL
##
## [[5]][[181]]
## NULL
##
## [[5]][[182]]
## NULL
##
## [[5]][[183]]
## NULL
##
## [[5]][[184]]
## NULL
##
## [[5]][[185]]
## NULL
##
## [[5]][[186]]
## NULL
##
## [[5]][[187]]
## NULL
##
## [[5]][[188]]
## NULL
##
## [[5]][[189]]
## NULL
##
## [[5]][[190]]
## NULL
##
## [[5]][[191]]
## NULL
##
## [[5]][[192]]
## NULL
##
## [[5]][[193]]
## NULL
##
## [[5]][[194]]
## NULL
##
## [[5]][[195]]
## NULL
##
## [[5]][[196]]
## NULL
##
## [[5]][[197]]
## NULL
##
## [[5]][[198]]
## NULL
##
## [[5]][[199]]
## NULL
##
## [[5]][[200]]
## NULL
##
## [[5]][[201]]
## NULL
##
## [[5]][[202]]
## NULL
##
## [[5]][[203]]
## NULL
##
## [[5]][[204]]
## NULL
##
## [[5]][[205]]
## NULL
##
## [[5]][[206]]
## NULL
##
## [[5]][[207]]
## NULL
##
## [[5]][[208]]
## NULL
##
## [[5]][[209]]
## NULL
##
## [[5]][[210]]
## NULL
##
## [[5]][[211]]
## NULL
##
## [[5]][[212]]
## NULL
##
## [[5]][[213]]
## NULL
##
## [[5]][[214]]
## NULL
##
## [[5]][[215]]
## NULL
##
## [[5]][[216]]
## NULL
##
## [[5]][[217]]
## NULL
##
## [[5]][[218]]
## NULL
##
## [[5]][[219]]
## NULL
##
## [[5]][[220]]
## NULL
##
## [[5]][[221]]
## NULL
##
## [[5]][[222]]
## NULL
##
## [[5]][[223]]
## NULL
##
## [[5]][[224]]
## NULL
##
## [[5]][[225]]
## NULL
##
## [[5]][[226]]
## NULL
##
## [[5]][[227]]
## NULL
##
##
## [[6]]
## [[6]][[1]]
## NULL
##
## [[6]][[2]]
## NULL
##
## [[6]][[3]]
## NULL
##
## [[6]][[4]]
## NULL
##
## [[6]][[5]]
## NULL
##
## [[6]][[6]]
## NULL
##
## [[6]][[7]]
## NULL
##
## [[6]][[8]]
## NULL
##
## [[6]][[9]]
## NULL
##
## [[6]][[10]]
## NULL
##
## [[6]][[11]]
## NULL
##
## [[6]][[12]]
## NULL
##
## [[6]][[13]]
## NULL
##
## [[6]][[14]]
## NULL
##
## [[6]][[15]]
## NULL
##
## [[6]][[16]]
## NULL
##
## [[6]][[17]]
## NULL
##
## [[6]][[18]]
## NULL
##
## [[6]][[19]]
## NULL
##
## [[6]][[20]]
## NULL
##
## [[6]][[21]]
## NULL
##
## [[6]][[22]]
## NULL
##
## [[6]][[23]]
## NULL
##
## [[6]][[24]]
## NULL
##
## [[6]][[25]]
## NULL
##
## [[6]][[26]]
## NULL
##
## [[6]][[27]]
## NULL
##
## [[6]][[28]]
## NULL
##
## [[6]][[29]]
## NULL
##
## [[6]][[30]]
## NULL
##
## [[6]][[31]]
## NULL
##
## [[6]][[32]]
## NULL
##
## [[6]][[33]]
## NULL
##
## [[6]][[34]]
## NULL
##
## [[6]][[35]]
## NULL
##
## [[6]][[36]]
## NULL
##
## [[6]][[37]]
## NULL
##
## [[6]][[38]]
## NULL
##
## [[6]][[39]]
## NULL
##
## [[6]][[40]]
## NULL
##
## [[6]][[41]]
## NULL
##
## [[6]][[42]]
## NULL
##
## [[6]][[43]]
## NULL
##
## [[6]][[44]]
## NULL
##
## [[6]][[45]]
## NULL
##
## [[6]][[46]]
## NULL
##
## [[6]][[47]]
## NULL
##
## [[6]][[48]]
## NULL
##
## [[6]][[49]]
## NULL
##
## [[6]][[50]]
## NULL
##
## [[6]][[51]]
## NULL
##
## [[6]][[52]]
## NULL
##
## [[6]][[53]]
## NULL
##
## [[6]][[54]]
## NULL
##
## [[6]][[55]]
## NULL
##
## [[6]][[56]]
## NULL
##
## [[6]][[57]]
## NULL
##
## [[6]][[58]]
## NULL
##
## [[6]][[59]]
## NULL
##
## [[6]][[60]]
## NULL
##
## [[6]][[61]]
## NULL
##
## [[6]][[62]]
## NULL
##
## [[6]][[63]]
## NULL
##
## [[6]][[64]]
## NULL
##
## [[6]][[65]]
## NULL
##
## [[6]][[66]]
## NULL
##
## [[6]][[67]]
## NULL
##
## [[6]][[68]]
## NULL
##
## [[6]][[69]]
## NULL
##
## [[6]][[70]]
## NULL
##
## [[6]][[71]]
## NULL
##
## [[6]][[72]]
## NULL
##
## [[6]][[73]]
## NULL
##
## [[6]][[74]]
## NULL
##
## [[6]][[75]]
## NULL
##
## [[6]][[76]]
## NULL
##
## [[6]][[77]]
## NULL
##
## [[6]][[78]]
## NULL
##
## [[6]][[79]]
## NULL
##
## [[6]][[80]]
## NULL
##
## [[6]][[81]]
## NULL
##
## [[6]][[82]]
## NULL
##
## [[6]][[83]]
## NULL
##
## [[6]][[84]]
## NULL
##
## [[6]][[85]]
## NULL
##
## [[6]][[86]]
## NULL
##
## [[6]][[87]]
## NULL
##
## [[6]][[88]]
## NULL
##
## [[6]][[89]]
## NULL
##
## [[6]][[90]]
## NULL
##
##
## [[7]]
## [[7]][[1]]
## NULL
##
## [[7]][[2]]
## NULL
##
## [[7]][[3]]
## NULL
##
## [[7]][[4]]
## NULL
##
## [[7]][[5]]
## NULL
##
## [[7]][[6]]
## NULL
##
## [[7]][[7]]
## NULL
##
## [[7]][[8]]
## NULL
##
## [[7]][[9]]
## NULL
##
## [[7]][[10]]
## NULL
##
## [[7]][[11]]
## NULL
##
## [[7]][[12]]
## NULL
##
## [[7]][[13]]
## NULL
##
## [[7]][[14]]
## NULL
##
## [[7]][[15]]
## NULL
##
## [[7]][[16]]
## NULL
##
## [[7]][[17]]
## NULL
##
## [[7]][[18]]
## NULL
##
## [[7]][[19]]
## NULL
##
## [[7]][[20]]
## NULL
##
## [[7]][[21]]
## NULL
##
## [[7]][[22]]
## NULL
##
## [[7]][[23]]
## NULL
##
## [[7]][[24]]
## NULL
##
## [[7]][[25]]
## NULL
##
## [[7]][[26]]
## NULL
##
## [[7]][[27]]
## NULL
##
## [[7]][[28]]
## NULL
##
## [[7]][[29]]
## NULL
##
## [[7]][[30]]
## NULL
##
## [[7]][[31]]
## NULL
##
## [[7]][[32]]
## NULL
##
## [[7]][[33]]
## NULL
##
## [[7]][[34]]
## NULL
##
## [[7]][[35]]
## NULL
##
## [[7]][[36]]
## NULL
##
## [[7]][[37]]
## NULL
##
## [[7]][[38]]
## NULL
##
## [[7]][[39]]
## NULL
##
## [[7]][[40]]
## NULL
##
## [[7]][[41]]
## NULL
##
## [[7]][[42]]
## NULL
##
## [[7]][[43]]
## NULL
##
## [[7]][[44]]
## NULL
##
## [[7]][[45]]
## NULL
##
## [[7]][[46]]
## NULL
##
## [[7]][[47]]
## NULL
##
## [[7]][[48]]
## NULL
##
## [[7]][[49]]
## NULL
##
## [[7]][[50]]
## NULL
##
## [[7]][[51]]
## NULL
##
## [[7]][[52]]
## NULL
##
## [[7]][[53]]
## NULL
##
## [[7]][[54]]
## NULL
##
## [[7]][[55]]
## NULL
treatment_group==2
ss2 <- as.data.frame(cbind(ss1,sscell))
ss2 <- ss2[order(rownames(ss2)),]
ss2 <- ss2[table(ss2$PG_number)==3,] # must include all 3 timepoints
mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[,order(colnames(mx)),]
rownames(ss2) == colnames(mx)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE
ss2$timepoint <- factor(ss2$timepoint, ordered = FALSE)
ss2$PG_number <- factor(ss2$PG_number, ordered = FALSE)
str(ss2)
## 'data.frame': 246 obs. of 50 variables:
## $ PG_number : Factor w/ 102 levels "3176","3178",..: 1 2 3 3 4 5 5 6 6 7 ...
## $ sexD : num 1 1 2 2 2 1 1 1 1 1 ...
## $ ageD : int 84 54 70 70 62 58 58 61 61 68 ...
## $ ageCS : num [1:246, 1] 1.9878 -0.6079 0.7765 0.7765 0.0843 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : NULL
## $ weightD : num 60 63.6 70.1 70.1 78.7 ...
## $ asaD : int 3 2 2 2 2 1 1 1 1 2 ...
## $ heightD : num 133 155 170 170 175 158 158 149 149 155 ...
## $ ethnicityCAT : chr "Asian" "Asian" "Asian" "Asian" ...
## $ ethnicityD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ current_smokerD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ diabetes_typeD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ daily_insulinD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ creatinine_preopD : int 54 47 109 109 98 50 50 49 49 61 ...
## $ surgery_dominantD : num 1 2 6 6 4 2 2 2 2 4 ...
## $ wound_typeOP : num 2 2 2 2 2 2 2 2 2 2 ...
## $ HbA1c : num 5.7 4.9 5.2 5.2 5.4 ...
## $ bmi : num 33.9 26.5 24.3 24.3 25.7 ...
## $ revised_whodas_preop: int 24 14 12 12 12 12 12 18 18 12 ...
## $ neut_lymph_ratio_d0 : num 1.31 6 1.83 1.83 6.88 ...
## $ neut_lymph_ratio_d1 : num 14 15.62 6.27 6.27 16.57 ...
## $ neut_lymph_ratio_d2 : num 14 9.5 7.67 7.67 12.17 ...
## $ ab_noninfection : int 1 1 1 1 1 1 1 1 1 1 ...
## $ risk : int 4 1 2 2 1 1 1 1 1 1 ...
## $ risk_cat : num 3 1 2 2 1 1 1 1 1 1 ...
## $ bmi_cat : num 4 3 2 2 3 3 3 1 1 2 ...
## $ wound_type_cat : num 2 2 2 2 2 2 2 2 2 2 ...
## $ duration_sx : num 3.067 1.333 5.167 5.167 0.683 ...
## $ anyDex : num 2 2 2 2 2 2 2 2 2 2 ...
## $ treatment_group : int 2 1 2 2 1 1 1 2 2 2 ...
## $ deltacrp : num 277.9 32.7 202.9 202.9 24.8 ...
## $ crp_group : int 4 1 4 4 1 4 4 1 1 1 ...
## $ timepoint : Factor w/ 3 levels "EOS","POD1","T0": 3 2 2 3 3 2 3 2 3 2 ...
## $ dex : num 0 1 0 0 1 1 1 0 0 0 ...
## $ Monocytes.C : num 48.2 20.1 48.7 36.4 15.2 ...
## $ NK : num 0.421 2.007 3.586 2.176 8.347 ...
## $ T.CD8.Memory : num 2.59 10.74 1.81 5.96 14.67 ...
## $ T.CD4.Naive : num 1.57 9.23 2.42 4.61 16.31 ...
## $ T.CD8.Naive : num 11.65 11.69 13.91 12.5 6.73 ...
## $ B.Naive : num 2.158 5.499 0.849 5.065 2.638 ...
## $ T.CD4.Memory : num 15.8 12.9 14.4 16.2 10.1 ...
## $ MAIT : num 0.398 1.474 2.769 1.372 0.525 ...
## $ T.gd.Vd2 : num 1.93 2.05 1.86 2.17 1.85 ...
## $ Neutrophils.LD : num 2.808 3.663 5.722 0.739 14.631 ...
## $ T.gd.non.Vd2 : num 0.473 0.304 0.338 0.519 0.337 ...
## $ Basophils.LD : num 0.74 1.188 0.779 0.343 1.778 ...
## $ Monocytes.NC.I : num 9.98 13.41 2.07 10.35 4.13 ...
## $ B.Memory : num 0.561 4.538 0.205 0.549 1.921 ...
## $ mDCs : num 0.529 0.766 0.45 0.819 0.634 ...
## $ pDCs : num 0.0712 0.3356 0.0858 0.0405 0.075 ...
## $ Plasmablasts : num 0.1371 0.0945 0.1127 0.1229 0.1151 ...
ss3 <- subset(ss2,crp_group==4 & treatment_group==2)
mx <- mx[,colnames(mx) %in% rownames(ss3)]
dim(mx)
## [1] 60649 92
mx <- mx[which(rowMeans(mx)>=10),]
dim(mx)
## [1] 21710 92
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ timepoint )
## converting counts to integer mode
res <- DESeq(dds,test="LRT",reduced=~1)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 140 genes
## -- DESeq argument 'minReplicatesForReplace' = 7
## -- original counts are preserved in counts(dds)
## estimating dispersions
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000108950.12 FAM20A 1100.06669 -1.14233989 0.2350742 263.8410
## ENSG00000137869.15 CYP19A1 56.37269 -3.39923662 0.4568220 183.7897
## ENSG00000132170.24 PPARG 111.72528 -1.32859264 0.2490823 180.7155
## ENSG00000170439.7 METTL7B 143.46453 -2.37349879 0.3654319 159.2307
## ENSG00000099377.14 HSD3B7 142.46564 -0.21793175 0.1465853 152.2768
## ENSG00000145287.11 PLAC8 4248.44981 0.06796149 0.1337366 149.3546
## ENSG00000163958.14 ZDHHC19 304.34010 -0.30093519 0.5075540 147.7935
## ENSG00000135424.18 ITGA7 349.62000 -0.49251364 0.1952106 146.5724
## ENSG00000149418.11 ST14 1967.22199 -0.28287124 0.1201522 145.6812
## ENSG00000171812.13 COL8A2 267.06461 0.04251179 0.1647758 138.1952
## pvalue padj
## ENSG00000108950.12 FAM20A 5.100903e-58 1.107406e-53
## ENSG00000137869.15 CYP19A1 1.231883e-40 1.337209e-36
## ENSG00000132170.24 PPARG 5.729689e-40 4.146385e-36
## ENSG00000170439.7 METTL7B 2.651533e-35 1.439120e-31
## ENSG00000099377.14 HSD3B7 8.580408e-34 3.725613e-30
## ENSG00000145287.11 PLAC8 3.698829e-33 1.338360e-29
## ENSG00000163958.14 ZDHHC19 8.073335e-33 2.503887e-29
## ENSG00000135424.18 ITGA7 1.486652e-32 4.034402e-29
## ENSG00000149418.11 ST14 2.321326e-32 5.599555e-29
## ENSG00000171812.13 COL8A2 9.801398e-31 2.127884e-27
mean(abs(dge$stat))
## [1] 10.54297
# model with PG number as batch
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + timepoint )
## converting counts to integer mode
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced=~PG_number)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 6 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000108950.12 FAM20A 1100.0667 -1.00196908 0.17643593 494.0186
## ENSG00000132170.24 PPARG 111.7253 -1.13072257 0.19976944 294.5267
## ENSG00000135424.18 ITGA7 349.6200 -0.46368536 0.13488531 285.8416
## ENSG00000116574.6 RHOU 1060.6002 -0.41172272 0.07741375 270.4232
## ENSG00000014257.16 ACP3 773.1859 -0.20330404 0.08198400 263.4546
## ENSG00000165092.13 ALDH1A1 578.8025 0.11929479 0.14424067 257.8034
## ENSG00000137959.17 IFI44L 1597.9830 0.03657654 0.10657159 255.0499
## ENSG00000170439.7 METTL7B 143.4645 -2.21092301 0.30344696 254.2182
## ENSG00000099377.14 HSD3B7 142.4656 -0.27576629 0.12067352 249.3603
## ENSG00000153208.17 MERTK 646.0647 -0.39411010 0.13837775 226.6377
## pvalue padj
## ENSG00000108950.12 FAM20A 5.311496e-108 1.153126e-103
## ENSG00000132170.24 PPARG 1.107509e-64 1.202201e-60
## ENSG00000135424.18 ITGA7 8.516791e-63 6.163317e-59
## ENSG00000116574.6 RHOU 1.898183e-59 1.030239e-55
## ENSG00000014257.16 ACP3 6.188084e-58 2.686866e-54
## ENSG00000165092.13 ALDH1A1 1.044014e-56 3.777591e-53
## ENSG00000137959.17 IFI44L 4.136322e-56 1.282851e-52
## ENSG00000170439.7 METTL7B 6.269205e-56 1.701306e-52
## ENSG00000099377.14 HSD3B7 7.113664e-55 1.715974e-51
## ENSG00000153208.17 MERTK 6.112851e-50 1.327100e-46
mean(abs(dge$stat))
## [1] 15.83462
tc_hi_b <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP high Trt B")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
# model with cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## the design formula contains one or more numeric variables that have mean or
## standard deviation larger than 5 (an arbitrary threshold to trigger this message).
## Including numeric variables with large mean can induce collinearity with the intercept.
## Users should center and scale numeric variables in the design to improve GLM convergence.
## factor levels were dropped which had no samples
res <- DESeq(dds,test="LRT",reduced= ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 14 rows did not converge in beta, labelled in mcols(object)$fullBetaConv. Use larger maxit argument with nbinomLRT
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
dge <- as.data.frame(zz[order(zz$pvalue),])
head(dge[order(dge$pvalue),1:6],10)
## baseMean log2FoldChange lfcSE stat
## ENSG00000269711.1 CTD-3214H19.16 354.45989 -1.8584483279 0.31535813 1931.4610
## ENSG00000213178.3 RPL22P1 404.46532 1.1745932025 0.47564964 1273.8130
## ENSG00000108950.12 FAM20A 1100.06669 -1.0100576984 0.19915418 366.0442
## ENSG00000280416.1 RP11-361L15.3 30.76694 -0.0249550947 0.56338224 279.3639
## ENSG00000165092.13 ALDH1A1 578.80251 0.0461327743 0.15036579 259.7871
## ENSG00000137959.17 IFI44L 1597.98300 -0.0006600309 0.10749723 238.2871
## ENSG00000132170.24 PPARG 111.72528 -1.1503163038 0.21245383 232.0144
## ENSG00000135424.18 ITGA7 349.62000 -0.4814019491 0.14151314 226.2584
## ENSG00000116574.6 RHOU 1060.60025 -0.4526397872 0.08217096 225.0454
## ENSG00000170439.7 METTL7B 143.46453 -2.3202756260 0.31803628 214.3350
## pvalue padj
## ENSG00000269711.1 CTD-3214H19.16 0.000000e+00 0.000000e+00
## ENSG00000213178.3 RPL22P1 2.483207e-277 2.695521e-273
## ENSG00000108950.12 FAM20A 3.269783e-80 2.366233e-76
## ENSG00000280416.1 RP11-361L15.3 2.172226e-61 1.178976e-57
## ENSG00000165092.13 ALDH1A1 3.872131e-57 1.681279e-53
## ENSG00000137959.17 IFI44L 1.805565e-52 6.533135e-49
## ENSG00000132170.24 PPARG 4.156375e-51 1.289070e-47
## ENSG00000135424.18 ITGA7 7.389630e-50 2.005361e-46
## ENSG00000116574.6 RHOU 1.355201e-49 3.269047e-46
## ENSG00000170439.7 METTL7B 2.869068e-47 6.228746e-44
mean(abs(dge$stat))
## [1] 13.55492
tc_hi_b_adj <- dge
## MDS
nmx <- assay(vsd)
mds <- cmdscale(dist(t(nmx)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
col <- rownames(mds)
col <- sapply(strsplit(col,"-"),"[[",2)
col <- gsub("T0","lightblue",col)
col <- gsub("POD1","orange",col)
col <- gsub("EOS","pink",col)
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) , cex=1.5 ,
type = "p", col=col, pch=19, cex.axis=1.3,cex.lab=1.3, bty='n', main="CRP high Trt B adj")
#text(mds, labels=rownames(mds), cex=0.8)
mtext("blue=T0,pink=EOS,orange=POD1")
# cluster and heatmap
top <- as.matrix(dge[1:30,grep("-",colnames(dge))])
colfunc <- colorRampPalette(c("blue", "white", "red"))
tp <- sapply(strsplit(colnames(top),"-"),"[[",2)
colsidecols <- gsub("POD1","darkred",gsub("EOS","chocolate1",gsub("T0","darkgreen",tp)))
heatmap.2(as.matrix(top),trace="none",col=colfunc(25),scale="row",
margins = c(6,12), cexRow=0.7, cexCol=0.1, ColSideColors=colsidecols )
nsig <- nrow(subset(dge,padj<0.05))
#top <- as.matrix(tc_hi_b_adj[1:nsig,grep("-",colnames(tc_hi_b_adj))])
top <- as.matrix(dge[1:1000,grep("-",colnames(dge))])
rowmeans <- rowMeans(top)
mmean <- mean(rowmeans)
topn <- top / rowmeans
keep <- names(which(table(sapply(strsplit(colnames(topn),"-"),"[[",1))==3))
keep <-c(paste(keep,"-T0",sep=""),paste(keep,"-EOS",sep=""),paste(keep,"-POD1",sep="") )
topn <- topn[,which(colnames(topn) %in% keep)]
distClust <-as.dist(1-cor(t(topn), method="spearman"))
hClust <- hclust(distClust , method="complete")
mycl <- cutree(hClust, h=max(hClust$height/1.4))
length(unique(mycl)) #mycl_length
## [1] 7
tp <- sapply(strsplit(colnames(topn),"-"),"[[",2)
colsidecols <- gsub("POD1","darkred",gsub("EOS","chocolate1",gsub("T0","darkgreen",tp)))
heatmap.2(as.matrix(topn),trace="none",col=colfunc(25),scale="row",
margins = c(6,12), cexRow=0.2, cexCol=0.1,
ColSideColors=colsidecols , RowSideColors=as.character(mycl) )
lapply(min(mycl):max(mycl),function(i) {
dat <- topn[rownames(topn) %in% names(mycl[which(mycl==i)]),]
t0 <- rowMeans(dat[,grep("T0",colnames(dat))])
eos <- rowMeans(dat[,grep("EOS",colnames(dat))])
pod1 <- rowMeans(dat[,grep("POD1",colnames(dat))])
zz <- data.frame(t0,eos,pod1)
HEADER=paste("Cluster",i,"Members=",nrow(zz))
plot(unlist(zz[1,,drop=TRUE]),type="b",ylim=c(0.7,1.3),
xlab="Timepoint", ylab="Normalised expresion level",
main=HEADER)
lapply(2:nrow(zz),function(j) {
points(unlist(zz[j,,drop=TRUE]),type="b")
} )
} )
## [[1]]
## [[1]][[1]]
## NULL
##
## [[1]][[2]]
## NULL
##
## [[1]][[3]]
## NULL
##
## [[1]][[4]]
## NULL
##
## [[1]][[5]]
## NULL
##
## [[1]][[6]]
## NULL
##
## [[1]][[7]]
## NULL
##
## [[1]][[8]]
## NULL
##
## [[1]][[9]]
## NULL
##
## [[1]][[10]]
## NULL
##
## [[1]][[11]]
## NULL
##
## [[1]][[12]]
## NULL
##
## [[1]][[13]]
## NULL
##
## [[1]][[14]]
## NULL
##
## [[1]][[15]]
## NULL
##
## [[1]][[16]]
## NULL
##
## [[1]][[17]]
## NULL
##
## [[1]][[18]]
## NULL
##
## [[1]][[19]]
## NULL
##
## [[1]][[20]]
## NULL
##
## [[1]][[21]]
## NULL
##
## [[1]][[22]]
## NULL
##
## [[1]][[23]]
## NULL
##
## [[1]][[24]]
## NULL
##
## [[1]][[25]]
## NULL
##
## [[1]][[26]]
## NULL
##
## [[1]][[27]]
## NULL
##
## [[1]][[28]]
## NULL
##
## [[1]][[29]]
## NULL
##
## [[1]][[30]]
## NULL
##
## [[1]][[31]]
## NULL
##
## [[1]][[32]]
## NULL
##
## [[1]][[33]]
## NULL
##
## [[1]][[34]]
## NULL
##
## [[1]][[35]]
## NULL
##
## [[1]][[36]]
## NULL
##
## [[1]][[37]]
## NULL
##
## [[1]][[38]]
## NULL
##
## [[1]][[39]]
## NULL
##
## [[1]][[40]]
## NULL
##
## [[1]][[41]]
## NULL
##
## [[1]][[42]]
## NULL
##
## [[1]][[43]]
## NULL
##
## [[1]][[44]]
## NULL
##
## [[1]][[45]]
## NULL
##
## [[1]][[46]]
## NULL
##
## [[1]][[47]]
## NULL
##
## [[1]][[48]]
## NULL
##
## [[1]][[49]]
## NULL
##
## [[1]][[50]]
## NULL
##
## [[1]][[51]]
## NULL
##
## [[1]][[52]]
## NULL
##
## [[1]][[53]]
## NULL
##
## [[1]][[54]]
## NULL
##
## [[1]][[55]]
## NULL
##
## [[1]][[56]]
## NULL
##
## [[1]][[57]]
## NULL
##
## [[1]][[58]]
## NULL
##
## [[1]][[59]]
## NULL
##
## [[1]][[60]]
## NULL
##
## [[1]][[61]]
## NULL
##
## [[1]][[62]]
## NULL
##
## [[1]][[63]]
## NULL
##
## [[1]][[64]]
## NULL
##
## [[1]][[65]]
## NULL
##
## [[1]][[66]]
## NULL
##
## [[1]][[67]]
## NULL
##
## [[1]][[68]]
## NULL
##
## [[1]][[69]]
## NULL
##
## [[1]][[70]]
## NULL
##
## [[1]][[71]]
## NULL
##
## [[1]][[72]]
## NULL
##
## [[1]][[73]]
## NULL
##
## [[1]][[74]]
## NULL
##
## [[1]][[75]]
## NULL
##
## [[1]][[76]]
## NULL
##
## [[1]][[77]]
## NULL
##
## [[1]][[78]]
## NULL
##
## [[1]][[79]]
## NULL
##
## [[1]][[80]]
## NULL
##
## [[1]][[81]]
## NULL
##
## [[1]][[82]]
## NULL
##
## [[1]][[83]]
## NULL
##
## [[1]][[84]]
## NULL
##
## [[1]][[85]]
## NULL
##
## [[1]][[86]]
## NULL
##
## [[1]][[87]]
## NULL
##
## [[1]][[88]]
## NULL
##
## [[1]][[89]]
## NULL
##
## [[1]][[90]]
## NULL
##
## [[1]][[91]]
## NULL
##
## [[1]][[92]]
## NULL
##
## [[1]][[93]]
## NULL
##
## [[1]][[94]]
## NULL
##
## [[1]][[95]]
## NULL
##
## [[1]][[96]]
## NULL
##
## [[1]][[97]]
## NULL
##
## [[1]][[98]]
## NULL
##
## [[1]][[99]]
## NULL
##
## [[1]][[100]]
## NULL
##
## [[1]][[101]]
## NULL
##
## [[1]][[102]]
## NULL
##
## [[1]][[103]]
## NULL
##
## [[1]][[104]]
## NULL
##
## [[1]][[105]]
## NULL
##
## [[1]][[106]]
## NULL
##
## [[1]][[107]]
## NULL
##
## [[1]][[108]]
## NULL
##
## [[1]][[109]]
## NULL
##
## [[1]][[110]]
## NULL
##
## [[1]][[111]]
## NULL
##
## [[1]][[112]]
## NULL
##
## [[1]][[113]]
## NULL
##
## [[1]][[114]]
## NULL
##
## [[1]][[115]]
## NULL
##
## [[1]][[116]]
## NULL
##
## [[1]][[117]]
## NULL
##
## [[1]][[118]]
## NULL
##
## [[1]][[119]]
## NULL
##
## [[1]][[120]]
## NULL
##
## [[1]][[121]]
## NULL
##
## [[1]][[122]]
## NULL
##
## [[1]][[123]]
## NULL
##
## [[1]][[124]]
## NULL
##
## [[1]][[125]]
## NULL
##
## [[1]][[126]]
## NULL
##
## [[1]][[127]]
## NULL
##
## [[1]][[128]]
## NULL
##
## [[1]][[129]]
## NULL
##
## [[1]][[130]]
## NULL
##
## [[1]][[131]]
## NULL
##
## [[1]][[132]]
## NULL
##
## [[1]][[133]]
## NULL
##
## [[1]][[134]]
## NULL
##
## [[1]][[135]]
## NULL
##
## [[1]][[136]]
## NULL
##
## [[1]][[137]]
## NULL
##
## [[1]][[138]]
## NULL
##
## [[1]][[139]]
## NULL
##
## [[1]][[140]]
## NULL
##
## [[1]][[141]]
## NULL
##
## [[1]][[142]]
## NULL
##
## [[1]][[143]]
## NULL
##
## [[1]][[144]]
## NULL
##
## [[1]][[145]]
## NULL
##
## [[1]][[146]]
## NULL
##
## [[1]][[147]]
## NULL
##
## [[1]][[148]]
## NULL
##
## [[1]][[149]]
## NULL
##
## [[1]][[150]]
## NULL
##
## [[1]][[151]]
## NULL
##
## [[1]][[152]]
## NULL
##
## [[1]][[153]]
## NULL
##
## [[1]][[154]]
## NULL
##
## [[1]][[155]]
## NULL
##
## [[1]][[156]]
## NULL
##
## [[1]][[157]]
## NULL
##
## [[1]][[158]]
## NULL
##
## [[1]][[159]]
## NULL
##
## [[1]][[160]]
## NULL
##
## [[1]][[161]]
## NULL
##
## [[1]][[162]]
## NULL
##
## [[1]][[163]]
## NULL
##
## [[1]][[164]]
## NULL
##
## [[1]][[165]]
## NULL
##
## [[1]][[166]]
## NULL
##
## [[1]][[167]]
## NULL
##
## [[1]][[168]]
## NULL
##
## [[1]][[169]]
## NULL
##
## [[1]][[170]]
## NULL
##
## [[1]][[171]]
## NULL
##
## [[1]][[172]]
## NULL
##
## [[1]][[173]]
## NULL
##
## [[1]][[174]]
## NULL
##
## [[1]][[175]]
## NULL
##
## [[1]][[176]]
## NULL
##
## [[1]][[177]]
## NULL
##
## [[1]][[178]]
## NULL
##
## [[1]][[179]]
## NULL
##
## [[1]][[180]]
## NULL
##
## [[1]][[181]]
## NULL
##
## [[1]][[182]]
## NULL
##
## [[1]][[183]]
## NULL
##
## [[1]][[184]]
## NULL
##
## [[1]][[185]]
## NULL
##
## [[1]][[186]]
## NULL
##
## [[1]][[187]]
## NULL
##
## [[1]][[188]]
## NULL
##
## [[1]][[189]]
## NULL
##
## [[1]][[190]]
## NULL
##
## [[1]][[191]]
## NULL
##
## [[1]][[192]]
## NULL
##
## [[1]][[193]]
## NULL
##
## [[1]][[194]]
## NULL
##
## [[1]][[195]]
## NULL
##
## [[1]][[196]]
## NULL
##
## [[1]][[197]]
## NULL
##
## [[1]][[198]]
## NULL
##
## [[1]][[199]]
## NULL
##
## [[1]][[200]]
## NULL
##
## [[1]][[201]]
## NULL
##
## [[1]][[202]]
## NULL
##
## [[1]][[203]]
## NULL
##
## [[1]][[204]]
## NULL
##
## [[1]][[205]]
## NULL
##
## [[1]][[206]]
## NULL
##
## [[1]][[207]]
## NULL
##
## [[1]][[208]]
## NULL
##
## [[1]][[209]]
## NULL
##
## [[1]][[210]]
## NULL
##
## [[1]][[211]]
## NULL
##
## [[1]][[212]]
## NULL
##
## [[1]][[213]]
## NULL
##
## [[1]][[214]]
## NULL
##
## [[1]][[215]]
## NULL
##
## [[1]][[216]]
## NULL
##
## [[1]][[217]]
## NULL
##
## [[1]][[218]]
## NULL
##
## [[1]][[219]]
## NULL
##
## [[1]][[220]]
## NULL
##
## [[1]][[221]]
## NULL
##
## [[1]][[222]]
## NULL
##
## [[1]][[223]]
## NULL
##
## [[1]][[224]]
## NULL
##
## [[1]][[225]]
## NULL
##
## [[1]][[226]]
## NULL
##
## [[1]][[227]]
## NULL
##
## [[1]][[228]]
## NULL
##
## [[1]][[229]]
## NULL
##
## [[1]][[230]]
## NULL
##
## [[1]][[231]]
## NULL
##
## [[1]][[232]]
## NULL
##
## [[1]][[233]]
## NULL
##
## [[1]][[234]]
## NULL
##
## [[1]][[235]]
## NULL
##
## [[1]][[236]]
## NULL
##
## [[1]][[237]]
## NULL
##
## [[1]][[238]]
## NULL
##
## [[1]][[239]]
## NULL
##
## [[1]][[240]]
## NULL
##
## [[1]][[241]]
## NULL
##
## [[1]][[242]]
## NULL
##
## [[1]][[243]]
## NULL
##
## [[1]][[244]]
## NULL
##
## [[1]][[245]]
## NULL
##
## [[1]][[246]]
## NULL
##
## [[1]][[247]]
## NULL
##
## [[1]][[248]]
## NULL
##
##
## [[2]]
## [[2]][[1]]
## NULL
##
## [[2]][[2]]
## NULL
##
## [[2]][[3]]
## NULL
##
## [[2]][[4]]
## NULL
##
## [[2]][[5]]
## NULL
##
## [[2]][[6]]
## NULL
##
## [[2]][[7]]
## NULL
##
## [[2]][[8]]
## NULL
##
## [[2]][[9]]
## NULL
##
## [[2]][[10]]
## NULL
##
## [[2]][[11]]
## NULL
##
## [[2]][[12]]
## NULL
##
## [[2]][[13]]
## NULL
##
## [[2]][[14]]
## NULL
##
## [[2]][[15]]
## NULL
##
## [[2]][[16]]
## NULL
##
## [[2]][[17]]
## NULL
##
## [[2]][[18]]
## NULL
##
## [[2]][[19]]
## NULL
##
## [[2]][[20]]
## NULL
##
## [[2]][[21]]
## NULL
##
## [[2]][[22]]
## NULL
##
## [[2]][[23]]
## NULL
##
## [[2]][[24]]
## NULL
##
## [[2]][[25]]
## NULL
##
## [[2]][[26]]
## NULL
##
## [[2]][[27]]
## NULL
##
## [[2]][[28]]
## NULL
##
## [[2]][[29]]
## NULL
##
## [[2]][[30]]
## NULL
##
## [[2]][[31]]
## NULL
##
## [[2]][[32]]
## NULL
##
## [[2]][[33]]
## NULL
##
## [[2]][[34]]
## NULL
##
## [[2]][[35]]
## NULL
##
## [[2]][[36]]
## NULL
##
## [[2]][[37]]
## NULL
##
## [[2]][[38]]
## NULL
##
## [[2]][[39]]
## NULL
##
## [[2]][[40]]
## NULL
##
## [[2]][[41]]
## NULL
##
##
## [[3]]
## [[3]][[1]]
## NULL
##
## [[3]][[2]]
## NULL
##
## [[3]][[3]]
## NULL
##
## [[3]][[4]]
## NULL
##
## [[3]][[5]]
## NULL
##
## [[3]][[6]]
## NULL
##
## [[3]][[7]]
## NULL
##
## [[3]][[8]]
## NULL
##
## [[3]][[9]]
## NULL
##
## [[3]][[10]]
## NULL
##
## [[3]][[11]]
## NULL
##
## [[3]][[12]]
## NULL
##
## [[3]][[13]]
## NULL
##
## [[3]][[14]]
## NULL
##
## [[3]][[15]]
## NULL
##
## [[3]][[16]]
## NULL
##
## [[3]][[17]]
## NULL
##
## [[3]][[18]]
## NULL
##
## [[3]][[19]]
## NULL
##
## [[3]][[20]]
## NULL
##
## [[3]][[21]]
## NULL
##
## [[3]][[22]]
## NULL
##
## [[3]][[23]]
## NULL
##
## [[3]][[24]]
## NULL
##
## [[3]][[25]]
## NULL
##
## [[3]][[26]]
## NULL
##
## [[3]][[27]]
## NULL
##
## [[3]][[28]]
## NULL
##
## [[3]][[29]]
## NULL
##
## [[3]][[30]]
## NULL
##
## [[3]][[31]]
## NULL
##
## [[3]][[32]]
## NULL
##
## [[3]][[33]]
## NULL
##
## [[3]][[34]]
## NULL
##
## [[3]][[35]]
## NULL
##
## [[3]][[36]]
## NULL
##
## [[3]][[37]]
## NULL
##
## [[3]][[38]]
## NULL
##
## [[3]][[39]]
## NULL
##
## [[3]][[40]]
## NULL
##
## [[3]][[41]]
## NULL
##
## [[3]][[42]]
## NULL
##
## [[3]][[43]]
## NULL
##
## [[3]][[44]]
## NULL
##
## [[3]][[45]]
## NULL
##
## [[3]][[46]]
## NULL
##
## [[3]][[47]]
## NULL
##
## [[3]][[48]]
## NULL
##
## [[3]][[49]]
## NULL
##
## [[3]][[50]]
## NULL
##
## [[3]][[51]]
## NULL
##
## [[3]][[52]]
## NULL
##
## [[3]][[53]]
## NULL
##
## [[3]][[54]]
## NULL
##
## [[3]][[55]]
## NULL
##
## [[3]][[56]]
## NULL
##
## [[3]][[57]]
## NULL
##
## [[3]][[58]]
## NULL
##
## [[3]][[59]]
## NULL
##
## [[3]][[60]]
## NULL
##
## [[3]][[61]]
## NULL
##
## [[3]][[62]]
## NULL
##
## [[3]][[63]]
## NULL
##
## [[3]][[64]]
## NULL
##
## [[3]][[65]]
## NULL
##
## [[3]][[66]]
## NULL
##
## [[3]][[67]]
## NULL
##
## [[3]][[68]]
## NULL
##
## [[3]][[69]]
## NULL
##
## [[3]][[70]]
## NULL
##
## [[3]][[71]]
## NULL
##
## [[3]][[72]]
## NULL
##
## [[3]][[73]]
## NULL
##
## [[3]][[74]]
## NULL
##
## [[3]][[75]]
## NULL
##
## [[3]][[76]]
## NULL
##
## [[3]][[77]]
## NULL
##
## [[3]][[78]]
## NULL
##
## [[3]][[79]]
## NULL
##
## [[3]][[80]]
## NULL
##
## [[3]][[81]]
## NULL
##
## [[3]][[82]]
## NULL
##
## [[3]][[83]]
## NULL
##
## [[3]][[84]]
## NULL
##
## [[3]][[85]]
## NULL
##
## [[3]][[86]]
## NULL
##
## [[3]][[87]]
## NULL
##
## [[3]][[88]]
## NULL
##
## [[3]][[89]]
## NULL
##
## [[3]][[90]]
## NULL
##
## [[3]][[91]]
## NULL
##
## [[3]][[92]]
## NULL
##
## [[3]][[93]]
## NULL
##
## [[3]][[94]]
## NULL
##
## [[3]][[95]]
## NULL
##
## [[3]][[96]]
## NULL
##
## [[3]][[97]]
## NULL
##
## [[3]][[98]]
## NULL
##
## [[3]][[99]]
## NULL
##
## [[3]][[100]]
## NULL
##
## [[3]][[101]]
## NULL
##
## [[3]][[102]]
## NULL
##
## [[3]][[103]]
## NULL
##
## [[3]][[104]]
## NULL
##
## [[3]][[105]]
## NULL
##
## [[3]][[106]]
## NULL
##
## [[3]][[107]]
## NULL
##
## [[3]][[108]]
## NULL
##
## [[3]][[109]]
## NULL
##
## [[3]][[110]]
## NULL
##
## [[3]][[111]]
## NULL
##
## [[3]][[112]]
## NULL
##
## [[3]][[113]]
## NULL
##
## [[3]][[114]]
## NULL
##
## [[3]][[115]]
## NULL
##
## [[3]][[116]]
## NULL
##
## [[3]][[117]]
## NULL
##
## [[3]][[118]]
## NULL
##
## [[3]][[119]]
## NULL
##
## [[3]][[120]]
## NULL
##
## [[3]][[121]]
## NULL
##
##
## [[4]]
## [[4]][[1]]
## NULL
##
## [[4]][[2]]
## NULL
##
## [[4]][[3]]
## NULL
##
## [[4]][[4]]
## NULL
##
## [[4]][[5]]
## NULL
##
## [[4]][[6]]
## NULL
##
## [[4]][[7]]
## NULL
##
## [[4]][[8]]
## NULL
##
## [[4]][[9]]
## NULL
##
## [[4]][[10]]
## NULL
##
## [[4]][[11]]
## NULL
##
## [[4]][[12]]
## NULL
##
## [[4]][[13]]
## NULL
##
## [[4]][[14]]
## NULL
##
## [[4]][[15]]
## NULL
##
## [[4]][[16]]
## NULL
##
## [[4]][[17]]
## NULL
##
## [[4]][[18]]
## NULL
##
## [[4]][[19]]
## NULL
##
## [[4]][[20]]
## NULL
##
## [[4]][[21]]
## NULL
##
## [[4]][[22]]
## NULL
##
## [[4]][[23]]
## NULL
##
## [[4]][[24]]
## NULL
##
## [[4]][[25]]
## NULL
##
## [[4]][[26]]
## NULL
##
## [[4]][[27]]
## NULL
##
## [[4]][[28]]
## NULL
##
## [[4]][[29]]
## NULL
##
## [[4]][[30]]
## NULL
##
## [[4]][[31]]
## NULL
##
## [[4]][[32]]
## NULL
##
## [[4]][[33]]
## NULL
##
## [[4]][[34]]
## NULL
##
## [[4]][[35]]
## NULL
##
## [[4]][[36]]
## NULL
##
## [[4]][[37]]
## NULL
##
## [[4]][[38]]
## NULL
##
## [[4]][[39]]
## NULL
##
## [[4]][[40]]
## NULL
##
## [[4]][[41]]
## NULL
##
## [[4]][[42]]
## NULL
##
## [[4]][[43]]
## NULL
##
## [[4]][[44]]
## NULL
##
## [[4]][[45]]
## NULL
##
## [[4]][[46]]
## NULL
##
## [[4]][[47]]
## NULL
##
## [[4]][[48]]
## NULL
##
## [[4]][[49]]
## NULL
##
## [[4]][[50]]
## NULL
##
## [[4]][[51]]
## NULL
##
## [[4]][[52]]
## NULL
##
## [[4]][[53]]
## NULL
##
## [[4]][[54]]
## NULL
##
## [[4]][[55]]
## NULL
##
## [[4]][[56]]
## NULL
##
## [[4]][[57]]
## NULL
##
## [[4]][[58]]
## NULL
##
## [[4]][[59]]
## NULL
##
## [[4]][[60]]
## NULL
##
## [[4]][[61]]
## NULL
##
## [[4]][[62]]
## NULL
##
## [[4]][[63]]
## NULL
##
## [[4]][[64]]
## NULL
##
## [[4]][[65]]
## NULL
##
## [[4]][[66]]
## NULL
##
## [[4]][[67]]
## NULL
##
## [[4]][[68]]
## NULL
##
## [[4]][[69]]
## NULL
##
## [[4]][[70]]
## NULL
##
## [[4]][[71]]
## NULL
##
## [[4]][[72]]
## NULL
##
## [[4]][[73]]
## NULL
##
## [[4]][[74]]
## NULL
##
## [[4]][[75]]
## NULL
##
## [[4]][[76]]
## NULL
##
## [[4]][[77]]
## NULL
##
## [[4]][[78]]
## NULL
##
## [[4]][[79]]
## NULL
##
## [[4]][[80]]
## NULL
##
## [[4]][[81]]
## NULL
##
## [[4]][[82]]
## NULL
##
## [[4]][[83]]
## NULL
##
## [[4]][[84]]
## NULL
##
## [[4]][[85]]
## NULL
##
## [[4]][[86]]
## NULL
##
## [[4]][[87]]
## NULL
##
## [[4]][[88]]
## NULL
##
## [[4]][[89]]
## NULL
##
## [[4]][[90]]
## NULL
##
## [[4]][[91]]
## NULL
##
## [[4]][[92]]
## NULL
##
## [[4]][[93]]
## NULL
##
##
## [[5]]
## [[5]][[1]]
## NULL
##
## [[5]][[2]]
## NULL
##
## [[5]][[3]]
## NULL
##
## [[5]][[4]]
## NULL
##
## [[5]][[5]]
## NULL
##
## [[5]][[6]]
## NULL
##
## [[5]][[7]]
## NULL
##
## [[5]][[8]]
## NULL
##
## [[5]][[9]]
## NULL
##
## [[5]][[10]]
## NULL
##
## [[5]][[11]]
## NULL
##
## [[5]][[12]]
## NULL
##
## [[5]][[13]]
## NULL
##
## [[5]][[14]]
## NULL
##
## [[5]][[15]]
## NULL
##
## [[5]][[16]]
## NULL
##
## [[5]][[17]]
## NULL
##
## [[5]][[18]]
## NULL
##
## [[5]][[19]]
## NULL
##
## [[5]][[20]]
## NULL
##
## [[5]][[21]]
## NULL
##
## [[5]][[22]]
## NULL
##
## [[5]][[23]]
## NULL
##
## [[5]][[24]]
## NULL
##
## [[5]][[25]]
## NULL
##
## [[5]][[26]]
## NULL
##
## [[5]][[27]]
## NULL
##
## [[5]][[28]]
## NULL
##
## [[5]][[29]]
## NULL
##
## [[5]][[30]]
## NULL
##
## [[5]][[31]]
## NULL
##
## [[5]][[32]]
## NULL
##
## [[5]][[33]]
## NULL
##
## [[5]][[34]]
## NULL
##
## [[5]][[35]]
## NULL
##
## [[5]][[36]]
## NULL
##
## [[5]][[37]]
## NULL
##
## [[5]][[38]]
## NULL
##
## [[5]][[39]]
## NULL
##
## [[5]][[40]]
## NULL
##
## [[5]][[41]]
## NULL
##
## [[5]][[42]]
## NULL
##
## [[5]][[43]]
## NULL
##
## [[5]][[44]]
## NULL
##
## [[5]][[45]]
## NULL
##
## [[5]][[46]]
## NULL
##
## [[5]][[47]]
## NULL
##
## [[5]][[48]]
## NULL
##
## [[5]][[49]]
## NULL
##
## [[5]][[50]]
## NULL
##
## [[5]][[51]]
## NULL
##
## [[5]][[52]]
## NULL
##
## [[5]][[53]]
## NULL
##
## [[5]][[54]]
## NULL
##
## [[5]][[55]]
## NULL
##
## [[5]][[56]]
## NULL
##
## [[5]][[57]]
## NULL
##
## [[5]][[58]]
## NULL
##
## [[5]][[59]]
## NULL
##
## [[5]][[60]]
## NULL
##
## [[5]][[61]]
## NULL
##
## [[5]][[62]]
## NULL
##
## [[5]][[63]]
## NULL
##
## [[5]][[64]]
## NULL
##
## [[5]][[65]]
## NULL
##
## [[5]][[66]]
## NULL
##
## [[5]][[67]]
## NULL
##
## [[5]][[68]]
## NULL
##
## [[5]][[69]]
## NULL
##
## [[5]][[70]]
## NULL
##
## [[5]][[71]]
## NULL
##
## [[5]][[72]]
## NULL
##
## [[5]][[73]]
## NULL
##
## [[5]][[74]]
## NULL
##
## [[5]][[75]]
## NULL
##
## [[5]][[76]]
## NULL
##
## [[5]][[77]]
## NULL
##
## [[5]][[78]]
## NULL
##
## [[5]][[79]]
## NULL
##
## [[5]][[80]]
## NULL
##
## [[5]][[81]]
## NULL
##
## [[5]][[82]]
## NULL
##
## [[5]][[83]]
## NULL
##
## [[5]][[84]]
## NULL
##
## [[5]][[85]]
## NULL
##
## [[5]][[86]]
## NULL
##
## [[5]][[87]]
## NULL
##
## [[5]][[88]]
## NULL
##
## [[5]][[89]]
## NULL
##
## [[5]][[90]]
## NULL
##
## [[5]][[91]]
## NULL
##
## [[5]][[92]]
## NULL
##
## [[5]][[93]]
## NULL
##
## [[5]][[94]]
## NULL
##
## [[5]][[95]]
## NULL
##
## [[5]][[96]]
## NULL
##
## [[5]][[97]]
## NULL
##
## [[5]][[98]]
## NULL
##
## [[5]][[99]]
## NULL
##
## [[5]][[100]]
## NULL
##
## [[5]][[101]]
## NULL
##
## [[5]][[102]]
## NULL
##
## [[5]][[103]]
## NULL
##
## [[5]][[104]]
## NULL
##
## [[5]][[105]]
## NULL
##
## [[5]][[106]]
## NULL
##
## [[5]][[107]]
## NULL
##
## [[5]][[108]]
## NULL
##
## [[5]][[109]]
## NULL
##
## [[5]][[110]]
## NULL
##
## [[5]][[111]]
## NULL
##
## [[5]][[112]]
## NULL
##
## [[5]][[113]]
## NULL
##
## [[5]][[114]]
## NULL
##
## [[5]][[115]]
## NULL
##
## [[5]][[116]]
## NULL
##
## [[5]][[117]]
## NULL
##
## [[5]][[118]]
## NULL
##
## [[5]][[119]]
## NULL
##
## [[5]][[120]]
## NULL
##
## [[5]][[121]]
## NULL
##
## [[5]][[122]]
## NULL
##
## [[5]][[123]]
## NULL
##
## [[5]][[124]]
## NULL
##
## [[5]][[125]]
## NULL
##
## [[5]][[126]]
## NULL
##
## [[5]][[127]]
## NULL
##
## [[5]][[128]]
## NULL
##
## [[5]][[129]]
## NULL
##
## [[5]][[130]]
## NULL
##
## [[5]][[131]]
## NULL
##
## [[5]][[132]]
## NULL
##
## [[5]][[133]]
## NULL
##
## [[5]][[134]]
## NULL
##
## [[5]][[135]]
## NULL
##
## [[5]][[136]]
## NULL
##
## [[5]][[137]]
## NULL
##
## [[5]][[138]]
## NULL
##
## [[5]][[139]]
## NULL
##
## [[5]][[140]]
## NULL
##
## [[5]][[141]]
## NULL
##
## [[5]][[142]]
## NULL
##
## [[5]][[143]]
## NULL
##
## [[5]][[144]]
## NULL
##
## [[5]][[145]]
## NULL
##
## [[5]][[146]]
## NULL
##
## [[5]][[147]]
## NULL
##
## [[5]][[148]]
## NULL
##
## [[5]][[149]]
## NULL
##
## [[5]][[150]]
## NULL
##
## [[5]][[151]]
## NULL
##
## [[5]][[152]]
## NULL
##
## [[5]][[153]]
## NULL
##
## [[5]][[154]]
## NULL
##
## [[5]][[155]]
## NULL
##
## [[5]][[156]]
## NULL
##
## [[5]][[157]]
## NULL
##
## [[5]][[158]]
## NULL
##
## [[5]][[159]]
## NULL
##
## [[5]][[160]]
## NULL
##
## [[5]][[161]]
## NULL
##
## [[5]][[162]]
## NULL
##
## [[5]][[163]]
## NULL
##
## [[5]][[164]]
## NULL
##
## [[5]][[165]]
## NULL
##
## [[5]][[166]]
## NULL
##
## [[5]][[167]]
## NULL
##
## [[5]][[168]]
## NULL
##
## [[5]][[169]]
## NULL
##
## [[5]][[170]]
## NULL
##
## [[5]][[171]]
## NULL
##
## [[5]][[172]]
## NULL
##
## [[5]][[173]]
## NULL
##
## [[5]][[174]]
## NULL
##
## [[5]][[175]]
## NULL
##
## [[5]][[176]]
## NULL
##
## [[5]][[177]]
## NULL
##
## [[5]][[178]]
## NULL
##
## [[5]][[179]]
## NULL
##
## [[5]][[180]]
## NULL
##
## [[5]][[181]]
## NULL
##
## [[5]][[182]]
## NULL
##
## [[5]][[183]]
## NULL
##
## [[5]][[184]]
## NULL
##
## [[5]][[185]]
## NULL
##
## [[5]][[186]]
## NULL
##
## [[5]][[187]]
## NULL
##
## [[5]][[188]]
## NULL
##
## [[5]][[189]]
## NULL
##
## [[5]][[190]]
## NULL
##
## [[5]][[191]]
## NULL
##
## [[5]][[192]]
## NULL
##
## [[5]][[193]]
## NULL
##
## [[5]][[194]]
## NULL
##
## [[5]][[195]]
## NULL
##
## [[5]][[196]]
## NULL
##
## [[5]][[197]]
## NULL
##
## [[5]][[198]]
## NULL
##
## [[5]][[199]]
## NULL
##
## [[5]][[200]]
## NULL
##
## [[5]][[201]]
## NULL
##
## [[5]][[202]]
## NULL
##
## [[5]][[203]]
## NULL
##
## [[5]][[204]]
## NULL
##
## [[5]][[205]]
## NULL
##
## [[5]][[206]]
## NULL
##
## [[5]][[207]]
## NULL
##
## [[5]][[208]]
## NULL
##
## [[5]][[209]]
## NULL
##
## [[5]][[210]]
## NULL
##
## [[5]][[211]]
## NULL
##
## [[5]][[212]]
## NULL
##
## [[5]][[213]]
## NULL
##
## [[5]][[214]]
## NULL
##
## [[5]][[215]]
## NULL
##
## [[5]][[216]]
## NULL
##
## [[5]][[217]]
## NULL
##
## [[5]][[218]]
## NULL
##
## [[5]][[219]]
## NULL
##
## [[5]][[220]]
## NULL
##
## [[5]][[221]]
## NULL
##
## [[5]][[222]]
## NULL
##
## [[5]][[223]]
## NULL
##
## [[5]][[224]]
## NULL
##
## [[5]][[225]]
## NULL
##
## [[5]][[226]]
## NULL
##
## [[5]][[227]]
## NULL
##
## [[5]][[228]]
## NULL
##
## [[5]][[229]]
## NULL
##
## [[5]][[230]]
## NULL
##
## [[5]][[231]]
## NULL
##
## [[5]][[232]]
## NULL
##
## [[5]][[233]]
## NULL
##
## [[5]][[234]]
## NULL
##
## [[5]][[235]]
## NULL
##
## [[5]][[236]]
## NULL
##
## [[5]][[237]]
## NULL
##
## [[5]][[238]]
## NULL
##
## [[5]][[239]]
## NULL
##
## [[5]][[240]]
## NULL
##
## [[5]][[241]]
## NULL
##
## [[5]][[242]]
## NULL
##
## [[5]][[243]]
## NULL
##
## [[5]][[244]]
## NULL
##
## [[5]][[245]]
## NULL
##
## [[5]][[246]]
## NULL
##
## [[5]][[247]]
## NULL
##
## [[5]][[248]]
## NULL
##
## [[5]][[249]]
## NULL
##
## [[5]][[250]]
## NULL
##
## [[5]][[251]]
## NULL
##
## [[5]][[252]]
## NULL
##
## [[5]][[253]]
## NULL
##
## [[5]][[254]]
## NULL
##
## [[5]][[255]]
## NULL
##
## [[5]][[256]]
## NULL
##
## [[5]][[257]]
## NULL
##
## [[5]][[258]]
## NULL
##
## [[5]][[259]]
## NULL
##
## [[5]][[260]]
## NULL
##
## [[5]][[261]]
## NULL
##
## [[5]][[262]]
## NULL
##
## [[5]][[263]]
## NULL
##
## [[5]][[264]]
## NULL
##
## [[5]][[265]]
## NULL
##
## [[5]][[266]]
## NULL
##
## [[5]][[267]]
## NULL
##
## [[5]][[268]]
## NULL
##
## [[5]][[269]]
## NULL
##
## [[5]][[270]]
## NULL
##
## [[5]][[271]]
## NULL
##
## [[5]][[272]]
## NULL
##
## [[5]][[273]]
## NULL
##
## [[5]][[274]]
## NULL
##
## [[5]][[275]]
## NULL
##
## [[5]][[276]]
## NULL
##
## [[5]][[277]]
## NULL
##
## [[5]][[278]]
## NULL
##
## [[5]][[279]]
## NULL
##
## [[5]][[280]]
## NULL
##
## [[5]][[281]]
## NULL
##
## [[5]][[282]]
## NULL
##
## [[5]][[283]]
## NULL
##
## [[5]][[284]]
## NULL
##
## [[5]][[285]]
## NULL
##
## [[5]][[286]]
## NULL
##
## [[5]][[287]]
## NULL
##
## [[5]][[288]]
## NULL
##
## [[5]][[289]]
## NULL
##
## [[5]][[290]]
## NULL
##
## [[5]][[291]]
## NULL
##
## [[5]][[292]]
## NULL
##
## [[5]][[293]]
## NULL
##
## [[5]][[294]]
## NULL
##
## [[5]][[295]]
## NULL
##
## [[5]][[296]]
## NULL
##
## [[5]][[297]]
## NULL
##
## [[5]][[298]]
## NULL
##
## [[5]][[299]]
## NULL
##
## [[5]][[300]]
## NULL
##
## [[5]][[301]]
## NULL
##
## [[5]][[302]]
## NULL
##
## [[5]][[303]]
## NULL
##
## [[5]][[304]]
## NULL
##
## [[5]][[305]]
## NULL
##
## [[5]][[306]]
## NULL
##
## [[5]][[307]]
## NULL
##
## [[5]][[308]]
## NULL
##
## [[5]][[309]]
## NULL
##
## [[5]][[310]]
## NULL
##
## [[5]][[311]]
## NULL
##
## [[5]][[312]]
## NULL
##
## [[5]][[313]]
## NULL
##
## [[5]][[314]]
## NULL
##
## [[5]][[315]]
## NULL
##
## [[5]][[316]]
## NULL
##
## [[5]][[317]]
## NULL
##
## [[5]][[318]]
## NULL
##
## [[5]][[319]]
## NULL
##
## [[5]][[320]]
## NULL
##
## [[5]][[321]]
## NULL
##
## [[5]][[322]]
## NULL
##
## [[5]][[323]]
## NULL
##
## [[5]][[324]]
## NULL
##
## [[5]][[325]]
## NULL
##
## [[5]][[326]]
## NULL
##
## [[5]][[327]]
## NULL
##
## [[5]][[328]]
## NULL
##
## [[5]][[329]]
## NULL
##
## [[5]][[330]]
## NULL
##
## [[5]][[331]]
## NULL
##
## [[5]][[332]]
## NULL
##
## [[5]][[333]]
## NULL
##
## [[5]][[334]]
## NULL
##
## [[5]][[335]]
## NULL
##
## [[5]][[336]]
## NULL
##
## [[5]][[337]]
## NULL
##
## [[5]][[338]]
## NULL
##
## [[5]][[339]]
## NULL
##
## [[5]][[340]]
## NULL
##
## [[5]][[341]]
## NULL
##
## [[5]][[342]]
## NULL
##
## [[5]][[343]]
## NULL
##
## [[5]][[344]]
## NULL
##
## [[5]][[345]]
## NULL
##
## [[5]][[346]]
## NULL
##
## [[5]][[347]]
## NULL
##
## [[5]][[348]]
## NULL
##
## [[5]][[349]]
## NULL
##
## [[5]][[350]]
## NULL
##
## [[5]][[351]]
## NULL
##
## [[5]][[352]]
## NULL
##
## [[5]][[353]]
## NULL
##
## [[5]][[354]]
## NULL
##
## [[5]][[355]]
## NULL
##
## [[5]][[356]]
## NULL
##
## [[5]][[357]]
## NULL
##
## [[5]][[358]]
## NULL
##
## [[5]][[359]]
## NULL
##
## [[5]][[360]]
## NULL
##
## [[5]][[361]]
## NULL
##
## [[5]][[362]]
## NULL
##
## [[5]][[363]]
## NULL
##
## [[5]][[364]]
## NULL
##
## [[5]][[365]]
## NULL
##
## [[5]][[366]]
## NULL
##
## [[5]][[367]]
## NULL
##
## [[5]][[368]]
## NULL
##
## [[5]][[369]]
## NULL
##
## [[5]][[370]]
## NULL
##
## [[5]][[371]]
## NULL
##
## [[5]][[372]]
## NULL
##
## [[5]][[373]]
## NULL
##
## [[5]][[374]]
## NULL
##
## [[5]][[375]]
## NULL
##
## [[5]][[376]]
## NULL
##
## [[5]][[377]]
## NULL
##
## [[5]][[378]]
## NULL
##
## [[5]][[379]]
## NULL
##
## [[5]][[380]]
## NULL
##
## [[5]][[381]]
## NULL
##
## [[5]][[382]]
## NULL
##
## [[5]][[383]]
## NULL
##
## [[5]][[384]]
## NULL
##
## [[5]][[385]]
## NULL
##
## [[5]][[386]]
## NULL
##
## [[5]][[387]]
## NULL
##
## [[5]][[388]]
## NULL
##
## [[5]][[389]]
## NULL
##
## [[5]][[390]]
## NULL
##
## [[5]][[391]]
## NULL
##
## [[5]][[392]]
## NULL
##
## [[5]][[393]]
## NULL
##
## [[5]][[394]]
## NULL
##
## [[5]][[395]]
## NULL
##
## [[5]][[396]]
## NULL
##
## [[5]][[397]]
## NULL
##
## [[5]][[398]]
## NULL
##
## [[5]][[399]]
## NULL
##
## [[5]][[400]]
## NULL
##
##
## [[6]]
## [[6]][[1]]
## NULL
##
## [[6]][[2]]
## NULL
##
## [[6]][[3]]
## NULL
##
## [[6]][[4]]
## NULL
##
## [[6]][[5]]
## NULL
##
## [[6]][[6]]
## NULL
##
## [[6]][[7]]
## NULL
##
## [[6]][[8]]
## NULL
##
## [[6]][[9]]
## NULL
##
## [[6]][[10]]
## NULL
##
## [[6]][[11]]
## NULL
##
## [[6]][[12]]
## NULL
##
## [[6]][[13]]
## NULL
##
## [[6]][[14]]
## NULL
##
## [[6]][[15]]
## NULL
##
## [[6]][[16]]
## NULL
##
## [[6]][[17]]
## NULL
##
## [[6]][[18]]
## NULL
##
## [[6]][[19]]
## NULL
##
## [[6]][[20]]
## NULL
##
## [[6]][[21]]
## NULL
##
## [[6]][[22]]
## NULL
##
## [[6]][[23]]
## NULL
##
## [[6]][[24]]
## NULL
##
## [[6]][[25]]
## NULL
##
## [[6]][[26]]
## NULL
##
## [[6]][[27]]
## NULL
##
## [[6]][[28]]
## NULL
##
## [[6]][[29]]
## NULL
##
## [[6]][[30]]
## NULL
##
## [[6]][[31]]
## NULL
##
## [[6]][[32]]
## NULL
##
## [[6]][[33]]
## NULL
##
## [[6]][[34]]
## NULL
##
## [[6]][[35]]
## NULL
##
## [[6]][[36]]
## NULL
##
## [[6]][[37]]
## NULL
##
## [[6]][[38]]
## NULL
##
## [[6]][[39]]
## NULL
##
## [[6]][[40]]
## NULL
##
## [[6]][[41]]
## NULL
##
## [[6]][[42]]
## NULL
##
## [[6]][[43]]
## NULL
##
## [[6]][[44]]
## NULL
##
## [[6]][[45]]
## NULL
##
## [[6]][[46]]
## NULL
##
## [[6]][[47]]
## NULL
##
## [[6]][[48]]
## NULL
##
## [[6]][[49]]
## NULL
##
## [[6]][[50]]
## NULL
##
## [[6]][[51]]
## NULL
##
## [[6]][[52]]
## NULL
##
## [[6]][[53]]
## NULL
##
## [[6]][[54]]
## NULL
##
## [[6]][[55]]
## NULL
##
## [[6]][[56]]
## NULL
##
## [[6]][[57]]
## NULL
##
## [[6]][[58]]
## NULL
##
## [[6]][[59]]
## NULL
##
## [[6]][[60]]
## NULL
##
## [[6]][[61]]
## NULL
##
## [[6]][[62]]
## NULL
##
## [[6]][[63]]
## NULL
##
## [[6]][[64]]
## NULL
##
## [[6]][[65]]
## NULL
##
## [[6]][[66]]
## NULL
##
## [[6]][[67]]
## NULL
##
## [[6]][[68]]
## NULL
##
## [[6]][[69]]
## NULL
##
## [[6]][[70]]
## NULL
##
## [[6]][[71]]
## NULL
##
## [[6]][[72]]
## NULL
##
## [[6]][[73]]
## NULL
##
## [[6]][[74]]
## NULL
##
## [[6]][[75]]
## NULL
##
## [[6]][[76]]
## NULL
##
## [[6]][[77]]
## NULL
##
## [[6]][[78]]
## NULL
##
##
## [[7]]
## [[7]][[1]]
## NULL
##
## [[7]][[2]]
## NULL
##
## [[7]][[3]]
## NULL
##
## [[7]][[4]]
## NULL
##
## [[7]][[5]]
## NULL
##
## [[7]][[6]]
## NULL
##
## [[7]][[7]]
## NULL
##
## [[7]][[8]]
## NULL
##
## [[7]][[9]]
## NULL
##
## [[7]][[10]]
## NULL
##
## [[7]][[11]]
## NULL
##
## [[7]][[12]]
## NULL
# mitchTC?
go <- gmt_import("c5.go.v2024.1.Hs.symbols.gmt")
#go <- head(go,1000)
dat <- dge[,grep("-",colnames(dge))]
datr <- as.data.frame(apply(dat,2,rank))
datr$gname <- sapply(strsplit(rownames(datr)," "),"[[",2)
datra <- aggregate(. ~ gname,datr,mean)
rownames(datra) <- datra$gname
datra$gname=NULL
res <- lapply(1:length(go),function(i) {
setname <- names(go)[i]
set <- go[[i]]
yy <- datra[which(rownames(datra) %in% set ),]
if ( nrow(yy) >= 5 ) {
t0 <- yy[,grep("T0",colnames(yy))]
eos <- yy[,grep("EOS",colnames(yy))]
pod1 <- yy[,grep("POD1",colnames(yy))]
res <- lapply(1:nrow(yy), function(j) {
tres1 <- t.test(eos[j,],t0[j,])
tres2 <- t.test(pod1[j,],t0[j,])
tres3 <- t.test(pod1[j,],eos[j,])
out <- c(
tres1$estimate[1] - tres1$estimate[2], tres1$p.value,
tres2$estimate[1] - tres2$estimate[2], tres2$p.value,
tres3$estimate[1] - tres3$estimate[2], tres3$p.value,
nrow(yy))
return(out)
})
res <- do.call(rbind,res)
res <- colMedians(res)
names(res) <- c("T0vEOS.delta.median","T0vEOS.p.median",
"T0vPOD1.delta.median","T0vPOD1.p.median",
"EOSvPOD1.delta.median","EOSvPOD1.p.median",
"ngenes")
return(res)
}
})
names(res) <- names(go)
res <- res[which(lapply(res,length)>0)]
resdf <- as.data.frame(do.call(rbind,res))
resdf <- resdf[order(resdf$T0vEOS.delta.median),]
head(resdf)
## T0vEOS.delta.median T0vEOS.p.median
## GOMF_IGE_BINDING -1967.048 0.002125044
## GOBP_CRANIAL_NERVE_FORMATION -1296.016 0.005650935
## GOCC_IMMUNOGLOBULIN_COMPLEX_CIRCULATING -1194.137 0.078293250
## GOBP_LATERAL_SPROUTING_FROM_AN_EPITHELIUM -1181.285 0.028414057
## GOCC_IGG_IMMUNOGLOBULIN_COMPLEX -1140.475 0.078293250
## GOBP_PHARYNGEAL_ARCH_ARTERY_MORPHOGENESIS -1089.767 0.032426037
## T0vPOD1.delta.median T0vPOD1.p.median
## GOMF_IGE_BINDING -1052.2515 5.603978e-05
## GOBP_CRANIAL_NERVE_FORMATION -782.2197 1.391435e-03
## GOCC_IMMUNOGLOBULIN_COMPLEX_CIRCULATING -1403.9258 1.060555e-02
## GOBP_LATERAL_SPROUTING_FROM_AN_EPITHELIUM -1048.2318 1.085938e-02
## GOCC_IGG_IMMUNOGLOBULIN_COMPLEX -1346.0561 1.579966e-02
## GOBP_PHARYNGEAL_ARCH_ARTERY_MORPHOGENESIS -806.1811 4.068095e-02
## EOSvPOD1.delta.median
## GOMF_IGE_BINDING 547.92299
## GOBP_CRANIAL_NERVE_FORMATION -47.64195
## GOCC_IMMUNOGLOBULIN_COMPLEX_CIRCULATING -219.15575
## GOBP_LATERAL_SPROUTING_FROM_AN_EPITHELIUM -48.16207
## GOCC_IGG_IMMUNOGLOBULIN_COMPLEX -250.22874
## GOBP_PHARYNGEAL_ARCH_ARTERY_MORPHOGENESIS -184.87270
## EOSvPOD1.p.median ngenes
## GOMF_IGE_BINDING 0.1315790 5
## GOBP_CRANIAL_NERVE_FORMATION 0.3766955 7
## GOCC_IMMUNOGLOBULIN_COMPLEX_CIRCULATING 0.4304905 11
## GOBP_LATERAL_SPROUTING_FROM_AN_EPITHELIUM 0.5088874 5
## GOCC_IGG_IMMUNOGLOBULIN_COMPLEX 0.6155606 11
## GOBP_PHARYNGEAL_ARCH_ARTERY_MORPHOGENESIS 0.2741287 6
resdf <- resdf[order(-resdf$T0vEOS.delta.median),]
head(resdf)
## T0vEOS.delta.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 2172.574
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 1653.943
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 1335.853
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 1335.853
## GOMF_ICOSANOID_BINDING 1206.876
## GOMF_RNA_ENDONUCLEASE_ACTIVITY_PRODUCING_3_PHOSPHOMONOESTERS 1206.036
## T0vEOS.p.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 9.584930e-04
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 1.371883e-03
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 5.246648e-04
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 5.246648e-04
## GOMF_ICOSANOID_BINDING 6.912391e-05
## GOMF_RNA_ENDONUCLEASE_ACTIVITY_PRODUCING_3_PHOSPHOMONOESTERS 2.261371e-02
## T0vPOD1.delta.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 1391.65000
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY -78.06818
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 908.80455
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 908.80455
## GOMF_ICOSANOID_BINDING 1046.23485
## GOMF_RNA_ENDONUCLEASE_ACTIVITY_PRODUCING_3_PHOSPHOMONOESTERS 1651.67273
## T0vPOD1.p.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 4.448211e-03
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 9.361241e-03
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 2.028550e-07
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 2.028550e-07
## GOMF_ICOSANOID_BINDING 7.684327e-04
## GOMF_RNA_ENDONUCLEASE_ACTIVITY_PRODUCING_3_PHOSPHOMONOESTERS 5.755454e-04
## EOSvPOD1.delta.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY -730.72241
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY -972.71523
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS -23.97069
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY -23.97069
## GOMF_ICOSANOID_BINDING -160.64080
## GOMF_RNA_ENDONUCLEASE_ACTIVITY_PRODUCING_3_PHOSPHOMONOESTERS 853.65747
## EOSvPOD1.p.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 0.540206513
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 0.008343820
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 0.064418686
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 0.064418686
## GOMF_ICOSANOID_BINDING 0.062520919
## GOMF_RNA_ENDONUCLEASE_ACTIVITY_PRODUCING_3_PHOSPHOMONOESTERS 0.006595606
## ngenes
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 5
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 8
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 5
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 5
## GOMF_ICOSANOID_BINDING 7
## GOMF_RNA_ENDONUCLEASE_ACTIVITY_PRODUCING_3_PHOSPHOMONOESTERS 6
# correct for covariates try2
mat <- assay(vsd)
mm <- model.matrix(~ timepoint, colData(vsd))
dx <- model.matrix(~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD , colData(vsd))
mat <- limma::removeBatchEffect(mat, covariates=dx, design=mm)
## Coefficients not estimable: (Intercept)
## Warning: Partial NA coefficients for 21710 probe(s)
assay(vsd) <- mat
adj <- assay(vsd)
adj2 <- adj
colnames(adj2) <- paste(colnames(adj2),"-adj",sep="")
ori <- as.matrix(dge[,grep("-",colnames(dge))])
dm <- merge(ori,adj2,by=0)
rownames(dm) <- dm$Row.names
dm$Row.names <- NULL
# run MDS of corrected and original data
mds <- cmdscale(dist(t(dm)))
par(mar=c(5,5,3,1))
minx <- min(mds[,1])
maxx <- max(mds[,1])
miny <- min(mds[,2])
maxy <- max(mds[,2])
plot(mds, xlab="Coordinate 1", ylab="Coordinate 2",
xlim=c(minx*1.1,maxx*1.1), ylim = c(miny*1.1,maxy*1.1) ,
type = "p", col="gray", pch=19, cex.axis=1.3,cex.lab=1.3, bty='n')
text(mds, labels=rownames(mds), cex=0.8)
heatmap.2( cor(dm),trace="none",scale="none",mar=c(8,8))
# cluster and heatmap
topg <- rownames(dge[1:30,grep("-",colnames(dge))])
top <- adj[which(rownames(adj) %in% topg),]
colfunc <- colorRampPalette(c("blue", "white", "red"))
tp <- sapply(strsplit(colnames(top),"-"),"[[",2)
colsidecols <- gsub("POD1","darkred",gsub("EOS","chocolate1",gsub("T0","darkgreen",tp)))
heatmap.2(as.matrix(top),trace="none",col=colfunc(25),scale="row",
margins = c(6,12), cexRow=0.7, cexCol=0.1, ColSideColors=colsidecols )
sigg <- head(rownames(subset(dge,padj<0.01)),1000)
length(sigg)
## [1] 1000
#top <- as.matrix(tc_hi_b_adj[1:nsig,grep("-",colnames(tc_hi_b_adj))])
top <- adj[which(rownames(adj) %in% sigg),]
rowmeans <- rowMeans(top)
mmean <- mean(rowmeans)
topn <- top / rowmeans
keep <- names(which(table(sapply(strsplit(colnames(topn),"-"),"[[",1))==3))
keep <-c(paste(keep,"-T0",sep=""),paste(keep,"-EOS",sep=""),paste(keep,"-POD1",sep="") )
topn <- topn[,which(colnames(topn) %in% keep)]
distClust <-as.dist(1-cor(t(topn), method="spearman"))
hClust <- hclust(distClust , method="complete")
mycl <- cutree(hClust, h=max(hClust$height/1.4))
length(unique(mycl)) #mycl_length
## [1] 5
tp <- sapply(strsplit(colnames(topn),"-"),"[[",2)
colsidecols <- gsub("POD1","darkred",gsub("EOS","chocolate1",gsub("T0","darkgreen",tp)))
heatmap.2(as.matrix(topn),trace="none",col=colfunc(25),scale="row",
margins = c(6,12), cexRow=0.2, cexCol=0.1,
ColSideColors=colsidecols , RowSideColors=as.character(mycl) )
lapply(min(mycl):max(mycl),function(i) {
dat <- topn[rownames(topn) %in% names(mycl[which(mycl==i)]),]
t0 <- rowMeans(dat[,grep("T0",colnames(dat))])
eos <- rowMeans(dat[,grep("EOS",colnames(dat))])
pod1 <- rowMeans(dat[,grep("POD1",colnames(dat))])
zz <- data.frame(t0,eos,pod1)
HEADER=paste("Cluster",i,"Members=",nrow(zz))
plot(unlist(zz[1,,drop=TRUE]),type="b",ylim=c(0.7,1.3),
xlab="Timepoint", ylab="Normalised expresion level",
main=HEADER)
lapply(2:nrow(zz),function(j) {
points(unlist(zz[j,,drop=TRUE]),type="b")
} )
} )
## [[1]]
## [[1]][[1]]
## NULL
##
## [[1]][[2]]
## NULL
##
## [[1]][[3]]
## NULL
##
## [[1]][[4]]
## NULL
##
## [[1]][[5]]
## NULL
##
## [[1]][[6]]
## NULL
##
## [[1]][[7]]
## NULL
##
## [[1]][[8]]
## NULL
##
## [[1]][[9]]
## NULL
##
## [[1]][[10]]
## NULL
##
## [[1]][[11]]
## NULL
##
## [[1]][[12]]
## NULL
##
## [[1]][[13]]
## NULL
##
## [[1]][[14]]
## NULL
##
## [[1]][[15]]
## NULL
##
## [[1]][[16]]
## NULL
##
## [[1]][[17]]
## NULL
##
## [[1]][[18]]
## NULL
##
## [[1]][[19]]
## NULL
##
## [[1]][[20]]
## NULL
##
## [[1]][[21]]
## NULL
##
## [[1]][[22]]
## NULL
##
## [[1]][[23]]
## NULL
##
## [[1]][[24]]
## NULL
##
## [[1]][[25]]
## NULL
##
## [[1]][[26]]
## NULL
##
## [[1]][[27]]
## NULL
##
## [[1]][[28]]
## NULL
##
## [[1]][[29]]
## NULL
##
## [[1]][[30]]
## NULL
##
## [[1]][[31]]
## NULL
##
## [[1]][[32]]
## NULL
##
## [[1]][[33]]
## NULL
##
## [[1]][[34]]
## NULL
##
## [[1]][[35]]
## NULL
##
## [[1]][[36]]
## NULL
##
## [[1]][[37]]
## NULL
##
## [[1]][[38]]
## NULL
##
## [[1]][[39]]
## NULL
##
## [[1]][[40]]
## NULL
##
## [[1]][[41]]
## NULL
##
## [[1]][[42]]
## NULL
##
## [[1]][[43]]
## NULL
##
## [[1]][[44]]
## NULL
##
## [[1]][[45]]
## NULL
##
## [[1]][[46]]
## NULL
##
## [[1]][[47]]
## NULL
##
## [[1]][[48]]
## NULL
##
## [[1]][[49]]
## NULL
##
## [[1]][[50]]
## NULL
##
## [[1]][[51]]
## NULL
##
## [[1]][[52]]
## NULL
##
## [[1]][[53]]
## NULL
##
## [[1]][[54]]
## NULL
##
## [[1]][[55]]
## NULL
##
## [[1]][[56]]
## NULL
##
## [[1]][[57]]
## NULL
##
## [[1]][[58]]
## NULL
##
## [[1]][[59]]
## NULL
##
## [[1]][[60]]
## NULL
##
## [[1]][[61]]
## NULL
##
## [[1]][[62]]
## NULL
##
## [[1]][[63]]
## NULL
##
## [[1]][[64]]
## NULL
##
## [[1]][[65]]
## NULL
##
## [[1]][[66]]
## NULL
##
## [[1]][[67]]
## NULL
##
## [[1]][[68]]
## NULL
##
## [[1]][[69]]
## NULL
##
## [[1]][[70]]
## NULL
##
## [[1]][[71]]
## NULL
##
## [[1]][[72]]
## NULL
##
## [[1]][[73]]
## NULL
##
## [[1]][[74]]
## NULL
##
## [[1]][[75]]
## NULL
##
## [[1]][[76]]
## NULL
##
## [[1]][[77]]
## NULL
##
## [[1]][[78]]
## NULL
##
## [[1]][[79]]
## NULL
##
## [[1]][[80]]
## NULL
##
## [[1]][[81]]
## NULL
##
## [[1]][[82]]
## NULL
##
## [[1]][[83]]
## NULL
##
## [[1]][[84]]
## NULL
##
## [[1]][[85]]
## NULL
##
## [[1]][[86]]
## NULL
##
## [[1]][[87]]
## NULL
##
## [[1]][[88]]
## NULL
##
## [[1]][[89]]
## NULL
##
## [[1]][[90]]
## NULL
##
## [[1]][[91]]
## NULL
##
## [[1]][[92]]
## NULL
##
## [[1]][[93]]
## NULL
##
## [[1]][[94]]
## NULL
##
## [[1]][[95]]
## NULL
##
## [[1]][[96]]
## NULL
##
## [[1]][[97]]
## NULL
##
## [[1]][[98]]
## NULL
##
## [[1]][[99]]
## NULL
##
## [[1]][[100]]
## NULL
##
## [[1]][[101]]
## NULL
##
## [[1]][[102]]
## NULL
##
## [[1]][[103]]
## NULL
##
## [[1]][[104]]
## NULL
##
## [[1]][[105]]
## NULL
##
## [[1]][[106]]
## NULL
##
## [[1]][[107]]
## NULL
##
## [[1]][[108]]
## NULL
##
## [[1]][[109]]
## NULL
##
## [[1]][[110]]
## NULL
##
## [[1]][[111]]
## NULL
##
## [[1]][[112]]
## NULL
##
## [[1]][[113]]
## NULL
##
## [[1]][[114]]
## NULL
##
## [[1]][[115]]
## NULL
##
## [[1]][[116]]
## NULL
##
## [[1]][[117]]
## NULL
##
## [[1]][[118]]
## NULL
##
## [[1]][[119]]
## NULL
##
## [[1]][[120]]
## NULL
##
## [[1]][[121]]
## NULL
##
## [[1]][[122]]
## NULL
##
## [[1]][[123]]
## NULL
##
## [[1]][[124]]
## NULL
##
## [[1]][[125]]
## NULL
##
## [[1]][[126]]
## NULL
##
## [[1]][[127]]
## NULL
##
## [[1]][[128]]
## NULL
##
## [[1]][[129]]
## NULL
##
## [[1]][[130]]
## NULL
##
## [[1]][[131]]
## NULL
##
## [[1]][[132]]
## NULL
##
## [[1]][[133]]
## NULL
##
## [[1]][[134]]
## NULL
##
## [[1]][[135]]
## NULL
##
## [[1]][[136]]
## NULL
##
## [[1]][[137]]
## NULL
##
## [[1]][[138]]
## NULL
##
## [[1]][[139]]
## NULL
##
## [[1]][[140]]
## NULL
##
## [[1]][[141]]
## NULL
##
## [[1]][[142]]
## NULL
##
## [[1]][[143]]
## NULL
##
## [[1]][[144]]
## NULL
##
## [[1]][[145]]
## NULL
##
## [[1]][[146]]
## NULL
##
## [[1]][[147]]
## NULL
##
## [[1]][[148]]
## NULL
##
## [[1]][[149]]
## NULL
##
## [[1]][[150]]
## NULL
##
## [[1]][[151]]
## NULL
##
## [[1]][[152]]
## NULL
##
## [[1]][[153]]
## NULL
##
## [[1]][[154]]
## NULL
##
## [[1]][[155]]
## NULL
##
## [[1]][[156]]
## NULL
##
## [[1]][[157]]
## NULL
##
## [[1]][[158]]
## NULL
##
## [[1]][[159]]
## NULL
##
## [[1]][[160]]
## NULL
##
## [[1]][[161]]
## NULL
##
## [[1]][[162]]
## NULL
##
## [[1]][[163]]
## NULL
##
## [[1]][[164]]
## NULL
##
## [[1]][[165]]
## NULL
##
## [[1]][[166]]
## NULL
##
## [[1]][[167]]
## NULL
##
## [[1]][[168]]
## NULL
##
## [[1]][[169]]
## NULL
##
## [[1]][[170]]
## NULL
##
## [[1]][[171]]
## NULL
##
## [[1]][[172]]
## NULL
##
## [[1]][[173]]
## NULL
##
## [[1]][[174]]
## NULL
##
## [[1]][[175]]
## NULL
##
## [[1]][[176]]
## NULL
##
## [[1]][[177]]
## NULL
##
## [[1]][[178]]
## NULL
##
## [[1]][[179]]
## NULL
##
## [[1]][[180]]
## NULL
##
## [[1]][[181]]
## NULL
##
## [[1]][[182]]
## NULL
##
## [[1]][[183]]
## NULL
##
## [[1]][[184]]
## NULL
##
## [[1]][[185]]
## NULL
##
## [[1]][[186]]
## NULL
##
## [[1]][[187]]
## NULL
##
## [[1]][[188]]
## NULL
##
## [[1]][[189]]
## NULL
##
## [[1]][[190]]
## NULL
##
## [[1]][[191]]
## NULL
##
## [[1]][[192]]
## NULL
##
## [[1]][[193]]
## NULL
##
## [[1]][[194]]
## NULL
##
## [[1]][[195]]
## NULL
##
## [[1]][[196]]
## NULL
##
## [[1]][[197]]
## NULL
##
## [[1]][[198]]
## NULL
##
## [[1]][[199]]
## NULL
##
## [[1]][[200]]
## NULL
##
## [[1]][[201]]
## NULL
##
## [[1]][[202]]
## NULL
##
## [[1]][[203]]
## NULL
##
## [[1]][[204]]
## NULL
##
## [[1]][[205]]
## NULL
##
## [[1]][[206]]
## NULL
##
## [[1]][[207]]
## NULL
##
## [[1]][[208]]
## NULL
##
## [[1]][[209]]
## NULL
##
## [[1]][[210]]
## NULL
##
## [[1]][[211]]
## NULL
##
## [[1]][[212]]
## NULL
##
## [[1]][[213]]
## NULL
##
## [[1]][[214]]
## NULL
##
## [[1]][[215]]
## NULL
##
## [[1]][[216]]
## NULL
##
## [[1]][[217]]
## NULL
##
## [[1]][[218]]
## NULL
##
## [[1]][[219]]
## NULL
##
## [[1]][[220]]
## NULL
##
## [[1]][[221]]
## NULL
##
## [[1]][[222]]
## NULL
##
## [[1]][[223]]
## NULL
##
## [[1]][[224]]
## NULL
##
## [[1]][[225]]
## NULL
##
## [[1]][[226]]
## NULL
##
## [[1]][[227]]
## NULL
##
## [[1]][[228]]
## NULL
##
## [[1]][[229]]
## NULL
##
## [[1]][[230]]
## NULL
##
## [[1]][[231]]
## NULL
##
## [[1]][[232]]
## NULL
##
## [[1]][[233]]
## NULL
##
## [[1]][[234]]
## NULL
##
## [[1]][[235]]
## NULL
##
## [[1]][[236]]
## NULL
##
## [[1]][[237]]
## NULL
##
## [[1]][[238]]
## NULL
##
## [[1]][[239]]
## NULL
##
## [[1]][[240]]
## NULL
##
## [[1]][[241]]
## NULL
##
## [[1]][[242]]
## NULL
##
## [[1]][[243]]
## NULL
##
## [[1]][[244]]
## NULL
##
## [[1]][[245]]
## NULL
##
## [[1]][[246]]
## NULL
##
## [[1]][[247]]
## NULL
##
## [[1]][[248]]
## NULL
##
## [[1]][[249]]
## NULL
##
## [[1]][[250]]
## NULL
##
## [[1]][[251]]
## NULL
##
## [[1]][[252]]
## NULL
##
## [[1]][[253]]
## NULL
##
## [[1]][[254]]
## NULL
##
## [[1]][[255]]
## NULL
##
## [[1]][[256]]
## NULL
##
## [[1]][[257]]
## NULL
##
## [[1]][[258]]
## NULL
##
## [[1]][[259]]
## NULL
##
## [[1]][[260]]
## NULL
##
## [[1]][[261]]
## NULL
##
## [[1]][[262]]
## NULL
##
## [[1]][[263]]
## NULL
##
## [[1]][[264]]
## NULL
##
## [[1]][[265]]
## NULL
##
## [[1]][[266]]
## NULL
##
## [[1]][[267]]
## NULL
##
## [[1]][[268]]
## NULL
##
## [[1]][[269]]
## NULL
##
## [[1]][[270]]
## NULL
##
## [[1]][[271]]
## NULL
##
## [[1]][[272]]
## NULL
##
## [[1]][[273]]
## NULL
##
## [[1]][[274]]
## NULL
##
## [[1]][[275]]
## NULL
##
## [[1]][[276]]
## NULL
##
## [[1]][[277]]
## NULL
##
## [[1]][[278]]
## NULL
##
## [[1]][[279]]
## NULL
##
## [[1]][[280]]
## NULL
##
## [[1]][[281]]
## NULL
##
## [[1]][[282]]
## NULL
##
## [[1]][[283]]
## NULL
##
## [[1]][[284]]
## NULL
##
## [[1]][[285]]
## NULL
##
## [[1]][[286]]
## NULL
##
## [[1]][[287]]
## NULL
##
## [[1]][[288]]
## NULL
##
## [[1]][[289]]
## NULL
##
## [[1]][[290]]
## NULL
##
## [[1]][[291]]
## NULL
##
## [[1]][[292]]
## NULL
##
## [[1]][[293]]
## NULL
##
## [[1]][[294]]
## NULL
##
## [[1]][[295]]
## NULL
##
## [[1]][[296]]
## NULL
##
## [[1]][[297]]
## NULL
##
## [[1]][[298]]
## NULL
##
## [[1]][[299]]
## NULL
##
## [[1]][[300]]
## NULL
##
## [[1]][[301]]
## NULL
##
## [[1]][[302]]
## NULL
##
## [[1]][[303]]
## NULL
##
## [[1]][[304]]
## NULL
##
## [[1]][[305]]
## NULL
##
## [[1]][[306]]
## NULL
##
## [[1]][[307]]
## NULL
##
## [[1]][[308]]
## NULL
##
## [[1]][[309]]
## NULL
##
## [[1]][[310]]
## NULL
##
## [[1]][[311]]
## NULL
##
## [[1]][[312]]
## NULL
##
## [[1]][[313]]
## NULL
##
## [[1]][[314]]
## NULL
##
## [[1]][[315]]
## NULL
##
## [[1]][[316]]
## NULL
##
## [[1]][[317]]
## NULL
##
## [[1]][[318]]
## NULL
##
## [[1]][[319]]
## NULL
##
## [[1]][[320]]
## NULL
##
## [[1]][[321]]
## NULL
##
## [[1]][[322]]
## NULL
##
## [[1]][[323]]
## NULL
##
## [[1]][[324]]
## NULL
##
## [[1]][[325]]
## NULL
##
## [[1]][[326]]
## NULL
##
## [[1]][[327]]
## NULL
##
## [[1]][[328]]
## NULL
##
## [[1]][[329]]
## NULL
##
## [[1]][[330]]
## NULL
##
## [[1]][[331]]
## NULL
##
## [[1]][[332]]
## NULL
##
## [[1]][[333]]
## NULL
##
## [[1]][[334]]
## NULL
##
## [[1]][[335]]
## NULL
##
## [[1]][[336]]
## NULL
##
## [[1]][[337]]
## NULL
##
## [[1]][[338]]
## NULL
##
## [[1]][[339]]
## NULL
##
## [[1]][[340]]
## NULL
##
## [[1]][[341]]
## NULL
##
## [[1]][[342]]
## NULL
##
## [[1]][[343]]
## NULL
##
## [[1]][[344]]
## NULL
##
## [[1]][[345]]
## NULL
##
## [[1]][[346]]
## NULL
##
## [[1]][[347]]
## NULL
##
## [[1]][[348]]
## NULL
##
## [[1]][[349]]
## NULL
##
## [[1]][[350]]
## NULL
##
## [[1]][[351]]
## NULL
##
## [[1]][[352]]
## NULL
##
## [[1]][[353]]
## NULL
##
## [[1]][[354]]
## NULL
##
## [[1]][[355]]
## NULL
##
## [[1]][[356]]
## NULL
##
## [[1]][[357]]
## NULL
##
## [[1]][[358]]
## NULL
##
## [[1]][[359]]
## NULL
##
## [[1]][[360]]
## NULL
##
## [[1]][[361]]
## NULL
##
## [[1]][[362]]
## NULL
##
## [[1]][[363]]
## NULL
##
## [[1]][[364]]
## NULL
##
## [[1]][[365]]
## NULL
##
## [[1]][[366]]
## NULL
##
## [[1]][[367]]
## NULL
##
## [[1]][[368]]
## NULL
##
## [[1]][[369]]
## NULL
##
## [[1]][[370]]
## NULL
##
## [[1]][[371]]
## NULL
##
## [[1]][[372]]
## NULL
##
## [[1]][[373]]
## NULL
##
## [[1]][[374]]
## NULL
##
## [[1]][[375]]
## NULL
##
## [[1]][[376]]
## NULL
##
## [[1]][[377]]
## NULL
##
## [[1]][[378]]
## NULL
##
## [[1]][[379]]
## NULL
##
## [[1]][[380]]
## NULL
##
## [[1]][[381]]
## NULL
##
## [[1]][[382]]
## NULL
##
## [[1]][[383]]
## NULL
##
## [[1]][[384]]
## NULL
##
## [[1]][[385]]
## NULL
##
## [[1]][[386]]
## NULL
##
## [[1]][[387]]
## NULL
##
## [[1]][[388]]
## NULL
##
## [[1]][[389]]
## NULL
##
## [[1]][[390]]
## NULL
##
## [[1]][[391]]
## NULL
##
## [[1]][[392]]
## NULL
##
## [[1]][[393]]
## NULL
##
## [[1]][[394]]
## NULL
##
## [[1]][[395]]
## NULL
##
## [[1]][[396]]
## NULL
##
## [[1]][[397]]
## NULL
##
## [[1]][[398]]
## NULL
##
## [[1]][[399]]
## NULL
##
## [[1]][[400]]
## NULL
##
## [[1]][[401]]
## NULL
##
## [[1]][[402]]
## NULL
##
## [[1]][[403]]
## NULL
##
## [[1]][[404]]
## NULL
##
## [[1]][[405]]
## NULL
##
## [[1]][[406]]
## NULL
##
## [[1]][[407]]
## NULL
##
## [[1]][[408]]
## NULL
##
## [[1]][[409]]
## NULL
##
## [[1]][[410]]
## NULL
##
## [[1]][[411]]
## NULL
##
## [[1]][[412]]
## NULL
##
## [[1]][[413]]
## NULL
##
## [[1]][[414]]
## NULL
##
## [[1]][[415]]
## NULL
##
## [[1]][[416]]
## NULL
##
## [[1]][[417]]
## NULL
##
## [[1]][[418]]
## NULL
##
## [[1]][[419]]
## NULL
##
## [[1]][[420]]
## NULL
##
## [[1]][[421]]
## NULL
##
## [[1]][[422]]
## NULL
##
## [[1]][[423]]
## NULL
##
## [[1]][[424]]
## NULL
##
## [[1]][[425]]
## NULL
##
## [[1]][[426]]
## NULL
##
## [[1]][[427]]
## NULL
##
## [[1]][[428]]
## NULL
##
## [[1]][[429]]
## NULL
##
## [[1]][[430]]
## NULL
##
## [[1]][[431]]
## NULL
##
## [[1]][[432]]
## NULL
##
## [[1]][[433]]
## NULL
##
## [[1]][[434]]
## NULL
##
## [[1]][[435]]
## NULL
##
## [[1]][[436]]
## NULL
##
## [[1]][[437]]
## NULL
##
## [[1]][[438]]
## NULL
##
## [[1]][[439]]
## NULL
##
## [[1]][[440]]
## NULL
##
## [[1]][[441]]
## NULL
##
## [[1]][[442]]
## NULL
##
## [[1]][[443]]
## NULL
##
## [[1]][[444]]
## NULL
##
## [[1]][[445]]
## NULL
##
## [[1]][[446]]
## NULL
##
## [[1]][[447]]
## NULL
##
## [[1]][[448]]
## NULL
##
## [[1]][[449]]
## NULL
##
## [[1]][[450]]
## NULL
##
## [[1]][[451]]
## NULL
##
## [[1]][[452]]
## NULL
##
## [[1]][[453]]
## NULL
##
## [[1]][[454]]
## NULL
##
## [[1]][[455]]
## NULL
##
## [[1]][[456]]
## NULL
##
## [[1]][[457]]
## NULL
##
## [[1]][[458]]
## NULL
##
## [[1]][[459]]
## NULL
##
## [[1]][[460]]
## NULL
##
## [[1]][[461]]
## NULL
##
## [[1]][[462]]
## NULL
##
## [[1]][[463]]
## NULL
##
## [[1]][[464]]
## NULL
##
## [[1]][[465]]
## NULL
##
## [[1]][[466]]
## NULL
##
## [[1]][[467]]
## NULL
##
## [[1]][[468]]
## NULL
##
## [[1]][[469]]
## NULL
##
## [[1]][[470]]
## NULL
##
## [[1]][[471]]
## NULL
##
## [[1]][[472]]
## NULL
##
## [[1]][[473]]
## NULL
##
## [[1]][[474]]
## NULL
##
## [[1]][[475]]
## NULL
##
## [[1]][[476]]
## NULL
##
## [[1]][[477]]
## NULL
##
## [[1]][[478]]
## NULL
##
## [[1]][[479]]
## NULL
##
## [[1]][[480]]
## NULL
##
## [[1]][[481]]
## NULL
##
## [[1]][[482]]
## NULL
##
## [[1]][[483]]
## NULL
##
## [[1]][[484]]
## NULL
##
## [[1]][[485]]
## NULL
##
## [[1]][[486]]
## NULL
##
## [[1]][[487]]
## NULL
##
## [[1]][[488]]
## NULL
##
## [[1]][[489]]
## NULL
##
## [[1]][[490]]
## NULL
##
## [[1]][[491]]
## NULL
##
## [[1]][[492]]
## NULL
##
## [[1]][[493]]
## NULL
##
## [[1]][[494]]
## NULL
##
## [[1]][[495]]
## NULL
##
## [[1]][[496]]
## NULL
##
## [[1]][[497]]
## NULL
##
## [[1]][[498]]
## NULL
##
## [[1]][[499]]
## NULL
##
## [[1]][[500]]
## NULL
##
## [[1]][[501]]
## NULL
##
## [[1]][[502]]
## NULL
##
## [[1]][[503]]
## NULL
##
## [[1]][[504]]
## NULL
##
## [[1]][[505]]
## NULL
##
## [[1]][[506]]
## NULL
##
## [[1]][[507]]
## NULL
##
## [[1]][[508]]
## NULL
##
## [[1]][[509]]
## NULL
##
## [[1]][[510]]
## NULL
##
## [[1]][[511]]
## NULL
##
## [[1]][[512]]
## NULL
##
## [[1]][[513]]
## NULL
##
## [[1]][[514]]
## NULL
##
## [[1]][[515]]
## NULL
##
## [[1]][[516]]
## NULL
##
## [[1]][[517]]
## NULL
##
## [[1]][[518]]
## NULL
##
## [[1]][[519]]
## NULL
##
## [[1]][[520]]
## NULL
##
## [[1]][[521]]
## NULL
##
## [[1]][[522]]
## NULL
##
## [[1]][[523]]
## NULL
##
## [[1]][[524]]
## NULL
##
## [[1]][[525]]
## NULL
##
## [[1]][[526]]
## NULL
##
## [[1]][[527]]
## NULL
##
## [[1]][[528]]
## NULL
##
## [[1]][[529]]
## NULL
##
## [[1]][[530]]
## NULL
##
## [[1]][[531]]
## NULL
##
## [[1]][[532]]
## NULL
##
## [[1]][[533]]
## NULL
##
## [[1]][[534]]
## NULL
##
## [[1]][[535]]
## NULL
##
## [[1]][[536]]
## NULL
##
##
## [[2]]
## [[2]][[1]]
## NULL
##
## [[2]][[2]]
## NULL
##
## [[2]][[3]]
## NULL
##
## [[2]][[4]]
## NULL
##
## [[2]][[5]]
## NULL
##
## [[2]][[6]]
## NULL
##
## [[2]][[7]]
## NULL
##
## [[2]][[8]]
## NULL
##
## [[2]][[9]]
## NULL
##
## [[2]][[10]]
## NULL
##
## [[2]][[11]]
## NULL
##
## [[2]][[12]]
## NULL
##
## [[2]][[13]]
## NULL
##
## [[2]][[14]]
## NULL
##
## [[2]][[15]]
## NULL
##
## [[2]][[16]]
## NULL
##
## [[2]][[17]]
## NULL
##
## [[2]][[18]]
## NULL
##
## [[2]][[19]]
## NULL
##
## [[2]][[20]]
## NULL
##
## [[2]][[21]]
## NULL
##
## [[2]][[22]]
## NULL
##
## [[2]][[23]]
## NULL
##
## [[2]][[24]]
## NULL
##
## [[2]][[25]]
## NULL
##
## [[2]][[26]]
## NULL
##
## [[2]][[27]]
## NULL
##
## [[2]][[28]]
## NULL
##
## [[2]][[29]]
## NULL
##
## [[2]][[30]]
## NULL
##
## [[2]][[31]]
## NULL
##
## [[2]][[32]]
## NULL
##
## [[2]][[33]]
## NULL
##
## [[2]][[34]]
## NULL
##
## [[2]][[35]]
## NULL
##
## [[2]][[36]]
## NULL
##
## [[2]][[37]]
## NULL
##
## [[2]][[38]]
## NULL
##
## [[2]][[39]]
## NULL
##
## [[2]][[40]]
## NULL
##
## [[2]][[41]]
## NULL
##
## [[2]][[42]]
## NULL
##
## [[2]][[43]]
## NULL
##
## [[2]][[44]]
## NULL
##
## [[2]][[45]]
## NULL
##
## [[2]][[46]]
## NULL
##
## [[2]][[47]]
## NULL
##
## [[2]][[48]]
## NULL
##
## [[2]][[49]]
## NULL
##
## [[2]][[50]]
## NULL
##
## [[2]][[51]]
## NULL
##
## [[2]][[52]]
## NULL
##
## [[2]][[53]]
## NULL
##
## [[2]][[54]]
## NULL
##
## [[2]][[55]]
## NULL
##
## [[2]][[56]]
## NULL
##
## [[2]][[57]]
## NULL
##
## [[2]][[58]]
## NULL
##
## [[2]][[59]]
## NULL
##
## [[2]][[60]]
## NULL
##
## [[2]][[61]]
## NULL
##
## [[2]][[62]]
## NULL
##
## [[2]][[63]]
## NULL
##
## [[2]][[64]]
## NULL
##
## [[2]][[65]]
## NULL
##
## [[2]][[66]]
## NULL
##
## [[2]][[67]]
## NULL
##
## [[2]][[68]]
## NULL
##
## [[2]][[69]]
## NULL
##
## [[2]][[70]]
## NULL
##
## [[2]][[71]]
## NULL
##
## [[2]][[72]]
## NULL
##
## [[2]][[73]]
## NULL
##
## [[2]][[74]]
## NULL
##
## [[2]][[75]]
## NULL
##
## [[2]][[76]]
## NULL
##
## [[2]][[77]]
## NULL
##
## [[2]][[78]]
## NULL
##
## [[2]][[79]]
## NULL
##
## [[2]][[80]]
## NULL
##
## [[2]][[81]]
## NULL
##
## [[2]][[82]]
## NULL
##
## [[2]][[83]]
## NULL
##
## [[2]][[84]]
## NULL
##
## [[2]][[85]]
## NULL
##
## [[2]][[86]]
## NULL
##
## [[2]][[87]]
## NULL
##
## [[2]][[88]]
## NULL
##
## [[2]][[89]]
## NULL
##
## [[2]][[90]]
## NULL
##
## [[2]][[91]]
## NULL
##
## [[2]][[92]]
## NULL
##
## [[2]][[93]]
## NULL
##
## [[2]][[94]]
## NULL
##
## [[2]][[95]]
## NULL
##
## [[2]][[96]]
## NULL
##
## [[2]][[97]]
## NULL
##
## [[2]][[98]]
## NULL
##
## [[2]][[99]]
## NULL
##
## [[2]][[100]]
## NULL
##
## [[2]][[101]]
## NULL
##
## [[2]][[102]]
## NULL
##
## [[2]][[103]]
## NULL
##
## [[2]][[104]]
## NULL
##
## [[2]][[105]]
## NULL
##
## [[2]][[106]]
## NULL
##
## [[2]][[107]]
## NULL
##
## [[2]][[108]]
## NULL
##
## [[2]][[109]]
## NULL
##
## [[2]][[110]]
## NULL
##
## [[2]][[111]]
## NULL
##
## [[2]][[112]]
## NULL
##
## [[2]][[113]]
## NULL
##
## [[2]][[114]]
## NULL
##
## [[2]][[115]]
## NULL
##
## [[2]][[116]]
## NULL
##
## [[2]][[117]]
## NULL
##
## [[2]][[118]]
## NULL
##
## [[2]][[119]]
## NULL
##
## [[2]][[120]]
## NULL
##
## [[2]][[121]]
## NULL
##
## [[2]][[122]]
## NULL
##
## [[2]][[123]]
## NULL
##
## [[2]][[124]]
## NULL
##
## [[2]][[125]]
## NULL
##
## [[2]][[126]]
## NULL
##
## [[2]][[127]]
## NULL
##
## [[2]][[128]]
## NULL
##
## [[2]][[129]]
## NULL
##
## [[2]][[130]]
## NULL
##
## [[2]][[131]]
## NULL
##
## [[2]][[132]]
## NULL
##
## [[2]][[133]]
## NULL
##
## [[2]][[134]]
## NULL
##
## [[2]][[135]]
## NULL
##
## [[2]][[136]]
## NULL
##
## [[2]][[137]]
## NULL
##
## [[2]][[138]]
## NULL
##
## [[2]][[139]]
## NULL
##
## [[2]][[140]]
## NULL
##
##
## [[3]]
## [[3]][[1]]
## NULL
##
## [[3]][[2]]
## NULL
##
## [[3]][[3]]
## NULL
##
## [[3]][[4]]
## NULL
##
## [[3]][[5]]
## NULL
##
## [[3]][[6]]
## NULL
##
## [[3]][[7]]
## NULL
##
## [[3]][[8]]
## NULL
##
## [[3]][[9]]
## NULL
##
## [[3]][[10]]
## NULL
##
## [[3]][[11]]
## NULL
##
## [[3]][[12]]
## NULL
##
## [[3]][[13]]
## NULL
##
## [[3]][[14]]
## NULL
##
## [[3]][[15]]
## NULL
##
## [[3]][[16]]
## NULL
##
## [[3]][[17]]
## NULL
##
## [[3]][[18]]
## NULL
##
## [[3]][[19]]
## NULL
##
## [[3]][[20]]
## NULL
##
## [[3]][[21]]
## NULL
##
## [[3]][[22]]
## NULL
##
## [[3]][[23]]
## NULL
##
## [[3]][[24]]
## NULL
##
## [[3]][[25]]
## NULL
##
## [[3]][[26]]
## NULL
##
## [[3]][[27]]
## NULL
##
## [[3]][[28]]
## NULL
##
## [[3]][[29]]
## NULL
##
## [[3]][[30]]
## NULL
##
## [[3]][[31]]
## NULL
##
## [[3]][[32]]
## NULL
##
## [[3]][[33]]
## NULL
##
## [[3]][[34]]
## NULL
##
## [[3]][[35]]
## NULL
##
## [[3]][[36]]
## NULL
##
## [[3]][[37]]
## NULL
##
## [[3]][[38]]
## NULL
##
## [[3]][[39]]
## NULL
##
## [[3]][[40]]
## NULL
##
## [[3]][[41]]
## NULL
##
## [[3]][[42]]
## NULL
##
## [[3]][[43]]
## NULL
##
## [[3]][[44]]
## NULL
##
## [[3]][[45]]
## NULL
##
## [[3]][[46]]
## NULL
##
## [[3]][[47]]
## NULL
##
## [[3]][[48]]
## NULL
##
## [[3]][[49]]
## NULL
##
## [[3]][[50]]
## NULL
##
## [[3]][[51]]
## NULL
##
## [[3]][[52]]
## NULL
##
## [[3]][[53]]
## NULL
##
## [[3]][[54]]
## NULL
##
## [[3]][[55]]
## NULL
##
## [[3]][[56]]
## NULL
##
## [[3]][[57]]
## NULL
##
## [[3]][[58]]
## NULL
##
## [[3]][[59]]
## NULL
##
## [[3]][[60]]
## NULL
##
## [[3]][[61]]
## NULL
##
## [[3]][[62]]
## NULL
##
## [[3]][[63]]
## NULL
##
## [[3]][[64]]
## NULL
##
## [[3]][[65]]
## NULL
##
## [[3]][[66]]
## NULL
##
## [[3]][[67]]
## NULL
##
## [[3]][[68]]
## NULL
##
## [[3]][[69]]
## NULL
##
## [[3]][[70]]
## NULL
##
## [[3]][[71]]
## NULL
##
## [[3]][[72]]
## NULL
##
## [[3]][[73]]
## NULL
##
## [[3]][[74]]
## NULL
##
## [[3]][[75]]
## NULL
##
## [[3]][[76]]
## NULL
##
## [[3]][[77]]
## NULL
##
## [[3]][[78]]
## NULL
##
## [[3]][[79]]
## NULL
##
## [[3]][[80]]
## NULL
##
## [[3]][[81]]
## NULL
##
## [[3]][[82]]
## NULL
##
## [[3]][[83]]
## NULL
##
## [[3]][[84]]
## NULL
##
## [[3]][[85]]
## NULL
##
## [[3]][[86]]
## NULL
##
## [[3]][[87]]
## NULL
##
## [[3]][[88]]
## NULL
##
## [[3]][[89]]
## NULL
##
## [[3]][[90]]
## NULL
##
## [[3]][[91]]
## NULL
##
## [[3]][[92]]
## NULL
##
## [[3]][[93]]
## NULL
##
## [[3]][[94]]
## NULL
##
## [[3]][[95]]
## NULL
##
## [[3]][[96]]
## NULL
##
## [[3]][[97]]
## NULL
##
## [[3]][[98]]
## NULL
##
## [[3]][[99]]
## NULL
##
## [[3]][[100]]
## NULL
##
## [[3]][[101]]
## NULL
##
## [[3]][[102]]
## NULL
##
## [[3]][[103]]
## NULL
##
## [[3]][[104]]
## NULL
##
## [[3]][[105]]
## NULL
##
## [[3]][[106]]
## NULL
##
## [[3]][[107]]
## NULL
##
## [[3]][[108]]
## NULL
##
## [[3]][[109]]
## NULL
##
## [[3]][[110]]
## NULL
##
## [[3]][[111]]
## NULL
##
## [[3]][[112]]
## NULL
##
## [[3]][[113]]
## NULL
##
## [[3]][[114]]
## NULL
##
## [[3]][[115]]
## NULL
##
## [[3]][[116]]
## NULL
##
## [[3]][[117]]
## NULL
##
## [[3]][[118]]
## NULL
##
## [[3]][[119]]
## NULL
##
## [[3]][[120]]
## NULL
##
## [[3]][[121]]
## NULL
##
## [[3]][[122]]
## NULL
##
## [[3]][[123]]
## NULL
##
## [[3]][[124]]
## NULL
##
## [[3]][[125]]
## NULL
##
## [[3]][[126]]
## NULL
##
## [[3]][[127]]
## NULL
##
## [[3]][[128]]
## NULL
##
## [[3]][[129]]
## NULL
##
## [[3]][[130]]
## NULL
##
## [[3]][[131]]
## NULL
##
## [[3]][[132]]
## NULL
##
## [[3]][[133]]
## NULL
##
## [[3]][[134]]
## NULL
##
## [[3]][[135]]
## NULL
##
## [[3]][[136]]
## NULL
##
## [[3]][[137]]
## NULL
##
## [[3]][[138]]
## NULL
##
## [[3]][[139]]
## NULL
##
## [[3]][[140]]
## NULL
##
## [[3]][[141]]
## NULL
##
## [[3]][[142]]
## NULL
##
## [[3]][[143]]
## NULL
##
## [[3]][[144]]
## NULL
##
## [[3]][[145]]
## NULL
##
## [[3]][[146]]
## NULL
##
## [[3]][[147]]
## NULL
##
## [[3]][[148]]
## NULL
##
## [[3]][[149]]
## NULL
##
## [[3]][[150]]
## NULL
##
## [[3]][[151]]
## NULL
##
## [[3]][[152]]
## NULL
##
## [[3]][[153]]
## NULL
##
## [[3]][[154]]
## NULL
##
## [[3]][[155]]
## NULL
##
## [[3]][[156]]
## NULL
##
## [[3]][[157]]
## NULL
##
## [[3]][[158]]
## NULL
##
## [[3]][[159]]
## NULL
##
## [[3]][[160]]
## NULL
##
## [[3]][[161]]
## NULL
##
## [[3]][[162]]
## NULL
##
## [[3]][[163]]
## NULL
##
## [[3]][[164]]
## NULL
##
## [[3]][[165]]
## NULL
##
## [[3]][[166]]
## NULL
##
## [[3]][[167]]
## NULL
##
## [[3]][[168]]
## NULL
##
## [[3]][[169]]
## NULL
##
## [[3]][[170]]
## NULL
##
## [[3]][[171]]
## NULL
##
## [[3]][[172]]
## NULL
##
## [[3]][[173]]
## NULL
##
## [[3]][[174]]
## NULL
##
## [[3]][[175]]
## NULL
##
## [[3]][[176]]
## NULL
##
## [[3]][[177]]
## NULL
##
## [[3]][[178]]
## NULL
##
## [[3]][[179]]
## NULL
##
## [[3]][[180]]
## NULL
##
## [[3]][[181]]
## NULL
##
## [[3]][[182]]
## NULL
##
## [[3]][[183]]
## NULL
##
## [[3]][[184]]
## NULL
##
## [[3]][[185]]
## NULL
##
## [[3]][[186]]
## NULL
##
##
## [[4]]
## [[4]][[1]]
## NULL
##
## [[4]][[2]]
## NULL
##
## [[4]][[3]]
## NULL
##
## [[4]][[4]]
## NULL
##
## [[4]][[5]]
## NULL
##
## [[4]][[6]]
## NULL
##
## [[4]][[7]]
## NULL
##
## [[4]][[8]]
## NULL
##
## [[4]][[9]]
## NULL
##
## [[4]][[10]]
## NULL
##
## [[4]][[11]]
## NULL
##
## [[4]][[12]]
## NULL
##
## [[4]][[13]]
## NULL
##
## [[4]][[14]]
## NULL
##
## [[4]][[15]]
## NULL
##
## [[4]][[16]]
## NULL
##
## [[4]][[17]]
## NULL
##
## [[4]][[18]]
## NULL
##
## [[4]][[19]]
## NULL
##
## [[4]][[20]]
## NULL
##
## [[4]][[21]]
## NULL
##
## [[4]][[22]]
## NULL
##
## [[4]][[23]]
## NULL
##
## [[4]][[24]]
## NULL
##
## [[4]][[25]]
## NULL
##
## [[4]][[26]]
## NULL
##
## [[4]][[27]]
## NULL
##
## [[4]][[28]]
## NULL
##
## [[4]][[29]]
## NULL
##
## [[4]][[30]]
## NULL
##
## [[4]][[31]]
## NULL
##
## [[4]][[32]]
## NULL
##
## [[4]][[33]]
## NULL
##
## [[4]][[34]]
## NULL
##
## [[4]][[35]]
## NULL
##
## [[4]][[36]]
## NULL
##
## [[4]][[37]]
## NULL
##
## [[4]][[38]]
## NULL
##
## [[4]][[39]]
## NULL
##
## [[4]][[40]]
## NULL
##
## [[4]][[41]]
## NULL
##
## [[4]][[42]]
## NULL
##
## [[4]][[43]]
## NULL
##
## [[4]][[44]]
## NULL
##
## [[4]][[45]]
## NULL
##
## [[4]][[46]]
## NULL
##
## [[4]][[47]]
## NULL
##
## [[4]][[48]]
## NULL
##
## [[4]][[49]]
## NULL
##
## [[4]][[50]]
## NULL
##
## [[4]][[51]]
## NULL
##
## [[4]][[52]]
## NULL
##
## [[4]][[53]]
## NULL
##
## [[4]][[54]]
## NULL
##
## [[4]][[55]]
## NULL
##
## [[4]][[56]]
## NULL
##
## [[4]][[57]]
## NULL
##
## [[4]][[58]]
## NULL
##
## [[4]][[59]]
## NULL
##
## [[4]][[60]]
## NULL
##
## [[4]][[61]]
## NULL
##
## [[4]][[62]]
## NULL
##
## [[4]][[63]]
## NULL
##
## [[4]][[64]]
## NULL
##
## [[4]][[65]]
## NULL
##
## [[4]][[66]]
## NULL
##
## [[4]][[67]]
## NULL
##
## [[4]][[68]]
## NULL
##
## [[4]][[69]]
## NULL
##
## [[4]][[70]]
## NULL
##
## [[4]][[71]]
## NULL
##
##
## [[5]]
## [[5]][[1]]
## NULL
##
## [[5]][[2]]
## NULL
##
## [[5]][[3]]
## NULL
##
## [[5]][[4]]
## NULL
##
## [[5]][[5]]
## NULL
##
## [[5]][[6]]
## NULL
##
## [[5]][[7]]
## NULL
##
## [[5]][[8]]
## NULL
##
## [[5]][[9]]
## NULL
##
## [[5]][[10]]
## NULL
##
## [[5]][[11]]
## NULL
##
## [[5]][[12]]
## NULL
##
## [[5]][[13]]
## NULL
##
## [[5]][[14]]
## NULL
##
## [[5]][[15]]
## NULL
##
## [[5]][[16]]
## NULL
##
## [[5]][[17]]
## NULL
##
## [[5]][[18]]
## NULL
##
## [[5]][[19]]
## NULL
##
## [[5]][[20]]
## NULL
##
## [[5]][[21]]
## NULL
##
## [[5]][[22]]
## NULL
##
## [[5]][[23]]
## NULL
##
## [[5]][[24]]
## NULL
##
## [[5]][[25]]
## NULL
##
## [[5]][[26]]
## NULL
##
## [[5]][[27]]
## NULL
##
## [[5]][[28]]
## NULL
##
## [[5]][[29]]
## NULL
##
## [[5]][[30]]
## NULL
##
## [[5]][[31]]
## NULL
##
## [[5]][[32]]
## NULL
##
## [[5]][[33]]
## NULL
##
## [[5]][[34]]
## NULL
##
## [[5]][[35]]
## NULL
##
## [[5]][[36]]
## NULL
##
## [[5]][[37]]
## NULL
##
## [[5]][[38]]
## NULL
##
## [[5]][[39]]
## NULL
##
## [[5]][[40]]
## NULL
##
## [[5]][[41]]
## NULL
##
## [[5]][[42]]
## NULL
##
## [[5]][[43]]
## NULL
##
## [[5]][[44]]
## NULL
##
## [[5]][[45]]
## NULL
##
## [[5]][[46]]
## NULL
##
## [[5]][[47]]
## NULL
##
## [[5]][[48]]
## NULL
##
## [[5]][[49]]
## NULL
##
## [[5]][[50]]
## NULL
##
## [[5]][[51]]
## NULL
##
## [[5]][[52]]
## NULL
##
## [[5]][[53]]
## NULL
##
## [[5]][[54]]
## NULL
##
## [[5]][[55]]
## NULL
##
## [[5]][[56]]
## NULL
##
## [[5]][[57]]
## NULL
##
## [[5]][[58]]
## NULL
##
## [[5]][[59]]
## NULL
##
## [[5]][[60]]
## NULL
##
## [[5]][[61]]
## NULL
##
## [[5]][[62]]
## NULL
# mitchTC weith adjusted data
go <- gmt_import("c5.go.v2024.1.Hs.symbols.gmt")
#go <- head(go,1000)
dat <- adj
datr <- as.data.frame(apply(dat,2,rank))
datr$gname <- sapply(strsplit(rownames(datr)," "),"[[",2)
datra <- aggregate(. ~ gname,datr,mean)
rownames(datra) <- datra$gname
datra$gname=NULL
res <- lapply(1:length(go),function(i) {
setname <- names(go)[i]
set <- go[[i]]
yy <- datra[which(rownames(datra) %in% set ),]
if ( nrow(yy) >= 5 ) {
t0 <- yy[,grep("T0",colnames(yy))]
eos <- yy[,grep("EOS",colnames(yy))]
pod1 <- yy[,grep("POD1",colnames(yy))]
res <- lapply(1:nrow(yy), function(j) {
tres1 <- t.test(eos[j,],t0[j,])
tres2 <- t.test(pod1[j,],t0[j,])
tres3 <- t.test(pod1[j,],eos[j,])
out <- c(
mean(colMeans(t0)), mean(colMeans(eos)), mean(colMeans(pod1)),
tres1$estimate[1] - tres1$estimate[2], tres1$p.value,
tres2$estimate[1] - tres2$estimate[2], tres2$p.value,
tres3$estimate[1] - tres3$estimate[2], tres3$p.value,
nrow(yy))
return(out)
})
res <- do.call(rbind,res)
res <- colMedians(res)
names(res) <- c("T0meanrank","EOSmeanrank","POD1meanrank",
"T0vEOS.delta.median","T0vEOS.p.median",
"T0vPOD1.delta.median","T0vPOD1.p.median",
"EOSvPOD1.delta.median","EOSvPOD1.p.median",
"ngenes")
return(res)
}
})
names(res) <- names(go)
res <- res[which(lapply(res,length)>0)]
resdf <- as.data.frame(do.call(rbind,res))
resdf <- resdf[order(resdf$T0vEOS.delta.median),]
head(resdf)
## T0meanrank
## GOMF_IGE_BINDING 16355.873
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS 7900.661
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 9641.382
## GOMF_LIPID_ANTIGEN_BINDING 9641.382
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 12172.983
## GOMF_LIPOPEPTIDE_BINDING 12769.061
## EOSmeanrank
## GOMF_IGE_BINDING 14912.048
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS 6571.510
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 8362.138
## GOMF_LIPID_ANTIGEN_BINDING 8362.138
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 11313.256
## GOMF_LIPOPEPTIDE_BINDING 12277.284
## POD1meanrank
## GOMF_IGE_BINDING 15370.707
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS 6787.173
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 8710.940
## GOMF_LIPID_ANTIGEN_BINDING 8710.940
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 11643.581
## GOMF_LIPOPEPTIDE_BINDING 12702.615
## T0vEOS.delta.median
## GOMF_IGE_BINDING -1732.338
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS -1464.020
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB -1236.359
## GOMF_LIPID_ANTIGEN_BINDING -1236.359
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB -1190.226
## GOMF_LIPOPEPTIDE_BINDING -1190.226
## T0vEOS.p.median
## GOMF_IGE_BINDING 4.918038e-11
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS 1.029584e-06
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 5.932985e-06
## GOMF_LIPID_ANTIGEN_BINDING 5.932985e-06
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 5.932985e-06
## GOMF_LIPOPEPTIDE_BINDING 1.059601e-07
## T0vPOD1.delta.median
## GOMF_IGE_BINDING -805.57879
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS -641.70606
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB -891.86364
## GOMF_LIPID_ANTIGEN_BINDING -891.86364
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB -42.82727
## GOMF_LIPOPEPTIDE_BINDING 101.35455
## T0vPOD1.p.median
## GOMF_IGE_BINDING 9.717452e-16
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS 1.083042e-02
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 1.035143e-03
## GOMF_LIPID_ANTIGEN_BINDING 1.035143e-03
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 1.035143e-03
## GOMF_LIPOPEPTIDE_BINDING 9.904357e-09
## EOSvPOD1.delta.median
## GOMF_IGE_BINDING 449.3529
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS 180.8862
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 378.0667
## GOMF_LIPID_ANTIGEN_BINDING 378.0667
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 378.0667
## GOMF_LIPOPEPTIDE_BINDING 474.2356
## EOSvPOD1.p.median
## GOMF_IGE_BINDING 1.685937e-09
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS 6.321756e-01
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 9.243838e-03
## GOMF_LIPID_ANTIGEN_BINDING 9.243838e-03
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 9.243838e-03
## GOMF_LIPOPEPTIDE_BINDING 9.243838e-03
## ngenes
## GOMF_IGE_BINDING 5
## GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS 5
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 5
## GOMF_LIPID_ANTIGEN_BINDING 5
## GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_OF_LIPID_ANTIGEN_VIA_MHC_CLASS_IB 7
## GOMF_LIPOPEPTIDE_BINDING 9
resdf <- resdf[order(-resdf$T0vEOS.delta.median),]
head(resdf)
## T0meanrank EOSmeanrank
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 11068.54 13985.22
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 14250.34 15576.88
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 13044.26 14367.10
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 13044.26 14367.10
## GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION 14324.79 16104.98
## GOBP_RESPONSE_TO_CORTISOL 13935.92 14880.79
## POD1meanrank
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 12574.65
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 14584.13
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 14038.09
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 14038.09
## GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION 15792.63
## GOBP_RESPONSE_TO_CORTISOL 14674.95
## T0vEOS.delta.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 2203.735
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 1660.229
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 1305.154
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 1305.154
## GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION 1291.255
## GOBP_RESPONSE_TO_CORTISOL 1166.693
## T0vEOS.p.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 2.796648e-07
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 1.853133e-06
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 2.143621e-07
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 2.143621e-07
## GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION 7.670946e-11
## GOBP_RESPONSE_TO_CORTISOL 8.082799e-08
## T0vPOD1.delta.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 939.85455
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 19.76818
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 921.63333
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 921.63333
## GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION 932.45152
## GOBP_RESPONSE_TO_CORTISOL 535.69394
## T0vPOD1.p.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 9.508732e-03
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 4.757401e-03
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 1.837317e-09
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 1.837317e-09
## GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION 3.372952e-10
## GOBP_RESPONSE_TO_CORTISOL 4.622217e-07
## EOSvPOD1.delta.median
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY -1305.6920
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY -1032.0655
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS -222.2287
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY -222.2287
## GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION -533.3345
## GOBP_RESPONSE_TO_CORTISOL 197.1701
## EOSvPOD1.p.median ngenes
## GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY 3.577273e-03 5
## GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY 8.074448e-05 8
## GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS 5.332442e-02 5
## GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY 5.332442e-02 5
## GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION 8.296905e-05 5
## GOBP_RESPONSE_TO_CORTISOL 4.053260e-04 5
deltas <- abs(resdf[,grep("delta",colnames(resdf))])
topres <- head(rownames( deltas[order(-rowMeans(deltas)),] ) ,40)
topres
## [1] "GOMF_INTERLEUKIN_1_RECEPTOR_ACTIVITY"
## [2] "GOMF_MHC_CLASS_IB_RECEPTOR_ACTIVITY"
## [3] "GOMF_HEMOGLOBIN_BINDING"
## [4] "GOCC_MULTIVESICULAR_BODY_LUMEN"
## [5] "GOBP_BRANCHING_INVOLVED_IN_LABYRINTHINE_LAYER_MORPHOGENESIS"
## [6] "GOCC_IGG_IMMUNOGLOBULIN_COMPLEX"
## [7] "GOMF_RNA_ENDONUCLEASE_ACTIVITY_PRODUCING_3_PHOSPHOMONOESTERS"
## [8] "GOMF_IGE_BINDING"
## [9] "GOMF_NITRITE_REDUCTASE_ACTIVITY"
## [10] "GOBP_REGULATION_OF_PLASMA_CELL_DIFFERENTIATION"
## [11] "GOCC_PHAGOCYTIC_VESICLE_LUMEN"
## [12] "GOCC_IMMUNOGLOBULIN_COMPLEX_CIRCULATING"
## [13] "GOBP_REGULATION_OF_MYELOID_DENDRITIC_CELL_ACTIVATION"
## [14] "GOMF_NADPLUS_NUCLEOSIDASE_ACTIVITY"
## [15] "GOMF_CARBOHYDRATE_PHOSPHATASE_ACTIVITY"
## [16] "GOBP_ANTIGEN_PROCESSING_AND_PRESENTATION_ENDOGENOUS_LIPID_ANTIGEN_VIA_MHC_CLASS_IB"
## [17] "GOMF_LIPID_ANTIGEN_BINDING"
## [18] "GOCC_HAPTOGLOBIN_HEMOGLOBIN_COMPLEX"
## [19] "GOCC_T_CELL_RECEPTOR_COMPLEX"
## [20] "GOBP_FRUCTOSE_2_6_BISPHOSPHATE_METABOLIC_PROCESS"
## [21] "GOMF_FRUCTOSE_2_6_BISPHOSPHATE_2_PHOSPHATASE_ACTIVITY"
## [22] "GOBP_REGULATION_OF_NATURAL_KILLER_CELL_CHEMOTAXIS"
## [23] "GOCC_HEMOGLOBIN_COMPLEX"
## [24] "GOMF_OPSONIN_RECEPTOR_ACTIVITY"
## [25] "GOBP_REGULATION_OF_PHOSPHOLIPASE_A2_ACTIVITY"
## [26] "GOBP_PIGMENT_CATABOLIC_PROCESS"
## [27] "GOCC_GAMMA_DELTA_T_CELL_RECEPTOR_COMPLEX"
## [28] "GOCC_IMMUNOGLOBULIN_COMPLEX"
## [29] "GOBP_ERBB2_EGFR_SIGNALING_PATHWAY"
## [30] "GOCC_IGA_IMMUNOGLOBULIN_COMPLEX"
## [31] "GOBP_VESTIBULOCOCHLEAR_NERVE_MORPHOGENESIS"
## [32] "GOBP_REGULATION_OF_INNER_EAR_AUDITORY_RECEPTOR_CELL_DIFFERENTIATION"
## [33] "GOMF_HAPTOGLOBIN_BINDING"
## [34] "GOBP_NATURAL_KILLER_CELL_CHEMOTAXIS"
## [35] "GOBP_OVIDUCT_DEVELOPMENT"
## [36] "GOMF_G_PROTEIN_COUPLED_ADENOSINE_RECEPTOR_ACTIVITY"
## [37] "GOBP_POSITIVE_REGULATION_OF_MAST_CELL_ACTIVATION"
## [38] "GOMF_ICOSANOID_BINDING"
## [39] "GOBP_MAST_CELL_DIFFERENTIATION"
## [40] "GOBP_NEGATIVE_REGULATION_OF_HEART_RATE"
topres <- deltas[which(rownames(deltas) %in% topres),]
colfunc <- colorRampPalette(c("blue", "white", "red"))
rownames(topres) <- gsub("_"," ",rownames(topres))
heatmap.2( as.matrix(topres), col=colfunc(25),scale="none",
trace="none",margins = c(8,25), cexRow=0.7, cexCol=0.7, main="High CRP trtB")
We will add more comparisons and analysis after discussing the types of analysis required for each comparison.
For reproducibility
save.image("tca.Rds")
sessionInfo()
## R version 4.5.2 (2025-10-31)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.4 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.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=en_US.UTF-8
## [9] LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8
##
## time zone: Etc/UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] RhpcBLASctl_0.23-42 gtools_3.9.5
## [3] xlsx_0.6.5 DT_0.34.0
## [5] ggplot2_4.0.3 kableExtra_1.4.0
## [7] beeswarm_0.4.0 eulerr_7.1.0
## [9] MASS_7.3-65 mitch_1.22.1
## [11] DESeq2_1.50.2 SummarizedExperiment_1.40.0
## [13] Biobase_2.70.0 MatrixGenerics_1.22.0
## [15] matrixStats_1.5.0 GenomicRanges_1.62.1
## [17] Seqinfo_1.0.0 IRanges_2.44.0
## [19] S4Vectors_0.48.1 BiocGenerics_0.56.0
## [21] generics_0.1.4 dplyr_1.2.1
## [23] WGCNA_1.74 fastcluster_1.3.0
## [25] dynamicTreeCut_1.63-1 reshape2_1.4.5
## [27] gplots_3.3.0
##
## loaded via a namespace (and not attached):
## [1] RColorBrewer_1.1-3 rstudioapi_0.18.0 jsonlite_2.0.0
## [4] magrittr_2.0.5 farver_2.1.2 rmarkdown_2.31
## [7] vctrs_0.7.3 base64enc_0.1-6 htmltools_0.5.9
## [10] S4Arrays_1.10.1 progress_1.2.3 SparseArray_1.10.10
## [13] Formula_1.2-5 sass_0.4.10 KernSmooth_2.23-26
## [16] bslib_0.10.0 htmlwidgets_1.6.4 plyr_1.8.9
## [19] echarts4r_0.5.0 impute_1.84.0 cachem_1.1.0
## [22] mime_0.13 lifecycle_1.0.5 iterators_1.0.14
## [25] pkgconfig_2.0.3 Matrix_1.7-5 R6_2.6.1
## [28] fastmap_1.2.0 shiny_1.13.0 digest_0.6.39
## [31] colorspace_2.1-2 GGally_2.4.0 textshaping_1.0.5
## [34] crosstalk_1.2.2 Hmisc_5.2-5 labeling_0.4.3
## [37] polyclip_1.10-7 abind_1.4-8 compiler_4.5.2
## [40] withr_3.0.2 doParallel_1.0.17 htmlTable_2.5.0
## [43] S7_0.2.2 backports_1.5.1 BiocParallel_1.44.0
## [46] ggstats_0.13.0 DelayedArray_0.36.1 caTools_1.18.3
## [49] tools_4.5.2 foreign_0.8-91 otel_0.2.0
## [52] httpuv_1.6.17 nnet_7.3-20 glue_1.8.1
## [55] promises_1.5.0 grid_4.5.2 polylabelr_1.0.0
## [58] checkmate_2.3.4 cluster_2.1.8.2 gtable_0.3.6
## [61] preprocessCore_1.72.0 tidyr_1.3.2 hms_1.1.4
## [64] data.table_1.18.2.1 xml2_1.5.2 XVector_0.50.0
## [67] foreach_1.5.2 pillar_1.11.1 stringr_1.6.0
## [70] limma_3.66.0 later_1.4.8 rJava_1.0-18
## [73] splines_4.5.2 lattice_0.22-9 survival_3.8-6
## [76] tidyselect_1.2.1 locfit_1.5-9.12 knitr_1.51
## [79] gridExtra_2.3 svglite_2.2.2 xfun_0.57
## [82] statmod_1.5.1 stringi_1.8.7 statnet.common_4.13.0
## [85] yaml_2.3.12 evaluate_1.0.5 codetools_0.2-20
## [88] xlsxjars_0.9.0 tibble_3.3.1 BiocManager_1.30.27
## [91] cli_3.6.6 rpart_4.1.27 xtable_1.8-8
## [94] systemfonts_1.3.2 jquerylib_0.1.4 network_1.20.0
## [97] Rcpp_1.1.1-1.1 coda_0.19-4.1 parallel_4.5.2
## [100] prettyunits_1.2.0 bitops_1.0-9 viridisLite_0.4.3
## [103] scales_1.4.0 purrr_1.2.2 crayon_1.5.3
## [106] rlang_1.2.0