Introduction

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)

Load the data

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

Number of reads per sample

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")

MDS

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.

Load patient info

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

MDS3

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")

Blood composition

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:

  • Monocytes.C
  • NK
  • T.CD8.Memory
  • T.CD4.Naive
  • Neutrophils.LD

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.

Differential expression across time

Specific PCAs for key clinical parameters:

  • wound type
  • surg duration
  • ethnicity
  • age
  • sex

And blood composition:

  • Monocytes.C
  • NK
  • T.CD8.Memory
  • T.CD4.Naive
  • Neutrophils.LD

And ones we didn’t include:

  • bmi
  • asaD
  • smoker
  • diabetes_typeD

TODO:

  • age data centred and scaled

  • ethnicity categories unordered

Overview

Treat timepoints as unordered factors using LRT test stat

  1. Timecourse in low CRP group

  2. Timecourse in high CRP group

  3. Timecourse in low CRP group with dex

  4. Timecourse in low CRP group with placebo

  5. Timecourse in high CRP group with dex

  6. Timecourse in high CRP group and with placebo

Timecourse in low CRP group

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.

  1. ns, up
  2. ns, dn
  3. up, dn
  4. dn, up
  5. dn, ns
  6. up, ns
  7. up, up
  8. dn, dn
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

Timecourse in high CRP group

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.

  1. ns, up
  2. ns, dn
  3. up, dn
  4. dn, up
  5. dn, ns
  6. up, ns
  7. up, up
  8. dn, dn
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

Timecourse in dex

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.

  1. ns, up
  2. ns, dn
  3. up, dn
  4. dn, up
  5. dn, ns
  6. up, ns
  7. up, up
  8. dn, dn
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

Timecourse in placebo

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.

  1. ns, up
  2. ns, dn
  3. up, dn
  4. dn, up
  5. dn, ns
  6. up, ns
  7. up, up
  8. dn, dn
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

Timecourse in low CRP group and dex

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")

Timecourse in low CRP group and placebo

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")

Timecourse in high CRP group and dex

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

Timecourse in high CRP group and placebo

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")

STOP HERE

We will add more comparisons and analysis after discussing the types of analysis required for each comparison.

Session information

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