Introduction

Let’s QC this data.

suppressPackageStartupMessages({
  library("gplots")
  library("reshape2")
  library("WGCNA")
  library("dplyr")
  library("DESeq2")
  library("mitch")
  library("MASS")
  library("eulerr")
  library("beeswarm")
})

Multi-qc results

Please have a look at the multiQC report. Here are a few key points:

  • Skewer trimming resulted in loss of only a tiny number of bases. This indicates the sequence quality is very high.

  • Fastqc results showing the number of unique and duplicate reads indicates a few samples with <10M unique reads.

  • Per seqence GC content showed an unusual profile for two samples. PG1423-EOS R1 and R2 had GC profile max at 40% compared to the mean. PG2090-EOS also showed an unusual pattern with underrepresented low GC%.

  • Sequence duplication levels were elevated for some fastq files. Here are the files of concern, with <20% unique reads: PG3627-POD1_S86_R1_001 PG3627-POD1_S86_R2_001 PG3609-T0_S317_R1_001 PG2090-EOS_S134_R1_001 PG2090-EOS_S134_R2_001

  • There were two files with overrepresented sequences: PG2090-EOS R1 and R2. Others are okay.

  • Adapter content was very low which is good.

The fastq files were also checked with validatefastq-assembly which looks for signs of file corruption which can occur in large data transfers. No problematic files were detected.

rRNA amount

Ribosomal RNA carryover can be a source of noise. The proportion should be <10% and there were a few samples in excess of this including PG2020-EOS, PG815-EOS, PG1452-EOS and PG702-POD1.

rrna <- read.table("rrna_stats.txt")
rrna <- rrna[,c(1,5)]
rrna$V1 <- sapply(strsplit(rrna$V1,"\\."),"[[",1)
rrna$V5 <- gsub("\\(","",rrna$V5)
rrna$V5 <- gsub("%","",rrna$V5)
rrna$V5 <- as.numeric(rrna$V5)
str(rrna)
## 'data.frame':    319 obs. of  2 variables:
##  $ V1: chr  "3166-POD1_S266_R1_001" "3166-T0_S265_R1_001" "3167-POD1_S268_R1_001" "3167-T0_S267_R1_001" ...
##  $ V5: num  0.57 1.11 0.61 0.93 0.96 0.79 0.7 5.2 1.14 2.83 ...
rrna2 <- rrna[,2]
names(rrna2) <- rrna[,1]

par(mar=c(5,8,3,1))
barplot(rrna2,horiz=TRUE,las=1,cex.names=0.5,main="rRNA carryover")

rrna2 <- rrna2[order(-rrna2)]
barplot(head(rrna2,20),horiz=TRUE,las=1,cex.names=0.6,main="rRNA carryover")

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
saveRDS(xx,"paddi_genecounts.Rds")

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.

Now repeat the MDS with the treatment group indicated.

QC info

PG2090-EOS suffered rRNA carryover and needs to be re-prepared. The other samples with slightly higher rRNA are not a problem as the rRNA can be corrected for statistically. not sure what to do about samples with low numbers of unique reads.

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$dex <- (ss$treatment_group *-1 ) + 2

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

MDS with treatment group and CRP status shown.

ssy <- ss[rownames(ss) %in% colnames(xxf),]
ssy <- ssy[order(rownames(ssy)),]

mds <- cmdscale(dist(t(xxf)))

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

PCH <- ss$dex + 15
OUTLINE <- ( (ssy$crp_group -1 ) /3 ) +1

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=PCH, 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, circle=dex, square=placebo, \n outline blk=low, red=high")
points(mds,type = "p",pch=PCH-15, col=OUTLINE,cex=1.5)

PCA Analysis

This is a clinical study and each patient has detailed clinical metadata. Not all of these will be important to the gene expression profiles. Do determine that, we will use PCA analysis of the first 5 PCs to understand which PCs associate with which clinical parameters.

mx <- xt0f
ss2 <- ss_t0
ss2$ethnicityCAT = ss2$ageCS = NULL
ss2$timepoint = ss2$PG_number = NULL

pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
loadings = pca$x

par(cex=0.75, mar = c(6, 8.5, 3, 3))

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-trait relationships @T0: Top principal components"))

mx <- xeosf
ss2 <- ss_eos
ss2$ethnicityCAT = ss2$ageCS = NULL
ss2$timepoint = ss2$PG_number =NULL

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-trait 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.

mx <- xpod1f
ss2 <- ss_pod1
ss2$ethnicityCAT = ss2$ageCS = NULL
ss2$timepoint = ss2$PG_number = NULL

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-trait relationships @POD1: Top principal components"))
## 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.

Now export PDF.

mx <- xt0f
ss2 <- ss_t0
ss2$ethnicityCAT = ss2$ageCS = NULL
ss2$timepoint = ss2$PG_number = NULL
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
loadings = pca$x

pdf("pca_cor.pdf",height=7,width=7)
par(cex=0.75, mar = c(6, 8.5, 3, 3))

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-trait relationships @T0: Top principal components"))

mx <- xeosf
ss2 <- ss_eos
ss2$ethnicityCAT = ss2$ageCS = NULL
ss2$timepoint = ss2$PG_number = NULL
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-trait 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.
mx <- xpod1f
ss2 <- ss_pod1
ss2$ethnicityCAT = ss2$ageCS = NULL
ss2$timepoint = ss2$PG_number = NULL
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-trait relationships @POD1: Top principal components"))
## 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.
dev.off()
## png 
##   2

PCA plots

par(mfrow=c(3,3))

#T0
mx <- xt0f
ss2 <- ss_t0
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-T0","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("T0")
text(pca$x[,1:2],labels=labs)
plot(pca$x[,c(1,3)],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("T0")
text(pca$x[,c(1,3)],labels=labs)
XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("T0")
text(pca$x[,2:3],labels=labs)

#EOS
mx <- xeosf
ss2 <- ss_eos
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-EOS","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("EOS")
text(pca$x[,1:2],labels=labs)
plot(pca$x[,c(1,3)],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("EOS")
text(pca$x[,c(1,3)],labels=labs)
XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("EOS")
text(pca$x[,2:3],labels=labs)

#POD1
mx <- xpod1f
ss2 <- ss_pod1
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-POD1","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs)
mtext("POD1")
plot(pca$x[,c(1,3)],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs)
mtext("POD1")
XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs)
mtext("POD1")

dev.off()
## null device 
##           1
pdf("pca_charts.pdf",width=9,height=9)
par(mfrow=c(3,3))
#T0
mx <- xt0f
ss2 <- ss_t0
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-T0","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("T0")
text(pca$x[,1:2],labels=labs)

plot(pca$x[,c(1,3)],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("T0")
text(pca$x[,c(1,3)],labels=labs)

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("T0")
text(pca$x[,2:3],labels=labs)

#EOS
mx <- xeosf
ss2 <- ss_eos
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-EOS","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("EOS")
text(pca$x[,1:2],labels=labs)
plot(pca$x[,c(1,3)],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("EOS")
text(pca$x[,c(1,3)],labels=labs)
XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
mtext("EOS")
text(pca$x[,2:3],labels=labs)

#POD1
mx <- xpod1f
ss2 <- ss_pod1
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-POD1","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs)
mtext("POD1")
plot(pca$x[,c(1,3)],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs)
mtext("POD1")
XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col="gray",pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs)
mtext("POD1")

dev.off()
## pdf 
##   2

Specific PCA charts

Specific PCAs for key clinical parameters:

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

And ones we didn’t include:

  • bmi
  • asaD
  • smoker
  • diabetes_typeD
  • crp
# wound type clean (1) contaminated (2)

mx <- xt0f
ss2 <- ss_t0
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-T0","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_t0$wound_type_cat)
cols <- gsub("2","red",gsub("1","gray",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - wound type")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - wound type")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - wound type")

# surg duration
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_t0$duration_sx, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - surgical duration deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - surgical duration deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - surgical duration deciles")

# Ethnicity Levels [1-4]: Asian, Maori/Polynesian, Other, White/Caucasian
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_t0$ethnicityD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - ethnicity")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - ethnicity")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - ethnicity")

# age
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_t0$ageD, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - age deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - age deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - age deciles")

# sex female=1 male=2
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_t0$sexD)
cols <- gsub("1","pink",gsub("2","lightblue",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - sex: female=pink, male=lightblue")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - sex: female=pink, male=lightblue")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - sex: female=pink, male=lightblue")

# bmi
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_t0$bmi, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - BMI deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - BMI deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - BMI deciles")

# asaD levels 1:4 black,red,green,blue
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_t0$asaD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - asaD")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - asaD")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - asaD")

# Current smoker no, yes
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_t0$current_smokerD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - current smoker")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - current smoker")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - current smoker")

# diabetes
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_t0$diabetes_typeD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - diabetes")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - diabetes")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - diabetes")

# treatment group
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_t0$dex)
cols <- gsub("1","orange",gsub("0","cyan3",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - dex=orange, placebo=cyan")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - dex=orange, placebo=cyan")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - dex=orange, placebo=cyan")

# CRP group
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_t0$crp_group)
cols <- gsub("4","orange",gsub("1","cyan3",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("T0 - CRP group")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("T0 - CRP group")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("T0 - CRP group")

EOS.

# wound type clean (1) contaminated (2)

mx <- xeosf
ss2 <- ss_eos
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-EOS","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_eos$wound_type_cat)
cols <- gsub("2","red",gsub("1","gray",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - wound type")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - wound type")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - wound type")

# surg duration
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_eos$duration_sx, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - surgical duration deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - surgical duration deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - surgical duration deciles")

# Ethnicity Levels [1-4]: Asian, Maori/Polynesian, Other, White/Caucasian
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_eos$ethnicityD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS  - ethnicity")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS  - ethnicity")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS  - ethnicity")

# age
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_eos$ageD, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - age deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - age deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - age deciles")

# sex female=1 male=2
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_eos$sexD)
cols <- gsub("1","pink",gsub("2","lightblue",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - sex: female=pink, male=lightblue")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - sex: female=pink, male=lightblue")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - sex: female=pink, male=lightblue")

# bmi
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_eos$bmi, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - BMI deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - BMI deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - BMI deciles")

# asaD levels 1:4 black,red,green,blue
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_eos$asaD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - asaD")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - asaD")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - asaD")

# Current smoker no, yes
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_eos$current_smokerD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - current smoker")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - current smoker")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - current smoker")

# diabetes
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_eos$diabetes_typeD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - diabetes")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - diabetes")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - diabetes")

# treatment group
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_eos$dex)
cols <- gsub("1","orange",gsub("0","cyan3",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - dex=orange, placebo=cyan")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - dex=orange, placebo=cyan")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - dex=orange, placebo=cyan")

# CRP group
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_eos$crp_group)
cols <- gsub("4","orange",gsub("1","cyan3",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("EOS - CRP group")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("EOS - CRP group")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("EOS - CRP group")

POD1.

# wound type clean (1) contaminated (2)

mx <- xpod1f
ss2 <- ss_pod1
pca <- prcomp(t(mx),center = TRUE, scale = TRUE,retx=TRUE)
labs=gsub("-POD1","",rownames(pca$x))
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_pod1$wound_type_cat)
cols <- gsub("2","red",gsub("1","gray",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - wound type")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - wound type")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - wound type")

# surg duration
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_pod1$duration_sx, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - surgical duration deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - surgical duration deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - surgical duration deciles")

# Ethnicity Levels [1-4]: Asian, Maori/Polynesian, Other, White/Caucasian
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_pod1$ethnicityD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1  - ethnicity")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1  - ethnicity")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1  - ethnicity")

# age
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_pod1$ageD, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - age deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - age deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - age deciles")

# sex female=1 male=2
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_pod1$sexD)
cols <- gsub("1","pink",gsub("2","lightblue",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - sex: female=pink, male=lightblue")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - sex: female=pink, male=lightblue")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - sex: female=pink, male=lightblue")

# bmi
my_palette <- colorRampPalette(c("yellow", "orange", "red"))(n = 10)
decile <- ntile(ss_pod1$bmi, 10)
mycols <- my_palette[decile]
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
plot(pca$x[,1:2],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - BMI deciles")

plot(pca$x[,c(1,3)],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - BMI deciles")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=mycols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - BMI deciles")

# asaD levels 1:4 black,red,green,blue
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_pod1$asaD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - asaD")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - asaD")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - asaD")

# Current smoker no, yes
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_pod1$current_smokerD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - current smoker")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - current smoker")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - current smoker")

# diabetes
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_pod1$diabetes_typeD)
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - diabetes")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - diabetes")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - diabetes")

# treatment group
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_pod1$dex)
cols <- gsub("1","orange",gsub("0","cyan3",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - treatment group")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - treatment group")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - treatment group")

# CRP group
XMIN=min(pca$x[,1])*1.1
XMAX=max(pca$x[,1])*1.1
cols <- as.character(ss_pod1$crp_group)
cols <- gsub("4","orange",gsub("1","cyan3",cols))
plot(pca$x[,1:2],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,1:2],labels=labs,cex=0.7)
mtext("POD1 - CRP group")

plot(pca$x[,c(1,3)],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,c(1,3)],labels=labs,cex=0.7)
mtext("POD1 - CRP group")

XMIN=min(pca$x[,2])*1.1
XMAX=max(pca$x[,2])*1.1
plot(pca$x[,2:3],cex=2,col=cols,pch=19,bty="none", xlim=c(XMIN,XMAX) )
text(pca$x[,2:3],labels=labs,cex=0.7)
mtext("POD1 - CRP group")

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
saveRDS(dec2,"cellcomposition.Rds")

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 the cell composition across time points and groups.

# trt1 and trt2 togethr
null <- lapply(1:17 , function(i) {
  cellname <- colnames(sscell_t0)[i]
  t0vals <- sscell_t0[,i]
  eosvals <- sscell_eos[,i]
  pod1vals <- sscell_pod1[,i]
  cl <- list("t0"=t0vals,"EOS"=eosvals,"POD1"=pod1vals)
  boxplot(cl,col="white",cex=0,ylab="estimated relative cell proportion",main=cellname)
  beeswarm(cl,pch=19,col="darkgray",cex=1.5,add=TRUE)
})

sscell_t0$trt <- ss[match(rownames(sscell_t0),rownames(ss)),"dex"]
sscell_eos$trt <- ss[match(rownames(sscell_eos),rownames(ss)),"dex"]
sscell_pod1$trt <- ss[match(rownames(sscell_pod1),rownames(ss)),"dex"]

null <- lapply(1:17 , function(i) {
  cellname <- colnames(sscell_t0)[i]
  t0vals_trt1 <- subset(sscell_t0,trt==0)[,i]
  t0vals_trt2 <- subset(sscell_t0,trt==1)[,i]

  eosvals_trt1 <- subset(sscell_eos,trt==0)[,i]
  eosvals_trt2 <- subset(sscell_eos,trt==1)[,i]

  pod1vals_trt1 <- subset(sscell_pod1,trt==0)[,i]
  pod1vals_trt2 <- subset(sscell_pod1,trt==1)[,i]

  cl <- list("t0 trt1"=t0vals_trt1,"t0 trt2"=t0vals_trt2,
    "EOS trt1"=eosvals_trt1, "EOS trt2"=eosvals_trt2,
    "POD1 trt1"=pod1vals_trt1, "POD1 trt2"=pod1vals_trt2 )
  boxplot(cl,col="white",cex=0,ylab="estimated relative cell proportion",main=cellname)
  beeswarm(cl,pch=19,col="darkgray",cex=1.2,add=TRUE)
})

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

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

  1. CRP group comparisons not stratified for treatment group (inflamation)

  2. Treatment group comparisons not stratified for CRP group (Steroid)

  3. CRP group comparisons statified for treatment group: inflammation and steroid

  4. Treatment group complarisons stratified for CRP group: steroid and inflammation

  5. Sex differences in low CRP group (not stratified for treatment group)

  6. Sex differences in high CRP group (not stratified for treatment group)

CRP group differences not stratified

CRP low vs high at t=0

mx <- xt0f
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 390 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
## ENSG00000179593.16 ALOX15B      192.12350     -0.7187508 0.10489179 -6.852308
## ENSG00000141744.4 PNMT           35.64128     -0.4354625 0.09456325 -4.604986
## ENSG00000087116.16 ADAMTS2       96.08857     -0.5387022 0.12313891 -4.374752
## ENSG00000057294.16 PKP2          83.96200     -0.3049742 0.07109219 -4.289842
## ENSG00000279359.1 RP11-36D19.9   12.76771     -0.5030155 0.11986382 -4.196558
## ENSG00000276168.1 RN7SL1        591.11188      0.2489061 0.06119920  4.067147
## ENSG00000063438.20 AHRR          92.23299     -0.4595163 0.11376981 -4.039000
## ENSG00000233916.1 ZDHHC20P1      21.16714     -0.3347389 0.08736544 -3.831480
## ENSG00000189056.15 RELN          17.27434      0.1809771 0.04776302  3.789062
## ENSG00000274012.1 RN7SL2       1037.64399      0.2367552 0.06518141  3.632250
##                                      pvalue         padj
## ENSG00000179593.16 ALOX15B     7.266794e-12 1.593971e-07
## ENSG00000141744.4 PNMT         4.124926e-06 4.524013e-02
## ENSG00000087116.16 ADAMTS2     1.215705e-05 8.888828e-02
## ENSG00000057294.16 PKP2        1.788006e-05 9.804975e-02
## ENSG00000279359.1 RP11-36D19.9 2.710017e-05 1.188885e-01
## ENSG00000276168.1 RN7SL1       4.759225e-05 1.682084e-01
## ENSG00000063438.20 AHRR        5.367947e-05 1.682084e-01
## ENSG00000233916.1 ZDHHC20P1    1.273749e-04 3.492459e-01
## ENSG00000189056.15 RELN        1.512169e-04 3.685491e-01
## ENSG00000274012.1 RN7SL2       2.809608e-04 6.162874e-01
mean(abs(dge$stat))
## [1] 0.7207644

I wonder which clinical variables correlate with ALOX15B?

rpm <- apply(mx,2,function(x) { x/sum(x) * 1e6 } )
i=1

lapply(1:6,function(i) {
  g <- rownames(dge)[i]
  gex <- rpm[which(rownames(rpm) == g),]
  crphi <- log10(gex[names(gex) %in% rownames(ss2)[which(ss2$crp_group==4)]]+0.1)
  crplo <- log10(gex[names(gex) %in% rownames(ss2)[which(ss2$crp_group==1)]]+0.1)
  gl <- list("CRP low"=crplo,"CRP high"=crphi)
  boxplot(gl,col="white",cex=0,ylab="relative gene expression (log10 RPM)",main=g)
  beeswarm(gl,col="darkgray",pch=19,cex=2,add=TRUE)
})

## [[1]]
##                            x           y pch      col bg cex   x.orig
## CRP low.3166-T0    1.0000000  2.13894517  19 darkgray NA   2  CRP low
## CRP low.3167-T0    1.0710177  1.86776898  19 darkgray NA   2  CRP low
## CRP low.3171-T0    1.0000000  1.01194055  19 darkgray NA   2  CRP low
## CRP low.3173-T0    0.9606874  1.86086425  19 darkgray NA   2  CRP low
## CRP low.3174-T0    1.0000000  1.73679004  19 darkgray NA   2  CRP low
## CRP low.3178-T0    0.9061537  1.90021970  19 darkgray NA   2  CRP low
## CRP low.3188-T0    1.0024187  1.92867044  19 darkgray NA   2  CRP low
## CRP low.3192-T0    1.1728649  0.40357858  19 darkgray NA   2  CRP low
## CRP low.3194-T0    1.0000000  1.12992231  19 darkgray NA   2  CRP low
## CRP low.PG004-T0   1.0000000 -0.35851304  19 darkgray NA   2  CRP low
## CRP low.PG012-T0   0.8830050  0.37051764  19 darkgray NA   2  CRP low
## CRP low.PG022-T0   0.9532510 -0.14726658  19 darkgray NA   2  CRP low
## CRP low.PG086-T0   1.0000000 -0.49252121  19 darkgray NA   2  CRP low
## CRP low.PG138-T0   1.1152857  0.08582202  19 darkgray NA   2  CRP low
## CRP low.PG1410-T0  1.1194539  0.49377175  19 darkgray NA   2  CRP low
## CRP low.PG1415-T0  1.0097147  0.65667534  19 darkgray NA   2  CRP low
## CRP low.PG1432-T0  0.8836315  0.08942420  19 darkgray NA   2  CRP low
## CRP low.PG1445-T0  0.8431661  0.75814082  19 darkgray NA   2  CRP low
## CRP low.PG1460-T0  0.7618938  0.52042526  19 darkgray NA   2  CRP low
## CRP low.PG1481-T0  0.7686593  0.41753347  19 darkgray NA   2  CRP low
## CRP low.PG1488-T0  0.8284591  0.40983092  19 darkgray NA   2  CRP low
## CRP low.PG1496-T0  1.2316851  0.42220043  19 darkgray NA   2  CRP low
## CRP low.PG1497-T0  1.1133836  0.39119571  19 darkgray NA   2  CRP low
## CRP low.PG1502-T0  0.9687643  0.58770135  19 darkgray NA   2  CRP low
## CRP low.PG1504-T0  0.9402225  0.48628075  19 darkgray NA   2  CRP low
## CRP low.PG1513-T0  1.0000000  0.75249780  19 darkgray NA   2  CRP low
## CRP low.PG1601-T0  1.0512164 -0.15726222  19 darkgray NA   2  CRP low
## CRP low.PG1643-T0  0.9565180  0.20499525  19 darkgray NA   2  CRP low
## CRP low.PG1648-T0  1.0000000  0.47816018  19 darkgray NA   2  CRP low
## CRP low.PG2006-T0  1.0844001  0.58819504  19 darkgray NA   2  CRP low
## CRP low.PG2020-T0  1.1412644  0.61830448  19 darkgray NA   2  CRP low
## CRP low.PG2022-T0  1.1746267  0.09977146  19 darkgray NA   2  CRP low
## CRP low.PG2066-T0  1.2972776  0.53537553  19 darkgray NA   2  CRP low
## CRP low.PG2072-T0  0.9516911  0.68069738  19 darkgray NA   2  CRP low
## CRP low.PG2076-T0  0.8802586  0.48955185  19 darkgray NA   2  CRP low
## CRP low.PG2079-T0  1.2374904  0.52743371  19 darkgray NA   2  CRP low
## CRP low.PG2085-T0  0.8212493  0.50663006  19 darkgray NA   2  CRP low
## CRP low.PG2090-T0  1.1687683  0.77045861  19 darkgray NA   2  CRP low
## CRP low.PG2094-T0  1.0167866  1.82739261  19 darkgray NA   2  CRP low
## CRP low.PG2095-T0  1.0596317  0.34926406  19 darkgray NA   2  CRP low
## CRP low.PG2096-T0  1.1787449  0.50823682  19 darkgray NA   2  CRP low
## CRP low.PG2102-T0  0.8945218  0.70934195  19 darkgray NA   2  CRP low
## CRP low.PG212-T0   1.0000000  0.33882405  19 darkgray NA   2  CRP low
## CRP low.PG219-T0   1.1093728  0.75709528  19 darkgray NA   2  CRP low
## CRP low.PG3233-T0  1.0599440  0.14404546  19 darkgray NA   2  CRP low
## CRP low.PG3234-T0  1.0000000 -0.20642197  19 darkgray NA   2  CRP low
## CRP low.PG3258-T0  1.0266257  0.56273051  19 darkgray NA   2  CRP low
## CRP low.PG3634-T0  0.9101385  0.60778309  19 darkgray NA   2  CRP low
## CRP low.PG437-T0   1.0648839  0.69377483  19 darkgray NA   2  CRP low
## CRP low.PG453-T0   1.0598857  0.04958385  19 darkgray NA   2  CRP low
## CRP low.PG686-T0   0.9429874  0.36823104  19 darkgray NA   2  CRP low
## CRP low.PG702-T0   0.9413395  0.06359006  19 darkgray NA   2  CRP low
## CRP low.PG808-T0   1.0000000  0.13996731  19 darkgray NA   2  CRP low
## CRP low.PG814-T0   1.0599621  0.48151590  19 darkgray NA   2  CRP low
## CRP low.PG815-T0   0.8399403  0.15410428  19 darkgray NA   2  CRP low
## CRP low.PG842-T0   1.0000000  0.04376038  19 darkgray NA   2  CRP low
## CRP high.3172-T0   2.0000000  0.97341243  19 darkgray NA   2 CRP high
## CRP high.3176-T0   2.0000000  0.80558027  19 darkgray NA   2 CRP high
## CRP high.3179-T0   2.0000000  1.19434668  19 darkgray NA   2 CRP high
## CRP high.3189-T0   2.0000000  1.90935293  19 darkgray NA   2 CRP high
## CRP high.PG002-T0  2.0000000 -0.09355819  19 darkgray NA   2 CRP high
## CRP high.PG013-T0  1.9401656  0.12130083  19 darkgray NA   2 CRP high
## CRP high.PG048-T0  1.9565091  0.21489113  19 darkgray NA   2 CRP high
## CRP high.PG053-T0  2.0000000 -0.27299666  19 darkgray NA   2 CRP high
## CRP high.PG054-T0  1.7655112  0.17721961  19 darkgray NA   2 CRP high
## CRP high.PG082-T0  2.1644336  0.37307750  19 darkgray NA   2 CRP high
## CRP high.PG113-T0  2.0598267  0.02220132  19 darkgray NA   2 CRP high
## CRP high.PG1403-T0 2.0000000  0.01503436  19 darkgray NA   2 CRP high
## CRP high.PG1416-T0 2.0589607 -0.07606952  19 darkgray NA   2 CRP high
## CRP high.PG1423-T0 2.1196304  0.02983024  19 darkgray NA   2 CRP high
## CRP high.PG1427-T0 1.9006140  0.24919763  19 darkgray NA   2 CRP high
## CRP high.PG1428-T0 1.9493982  0.35713615  19 darkgray NA   2 CRP high
## CRP high.PG1434-T0 1.8802857  0.02549078  19 darkgray NA   2 CRP high
## CRP high.PG1440-T0 2.1326816  0.24961347  19 darkgray NA   2 CRP high
## CRP high.PG1441-T0 2.0750919  0.22313400  19 darkgray NA   2 CRP high
## CRP high.PG1443-T0 2.2337987  0.18974828  19 darkgray NA   2 CRP high
## CRP high.PG1446-T0 2.0476150 -0.21557536  19 darkgray NA   2 CRP high
## CRP high.PG1452-T0 2.0613086  0.42505925  19 darkgray NA   2 CRP high
## CRP high.PG1459-T0 1.8897338  0.36710291  19 darkgray NA   2 CRP high
## CRP high.PG1461-T0 2.0059548  0.38864643  19 darkgray NA   2 CRP high
## CRP high.PG1471-T0 1.8212406  0.04226045  19 darkgray NA   2 CRP high
## CRP high.PG1490-T0 2.1899578  0.27772474  19 darkgray NA   2 CRP high
## CRP high.PG1517-T0 2.3368999  0.40289136  19 darkgray NA   2 CRP high
## CRP high.PG1522-T0 1.9886484  0.47900676  19 darkgray NA   2 CRP high
## CRP high.PG158-T0  1.6934639  0.40161075  19 darkgray NA   2 CRP high
## CRP high.PG160-T0  1.8223272  0.14688591  19 darkgray NA   2 CRP high
## CRP high.PG1636-T0 2.1177873  0.14564605  19 darkgray NA   2 CRP high
## CRP high.PG1641-T0 2.0380942  0.53246340  19 darkgray NA   2 CRP high
## CRP high.PG177-T0  2.0598405  0.12116970  19 darkgray NA   2 CRP high
## CRP high.PG187-T0  2.2769245  0.40019332  19 darkgray NA   2 CRP high
## CRP high.PG198-T0  1.9402795  0.02413264  19 darkgray NA   2 CRP high
## CRP high.PG199-T0  2.0502105  0.32005042  19 darkgray NA   2 CRP high
## CRP high.PG2016-T0 2.0000000  0.11429397  19 darkgray NA   2 CRP high
## CRP high.PG2026-T0 1.9294242  0.49413335  19 darkgray NA   2 CRP high
## CRP high.PG2051-T0 2.0000000 -0.67908651  19 darkgray NA   2 CRP high
## CRP high.PG2067-T0 1.7515482  0.37795443  19 darkgray NA   2 CRP high
## CRP high.PG2088-T0 2.1052396  0.35766124  19 darkgray NA   2 CRP high
## CRP high.PG218-T0  2.1772562  0.15817563  19 darkgray NA   2 CRP high
## CRP high.PG2433-T0 2.0974104  0.50043598  19 darkgray NA   2 CRP high
## CRP high.PG2437-T0 1.9928958  0.29213404  19 darkgray NA   2 CRP high
## CRP high.PG3204-T0 1.7924667  0.30893357  19 darkgray NA   2 CRP high
## CRP high.PG3244-T0 1.6336590  0.40921549  19 darkgray NA   2 CRP high
## CRP high.PG3609-T0 2.2165693  0.41978535  19 darkgray NA   2 CRP high
## CRP high.PG3627-T0 2.2427200  0.32265854  19 darkgray NA   2 CRP high
## CRP high.PG440-T0  2.2937964  0.19056547  19 darkgray NA   2 CRP high
## CRP high.PG451-T0  2.0161896  0.20516495  19 darkgray NA   2 CRP high
## CRP high.PG460-T0  1.8315728  0.39028848  19 darkgray NA   2 CRP high
## CRP high.PG805-T0  1.8801664  0.12178779  19 darkgray NA   2 CRP high
## CRP high.PG822-T0  1.8406556  0.25270909  19 darkgray NA   2 CRP high
## CRP high.PG828-T0  1.9909271  0.59079204  19 darkgray NA   2 CRP high
## CRP high.PG830-T0  2.0496737  1.02634369  19 darkgray NA   2 CRP high
##                         y.orig
## CRP low.3166-T0     2.13894517
## CRP low.3167-T0     1.86776898
## CRP low.3171-T0     1.01194055
## CRP low.3173-T0     1.86086425
## CRP low.3174-T0     1.73679004
## CRP low.3178-T0     1.90021970
## CRP low.3188-T0     1.92867044
## CRP low.3192-T0     0.40357858
## CRP low.3194-T0     1.12992231
## CRP low.PG004-T0   -0.35851304
## CRP low.PG012-T0    0.37051764
## CRP low.PG022-T0   -0.14726658
## CRP low.PG086-T0   -0.49252121
## CRP low.PG138-T0    0.08582202
## CRP low.PG1410-T0   0.49377175
## CRP low.PG1415-T0   0.65667534
## CRP low.PG1432-T0   0.08942420
## CRP low.PG1445-T0   0.75814082
## CRP low.PG1460-T0   0.52042526
## CRP low.PG1481-T0   0.41753347
## CRP low.PG1488-T0   0.40983092
## CRP low.PG1496-T0   0.42220043
## CRP low.PG1497-T0   0.39119571
## CRP low.PG1502-T0   0.58770135
## CRP low.PG1504-T0   0.48628075
## CRP low.PG1513-T0   0.75249780
## CRP low.PG1601-T0  -0.15726222
## CRP low.PG1643-T0   0.20499525
## CRP low.PG1648-T0   0.47816018
## CRP low.PG2006-T0   0.58819504
## CRP low.PG2020-T0   0.61830448
## CRP low.PG2022-T0   0.09977146
## CRP low.PG2066-T0   0.53537553
## CRP low.PG2072-T0   0.68069738
## CRP low.PG2076-T0   0.48955185
## CRP low.PG2079-T0   0.52743371
## CRP low.PG2085-T0   0.50663006
## CRP low.PG2090-T0   0.77045861
## CRP low.PG2094-T0   1.82739261
## CRP low.PG2095-T0   0.34926406
## CRP low.PG2096-T0   0.50823682
## CRP low.PG2102-T0   0.70934195
## CRP low.PG212-T0    0.33882405
## CRP low.PG219-T0    0.75709528
## CRP low.PG3233-T0   0.14404546
## CRP low.PG3234-T0  -0.20642197
## CRP low.PG3258-T0   0.56273051
## CRP low.PG3634-T0   0.60778309
## CRP low.PG437-T0    0.69377483
## CRP low.PG453-T0    0.04958385
## CRP low.PG686-T0    0.36823104
## CRP low.PG702-T0    0.06359006
## CRP low.PG808-T0    0.13996731
## CRP low.PG814-T0    0.48151590
## CRP low.PG815-T0    0.15410428
## CRP low.PG842-T0    0.04376038
## CRP high.3172-T0    0.97341243
## CRP high.3176-T0    0.80558027
## CRP high.3179-T0    1.19434668
## CRP high.3189-T0    1.90935293
## CRP high.PG002-T0  -0.09355819
## CRP high.PG013-T0   0.12130083
## CRP high.PG048-T0   0.21489113
## CRP high.PG053-T0  -0.27299666
## CRP high.PG054-T0   0.17721961
## CRP high.PG082-T0   0.37307750
## CRP high.PG113-T0   0.02220132
## CRP high.PG1403-T0  0.01503436
## CRP high.PG1416-T0 -0.07606952
## CRP high.PG1423-T0  0.02983024
## CRP high.PG1427-T0  0.24919763
## CRP high.PG1428-T0  0.35713615
## CRP high.PG1434-T0  0.02549078
## CRP high.PG1440-T0  0.24961347
## CRP high.PG1441-T0  0.22313400
## CRP high.PG1443-T0  0.18974828
## CRP high.PG1446-T0 -0.21557536
## CRP high.PG1452-T0  0.42505925
## CRP high.PG1459-T0  0.36710291
## CRP high.PG1461-T0  0.38864643
## CRP high.PG1471-T0  0.04226045
## CRP high.PG1490-T0  0.27772474
## CRP high.PG1517-T0  0.40289136
## CRP high.PG1522-T0  0.47900676
## CRP high.PG158-T0   0.40161075
## CRP high.PG160-T0   0.14688591
## CRP high.PG1636-T0  0.14564605
## CRP high.PG1641-T0  0.53246340
## CRP high.PG177-T0   0.12116970
## CRP high.PG187-T0   0.40019332
## CRP high.PG198-T0   0.02413264
## CRP high.PG199-T0   0.32005042
## CRP high.PG2016-T0  0.11429397
## CRP high.PG2026-T0  0.49413335
## CRP high.PG2051-T0 -0.67908651
## CRP high.PG2067-T0  0.37795443
## CRP high.PG2088-T0  0.35766124
## CRP high.PG218-T0   0.15817563
## CRP high.PG2433-T0  0.50043598
## CRP high.PG2437-T0  0.29213404
## CRP high.PG3204-T0  0.30893357
## CRP high.PG3244-T0  0.40921549
## CRP high.PG3609-T0  0.41978535
## CRP high.PG3627-T0  0.32265854
## CRP high.PG440-T0   0.19056547
## CRP high.PG451-T0   0.20516495
## CRP high.PG460-T0   0.39028848
## CRP high.PG805-T0   0.12178779
## CRP high.PG822-T0   0.25270909
## CRP high.PG828-T0   0.59079204
## CRP high.PG830-T0   1.02634369
## 
## [[2]]
##                            x            y pch      col bg cex   x.orig
## CRP low.3166-T0    1.0588393  1.145077540  19 darkgray NA   2  CRP low
## CRP low.3167-T0    1.0000000  1.130736202  19 darkgray NA   2  CRP low
## CRP low.3171-T0    1.0296290  0.052814088  19 darkgray NA   2  CRP low
## CRP low.3173-T0    1.0000000  1.042805339  19 darkgray NA   2  CRP low
## CRP low.3174-T0    0.9623277  1.187759222  19 darkgray NA   2  CRP low
## CRP low.3178-T0    1.0000000  0.800008002  19 darkgray NA   2  CRP low
## CRP low.3188-T0    1.0000000  0.492497047  19 darkgray NA   2  CRP low
## CRP low.3192-T0    0.8824822  0.030627222  19 darkgray NA   2  CRP low
## CRP low.3194-T0    0.8845321 -0.246420080  19 darkgray NA   2  CRP low
## CRP low.PG004-T0   1.0000000 -1.000000000  19 darkgray NA   2  CRP low
## CRP low.PG012-T0   1.0587945 -0.185011173  19 darkgray NA   2  CRP low
## CRP low.PG022-T0   0.8246689 -0.407127952  19 darkgray NA   2  CRP low
## CRP low.PG086-T0   0.8827091 -0.137744433  19 darkgray NA   2  CRP low
## CRP low.PG138-T0   1.1079071 -0.313644185  19 darkgray NA   2  CRP low
## CRP low.PG1410-T0  0.8295219 -0.306664922  19 darkgray NA   2  CRP low
## CRP low.PG1415-T0  0.9444263 -0.250768987  19 darkgray NA   2  CRP low
## CRP low.PG1432-T0  0.8235562  0.044427314  19 darkgray NA   2  CRP low
## CRP low.PG1445-T0  1.1677338 -0.308079612  19 darkgray NA   2  CRP low
## CRP low.PG1460-T0  1.0701320 -0.008696004  19 darkgray NA   2  CRP low
## CRP low.PG1481-T0  0.9508307 -0.075816224  19 darkgray NA   2  CRP low
## CRP low.PG1488-T0  0.9411083 -0.436596199  19 darkgray NA   2  CRP low
## CRP low.PG1496-T0  1.2277211 -0.306574880  19 darkgray NA   2  CRP low
## CRP low.PG1497-T0  1.0000000 -0.450613079  19 darkgray NA   2  CRP low
## CRP low.PG1502-T0  0.8297775 -0.216461965  19 darkgray NA   2  CRP low
## CRP low.PG1504-T0  1.0680392  0.109098229  19 darkgray NA   2  CRP low
## CRP low.PG1513-T0  0.8927323 -0.057517438  19 darkgray NA   2  CRP low
## CRP low.PG1601-T0  1.1751766 -0.415773250  19 darkgray NA   2  CRP low
## CRP low.PG1643-T0  1.0000000  0.139168423  19 darkgray NA   2  CRP low
## CRP low.PG1648-T0  1.0374078  0.196450477  19 darkgray NA   2  CRP low
## CRP low.PG2006-T0  0.9348140 -0.005210370  19 darkgray NA   2  CRP low
## CRP low.PG2020-T0  1.0597890 -0.444474083  19 darkgray NA   2  CRP low
## CRP low.PG2022-T0  0.8812541 -0.431491573  19 darkgray NA   2  CRP low
## CRP low.PG2066-T0  0.8823847 -0.341321215  19 darkgray NA   2  CRP low
## CRP low.PG2072-T0  1.1055813 -0.139143716  19 darkgray NA   2  CRP low
## CRP low.PG2076-T0  1.2249309 -0.189483717  19 darkgray NA   2  CRP low
## CRP low.PG2079-T0  0.7793706 -0.176722680  19 darkgray NA   2  CRP low
## CRP low.PG2085-T0  1.0502858 -0.077836553  19 darkgray NA   2  CRP low
## CRP low.PG2090-T0  1.1151782 -0.416308975  19 darkgray NA   2  CRP low
## CRP low.PG2094-T0  1.0000000  0.683351164  19 darkgray NA   2  CRP low
## CRP low.PG2095-T0  1.0573483 -0.522662011  19 darkgray NA   2  CRP low
## CRP low.PG2096-T0  1.0000000 -0.367827777  19 darkgray NA   2  CRP low
## CRP low.PG2102-T0  1.1183199  0.034955139  19 darkgray NA   2  CRP low
## CRP low.PG212-T0   1.1650952 -0.194901417  19 darkgray NA   2  CRP low
## CRP low.PG219-T0   1.0000000 -0.010894262  19 darkgray NA   2  CRP low
## CRP low.PG3233-T0  1.0000000 -0.117803835  19 darkgray NA   2  CRP low
## CRP low.PG3234-T0  0.9301689  0.119681571  19 darkgray NA   2  CRP low
## CRP low.PG3258-T0  1.1636361  0.082973763  19 darkgray NA   2  CRP low
## CRP low.PG3634-T0  1.0000000 -0.199623941  19 darkgray NA   2  CRP low
## CRP low.PG437-T0   0.9420789 -0.348709366  19 darkgray NA   2  CRP low
## CRP low.PG453-T0   1.0000000 -0.544202033  19 darkgray NA   2  CRP low
## CRP low.PG686-T0   1.0584912 -0.262060347  19 darkgray NA   2  CRP low
## CRP low.PG702-T0   1.0592883 -0.356577049  19 darkgray NA   2  CRP low
## CRP low.PG808-T0   1.0000000 -0.278387114  19 darkgray NA   2  CRP low
## CRP low.PG814-T0   0.9705313  0.065472482  19 darkgray NA   2  CRP low
## CRP low.PG815-T0   1.1125397 -0.230247725  19 darkgray NA   2  CRP low
## CRP low.PG842-T0   0.9322804 -0.179021349  19 darkgray NA   2  CRP low
## CRP high.3172-T0   1.8442485  0.037122642  19 darkgray NA   2 CRP high
## CRP high.3176-T0   2.2034341  0.041735136  19 darkgray NA   2 CRP high
## CRP high.3179-T0   1.9859426  0.121560464  19 darkgray NA   2 CRP high
## CRP high.3189-T0   2.0000000  0.781659088  19 darkgray NA   2 CRP high
## CRP high.PG002-T0  1.7152992 -0.207358626  19 darkgray NA   2 CRP high
## CRP high.PG013-T0  2.0297270  0.276140390  19 darkgray NA   2 CRP high
## CRP high.PG048-T0  2.1481124  0.013372700  19 darkgray NA   2 CRP high
## CRP high.PG053-T0  1.9673078 -0.217841271  19 darkgray NA   2 CRP high
## CRP high.PG054-T0  2.1096491 -0.411190720  19 darkgray NA   2 CRP high
## CRP high.PG082-T0  1.9342935  0.075397353  19 darkgray NA   2 CRP high
## CRP high.PG113-T0  1.8933144 -0.102535160  19 darkgray NA   2 CRP high
## CRP high.PG1403-T0 1.9401789 -0.291155561  19 darkgray NA   2 CRP high
## CRP high.PG1416-T0 1.8993107 -0.393158575  19 darkgray NA   2 CRP high
## CRP high.PG1423-T0 2.0000000 -0.764639814  19 darkgray NA   2 CRP high
## CRP high.PG1427-T0 2.0538902 -0.361511333  19 darkgray NA   2 CRP high
## CRP high.PG1428-T0 2.3404345 -0.170861956  19 darkgray NA   2 CRP high
## CRP high.PG1434-T0 2.0000000 -0.151978059  19 darkgray NA   2 CRP high
## CRP high.PG1440-T0 2.0285415  0.069966166  19 darkgray NA   2 CRP high
## CRP high.PG1441-T0 2.1180072 -0.256474869  19 darkgray NA   2 CRP high
## CRP high.PG1443-T0 1.9796699  0.027463551  19 darkgray NA   2 CRP high
## CRP high.PG1446-T0 1.9400696 -0.148450656  19 darkgray NA   2 CRP high
## CRP high.PG1452-T0 1.8339462 -0.091931039  19 darkgray NA   2 CRP high
## CRP high.PG1459-T0 2.0897693 -0.003726029  19 darkgray NA   2 CRP high
## CRP high.PG1461-T0 1.7751658 -0.212240928  19 darkgray NA   2 CRP high
## CRP high.PG1471-T0 2.0430586  0.144001447  19 darkgray NA   2 CRP high
## CRP high.PG1490-T0 1.8557847 -0.175873308  19 darkgray NA   2 CRP high
## CRP high.PG1517-T0 2.0484052 -0.108686897  19 darkgray NA   2 CRP high
## CRP high.PG1522-T0 2.0000000 -0.569661183  19 darkgray NA   2 CRP high
## CRP high.PG158-T0  1.9010046  0.013359105  19 darkgray NA   2 CRP high
## CRP high.PG160-T0  2.0000000 -0.393721966  19 darkgray NA   2 CRP high
## CRP high.PG1636-T0 1.7739515 -0.090950032  19 darkgray NA   2 CRP high
## CRP high.PG1641-T0 2.0000000 -0.470183319  19 darkgray NA   2 CRP high
## CRP high.PG177-T0  2.0000000 -0.873092224  19 darkgray NA   2 CRP high
## CRP high.PG187-T0  2.1153202 -0.132670920  19 darkgray NA   2 CRP high
## CRP high.PG198-T0  2.1749407 -0.124443678  19 darkgray NA   2 CRP high
## CRP high.PG199-T0  1.9451925 -0.440369517  19 darkgray NA   2 CRP high
## CRP high.PG2016-T0 1.9427738 -0.039237025  19 darkgray NA   2 CRP high
## CRP high.PG2026-T0 2.2853827 -0.199996672  19 darkgray NA   2 CRP high
## CRP high.PG2051-T0 2.0000000  0.212500154  19 darkgray NA   2 CRP high
## CRP high.PG2067-T0 2.1482887 -0.355141133  19 darkgray NA   2 CRP high
## CRP high.PG2088-T0 2.0551828 -0.540898277  19 darkgray NA   2 CRP high
## CRP high.PG218-T0  1.9074301 -0.213166201  19 darkgray NA   2 CRP high
## CRP high.PG2433-T0 2.0000000 -0.684167236  19 darkgray NA   2 CRP high
## CRP high.PG2437-T0 2.0561469 -0.444351791  19 darkgray NA   2 CRP high
## CRP high.PG3204-T0 1.8806633 -0.281864344  19 darkgray NA   2 CRP high
## CRP high.PG3244-T0 2.0301636 -0.012111033  19 darkgray NA   2 CRP high
## CRP high.PG3609-T0 2.0708585 -0.181866086  19 darkgray NA   2 CRP high
## CRP high.PG3627-T0 1.8289566 -0.244698450  19 darkgray NA   2 CRP high
## CRP high.PG440-T0  2.0000000 -0.296808338  19 darkgray NA   2 CRP high
## CRP high.PG451-T0  2.1661611 -0.212767964  19 darkgray NA   2 CRP high
## CRP high.PG460-T0  2.0263354 -0.230978368  19 darkgray NA   2 CRP high
## CRP high.PG805-T0  1.6593647 -0.180848923  19 darkgray NA   2 CRP high
## CRP high.PG822-T0  2.2261549 -0.211713316  19 darkgray NA   2 CRP high
## CRP high.PG828-T0  2.0643988 -0.289379302  19 darkgray NA   2 CRP high
## CRP high.PG830-T0  1.9962225 -0.072526490  19 darkgray NA   2 CRP high
##                          y.orig
## CRP low.3166-T0     1.145077540
## CRP low.3167-T0     1.130736202
## CRP low.3171-T0     0.052814088
## CRP low.3173-T0     1.042805339
## CRP low.3174-T0     1.187759222
## CRP low.3178-T0     0.800008002
## CRP low.3188-T0     0.492497047
## CRP low.3192-T0     0.030627222
## CRP low.3194-T0    -0.246420080
## CRP low.PG004-T0   -1.000000000
## CRP low.PG012-T0   -0.185011173
## CRP low.PG022-T0   -0.407127952
## CRP low.PG086-T0   -0.137744433
## CRP low.PG138-T0   -0.313644185
## CRP low.PG1410-T0  -0.306664922
## CRP low.PG1415-T0  -0.250768987
## CRP low.PG1432-T0   0.044427314
## CRP low.PG1445-T0  -0.308079612
## CRP low.PG1460-T0  -0.008696004
## CRP low.PG1481-T0  -0.075816224
## CRP low.PG1488-T0  -0.436596199
## CRP low.PG1496-T0  -0.306574880
## CRP low.PG1497-T0  -0.450613079
## CRP low.PG1502-T0  -0.216461965
## CRP low.PG1504-T0   0.109098229
## CRP low.PG1513-T0  -0.057517438
## CRP low.PG1601-T0  -0.415773250
## CRP low.PG1643-T0   0.139168423
## CRP low.PG1648-T0   0.196450477
## CRP low.PG2006-T0  -0.005210370
## CRP low.PG2020-T0  -0.444474083
## CRP low.PG2022-T0  -0.431491573
## CRP low.PG2066-T0  -0.341321215
## CRP low.PG2072-T0  -0.139143716
## CRP low.PG2076-T0  -0.189483717
## CRP low.PG2079-T0  -0.176722680
## CRP low.PG2085-T0  -0.077836553
## CRP low.PG2090-T0  -0.416308975
## CRP low.PG2094-T0   0.683351164
## CRP low.PG2095-T0  -0.522662011
## CRP low.PG2096-T0  -0.367827777
## CRP low.PG2102-T0   0.034955139
## CRP low.PG212-T0   -0.194901417
## CRP low.PG219-T0   -0.010894262
## CRP low.PG3233-T0  -0.117803835
## CRP low.PG3234-T0   0.119681571
## CRP low.PG3258-T0   0.082973763
## CRP low.PG3634-T0  -0.199623941
## CRP low.PG437-T0   -0.348709366
## CRP low.PG453-T0   -0.544202033
## CRP low.PG686-T0   -0.262060347
## CRP low.PG702-T0   -0.356577049
## CRP low.PG808-T0   -0.278387114
## CRP low.PG814-T0    0.065472482
## CRP low.PG815-T0   -0.230247725
## CRP low.PG842-T0   -0.179021349
## CRP high.3172-T0    0.037122642
## CRP high.3176-T0    0.041735136
## CRP high.3179-T0    0.121560464
## CRP high.3189-T0    0.781659088
## CRP high.PG002-T0  -0.207358626
## CRP high.PG013-T0   0.276140390
## CRP high.PG048-T0   0.013372700
## CRP high.PG053-T0  -0.217841271
## CRP high.PG054-T0  -0.411190720
## CRP high.PG082-T0   0.075397353
## CRP high.PG113-T0  -0.102535160
## CRP high.PG1403-T0 -0.291155561
## CRP high.PG1416-T0 -0.393158575
## CRP high.PG1423-T0 -0.764639814
## CRP high.PG1427-T0 -0.361511333
## CRP high.PG1428-T0 -0.170861956
## CRP high.PG1434-T0 -0.151978059
## CRP high.PG1440-T0  0.069966166
## CRP high.PG1441-T0 -0.256474869
## CRP high.PG1443-T0  0.027463551
## CRP high.PG1446-T0 -0.148450656
## CRP high.PG1452-T0 -0.091931039
## CRP high.PG1459-T0 -0.003726029
## CRP high.PG1461-T0 -0.212240928
## CRP high.PG1471-T0  0.144001447
## CRP high.PG1490-T0 -0.175873308
## CRP high.PG1517-T0 -0.108686897
## CRP high.PG1522-T0 -0.569661183
## CRP high.PG158-T0   0.013359105
## CRP high.PG160-T0  -0.393721966
## CRP high.PG1636-T0 -0.090950032
## CRP high.PG1641-T0 -0.470183319
## CRP high.PG177-T0  -0.873092224
## CRP high.PG187-T0  -0.132670920
## CRP high.PG198-T0  -0.124443678
## CRP high.PG199-T0  -0.440369517
## CRP high.PG2016-T0 -0.039237025
## CRP high.PG2026-T0 -0.199996672
## CRP high.PG2051-T0  0.212500154
## CRP high.PG2067-T0 -0.355141133
## CRP high.PG2088-T0 -0.540898277
## CRP high.PG218-T0  -0.213166201
## CRP high.PG2433-T0 -0.684167236
## CRP high.PG2437-T0 -0.444351791
## CRP high.PG3204-T0 -0.281864344
## CRP high.PG3244-T0 -0.012111033
## CRP high.PG3609-T0 -0.181866086
## CRP high.PG3627-T0 -0.244698450
## CRP high.PG440-T0  -0.296808338
## CRP high.PG451-T0  -0.212767964
## CRP high.PG460-T0  -0.230978368
## CRP high.PG805-T0  -0.180848923
## CRP high.PG822-T0  -0.211713316
## CRP high.PG828-T0  -0.289379302
## CRP high.PG830-T0  -0.072526490
## 
## [[3]]
##                            x            y pch      col bg cex   x.orig
## CRP low.3166-T0    1.0000000  1.796118197  19 darkgray NA   2  CRP low
## CRP low.3167-T0    1.0000000  1.543507965  19 darkgray NA   2  CRP low
## CRP low.3171-T0    1.0461909 -0.284540293  19 darkgray NA   2  CRP low
## CRP low.3173-T0    1.0680057  1.142505633  19 darkgray NA   2  CRP low
## CRP low.3174-T0    1.0000000  1.426202957  19 darkgray NA   2  CRP low
## CRP low.3178-T0    1.0505691  0.211228480  19 darkgray NA   2  CRP low
## CRP low.3188-T0    1.0567809  1.291758189  19 darkgray NA   2  CRP low
## CRP low.3192-T0    1.0492619 -0.160653170  19 darkgray NA   2  CRP low
## CRP low.3194-T0    1.0328463  1.066629585  19 darkgray NA   2  CRP low
## CRP low.PG004-T0   1.0000000 -0.756679154  19 darkgray NA   2  CRP low
## CRP low.PG012-T0   1.0000000  0.160832971  19 darkgray NA   2  CRP low
## CRP low.PG022-T0   0.9904313 -0.664240120  19 darkgray NA   2  CRP low
## CRP low.PG086-T0   1.0045800 -0.492521208  19 darkgray NA   2  CRP low
## CRP low.PG138-T0   1.0000000 -0.079457255  19 darkgray NA   2  CRP low
## CRP low.PG1410-T0  1.0283735  0.870026435  19 darkgray NA   2  CRP low
## CRP low.PG1415-T0  1.2250215 -0.224145947  19 darkgray NA   2  CRP low
## CRP low.PG1432-T0  0.9684574 -0.417755131  19 darkgray NA   2  CRP low
## CRP low.PG1445-T0  1.0000000  0.550996020  19 darkgray NA   2  CRP low
## CRP low.PG1460-T0  0.9646430  0.626648230  19 darkgray NA   2  CRP low
## CRP low.PG1481-T0  0.9836262  0.010626025  19 darkgray NA   2  CRP low
## CRP low.PG1488-T0  1.1128609 -0.285756051  19 darkgray NA   2  CRP low
## CRP low.PG1496-T0  1.0793403 -0.363417620  19 darkgray NA   2  CRP low
## CRP low.PG1497-T0  1.0000000  0.787520544  19 darkgray NA   2  CRP low
## CRP low.PG1502-T0  0.9166435 -0.550913831  19 darkgray NA   2  CRP low
## CRP low.PG1504-T0  0.9604502  0.429679726  19 darkgray NA   2  CRP low
## CRP low.PG1513-T0  1.0596630  0.560905889  19 darkgray NA   2  CRP low
## CRP low.PG1601-T0  1.0000000  0.313648476  19 darkgray NA   2  CRP low
## CRP low.PG1643-T0  1.0349710 -0.601499619  19 darkgray NA   2  CRP low
## CRP low.PG1648-T0  1.0866673  0.106392871  19 darkgray NA   2  CRP low
## CRP low.PG2006-T0  1.0196312  0.664113168  19 darkgray NA   2  CRP low
## CRP low.PG2020-T0  0.8839348  0.243880968  19 darkgray NA   2  CRP low
## CRP low.PG2022-T0  0.9414763 -0.193465420  19 darkgray NA   2  CRP low
## CRP low.PG2066-T0  0.8240981  0.250783315  19 darkgray NA   2  CRP low
## CRP low.PG2072-T0  0.9461372  0.083735529  19 darkgray NA   2  CRP low
## CRP low.PG2076-T0  1.1297819  0.171512807  19 darkgray NA   2  CRP low
## CRP low.PG2079-T0  1.1662567 -0.243048298  19 darkgray NA   2  CRP low
## CRP low.PG2085-T0  1.0361994  0.055750816  19 darkgray NA   2  CRP low
## CRP low.PG2090-T0  0.8017351 -0.242307510  19 darkgray NA   2  CRP low
## CRP low.PG2094-T0  0.9798462  1.110521546  19 darkgray NA   2  CRP low
## CRP low.PG2095-T0  0.9748193 -0.573828076  19 darkgray NA   2  CRP low
## CRP low.PG2096-T0  0.9747314 -0.305866905  19 darkgray NA   2  CRP low
## CRP low.PG2102-T0  0.9146631  0.163455422  19 darkgray NA   2  CRP low
## CRP low.PG212-T0   0.8616688 -0.246707640  19 darkgray NA   2  CRP low
## CRP low.PG219-T0   1.0194234 -0.368343050  19 darkgray NA   2  CRP low
## CRP low.PG3233-T0  1.0522994 -0.710785975  19 darkgray NA   2  CRP low
## CRP low.PG3234-T0  0.9160684 -0.286209877  19 darkgray NA   2  CRP low
## CRP low.PG3258-T0  1.1398005 -0.537039709  19 darkgray NA   2  CRP low
## CRP low.PG3634-T0  1.0000000  0.988269425  19 darkgray NA   2  CRP low
## CRP low.PG437-T0   1.0000000  1.261499632  19 darkgray NA   2  CRP low
## CRP low.PG453-T0   1.0554395 -0.043649058  19 darkgray NA   2  CRP low
## CRP low.PG686-T0   1.0000000 -0.214109131  19 darkgray NA   2  CRP low
## CRP low.PG702-T0   1.0798179 -0.539294313  19 darkgray NA   2  CRP low
## CRP low.PG808-T0   1.0179616  0.402991742  19 darkgray NA   2  CRP low
## CRP low.PG814-T0   1.1633778  0.249095060  19 darkgray NA   2  CRP low
## CRP low.PG815-T0   0.9608194  0.231749163  19 darkgray NA   2  CRP low
## CRP low.PG842-T0   1.0000000 -0.887433105  19 darkgray NA   2  CRP low
## CRP high.3172-T0   2.0571457  0.745006538  19 darkgray NA   2 CRP high
## CRP high.3176-T0   2.0000000  1.007754933  19 darkgray NA   2 CRP high
## CRP high.3179-T0   2.0128426  1.099222247  19 darkgray NA   2 CRP high
## CRP high.3189-T0   1.8857613  0.023451679  19 darkgray NA   2 CRP high
## CRP high.PG002-T0  1.8926429  0.400700476  19 darkgray NA   2 CRP high
## CRP high.PG013-T0  2.1714913  0.046706211  19 darkgray NA   2 CRP high
## CRP high.PG048-T0  2.0172376  0.069868985  19 darkgray NA   2 CRP high
## CRP high.PG053-T0  2.0000000  0.341330004  19 darkgray NA   2 CRP high
## CRP high.PG054-T0  1.9310851 -0.304542466  19 darkgray NA   2 CRP high
## CRP high.PG082-T0  1.8554681 -0.172608225  19 darkgray NA   2 CRP high
## CRP high.PG113-T0  1.8895794 -0.527157948  19 darkgray NA   2 CRP high
## CRP high.PG1403-T0 2.1014767 -0.488847169  19 darkgray NA   2 CRP high
## CRP high.PG1416-T0 1.9154039 -0.176938972  19 darkgray NA   2 CRP high
## CRP high.PG1423-T0 2.0578314 -0.553100396  19 darkgray NA   2 CRP high
## CRP high.PG1427-T0 2.0000000 -1.000000000  19 darkgray NA   2 CRP high
## CRP high.PG1428-T0 2.0000000 -0.578047243  19 darkgray NA   2 CRP high
## CRP high.PG1434-T0 1.8018476 -0.130591695  19 darkgray NA   2 CRP high
## CRP high.PG1440-T0 2.0599860 -0.017798974  19 darkgray NA   2 CRP high
## CRP high.PG1441-T0 1.9280844  0.195022588  19 darkgray NA   2 CRP high
## CRP high.PG1443-T0 2.0774672 -0.182506032  19 darkgray NA   2 CRP high
## CRP high.PG1446-T0 1.9841849  0.228918630  19 darkgray NA   2 CRP high
## CRP high.PG1452-T0 2.1185309  0.002697761  19 darkgray NA   2 CRP high
## CRP high.PG1459-T0 2.1969806 -0.165658239  19 darkgray NA   2 CRP high
## CRP high.PG1461-T0 2.0000000  0.612503484  19 darkgray NA   2 CRP high
## CRP high.PG1471-T0 2.0599997  0.501231635  19 darkgray NA   2 CRP high
## CRP high.PG1490-T0 2.0545659 -0.365773939  19 darkgray NA   2 CRP high
## CRP high.PG1517-T0 2.0271245  0.163517777  19 darkgray NA   2 CRP high
## CRP high.PG1522-T0 1.9526306  0.398801198  19 darkgray NA   2 CRP high
## CRP high.PG158-T0  2.1236205  0.240294514  19 darkgray NA   2 CRP high
## CRP high.PG160-T0  2.2507892 -0.124231344  19 darkgray NA   2 CRP high
## CRP high.PG1636-T0 1.7436476 -0.107828032  19 darkgray NA   2 CRP high
## CRP high.PG1641-T0 2.0000000  0.500924279  19 darkgray NA   2 CRP high
## CRP high.PG177-T0  2.0636415  0.237815768  19 darkgray NA   2 CRP high
## CRP high.PG187-T0  2.1372247 -0.174095548  19 darkgray NA   2 CRP high
## CRP high.PG198-T0  2.0599534 -0.753080067  19 darkgray NA   2 CRP high
## CRP high.PG199-T0  2.0000000 -0.756771072  19 darkgray NA   2 CRP high
## CRP high.PG2016-T0 2.0345928 -0.248011080  19 darkgray NA   2 CRP high
## CRP high.PG2026-T0 1.9400387 -0.016457810  19 darkgray NA   2 CRP high
## CRP high.PG2051-T0 2.1517565 -0.269639195  19 darkgray NA   2 CRP high
## CRP high.PG2067-T0 1.8831029  0.256990565  19 darkgray NA   2 CRP high
## CRP high.PG2088-T0 2.0041150 -0.154292399  19 darkgray NA   2 CRP high
## CRP high.PG218-T0  1.9495794 -0.527290742  19 darkgray NA   2 CRP high
## CRP high.PG2433-T0 2.1107625  0.551150611  19 darkgray NA   2 CRP high
## CRP high.PG2437-T0 2.0599208  0.346139173  19 darkgray NA   2 CRP high
## CRP high.PG3204-T0 1.9908861 -0.312162499  19 darkgray NA   2 CRP high
## CRP high.PG3244-T0 1.9661762 -0.226834469  19 darkgray NA   2 CRP high
## CRP high.PG3609-T0 2.0000000 -0.019820973  19 darkgray NA   2 CRP high
## CRP high.PG3627-T0 2.0940470 -0.295264831  19 darkgray NA   2 CRP high
## CRP high.PG440-T0  1.9711454  0.129816337  19 darkgray NA   2 CRP high
## CRP high.PG451-T0  1.8251714  0.281365446  19 darkgray NA   2 CRP high
## CRP high.PG460-T0  1.9645433 -0.681232614  19 darkgray NA   2 CRP high
## CRP high.PG805-T0  1.8724939 -0.284370620  19 darkgray NA   2 CRP high
## CRP high.PG822-T0  2.0000000 -0.404713391  19 darkgray NA   2 CRP high
## CRP high.PG828-T0  1.9435364  0.532596317  19 darkgray NA   2 CRP high
## CRP high.PG830-T0  2.0000000  0.716469582  19 darkgray NA   2 CRP high
##                          y.orig
## CRP low.3166-T0     1.796118197
## CRP low.3167-T0     1.543507965
## CRP low.3171-T0    -0.284540293
## CRP low.3173-T0     1.142505633
## CRP low.3174-T0     1.426202957
## CRP low.3178-T0     0.211228480
## CRP low.3188-T0     1.291758189
## CRP low.3192-T0    -0.160653170
## CRP low.3194-T0     1.066629585
## CRP low.PG004-T0   -0.756679154
## CRP low.PG012-T0    0.160832971
## CRP low.PG022-T0   -0.664240120
## CRP low.PG086-T0   -0.492521208
## CRP low.PG138-T0   -0.079457255
## CRP low.PG1410-T0   0.870026435
## CRP low.PG1415-T0  -0.224145947
## CRP low.PG1432-T0  -0.417755131
## CRP low.PG1445-T0   0.550996020
## CRP low.PG1460-T0   0.626648230
## CRP low.PG1481-T0   0.010626025
## CRP low.PG1488-T0  -0.285756051
## CRP low.PG1496-T0  -0.363417620
## CRP low.PG1497-T0   0.787520544
## CRP low.PG1502-T0  -0.550913831
## CRP low.PG1504-T0   0.429679726
## CRP low.PG1513-T0   0.560905889
## CRP low.PG1601-T0   0.313648476
## CRP low.PG1643-T0  -0.601499619
## CRP low.PG1648-T0   0.106392871
## CRP low.PG2006-T0   0.664113168
## CRP low.PG2020-T0   0.243880968
## CRP low.PG2022-T0  -0.193465420
## CRP low.PG2066-T0   0.250783315
## CRP low.PG2072-T0   0.083735529
## CRP low.PG2076-T0   0.171512807
## CRP low.PG2079-T0  -0.243048298
## CRP low.PG2085-T0   0.055750816
## CRP low.PG2090-T0  -0.242307510
## CRP low.PG2094-T0   1.110521546
## CRP low.PG2095-T0  -0.573828076
## CRP low.PG2096-T0  -0.305866905
## CRP low.PG2102-T0   0.163455422
## CRP low.PG212-T0   -0.246707640
## CRP low.PG219-T0   -0.368343050
## CRP low.PG3233-T0  -0.710785975
## CRP low.PG3234-T0  -0.286209877
## CRP low.PG3258-T0  -0.537039709
## CRP low.PG3634-T0   0.988269425
## CRP low.PG437-T0    1.261499632
## CRP low.PG453-T0   -0.043649058
## CRP low.PG686-T0   -0.214109131
## CRP low.PG702-T0   -0.539294313
## CRP low.PG808-T0    0.402991742
## CRP low.PG814-T0    0.249095060
## CRP low.PG815-T0    0.231749163
## CRP low.PG842-T0   -0.887433105
## CRP high.3172-T0    0.745006538
## CRP high.3176-T0    1.007754933
## CRP high.3179-T0    1.099222247
## CRP high.3189-T0    0.023451679
## CRP high.PG002-T0   0.400700476
## CRP high.PG013-T0   0.046706211
## CRP high.PG048-T0   0.069868985
## CRP high.PG053-T0   0.341330004
## CRP high.PG054-T0  -0.304542466
## CRP high.PG082-T0  -0.172608225
## CRP high.PG113-T0  -0.527157948
## CRP high.PG1403-T0 -0.488847169
## CRP high.PG1416-T0 -0.176938972
## CRP high.PG1423-T0 -0.553100396
## CRP high.PG1427-T0 -1.000000000
## CRP high.PG1428-T0 -0.578047243
## CRP high.PG1434-T0 -0.130591695
## CRP high.PG1440-T0 -0.017798974
## CRP high.PG1441-T0  0.195022588
## CRP high.PG1443-T0 -0.182506032
## CRP high.PG1446-T0  0.228918630
## CRP high.PG1452-T0  0.002697761
## CRP high.PG1459-T0 -0.165658239
## CRP high.PG1461-T0  0.612503484
## CRP high.PG1471-T0  0.501231635
## CRP high.PG1490-T0 -0.365773939
## CRP high.PG1517-T0  0.163517777
## CRP high.PG1522-T0  0.398801198
## CRP high.PG158-T0   0.240294514
## CRP high.PG160-T0  -0.124231344
## CRP high.PG1636-T0 -0.107828032
## CRP high.PG1641-T0  0.500924279
## CRP high.PG177-T0   0.237815768
## CRP high.PG187-T0  -0.174095548
## CRP high.PG198-T0  -0.753080067
## CRP high.PG199-T0  -0.756771072
## CRP high.PG2016-T0 -0.248011080
## CRP high.PG2026-T0 -0.016457810
## CRP high.PG2051-T0 -0.269639195
## CRP high.PG2067-T0  0.256990565
## CRP high.PG2088-T0 -0.154292399
## CRP high.PG218-T0  -0.527290742
## CRP high.PG2433-T0  0.551150611
## CRP high.PG2437-T0  0.346139173
## CRP high.PG3204-T0 -0.312162499
## CRP high.PG3244-T0 -0.226834469
## CRP high.PG3609-T0 -0.019820973
## CRP high.PG3627-T0 -0.295264831
## CRP high.PG440-T0   0.129816337
## CRP high.PG451-T0   0.281365446
## CRP high.PG460-T0  -0.681232614
## CRP high.PG805-T0  -0.284370620
## CRP high.PG822-T0  -0.404713391
## CRP high.PG828-T0   0.532596317
## CRP high.PG830-T0   0.716469582
## 
## [[4]]
##                            x            y pch      col bg cex   x.orig
## CRP low.3166-T0    1.0000000  1.134743282  19 darkgray NA   2  CRP low
## CRP low.3167-T0    1.0000000  1.327923782  19 darkgray NA   2  CRP low
## CRP low.3171-T0    0.9726384  0.690502438  19 darkgray NA   2  CRP low
## CRP low.3173-T0    1.0000000  0.808971335  19 darkgray NA   2  CRP low
## CRP low.3174-T0    1.0270323  0.717205773  19 darkgray NA   2  CRP low
## CRP low.3178-T0    1.0574085  1.346317163  19 darkgray NA   2  CRP low
## CRP low.3188-T0    1.0000000  1.428695449  19 darkgray NA   2  CRP low
## CRP low.3192-T0    0.8567910  0.162965851  19 darkgray NA   2  CRP low
## CRP low.3194-T0    0.9870798  0.438749575  19 darkgray NA   2  CRP low
## CRP low.PG004-T0   1.0000000 -0.358513039  19 darkgray NA   2  CRP low
## CRP low.PG012-T0   1.0883641  0.357531870  19 darkgray NA   2  CRP low
## CRP low.PG022-T0   0.9360956  0.176035405  19 darkgray NA   2  CRP low
## CRP low.PG086-T0   1.0376194  0.404650038  19 darkgray NA   2  CRP low
## CRP low.PG138-T0   1.0599978 -0.005648355  19 darkgray NA   2  CRP low
## CRP low.PG1410-T0  0.9226353  0.725470302  19 darkgray NA   2  CRP low
## CRP low.PG1415-T0  0.9133227  0.319592933  19 darkgray NA   2  CRP low
## CRP low.PG1432-T0  1.0904823  0.434577559  19 darkgray NA   2  CRP low
## CRP low.PG1445-T0  0.7975651  0.249123153  19 darkgray NA   2  CRP low
## CRP low.PG1460-T0  1.0465944  0.312112645  19 darkgray NA   2  CRP low
## CRP low.PG1481-T0  0.9473379  0.385681000  19 darkgray NA   2  CRP low
## CRP low.PG1488-T0  1.0181273  0.131520177  19 darkgray NA   2  CRP low
## CRP low.PG1496-T0  0.9592907  0.117686058  19 darkgray NA   2  CRP low
## CRP low.PG1497-T0  0.8568325  0.239266540  19 darkgray NA   2  CRP low
## CRP low.PG1502-T0  1.2085971  0.169518285  19 darkgray NA   2  CRP low
## CRP low.PG1504-T0  1.2642998  0.392899952  19 darkgray NA   2  CRP low
## CRP low.PG1513-T0  1.2571792  0.271651340  19 darkgray NA   2  CRP low
## CRP low.PG1601-T0  0.8708580  0.468210869  19 darkgray NA   2  CRP low
## CRP low.PG1643-T0  0.9277328  0.448058277  19 darkgray NA   2  CRP low
## CRP low.PG1648-T0  1.0593318  0.080624465  19 darkgray NA   2  CRP low
## CRP low.PG2006-T0  0.9937890  0.198691151  19 darkgray NA   2  CRP low
## CRP low.PG2020-T0  1.0520771  0.183686175  19 darkgray NA   2  CRP low
## CRP low.PG2022-T0  0.9167487  0.235924268  19 darkgray NA   2  CRP low
## CRP low.PG2066-T0  1.0000000  0.355362392  19 darkgray NA   2  CRP low
## CRP low.PG2072-T0  1.0000000  0.634195887  19 darkgray NA   2  CRP low
## CRP low.PG2076-T0  1.1478390  0.365884110  19 darkgray NA   2  CRP low
## CRP low.PG2079-T0  1.1508680  0.152276796  19 darkgray NA   2  CRP low
## CRP low.PG2085-T0  0.8093495  0.369439159  19 darkgray NA   2  CRP low
## CRP low.PG2090-T0  0.9634270  0.284786365  19 darkgray NA   2  CRP low
## CRP low.PG2094-T0  1.0349554  1.186165534  19 darkgray NA   2  CRP low
## CRP low.PG2095-T0  0.7515757  0.386513312  19 darkgray NA   2  CRP low
## CRP low.PG2096-T0  0.8689537  0.362183406  19 darkgray NA   2  CRP low
## CRP low.PG2102-T0  1.0558000  0.657450711  19 darkgray NA   2  CRP low
## CRP low.PG212-T0   1.1972231  0.269232833  19 darkgray NA   2  CRP low
## CRP low.PG219-T0   1.2046262  0.386309653  19 darkgray NA   2  CRP low
## CRP low.PG3233-T0  0.7443250  0.278297610  19 darkgray NA   2  CRP low
## CRP low.PG3234-T0  1.0000000  0.071208556  19 darkgray NA   2  CRP low
## CRP low.PG3258-T0  0.7396876  0.184071582  19 darkgray NA   2  CRP low
## CRP low.PG3634-T0  1.0836658  0.237476074  19 darkgray NA   2  CRP low
## CRP low.PG437-T0   1.0000000 -0.006188578  19 darkgray NA   2  CRP low
## CRP low.PG453-T0   0.7968142  0.164727032  19 darkgray NA   2  CRP low
## CRP low.PG686-T0   0.6972256  0.413315535  19 darkgray NA   2  CRP low
## CRP low.PG702-T0   1.0000000 -0.228362837  19 darkgray NA   2  CRP low
## CRP low.PG808-T0   1.1435782  0.240894816  19 darkgray NA   2  CRP low
## CRP low.PG814-T0   1.0172869  0.256905584  19 darkgray NA   2  CRP low
## CRP low.PG815-T0   1.0939336  0.132311921  19 darkgray NA   2  CRP low
## CRP low.PG842-T0   0.8992936  0.118308976  19 darkgray NA   2  CRP low
## CRP high.3172-T0   2.2102702  0.269196378  19 darkgray NA   2 CRP high
## CRP high.3176-T0   1.9431457  0.569405847  19 darkgray NA   2 CRP high
## CRP high.3179-T0   2.0000000  0.615326105  19 darkgray NA   2 CRP high
## CRP high.3189-T0   2.0000000  1.530745476  19 darkgray NA   2 CRP high
## CRP high.PG002-T0  1.7087106  0.122725173  19 darkgray NA   2 CRP high
## CRP high.PG013-T0  2.0737464  0.247816608  19 darkgray NA   2 CRP high
## CRP high.PG048-T0  1.9647961  0.422111214  19 darkgray NA   2 CRP high
## CRP high.PG053-T0  2.0000000  0.930133584  19 darkgray NA   2 CRP high
## CRP high.PG054-T0  2.0051745  0.468908593  19 darkgray NA   2 CRP high
## CRP high.PG082-T0  2.1160528  0.196161444  19 darkgray NA   2 CRP high
## CRP high.PG113-T0  2.0195799  0.140156113  19 darkgray NA   2 CRP high
## CRP high.PG1403-T0 1.8261657  0.100259488  19 darkgray NA   2 CRP high
## CRP high.PG1416-T0 2.1196317  0.090163950  19 darkgray NA   2 CRP high
## CRP high.PG1423-T0 2.2380950  0.109545028  19 darkgray NA   2 CRP high
## CRP high.PG1427-T0 2.3542182  0.135308664  19 darkgray NA   2 CRP high
## CRP high.PG1428-T0 2.0095957  0.380024792  19 darkgray NA   2 CRP high
## CRP high.PG1434-T0 1.7663437  0.105130248  19 darkgray NA   2 CRP high
## CRP high.PG1440-T0 2.0000000  0.317570944  19 darkgray NA   2 CRP high
## CRP high.PG1441-T0 1.7840010  0.274424309  19 darkgray NA   2 CRP high
## CRP high.PG1443-T0 1.6497178  0.134269096  19 darkgray NA   2 CRP high
## CRP high.PG1446-T0 1.9979344  0.254249831  19 darkgray NA   2 CRP high
## CRP high.PG1452-T0 2.0000000  0.080351515  19 darkgray NA   2 CRP high
## CRP high.PG1459-T0 1.9420308  0.333892208  19 darkgray NA   2 CRP high
## CRP high.PG1461-T0 2.0474807 -0.008706865  19 darkgray NA   2 CRP high
## CRP high.PG1471-T0 1.9025831  0.153964322  19 darkgray NA   2 CRP high
## CRP high.PG1490-T0 2.1019932  0.460560566  19 darkgray NA   2 CRP high
## CRP high.PG1517-T0 2.2663687  0.291638467  19 darkgray NA   2 CRP high
## CRP high.PG1522-T0 1.9750857  0.182601162  19 darkgray NA   2 CRP high
## CRP high.PG158-T0  1.8775218  0.211449233  19 darkgray NA   2 CRP high
## CRP high.PG160-T0  2.1048640  0.372464918  19 darkgray NA   2 CRP high
## CRP high.PG1636-T0 1.9323591  0.049298842  19 darkgray NA   2 CRP high
## CRP high.PG1641-T0 1.8850738  0.088244368  19 darkgray NA   2 CRP high
## CRP high.PG177-T0  2.0540656  0.422498201  19 darkgray NA   2 CRP high
## CRP high.PG187-T0  2.0000000  0.704156134  19 darkgray NA   2 CRP high
## CRP high.PG198-T0  2.0321177  0.202253645  19 darkgray NA   2 CRP high
## CRP high.PG199-T0  1.8684712  0.335380792  19 darkgray NA   2 CRP high
## CRP high.PG2016-T0 1.9028327  0.283515314  19 darkgray NA   2 CRP high
## CRP high.PG2026-T0 1.9171247  0.460529731  19 darkgray NA   2 CRP high
## CRP high.PG2051-T0 2.1784531  0.102642355  19 darkgray NA   2 CRP high
## CRP high.PG2067-T0 2.1583259  0.482340671  19 darkgray NA   2 CRP high
## CRP high.PG2088-T0 2.1133547  0.590363197  19 darkgray NA   2 CRP high
## CRP high.PG218-T0  1.8430556  0.263237332  19 darkgray NA   2 CRP high
## CRP high.PG2433-T0 1.8601669  0.480420122  19 darkgray NA   2 CRP high
## CRP high.PG2437-T0 2.2943195  0.131633810  19 darkgray NA   2 CRP high
## CRP high.PG3204-T0 2.0575082  0.567232849  19 darkgray NA   2 CRP high
## CRP high.PG3244-T0 2.0000000 -0.047387160  19 darkgray NA   2 CRP high
## CRP high.PG3609-T0 1.9813276  0.012739291  19 darkgray NA   2 CRP high
## CRP high.PG3627-T0 2.1126256  0.296004954  19 darkgray NA   2 CRP high
## CRP high.PG440-T0  2.0000000  0.549189028  19 darkgray NA   2 CRP high
## CRP high.PG451-T0  2.0582868  0.332581973  19 darkgray NA   2 CRP high
## CRP high.PG460-T0  2.0793106  0.146143435  19 darkgray NA   2 CRP high
## CRP high.PG805-T0  2.0597659  0.085934754  19 darkgray NA   2 CRP high
## CRP high.PG822-T0  1.9407774  0.234505729  19 darkgray NA   2 CRP high
## CRP high.PG828-T0  2.1551828  0.244123563  19 darkgray NA   2 CRP high
## CRP high.PG830-T0  1.9530503  0.119745932  19 darkgray NA   2 CRP high
##                          y.orig
## CRP low.3166-T0     1.134743282
## CRP low.3167-T0     1.327923782
## CRP low.3171-T0     0.690502438
## CRP low.3173-T0     0.808971335
## CRP low.3174-T0     0.717205773
## CRP low.3178-T0     1.346317163
## CRP low.3188-T0     1.428695449
## CRP low.3192-T0     0.162965851
## CRP low.3194-T0     0.438749575
## CRP low.PG004-T0   -0.358513039
## CRP low.PG012-T0    0.357531870
## CRP low.PG022-T0    0.176035405
## CRP low.PG086-T0    0.404650038
## CRP low.PG138-T0   -0.005648355
## CRP low.PG1410-T0   0.725470302
## CRP low.PG1415-T0   0.319592933
## CRP low.PG1432-T0   0.434577559
## CRP low.PG1445-T0   0.249123153
## CRP low.PG1460-T0   0.312112645
## CRP low.PG1481-T0   0.385681000
## CRP low.PG1488-T0   0.131520177
## CRP low.PG1496-T0   0.117686058
## CRP low.PG1497-T0   0.239266540
## CRP low.PG1502-T0   0.169518285
## CRP low.PG1504-T0   0.392899952
## CRP low.PG1513-T0   0.271651340
## CRP low.PG1601-T0   0.468210869
## CRP low.PG1643-T0   0.448058277
## CRP low.PG1648-T0   0.080624465
## CRP low.PG2006-T0   0.198691151
## CRP low.PG2020-T0   0.183686175
## CRP low.PG2022-T0   0.235924268
## CRP low.PG2066-T0   0.355362392
## CRP low.PG2072-T0   0.634195887
## CRP low.PG2076-T0   0.365884110
## CRP low.PG2079-T0   0.152276796
## CRP low.PG2085-T0   0.369439159
## CRP low.PG2090-T0   0.284786365
## CRP low.PG2094-T0   1.186165534
## CRP low.PG2095-T0   0.386513312
## CRP low.PG2096-T0   0.362183406
## CRP low.PG2102-T0   0.657450711
## CRP low.PG212-T0    0.269232833
## CRP low.PG219-T0    0.386309653
## CRP low.PG3233-T0   0.278297610
## CRP low.PG3234-T0   0.071208556
## CRP low.PG3258-T0   0.184071582
## CRP low.PG3634-T0   0.237476074
## CRP low.PG437-T0   -0.006188578
## CRP low.PG453-T0    0.164727032
## CRP low.PG686-T0    0.413315535
## CRP low.PG702-T0   -0.228362837
## CRP low.PG808-T0    0.240894816
## CRP low.PG814-T0    0.256905584
## CRP low.PG815-T0    0.132311921
## CRP low.PG842-T0    0.118308976
## CRP high.3172-T0    0.269196378
## CRP high.3176-T0    0.569405847
## CRP high.3179-T0    0.615326105
## CRP high.3189-T0    1.530745476
## CRP high.PG002-T0   0.122725173
## CRP high.PG013-T0   0.247816608
## CRP high.PG048-T0   0.422111214
## CRP high.PG053-T0   0.930133584
## CRP high.PG054-T0   0.468908593
## CRP high.PG082-T0   0.196161444
## CRP high.PG113-T0   0.140156113
## CRP high.PG1403-T0  0.100259488
## CRP high.PG1416-T0  0.090163950
## CRP high.PG1423-T0  0.109545028
## CRP high.PG1427-T0  0.135308664
## CRP high.PG1428-T0  0.380024792
## CRP high.PG1434-T0  0.105130248
## CRP high.PG1440-T0  0.317570944
## CRP high.PG1441-T0  0.274424309
## CRP high.PG1443-T0  0.134269096
## CRP high.PG1446-T0  0.254249831
## CRP high.PG1452-T0  0.080351515
## CRP high.PG1459-T0  0.333892208
## CRP high.PG1461-T0 -0.008706865
## CRP high.PG1471-T0  0.153964322
## CRP high.PG1490-T0  0.460560566
## CRP high.PG1517-T0  0.291638467
## CRP high.PG1522-T0  0.182601162
## CRP high.PG158-T0   0.211449233
## CRP high.PG160-T0   0.372464918
## CRP high.PG1636-T0  0.049298842
## CRP high.PG1641-T0  0.088244368
## CRP high.PG177-T0   0.422498201
## CRP high.PG187-T0   0.704156134
## CRP high.PG198-T0   0.202253645
## CRP high.PG199-T0   0.335380792
## CRP high.PG2016-T0  0.283515314
## CRP high.PG2026-T0  0.460529731
## CRP high.PG2051-T0  0.102642355
## CRP high.PG2067-T0  0.482340671
## CRP high.PG2088-T0  0.590363197
## CRP high.PG218-T0   0.263237332
## CRP high.PG2433-T0  0.480420122
## CRP high.PG2437-T0  0.131633810
## CRP high.PG3204-T0  0.567232849
## CRP high.PG3244-T0 -0.047387160
## CRP high.PG3609-T0  0.012739291
## CRP high.PG3627-T0  0.296004954
## CRP high.PG440-T0   0.549189028
## CRP high.PG451-T0   0.332581973
## CRP high.PG460-T0   0.146143435
## CRP high.PG805-T0   0.085934754
## CRP high.PG822-T0   0.234505729
## CRP high.PG828-T0   0.244123563
## CRP high.PG830-T0   0.119745932
## 
## [[5]]
##                            x           y pch      col bg cex   x.orig
## CRP low.3166-T0    1.0000000  1.43939498  19 darkgray NA   2  CRP low
## CRP low.3167-T0    0.9459485  0.99669022  19 darkgray NA   2  CRP low
## CRP low.3171-T0    1.0587806 -0.48315262  19 darkgray NA   2  CRP low
## CRP low.3173-T0    1.0598889  0.96619668  19 darkgray NA   2  CRP low
## CRP low.3174-T0    1.0000000  0.96122682  19 darkgray NA   2  CRP low
## CRP low.3178-T0    1.0000000  0.33874730  19 darkgray NA   2  CRP low
## CRP low.3188-T0    1.0000000  0.44243302  19 darkgray NA   2  CRP low
## CRP low.3192-T0    0.6868862 -0.62158446  19 darkgray NA   2  CRP low
## CRP low.3194-T0    1.0554240 -0.24642008  19 darkgray NA   2  CRP low
## CRP low.PG004-T0   0.8841291 -0.67229175  19 darkgray NA   2  CRP low
## CRP low.PG012-T0   1.0000000 -0.62291526  19 darkgray NA   2  CRP low
## CRP low.PG022-T0   0.7682357 -0.72702665  19 darkgray NA   2  CRP low
## CRP low.PG086-T0   0.7874851 -0.49252121  19 darkgray NA   2  CRP low
## CRP low.PG138-T0   1.1758902 -0.75169010  19 darkgray NA   2  CRP low
## CRP low.PG1410-T0  1.0503223 -0.57842729  19 darkgray NA   2  CRP low
## CRP low.PG1415-T0  1.0565526 -0.76706387  19 darkgray NA   2  CRP low
## CRP low.PG1432-T0  1.1756667 -0.65575400  19 darkgray NA   2  CRP low
## CRP low.PG1445-T0  1.0000000 -0.27771077  19 darkgray NA   2  CRP low
## CRP low.PG1460-T0  0.8250817 -0.75316418  19 darkgray NA   2  CRP low
## CRP low.PG1481-T0  0.8849011 -0.75949686  19 darkgray NA   2  CRP low
## CRP low.PG1488-T0  1.1631537 -0.53767167  19 darkgray NA   2  CRP low
## CRP low.PG1496-T0  1.0000000 -0.79435565  19 darkgray NA   2  CRP low
## CRP low.PG1497-T0  1.3816739 -0.61026415  19 darkgray NA   2  CRP low
## CRP low.PG1502-T0  1.0838644 -0.40894273  19 darkgray NA   2  CRP low
## CRP low.PG1504-T0  1.3285389 -0.64820829  19 darkgray NA   2  CRP low
## CRP low.PG1513-T0  1.0000000 -0.88260188  19 darkgray NA   2  CRP low
## CRP low.PG1601-T0  0.6270134 -0.61626752  19 darkgray NA   2  CRP low
## CRP low.PG1643-T0  0.8973567 -0.54075308  19 darkgray NA   2  CRP low
## CRP low.PG1648-T0  0.9440312 -0.67695542  19 darkgray NA   2  CRP low
## CRP low.PG2006-T0  1.2129596 -0.49211906  19 darkgray NA   2  CRP low
## CRP low.PG2020-T0  1.2853840 -0.70496358  19 darkgray NA   2  CRP low
## CRP low.PG2022-T0  1.1161309 -0.66589561  19 darkgray NA   2  CRP low
## CRP low.PG2066-T0  1.2253853 -0.70551389  19 darkgray NA   2  CRP low
## CRP low.PG2072-T0  0.9705712 -0.20652060  19 darkgray NA   2  CRP low
## CRP low.PG2076-T0  1.1189982 -0.86509601  19 darkgray NA   2  CRP low
## CRP low.PG2079-T0  1.1031732 -0.53975479  19 darkgray NA   2  CRP low
## CRP low.PG2085-T0  0.9524603 -0.57307580  19 darkgray NA   2  CRP low
## CRP low.PG2090-T0  0.9149280 -0.17595966  19 darkgray NA   2  CRP low
## CRP low.PG2094-T0  1.0000000  0.70422473  19 darkgray NA   2  CRP low
## CRP low.PG2095-T0  0.8801697 -0.87497998  19 darkgray NA   2  CRP low
## CRP low.PG2096-T0  0.9060948 -0.40247303  19 darkgray NA   2  CRP low
## CRP low.PG2102-T0  0.7129968 -0.69513488  19 darkgray NA   2  CRP low
## CRP low.PG212-T0   1.0573990 -0.68260182  19 darkgray NA   2  CRP low
## CRP low.PG219-T0   0.9448703 -0.76211563  19 darkgray NA   2  CRP low
## CRP low.PG3233-T0  0.7638508 -0.64555373  19 darkgray NA   2  CRP low
## CRP low.PG3234-T0  1.0000000 -1.00000000  19 darkgray NA   2  CRP low
## CRP low.PG3258-T0  1.0000000 -0.41390401  19 darkgray NA   2  CRP low
## CRP low.PG3634-T0  1.2528384 -0.63287530  19 darkgray NA   2  CRP low
## CRP low.PG437-T0   0.8373942 -0.53786373  19 darkgray NA   2  CRP low
## CRP low.PG453-T0   1.0000000 -0.49953869  19 darkgray NA   2  CRP low
## CRP low.PG686-T0   1.0599615 -0.87967526  19 darkgray NA   2  CRP low
## CRP low.PG702-T0   1.1159591 -0.75560198  19 darkgray NA   2  CRP low
## CRP low.PG808-T0   0.9401562 -0.87671134  19 darkgray NA   2  CRP low
## CRP low.PG814-T0   1.0000000 -0.70639382  19 darkgray NA   2  CRP low
## CRP low.PG815-T0   0.9462919 -0.46312109  19 darkgray NA   2  CRP low
## CRP low.PG842-T0   0.8247218 -0.66083782  19 darkgray NA   2  CRP low
## CRP high.3172-T0   2.2285327 -0.33125607  19 darkgray NA   2 CRP high
## CRP high.3176-T0   2.0598550 -0.22153483  19 darkgray NA   2 CRP high
## CRP high.3179-T0   2.0556258 -0.01415299  19 darkgray NA   2 CRP high
## CRP high.3189-T0   2.0000000  0.89751618  19 darkgray NA   2 CRP high
## CRP high.PG002-T0  1.9438215 -0.54387453  19 darkgray NA   2 CRP high
## CRP high.PG013-T0  2.1835893 -0.72255104  19 darkgray NA   2 CRP high
## CRP high.PG048-T0  2.0559586 -0.33896287  19 darkgray NA   2 CRP high
## CRP high.PG053-T0  2.0000000  0.40749078  19 darkgray NA   2 CRP high
## CRP high.PG054-T0  2.0280295 -0.50033359  19 darkgray NA   2 CRP high
## CRP high.PG082-T0  1.8856331 -0.74059904  19 darkgray NA   2 CRP high
## CRP high.PG113-T0  2.1749666 -0.63568852  19 darkgray NA   2 CRP high
## CRP high.PG1403-T0 2.0696224 -0.44145614  19 darkgray NA   2 CRP high
## CRP high.PG1416-T0 1.8315602 -0.49832643  19 darkgray NA   2 CRP high
## CRP high.PG1423-T0 2.0599724 -0.68214538  19 darkgray NA   2 CRP high
## CRP high.PG1427-T0 1.9416834 -0.86257576  19 darkgray NA   2 CRP high
## CRP high.PG1428-T0 2.0000000 -0.22721168  19 darkgray NA   2 CRP high
## CRP high.PG1434-T0 2.0000000 -0.68462418  19 darkgray NA   2 CRP high
## CRP high.PG1440-T0 2.1168567 -0.84468753  19 darkgray NA   2 CRP high
## CRP high.PG1441-T0 2.0000000 -1.00000000  19 darkgray NA   2 CRP high
## CRP high.PG1443-T0 2.1730566 -0.36237500  19 darkgray NA   2 CRP high
## CRP high.PG1446-T0 1.9199347 -0.43024860  19 darkgray NA   2 CRP high
## CRP high.PG1452-T0 1.8717112 -0.66113716  19 darkgray NA   2 CRP high
## CRP high.PG1459-T0 1.7570512 -0.62498189  19 darkgray NA   2 CRP high
## CRP high.PG1461-T0 1.9587153 -0.36647423  19 darkgray NA   2 CRP high
## CRP high.PG1471-T0 2.0000000 -0.78341697  19 darkgray NA   2 CRP high
## CRP high.PG1490-T0 2.1153055 -0.53910150  19 darkgray NA   2 CRP high
## CRP high.PG1517-T0 2.1327381 -0.76590979  19 darkgray NA   2 CRP high
## CRP high.PG1522-T0 1.8141169 -0.35780555  19 darkgray NA   2 CRP high
## CRP high.PG158-T0  1.8816834 -0.86248911  19 darkgray NA   2 CRP high
## CRP high.PG160-T0  1.8262888 -0.72855412  19 darkgray NA   2 CRP high
## CRP high.PG1636-T0 2.1678865 -0.49975275  19 darkgray NA   2 CRP high
## CRP high.PG1641-T0 2.0600000 -1.00000000  19 darkgray NA   2 CRP high
## CRP high.PG177-T0  1.8170218 -0.62753560  19 darkgray NA   2 CRP high
## CRP high.PG187-T0  2.0000000 -0.57256294  19 darkgray NA   2 CRP high
## CRP high.PG198-T0  2.1169073 -0.39116931  19 darkgray NA   2 CRP high
## CRP high.PG199-T0  2.0141875 -0.39760602  19 darkgray NA   2 CRP high
## CRP high.PG2016-T0 1.9400000 -1.00000000  19 darkgray NA   2 CRP high
## CRP high.PG2026-T0 2.0599092 -0.77892427  19 darkgray NA   2 CRP high
## CRP high.PG2051-T0 2.0000000 -0.04477264  19 darkgray NA   2 CRP high
## CRP high.PG2067-T0 1.9404040 -0.77395357  19 darkgray NA   2 CRP high
## CRP high.PG2088-T0 2.2272215 -0.48762423  19 darkgray NA   2 CRP high
## CRP high.PG218-T0  2.1179635 -0.66118379  19 darkgray NA   2 CRP high
## CRP high.PG2433-T0 2.1200000 -1.00000000  19 darkgray NA   2 CRP high
## CRP high.PG2437-T0 1.8800000 -1.00000000  19 darkgray NA   2 CRP high
## CRP high.PG3204-T0 1.9757258 -0.46030556  19 darkgray NA   2 CRP high
## CRP high.PG3244-T0 1.8839721 -0.53809108  19 darkgray NA   2 CRP high
## CRP high.PG3609-T0 1.9404588 -0.67454154  19 darkgray NA   2 CRP high
## CRP high.PG3627-T0 2.0000000 -0.88179084  19 darkgray NA   2 CRP high
## CRP high.PG440-T0  2.0599849 -0.57072960  19 darkgray NA   2 CRP high
## CRP high.PG451-T0  2.2345233 -0.62577598  19 darkgray NA   2 CRP high
## CRP high.PG460-T0  1.8345128 -0.81200369  19 darkgray NA   2 CRP high
## CRP high.PG805-T0  1.8713555 -0.38230333  19 darkgray NA   2 CRP high
## CRP high.PG822-T0  2.0585840 -0.86414814  19 darkgray NA   2 CRP high
## CRP high.PG828-T0  1.7721073 -0.48731932  19 darkgray NA   2 CRP high
## CRP high.PG830-T0  2.2863964 -0.47412317  19 darkgray NA   2 CRP high
##                         y.orig
## CRP low.3166-T0     1.43939498
## CRP low.3167-T0     0.99669022
## CRP low.3171-T0    -0.48315262
## CRP low.3173-T0     0.96619668
## CRP low.3174-T0     0.96122682
## CRP low.3178-T0     0.33874730
## CRP low.3188-T0     0.44243302
## CRP low.3192-T0    -0.62158446
## CRP low.3194-T0    -0.24642008
## CRP low.PG004-T0   -0.67229175
## CRP low.PG012-T0   -0.62291526
## CRP low.PG022-T0   -0.72702665
## CRP low.PG086-T0   -0.49252121
## CRP low.PG138-T0   -0.75169010
## CRP low.PG1410-T0  -0.57842729
## CRP low.PG1415-T0  -0.76706387
## CRP low.PG1432-T0  -0.65575400
## CRP low.PG1445-T0  -0.27771077
## CRP low.PG1460-T0  -0.75316418
## CRP low.PG1481-T0  -0.75949686
## CRP low.PG1488-T0  -0.53767167
## CRP low.PG1496-T0  -0.79435565
## CRP low.PG1497-T0  -0.61026415
## CRP low.PG1502-T0  -0.40894273
## CRP low.PG1504-T0  -0.64820829
## CRP low.PG1513-T0  -0.88260188
## CRP low.PG1601-T0  -0.61626752
## CRP low.PG1643-T0  -0.54075308
## CRP low.PG1648-T0  -0.67695542
## CRP low.PG2006-T0  -0.49211906
## CRP low.PG2020-T0  -0.70496358
## CRP low.PG2022-T0  -0.66589561
## CRP low.PG2066-T0  -0.70551389
## CRP low.PG2072-T0  -0.20652060
## CRP low.PG2076-T0  -0.86509601
## CRP low.PG2079-T0  -0.53975479
## CRP low.PG2085-T0  -0.57307580
## CRP low.PG2090-T0  -0.17595966
## CRP low.PG2094-T0   0.70422473
## CRP low.PG2095-T0  -0.87497998
## CRP low.PG2096-T0  -0.40247303
## CRP low.PG2102-T0  -0.69513488
## CRP low.PG212-T0   -0.68260182
## CRP low.PG219-T0   -0.76211563
## CRP low.PG3233-T0  -0.64555373
## CRP low.PG3234-T0  -1.00000000
## CRP low.PG3258-T0  -0.41390401
## CRP low.PG3634-T0  -0.63287530
## CRP low.PG437-T0   -0.53786373
## CRP low.PG453-T0   -0.49953869
## CRP low.PG686-T0   -0.87967526
## CRP low.PG702-T0   -0.75560198
## CRP low.PG808-T0   -0.87671134
## CRP low.PG814-T0   -0.70639382
## CRP low.PG815-T0   -0.46312109
## CRP low.PG842-T0   -0.66083782
## CRP high.3172-T0   -0.33125607
## CRP high.3176-T0   -0.22153483
## CRP high.3179-T0   -0.01415299
## CRP high.3189-T0    0.89751618
## CRP high.PG002-T0  -0.54387453
## CRP high.PG013-T0  -0.72255104
## CRP high.PG048-T0  -0.33896287
## CRP high.PG053-T0   0.40749078
## CRP high.PG054-T0  -0.50033359
## CRP high.PG082-T0  -0.74059904
## CRP high.PG113-T0  -0.63568852
## CRP high.PG1403-T0 -0.44145614
## CRP high.PG1416-T0 -0.49832643
## CRP high.PG1423-T0 -0.68214538
## CRP high.PG1427-T0 -0.86257576
## CRP high.PG1428-T0 -0.22721168
## CRP high.PG1434-T0 -0.68462418
## CRP high.PG1440-T0 -0.84468753
## CRP high.PG1441-T0 -1.00000000
## CRP high.PG1443-T0 -0.36237500
## CRP high.PG1446-T0 -0.43024860
## CRP high.PG1452-T0 -0.66113716
## CRP high.PG1459-T0 -0.62498189
## CRP high.PG1461-T0 -0.36647423
## CRP high.PG1471-T0 -0.78341697
## CRP high.PG1490-T0 -0.53910150
## CRP high.PG1517-T0 -0.76590979
## CRP high.PG1522-T0 -0.35780555
## CRP high.PG158-T0  -0.86248911
## CRP high.PG160-T0  -0.72855412
## CRP high.PG1636-T0 -0.49975275
## CRP high.PG1641-T0 -1.00000000
## CRP high.PG177-T0  -0.62753560
## CRP high.PG187-T0  -0.57256294
## CRP high.PG198-T0  -0.39116931
## CRP high.PG199-T0  -0.39760602
## CRP high.PG2016-T0 -1.00000000
## CRP high.PG2026-T0 -0.77892427
## CRP high.PG2051-T0 -0.04477264
## CRP high.PG2067-T0 -0.77395357
## CRP high.PG2088-T0 -0.48762423
## CRP high.PG218-T0  -0.66118379
## CRP high.PG2433-T0 -1.00000000
## CRP high.PG2437-T0 -1.00000000
## CRP high.PG3204-T0 -0.46030556
## CRP high.PG3244-T0 -0.53809108
## CRP high.PG3609-T0 -0.67454154
## CRP high.PG3627-T0 -0.88179084
## CRP high.PG440-T0  -0.57072960
## CRP high.PG451-T0  -0.62577598
## CRP high.PG460-T0  -0.81200369
## CRP high.PG805-T0  -0.38230333
## CRP high.PG822-T0  -0.86414814
## CRP high.PG828-T0  -0.48731932
## CRP high.PG830-T0  -0.47412317
## 
## [[6]]
##                            x         y pch      col bg cex   x.orig    y.orig
## CRP low.3166-T0    0.9476506 0.8560669  19 darkgray NA   2  CRP low 0.8560669
## CRP low.3167-T0    1.0591890 1.3674898  19 darkgray NA   2  CRP low 1.3674898
## CRP low.3171-T0    0.9400169 1.0199205  19 darkgray NA   2  CRP low 1.0199205
## CRP low.3173-T0    1.0000000 1.7389166  19 darkgray NA   2  CRP low 1.7389166
## CRP low.3174-T0    0.9084956 0.9528868  19 darkgray NA   2  CRP low 0.9528868
## CRP low.3178-T0    0.8258916 1.0519433  19 darkgray NA   2  CRP low 1.0519433
## CRP low.3188-T0    1.0000000 1.6719961  19 darkgray NA   2  CRP low 1.6719961
## CRP low.3192-T0    1.0230946 0.9456093  19 darkgray NA   2  CRP low 0.9456093
## CRP low.3194-T0    1.0549504 1.1796007  19 darkgray NA   2  CRP low 1.1796007
## CRP low.PG004-T0   1.0897675 1.0274930  19 darkgray NA   2  CRP low 1.0274930
## CRP low.PG012-T0   0.9490320 1.1307520  19 darkgray NA   2  CRP low 1.1307520
## CRP low.PG022-T0   1.1748092 1.4477442  19 darkgray NA   2  CRP low 1.4477442
## CRP low.PG086-T0   1.0000000 1.4953874  19 darkgray NA   2  CRP low 1.4953874
## CRP low.PG138-T0   1.1392703 1.1845790  19 darkgray NA   2  CRP low 1.1845790
## CRP low.PG1410-T0  0.9697102 0.7663635  19 darkgray NA   2  CRP low 0.7663635
## CRP low.PG1415-T0  1.0155978 1.2256953  19 darkgray NA   2  CRP low 1.2256953
## CRP low.PG1432-T0  1.1176564 0.9117809  19 darkgray NA   2  CRP low 0.9117809
## CRP low.PG1445-T0  1.0596679 1.2864823  19 darkgray NA   2  CRP low 1.2864823
## CRP low.PG1460-T0  0.9435082 1.2985217  19 darkgray NA   2  CRP low 1.2985217
## CRP low.PG1481-T0  1.1167046 1.4347961  19 darkgray NA   2  CRP low 1.4347961
## CRP low.PG1488-T0  1.0000000 0.7215414  19 darkgray NA   2  CRP low 0.7215414
## CRP low.PG1496-T0  1.0393795 1.0578639  19 darkgray NA   2  CRP low 1.0578639
## CRP low.PG1497-T0  1.1471046 1.0427902  19 darkgray NA   2  CRP low 1.0427902
## CRP low.PG1502-T0  1.0000000 1.4116309  19 darkgray NA   2  CRP low 1.4116309
## CRP low.PG1504-T0  1.0000000 0.8924426  19 darkgray NA   2  CRP low 0.8924426
## CRP low.PG1513-T0  0.7974338 0.9236178  19 darkgray NA   2  CRP low 0.9236178
## CRP low.PG1601-T0  1.1020751 1.1438358  19 darkgray NA   2  CRP low 1.1438358
## CRP low.PG1643-T0  1.0592431 1.4198524  19 darkgray NA   2  CRP low 1.4198524
## CRP low.PG1648-T0  0.9420729 1.3725121  19 darkgray NA   2  CRP low 1.3725121
## CRP low.PG2006-T0  1.0598567 1.1069406  19 darkgray NA   2  CRP low 1.1069406
## CRP low.PG2020-T0  1.0599686 0.7232205  19 darkgray NA   2  CRP low 0.7232205
## CRP low.PG2022-T0  1.0693689 0.9786616  19 darkgray NA   2  CRP low 0.9786616
## CRP low.PG2066-T0  0.9139399 0.8990209  19 darkgray NA   2  CRP low 0.8990209
## CRP low.PG2072-T0  1.0597530 0.8354015  19 darkgray NA   2  CRP low 0.8354015
## CRP low.PG2076-T0  0.8561966 0.9131274  19 darkgray NA   2  CRP low 0.9131274
## CRP low.PG2079-T0  1.0000000 1.0186882  19 darkgray NA   2  CRP low 1.0186882
## CRP low.PG2085-T0  0.9645295 0.9343218  19 darkgray NA   2  CRP low 0.9343218
## CRP low.PG2090-T0  0.7392331 0.9362384  19 darkgray NA   2  CRP low 0.9362384
## CRP low.PG2094-T0  1.0000000 1.1033547  19 darkgray NA   2  CRP low 1.1033547
## CRP low.PG2095-T0  1.0000000 0.8306950  19 darkgray NA   2  CRP low 0.8306950
## CRP low.PG2096-T0  1.0000000 0.6309082  19 darkgray NA   2  CRP low 0.6309082
## CRP low.PG2102-T0  1.2359365 0.9283646  19 darkgray NA   2  CRP low 0.9283646
## CRP low.PG212-T0   0.9013286 1.1622460  19 darkgray NA   2  CRP low 1.1622460
## CRP low.PG219-T0   1.0000000 1.2810270  19 darkgray NA   2  CRP low 1.2810270
## CRP low.PG3233-T0  1.0595365 0.8988844  19 darkgray NA   2  CRP low 0.8988844
## CRP low.PG3234-T0  1.1168049 1.3819812  19 darkgray NA   2  CRP low 1.3819812
## CRP low.PG3258-T0  0.8856977 1.3902863  19 darkgray NA   2  CRP low 1.3902863
## CRP low.PG3634-T0  1.0000000 1.3589815  19 darkgray NA   2  CRP low 1.3589815
## CRP low.PG437-T0   0.8678719 1.2053485  19 darkgray NA   2  CRP low 1.2053485
## CRP low.PG453-T0   0.9634892 1.1999549  19 darkgray NA   2  CRP low 1.1999549
## CRP low.PG686-T0   0.9426583 1.4269153  19 darkgray NA   2  CRP low 1.4269153
## CRP low.PG702-T0   1.1762746 0.9228604  19 darkgray NA   2  CRP low 0.9228604
## CRP low.PG808-T0   1.0000000 1.1587507  19 darkgray NA   2  CRP low 1.1587507
## CRP low.PG814-T0   0.8833371 1.0369539  19 darkgray NA   2  CRP low 1.0369539
## CRP low.PG815-T0   0.8695584 1.4402969  19 darkgray NA   2  CRP low 1.4402969
## CRP low.PG842-T0   1.0283662 0.7772917  19 darkgray NA   2  CRP low 0.7772917
## CRP high.3172-T0   2.0000000 1.8155092  19 darkgray NA   2 CRP high 1.8155092
## CRP high.3176-T0   1.9854501 1.1517877  19 darkgray NA   2 CRP high 1.1517877
## CRP high.3179-T0   1.8924112 1.0666740  19 darkgray NA   2 CRP high 1.0666740
## CRP high.3189-T0   2.0673025 1.2786148  19 darkgray NA   2 CRP high 1.2786148
## CRP high.PG002-T0  1.9427527 1.2382703  19 darkgray NA   2 CRP high 1.2382703
## CRP high.PG013-T0  2.0304613 1.6766748  19 darkgray NA   2 CRP high 1.6766748
## CRP high.PG048-T0  2.1012654 1.5389862  19 darkgray NA   2 CRP high 1.5389862
## CRP high.PG053-T0  2.0074042 1.5389074  19 darkgray NA   2 CRP high 1.5389074
## CRP high.PG054-T0  1.9459976 1.3609418  19 darkgray NA   2 CRP high 1.3609418
## CRP high.PG082-T0  2.0000000 1.1014132  19 darkgray NA   2 CRP high 1.1014132
## CRP high.PG113-T0  1.9704200 1.5797942  19 darkgray NA   2 CRP high 1.5797942
## CRP high.PG1403-T0 2.0000000 0.7679703  19 darkgray NA   2 CRP high 0.7679703
## CRP high.PG1416-T0 2.0000000 1.9453047  19 darkgray NA   2 CRP high 1.9453047
## CRP high.PG1423-T0 2.0000000 0.8817861  19 darkgray NA   2 CRP high 0.8817861
## CRP high.PG1427-T0 2.0000000 0.6488470  19 darkgray NA   2 CRP high 0.6488470
## CRP high.PG1428-T0 2.1613325 1.2793349  19 darkgray NA   2 CRP high 1.2793349
## CRP high.PG1434-T0 2.0000000 1.2752328  19 darkgray NA   2 CRP high 1.2752328
## CRP high.PG1440-T0 2.1065851 1.0571699  19 darkgray NA   2 CRP high 1.0571699
## CRP high.PG1441-T0 1.8977163 0.8123249  19 darkgray NA   2 CRP high 0.8123249
## CRP high.PG1443-T0 1.9956009 1.0179121  19 darkgray NA   2 CRP high 1.0179121
## CRP high.PG1446-T0 2.0501539 1.0395293  19 darkgray NA   2 CRP high 1.0395293
## CRP high.PG1452-T0 2.1159497 1.2453696  19 darkgray NA   2 CRP high 1.2453696
## CRP high.PG1459-T0 1.8673588 1.4187412  19 darkgray NA   2 CRP high 1.4187412
## CRP high.PG1461-T0 1.8860704 1.3634983  19 darkgray NA   2 CRP high 1.3634983
## CRP high.PG1471-T0 2.0000000 1.3383127  19 darkgray NA   2 CRP high 1.3383127
## CRP high.PG1490-T0 2.0432910 0.9864032  19 darkgray NA   2 CRP high 0.9864032
## CRP high.PG1517-T0 2.0000000 0.9504510  19 darkgray NA   2 CRP high 0.9504510
## CRP high.PG1522-T0 2.0566784 0.7850072  19 darkgray NA   2 CRP high 0.7850072
## CRP high.PG158-T0  1.8846339 1.2511704  19 darkgray NA   2 CRP high 1.2511704
## CRP high.PG160-T0  2.0562110 1.5046950  19 darkgray NA   2 CRP high 1.5046950
## CRP high.PG1636-T0 2.0541278 1.3607162  19 darkgray NA   2 CRP high 1.3607162
## CRP high.PG1641-T0 1.9524057 1.5181527  19 darkgray NA   2 CRP high 1.5181527
## CRP high.PG177-T0  2.0523344 0.9071811  19 darkgray NA   2 CRP high 0.9071811
## CRP high.PG187-T0  1.9462118 1.7453295  19 darkgray NA   2 CRP high 1.7453295
## CRP high.PG198-T0  1.8736725 1.3110743  19 darkgray NA   2 CRP high 1.3110743
## CRP high.PG199-T0  1.8734289 1.1890193  19 darkgray NA   2 CRP high 1.1890193
## CRP high.PG2016-T0 2.0000000 1.3954509  19 darkgray NA   2 CRP high 1.3954509
## CRP high.PG2026-T0 2.0756449 1.1732029  19 darkgray NA   2 CRP high 1.1732029
## CRP high.PG2051-T0 2.0534811 1.1249511  19 darkgray NA   2 CRP high 1.1249511
## CRP high.PG2067-T0 1.9265127 1.4100518  19 darkgray NA   2 CRP high 1.4100518
## CRP high.PG2088-T0 1.9401687 0.9543421  19 darkgray NA   2 CRP high 0.9543421
## CRP high.PG218-T0  2.0597328 1.7272164  19 darkgray NA   2 CRP high 1.7272164
## CRP high.PG2433-T0 1.9497623 1.0514160  19 darkgray NA   2 CRP high 1.0514160
## CRP high.PG2437-T0 1.9569690 0.8041555  19 darkgray NA   2 CRP high 0.8041555
## CRP high.PG3204-T0 2.0000000 1.6319399  19 darkgray NA   2 CRP high 1.6319399
## CRP high.PG3244-T0 2.0312893 1.4397558  19 darkgray NA   2 CRP high 1.4397558
## CRP high.PG3609-T0 2.0000000 1.7223216  19 darkgray NA   2 CRP high 1.7223216
## CRP high.PG3627-T0 1.9277280 1.2885403  19 darkgray NA   2 CRP high 1.2885403
## CRP high.PG440-T0  1.8944510 1.5315944  19 darkgray NA   2 CRP high 1.5315944
## CRP high.PG451-T0  1.9293344 1.1701666  19 darkgray NA   2 CRP high 1.1701666
## CRP high.PG460-T0  2.0955926 1.3982460  19 darkgray NA   2 CRP high 1.3982460
## CRP high.PG805-T0  2.0000000 1.4865353  19 darkgray NA   2 CRP high 1.4865353
## CRP high.PG822-T0  2.0000000 1.2227232  19 darkgray NA   2 CRP high 1.2227232
## CRP high.PG828-T0  2.0597865 1.2270995  19 darkgray NA   2 CRP high 1.2270995
## CRP high.PG830-T0  2.0000000 2.1814254  19 darkgray NA   2 CRP high 2.1814254
g <- rownames(dge)[1]
gex <- log10(rpm[which(rownames(rpm) == g),]+0.1)
rownames(ss2) == names(gex)
##   [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
mycolnames <- colnames(ss2)[unlist(lapply(1:ncol(ss2), function(i) { if ( typeof(ss2[,i]) != "character" ) { i }   } ))]

cor_res <- lapply(mycolnames, function(x) {
  ct <- cor.test(gex,ss2[,x])
  res <- c( unname(ct[["estimate"]]) , ct[["p.value"]] )
  return(res)
})

cor_df <- do.call(rbind,cor_res)
rownames(cor_df) <- mycolnames
colnames(cor_df) <- c("cor","p")
cor_df <- cor_df[order(cor_df[,"p"]),]
head(cor_df)
##                       cor            p
## ethnicityD     -0.6650013 1.724034e-15
## Monocytes.NC.I -0.3353449 3.208629e-04
## NK              0.3302980 3.994954e-04
## B.Memory       -0.3186676 6.527728e-04
## wound_type_cat  0.3156559 7.389462e-04
## deltacrp       -0.2933932 1.776994e-03
plot(ss2$ethnicityD,gex)

plot(ss2$Monocytes.C,gex)

plot(ss2$Monocytes.NC.I,gex)

# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 20 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000223609.11 HBD          153.11532      0.6127017 0.13080850  4.683959
## ENSG00000261026.1 CTD-3247F14.2  13.74757     -1.0503473 0.23156953 -4.535775
## ENSG00000206177.7 HBM            45.70050      0.6155113 0.14218666  4.328896
## ENSG00000004939.16 SLC4A1       233.82225      0.4920445 0.12031713  4.089563
## ENSG00000169877.10 AHSP          34.93993      0.6188578 0.15316672  4.040419
## ENSG00000179593.16 ALOX15B      250.75091     -0.3691708 0.09277372 -3.979261
## ENSG00000218052.5 ADAMTS7P4      23.44923      0.2098524 0.05372181  3.906280
## ENSG00000268734.1 CTB-61M7.2     10.82400     -1.5114453 0.38789134 -3.896569
## ENSG00000166947.15 EPB42         37.40076      0.4773174 0.12488402  3.822085
## ENSG00000179388.9 EGR3          270.39768     -0.5197675 0.13823652 -3.759987
##                                       pvalue      padj
## ENSG00000223609.11 HBD          2.813859e-06 0.0617220
## ENSG00000261026.1 CTD-3247F14.2 5.739229e-06 0.0629450
## ENSG00000206177.7 HBM           1.498584e-05 0.1095715
## ENSG00000004939.16 SLC4A1       4.321860e-05 0.2340715
## ENSG00000169877.10 AHSP         5.335572e-05 0.2340715
## ENSG00000179593.16 ALOX15B      6.912983e-05 0.2527272
## ENSG00000218052.5 ADAMTS7P4     9.372795e-05 0.2675113
## ENSG00000268734.1 CTB-61M7.2    9.756510e-05 0.2675113
## ENSG00000166947.15 EPB42        1.323281e-04 0.3225129
## ENSG00000179388.9 EGR3          1.699222e-04 0.3727244
mean(abs(dge$stat))
## [1] 0.7617846
crp_t0 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 11 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000223609.11 HBD      153.11532     0.58209593 0.13422143  4.336833
## ENSG00000206177.7 HBM        45.70050     0.55382261 0.14446831  3.833523
## ENSG00000004939.16 SLC4A1   233.82225     0.46687689 0.12375126  3.772704
## ENSG00000132122.12 SPATA6   215.55260    -0.09259567 0.02479843 -3.733933
## ENSG00000169877.10 AHSP      34.93993     0.58801794 0.15784167  3.725366
## ENSG00000076864.20 RAP1GAP   14.58834     0.30003378 0.08110658  3.699253
## ENSG00000181126.13 HLA-V    366.66600    -0.44464770 0.12076431 -3.681946
## ENSG00000218052.5 ADAMTS7P4  23.44923     0.18427003 0.05011215  3.677153
## ENSG00000170153.11 RNF150    16.74377    -0.64214074 0.17647020 -3.638805
## ENSG00000166947.15 EPB42     37.40076     0.45926219 0.12825639  3.580813
##                                   pvalue      padj
## ENSG00000223609.11 HBD      1.445504e-05 0.3170712
## ENSG00000206177.7 HBM       1.263209e-04 0.6466756
## ENSG00000004939.16 SLC4A1   1.614877e-04 0.6466756
## ENSG00000132122.12 SPATA6   1.885126e-04 0.6466756
## ENSG00000169877.10 AHSP     1.950322e-04 0.6466756
## ENSG00000076864.20 RAP1GAP  2.162348e-04 0.6466756
## ENSG00000181126.13 HLA-V    2.314602e-04 0.6466756
## ENSG00000218052.5 ADAMTS7P4 2.358516e-04 0.6466756
## ENSG00000170153.11 RNF150   2.739056e-04 0.6585246
## ENSG00000166947.15 EPB42    3.425263e-04 0.6585246
mean(abs(dge$stat))
## [1] 0.7499656
crp_t0_adj <- dge

CRP low vs high at EOS

mx <- xeosf
ss2 <- as.data.frame(cbind(ss_eos,sscell_eos))
mx <- mx[,colnames(mx) %in% rownames(ss2)]
rpm <- apply(mx,2,function(x) { x/sum(x) * 1e6 } )

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 118 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
## ENSG00000139572.4 GPR84          231.01210      0.7893177 0.09543038 8.271137
## ENSG00000113368.12 LMNB1        2665.88768      0.4224482 0.05453011 7.747062
## ENSG00000280091.1 CTC-312O10.3    32.83608      0.5061573 0.06958189 7.274267
## ENSG00000137193.14 PIM1         7966.43548      0.3023359 0.04160685 7.266494
## ENSG00000170525.21 PFKFB3       4788.95198      0.5364125 0.07387475 7.261108
## ENSG00000079385.23 CEACAM1      1095.76169      0.7812428 0.10858770 7.194579
## ENSG00000069399.15 BCL3         3591.85376      0.4579237 0.06480903 7.065740
## ENSG00000184557.4 SOCS3        13113.96513      0.6655088 0.09494900 7.009118
## ENSG00000198019.13 FCGR1B        681.83152      0.5275512 0.07634910 6.909724
## ENSG00000163251.4 FZD5            91.58576      0.4341470 0.06308193 6.882272
##                                      pvalue         padj
## ENSG00000139572.4 GPR84        1.326872e-16 2.871217e-12
## ENSG00000113368.12 LMNB1       9.404335e-15 1.017502e-10
## ENSG00000280091.1 CTC-312O10.3 3.483056e-13 1.661581e-09
## ENSG00000137193.14 PIM1        3.689370e-13 1.661581e-09
## ENSG00000170525.21 PFKFB3      3.839320e-13 1.661581e-09
## ENSG00000079385.23 CEACAM1     6.265387e-13 2.259612e-09
## ENSG00000069399.15 BCL3        1.597623e-12 4.938709e-09
## ENSG00000184557.4 SOCS3        2.398244e-12 6.486949e-09
## ENSG00000198019.13 FCGR1B      4.855988e-12 1.167541e-08
## ENSG00000163251.4 FZD5         5.890533e-12 1.274652e-08
mean(abs(dge$stat))
## [1] 1.485292
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 13 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000139572.4 GPR84     231.01210      0.7183062 0.11564967 6.211053
## ENSG00000127954.13 STEAP4  2533.73582      0.5130516 0.09062352 5.661352
## ENSG00000184557.4 SOCS3   13113.96513      0.6216040 0.11307436 5.497303
## ENSG00000176597.12 B3GNT5   367.05640      0.4553917 0.08837595 5.152891
## ENSG00000059804.16 SLC2A3  9795.99656      0.4116953 0.08137334 5.059338
## ENSG00000170525.21 PFKFB3  4788.95198      0.4492633 0.08908047 5.043343
## ENSG00000069399.15 BCL3    3591.85376      0.3933702 0.07815095 5.033467
## ENSG00000121742.19 GJB6      54.89967      0.6668659 0.13279923 5.021610
## ENSG00000113368.12 LMNB1   2665.88768      0.3025021 0.06103820 4.955947
## ENSG00000173281.5 PPP1R3B  1142.35672      0.4439020 0.08968117 4.949780
##                                 pvalue         padj
## ENSG00000139572.4 GPR84   5.263078e-10 1.138877e-05
## ENSG00000127954.13 STEAP4 1.501854e-08 1.624931e-04
## ENSG00000184557.4 SOCS3   3.856442e-08 2.781651e-04
## ENSG00000176597.12 B3GNT5 2.565005e-07 1.385985e-03
## ENSG00000059804.16 SLC2A3 4.207135e-07 1.385985e-03
## ENSG00000170525.21 PFKFB3 4.574686e-07 1.385985e-03
## ENSG00000069399.15 BCL3   4.816882e-07 1.385985e-03
## ENSG00000121742.19 GJB6   5.124025e-07 1.385985e-03
## ENSG00000113368.12 LMNB1  7.197870e-07 1.407299e-03
## ENSG00000173281.5 PPP1R3B 7.429758e-07 1.407299e-03
mean(abs(dge$stat))
## [1] 1.185116
crp_eos <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 9 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000197632.9 SERPINB2      260.41250      0.3545761 0.06850138  5.176189
## ENSG00000127954.13 STEAP4      2533.73582      0.2836443 0.05488758  5.167732
## ENSG00000139572.4 GPR84         231.01210      0.4490274 0.08779641  5.114416
## ENSG00000211459.2 MT-RNR1    100058.33839     -0.2858692 0.05843432 -4.892145
## ENSG00000241560.7 ZBTB20-AS1     46.10569      0.2579937 0.05302105  4.865873
## ENSG00000210082.2 MT-RNR2    242496.36564     -0.2401137 0.04976253 -4.825190
## ENSG00000064763.11 FAR2         604.97645     -0.2053606 0.04311803 -4.762754
## ENSG00000135678.12 CPM          575.43286     -0.3101463 0.06641944 -4.669512
## ENSG00000155659.15 VSIG4        356.81388     -0.4006950 0.08583339 -4.668288
## ENSG00000050730.16 TNIP3         55.66088      0.2325018 0.04992622  4.656908
##                                    pvalue        padj
## ENSG00000197632.9 SERPINB2   2.264644e-07 0.002314927
## ENSG00000127954.13 STEAP4    2.369522e-07 0.002314927
## ENSG00000139572.4 GPR84      3.147134e-07 0.002314927
## ENSG00000211459.2 MT-RNR1    9.974282e-07 0.005029176
## ENSG00000241560.7 ZBTB20-AS1 1.139524e-06 0.005029176
## ENSG00000210082.2 MT-RNR2    1.398697e-06 0.005144173
## ENSG00000064763.11 FAR2      1.909682e-06 0.006020137
## ENSG00000135678.12 CPM       3.019167e-06 0.007083372
## ENSG00000155659.15 VSIG4     3.037196e-06 0.007083372
## ENSG00000050730.16 TNIP3     3.209939e-06 0.007083372
mean(abs(dge$stat))
## [1] 0.9721301
crp_eos_adj <- dge

Visualisation.

dge <- as.data.frame(zz[order(zz$pvalue),])
dim(dge)
## [1] 22067   104
head(subset(dge,padj<0.05))
##                                  baseMean log2FoldChange      lfcSE      stat
## ENSG00000197632.9 SERPINB2      260.41250      0.3545761 0.06850138  5.176189
## ENSG00000127954.13 STEAP4      2533.73582      0.2836443 0.05488758  5.167732
## ENSG00000139572.4 GPR84         231.01210      0.4490274 0.08779641  5.114416
## ENSG00000211459.2 MT-RNR1    100058.33839     -0.2858692 0.05843432 -4.892145
## ENSG00000241560.7 ZBTB20-AS1     46.10569      0.2579937 0.05302105  4.865873
## ENSG00000210082.2 MT-RNR2    242496.36564     -0.2401137 0.04976253 -4.825190
##                                    pvalue        padj PG002-EOS PG004-EOS
## ENSG00000197632.9 SERPINB2   2.264644e-07 0.002314927  7.718029  4.699228
## ENSG00000127954.13 STEAP4    2.369522e-07 0.002314927 12.178742 10.086389
## ENSG00000139572.4 GPR84      3.147134e-07 0.002314927  9.333860  5.611094
## ENSG00000211459.2 MT-RNR1    9.974282e-07 0.005029176 17.009187 14.861430
## ENSG00000241560.7 ZBTB20-AS1 1.139524e-06 0.005029176  6.154351  5.873701
## ENSG00000210082.2 MT-RNR2    1.398697e-06 0.005144173 17.849976 16.512805
##                              PG009-EOS PG012-EOS PG013-EOS PG022-EOS PG048-EOS
## ENSG00000197632.9 SERPINB2    6.339189  5.582296  9.449942  7.268938  9.236352
## ENSG00000127954.13 STEAP4    11.277944  7.328923 12.983893 10.310005 12.366219
## ENSG00000139572.4 GPR84       7.620380  5.745840 11.510232  5.649362  9.987742
## ENSG00000211459.2 MT-RNR1    16.187784 15.914659 15.104954 16.674300 17.106227
## ENSG00000241560.7 ZBTB20-AS1  6.589936  6.092241  7.103753  6.529961  6.203370
## ENSG00000210082.2 MT-RNR2    17.748907 17.288581 16.968928 17.798403 18.604623
##                              PG053-EOS PG054-EOS PG082-EOS PG086-EOS PG112-EOS
## ENSG00000197632.9 SERPINB2    7.974149 10.557594  9.326162  5.726200  8.671303
## ENSG00000127954.13 STEAP4    14.243312 13.140999 11.548343 10.950278 11.629153
## ENSG00000139572.4 GPR84      10.973671 10.548332  9.406208  5.754170  8.930442
## ENSG00000211459.2 MT-RNR1    16.551012 16.598946 16.152350 17.125832 15.206140
## ENSG00000241560.7 ZBTB20-AS1  5.457611  5.082439  6.260799  7.107654  6.977956
## ENSG00000210082.2 MT-RNR2    18.055532 17.905834 17.475132 18.137839 16.516621
##                              PG113-EOS PG138-EOS PG1403-EOS PG1410-EOS
## ENSG00000197632.9 SERPINB2    6.528843  6.527272   7.634497   7.362208
## ENSG00000127954.13 STEAP4     8.511638  9.323032  10.795271  10.310226
## ENSG00000139572.4 GPR84       5.688376  4.887685   7.606698   5.799313
## ENSG00000211459.2 MT-RNR1    16.121136 16.197188  17.409035  15.618691
## ENSG00000241560.7 ZBTB20-AS1  7.044203  6.442962   6.609701   5.905851
## ENSG00000210082.2 MT-RNR2    17.112672 17.257609  18.528842  17.123882
##                              PG1415-EOS PG1416-EOS PG1423-EOS PG1427-EOS
## ENSG00000197632.9 SERPINB2     7.066586   5.938084   8.490808   8.723120
## ENSG00000127954.13 STEAP4      9.759873   9.429112  11.534106  11.833088
## ENSG00000139572.4 GPR84        5.703590   5.533840   8.520203   8.163608
## ENSG00000211459.2 MT-RNR1     15.466047  16.472776  15.240913  17.187760
## ENSG00000241560.7 ZBTB20-AS1   5.804259   6.244853   7.343105   5.733066
## ENSG00000210082.2 MT-RNR2     17.044020  18.012594  17.223119  18.630457
##                              PG1428-EOS PG1432-EOS PG1434-EOS PG1440-EOS
## ENSG00000197632.9 SERPINB2     7.872226   6.578511   7.460469   7.735401
## ENSG00000127954.13 STEAP4     11.231611   8.011522  10.671169   9.785523
## ENSG00000139572.4 GPR84        6.827104   6.151134   6.488681   7.569873
## ENSG00000211459.2 MT-RNR1     16.351973  16.372807  16.774536  16.019825
## ENSG00000241560.7 ZBTB20-AS1   6.032827   6.861890   6.413663   6.309159
## ENSG00000210082.2 MT-RNR2     17.728769  17.693818  18.154040  16.874177
##                              PG1441-EOS PG1443-EOS PG1445-EOS PG1446-EOS
## ENSG00000197632.9 SERPINB2     9.270163   8.932020   5.344579   6.673786
## ENSG00000127954.13 STEAP4     11.791800  11.019737   7.366669   8.864010
## ENSG00000139572.4 GPR84        6.871815   8.990648   5.274227   6.337788
## ENSG00000211459.2 MT-RNR1     15.943655  15.957835  17.870798  16.132458
## ENSG00000241560.7 ZBTB20-AS1   6.387807   6.179024   6.191149   5.801514
## ENSG00000210082.2 MT-RNR2     17.333731  17.691930  19.052193  17.340326
##                              PG1452-EOS PG1459-EOS PG1460-EOS PG1461-EOS
## ENSG00000197632.9 SERPINB2     8.986067   6.986233   4.495604   9.749405
## ENSG00000127954.13 STEAP4     11.026017  10.447254   8.162773  12.757985
## ENSG00000139572.4 GPR84        8.705934   6.769552   5.356390   8.600406
## ENSG00000211459.2 MT-RNR1     16.350699  15.377413  16.502266  16.643451
## ENSG00000241560.7 ZBTB20-AS1   6.258104   5.808882   6.613015   6.015980
## ENSG00000210082.2 MT-RNR2     17.428577  16.752724  17.708829  17.637186
##                              PG1471-EOS PG1481-EOS PG1488-EOS PG1490-EOS
## ENSG00000197632.9 SERPINB2     7.899784   8.168044   8.802114   7.937869
## ENSG00000127954.13 STEAP4     10.018566  10.969825  10.347622  11.183399
## ENSG00000139572.4 GPR84        6.250344   6.723914   6.507630   6.442024
## ENSG00000211459.2 MT-RNR1     14.285770  17.472383  15.608762  15.267007
## ENSG00000241560.7 ZBTB20-AS1   6.622727   5.701066   6.238472   4.809978
## ENSG00000210082.2 MT-RNR2     15.884452  18.584188  17.123972  16.759452
##                              PG1496-EOS PG1497-EOS PG1502-EOS PG1504-EOS
## ENSG00000197632.9 SERPINB2     5.488786   7.303316   6.627329   6.730435
## ENSG00000127954.13 STEAP4      7.605602  10.400256  10.169627   9.400631
## ENSG00000139572.4 GPR84        5.388528   6.370991   6.213056   6.562157
## ENSG00000211459.2 MT-RNR1     16.326819  16.610669  16.660651  16.210346
## ENSG00000241560.7 ZBTB20-AS1   6.287600   6.537741   6.264004   5.982201
## ENSG00000210082.2 MT-RNR2     17.937250  17.863500  17.821344  17.653251
##                              PG1513-EOS PG1517-EOS PG1522-EOS PG158-EOS
## ENSG00000197632.9 SERPINB2     7.969476   8.653709   7.343242  8.336956
## ENSG00000127954.13 STEAP4     11.098838  11.081602  10.362320 10.863874
## ENSG00000139572.4 GPR84        6.445487   7.500296   6.484605  6.414112
## ENSG00000211459.2 MT-RNR1     15.854711  15.481482  15.530401 16.257783
## ENSG00000241560.7 ZBTB20-AS1   6.660270   6.203254   5.392817  6.229333
## ENSG00000210082.2 MT-RNR2     17.493639  16.586649  16.681202 17.802336
##                              PG160-EOS PG1601-EOS PG1636-EOS PG1641-EOS
## ENSG00000197632.9 SERPINB2    9.177967   8.984364   8.089407   9.012568
## ENSG00000127954.13 STEAP4    12.403759  10.917041  11.934948  11.730640
## ENSG00000139572.4 GPR84       9.500765   7.074277   8.249603   8.020520
## ENSG00000211459.2 MT-RNR1    15.376300  17.146466  14.877301  16.977244
## ENSG00000241560.7 ZBTB20-AS1  6.460909   5.528460   5.886633   5.702949
## ENSG00000210082.2 MT-RNR2    17.145988  18.473397  16.248970  17.979230
##                              PG1643-EOS PG1648-EOS PG177-EOS PG187-EOS
## ENSG00000197632.9 SERPINB2     6.665651   6.738227  7.553481  9.863332
## ENSG00000127954.13 STEAP4     10.552948  10.402498 10.730776 13.527402
## ENSG00000139572.4 GPR84        5.848675   6.319626  6.050904  9.172375
## ENSG00000211459.2 MT-RNR1     16.296380  17.221560 15.464060 16.160100
## ENSG00000241560.7 ZBTB20-AS1   5.772652   5.616907  6.481774  5.456495
## ENSG00000210082.2 MT-RNR2     17.509585  18.229659 17.001440 17.774886
##                              PG198-EOS PG199-EOS PG2006-EOS PG2016-EOS
## ENSG00000197632.9 SERPINB2    7.165305   7.63611   7.195535   7.587079
## ENSG00000127954.13 STEAP4    10.652824  10.72203  10.165495  13.655778
## ENSG00000139572.4 GPR84       6.971504   6.37299   7.810466   8.974333
## ENSG00000211459.2 MT-RNR1    15.796260  14.76597  17.622985  18.072507
## ENSG00000241560.7 ZBTB20-AS1  6.205409   5.83020   6.125789   5.706825
## ENSG00000210082.2 MT-RNR2    17.353634  16.57865  18.930994  19.255665
##                              PG2020-EOS PG2022-EOS PG2026-EOS PG2067-EOS
## ENSG00000197632.9 SERPINB2     8.138531   5.660554   8.983554   9.950808
## ENSG00000127954.13 STEAP4     11.337525   9.230722  11.662213  12.474143
## ENSG00000139572.4 GPR84        7.771344   4.677111   7.543222   9.465083
## ENSG00000211459.2 MT-RNR1     17.244236  16.989094  16.370937  16.907317
## ENSG00000241560.7 ZBTB20-AS1   5.621749   6.165383   5.757839   5.671054
## ENSG00000210082.2 MT-RNR2     18.346660  17.868487  17.568026  18.382321
##                              PG2072-EOS PG2076-EOS PG2079-EOS PG2085-EOS
## ENSG00000197632.9 SERPINB2     7.856219   6.320990   5.962970   6.276093
## ENSG00000127954.13 STEAP4     11.155672  11.839178  10.188601   7.655969
## ENSG00000139572.4 GPR84        8.006050   7.249753   6.232209   6.606550
## ENSG00000211459.2 MT-RNR1     16.934392  17.748561  17.345926  16.543950
## ENSG00000241560.7 ZBTB20-AS1   6.196715   5.708483   5.292276   6.013786
## ENSG00000210082.2 MT-RNR2     18.148812  18.859551  18.286596  17.878430
##                              PG2088-EOS PG2094-EOS PG2095-EOS PG2096-EOS
## ENSG00000197632.9 SERPINB2     9.854733   6.242620   6.733311   6.451745
## ENSG00000127954.13 STEAP4     11.939008   9.722039   9.096619  10.472700
## ENSG00000139572.4 GPR84        8.437091   6.134367   5.872669   5.948962
## ENSG00000211459.2 MT-RNR1     16.296751  17.544929  17.950071  17.195222
## ENSG00000241560.7 ZBTB20-AS1   5.717085   6.540100   6.006794   5.998977
## ENSG00000210082.2 MT-RNR2     17.711548  18.888269  19.161987  18.412149
##                              PG2102-EOS PG212-EOS PG218-EOS PG219-EOS
## ENSG00000197632.9 SERPINB2     6.001807  4.939443  8.306563  6.078708
## ENSG00000127954.13 STEAP4      8.595642  7.562444 10.611321  9.465392
## ENSG00000139572.4 GPR84        5.595348  6.156792  6.333301  6.266168
## ENSG00000211459.2 MT-RNR1     18.026999 17.704654 15.580638 16.994604
## ENSG00000241560.7 ZBTB20-AS1   6.899110  6.074829  6.333301  6.027373
## ENSG00000210082.2 MT-RNR2     18.885424 18.584776 16.972771 18.308127
##                              PG2433-EOS PG2437-EOS PG3204-EOS PG3233-EOS
## ENSG00000197632.9 SERPINB2     7.722766   8.954946   8.537884   7.201663
## ENSG00000127954.13 STEAP4     10.604911  12.271963  11.597112  10.469504
## ENSG00000139572.4 GPR84        6.040468   7.966367   9.809754   6.074848
## ENSG00000211459.2 MT-RNR1     15.613829  15.368357  15.474847  14.619572
## ENSG00000241560.7 ZBTB20-AS1   6.576851   6.721289   7.623551   6.020053
## ENSG00000210082.2 MT-RNR2     17.034126  17.012028  17.118262  16.557558
##                              PG3234-EOS PG3244-EOS PG3248-EOS PG3258-EOS
## ENSG00000197632.9 SERPINB2     7.719390   7.743835   9.441356   7.107760
## ENSG00000127954.13 STEAP4     10.121621  11.298359  12.043263  11.513197
## ENSG00000139572.4 GPR84        5.889261   6.647924   8.321727   6.709180
## ENSG00000211459.2 MT-RNR1     15.743349  15.344788  16.842836  16.555302
## ENSG00000241560.7 ZBTB20-AS1   5.971794   6.502165   5.558055   5.429131
## ENSG00000210082.2 MT-RNR2     17.052471  17.104778  17.869638  17.888693
##                              PG3609-EOS PG3627-EOS PG3633-EOS PG437-EOS
## ENSG00000197632.9 SERPINB2     7.231010   9.461048   9.356249  7.863310
## ENSG00000127954.13 STEAP4     11.581918  11.952771  12.147150 10.835063
## ENSG00000139572.4 GPR84        6.817258   8.350292   8.113465  5.708390
## ENSG00000211459.2 MT-RNR1     15.863847  16.935480  18.826224 15.502618
## ENSG00000241560.7 ZBTB20-AS1   5.853369   5.462710   5.488600  5.493983
## ENSG00000210082.2 MT-RNR2     17.434615  18.175736  20.130634 17.149778
##                              PG440-EOS PG451-EOS PG453-EOS PG460-EOS PG686-EOS
## ENSG00000197632.9 SERPINB2    8.842986  7.460073  6.450871  7.439107  6.020327
## ENSG00000127954.13 STEAP4    11.204027 10.178977 10.220887 12.652493  7.980738
## ENSG00000139572.4 GPR84       7.696896  7.036799  5.892770  9.572330  6.313407
## ENSG00000211459.2 MT-RNR1    16.336823 15.903486 15.726875 16.466459 16.917918
## ENSG00000241560.7 ZBTB20-AS1  5.943734  6.119821  5.404196  5.751854  6.088817
## ENSG00000210082.2 MT-RNR2    17.963587 17.179086 17.128280 17.641073 18.179046
##                              PG702-EOS PG805-EOS PG808-EOS PG814-EOS PG815-EOS
## ENSG00000197632.9 SERPINB2    8.722216  9.410180  6.432091  9.293602  6.771486
## ENSG00000127954.13 STEAP4    11.448833 11.707208  9.991737 10.964409  9.098435
## ENSG00000139572.4 GPR84       7.302502  9.228624  7.109692  8.712769  5.918009
## ENSG00000211459.2 MT-RNR1    16.954798 15.462415 16.948850 16.364350 16.785565
## ENSG00000241560.7 ZBTB20-AS1  5.270150  5.596533  5.382709  5.587625  6.221504
## ENSG00000210082.2 MT-RNR2    18.363772 17.016219 18.186195 17.168919 17.953416
##                              PG822-EOS PG828-EOS PG830-EOS PG842-EOS
## ENSG00000197632.9 SERPINB2    6.628373  8.659630  7.971675  5.578366
## ENSG00000127954.13 STEAP4    10.030470 11.806971  9.523778  9.129402
## ENSG00000139572.4 GPR84       6.763518  6.722388  6.403967  5.840948
## ENSG00000211459.2 MT-RNR1    16.356382 15.763331 16.561387 16.361385
## ENSG00000241560.7 ZBTB20-AS1  5.584353  6.405788  5.360838  6.701566
## ENSG00000210082.2 MT-RNR2    17.761685 17.372792 17.807223 17.621038
nrow(subset(dge,padj<0.05))
## [1] 53
nrow(subset(dge,padj<0.05&log2FoldChange>0))
## [1] 19
nrow(subset(dge,padj<0.05&log2FoldChange<0))
## [1] 34
#smearplot
sig <- subset(dge,padj<0.05)
plot(log10(dge$baseMean),dge$log2FoldChange,pch=19, col="darkgray",cex=0.6,
  ylab="log2 fold change",xlab="log10 base mean",bty="n")
points(log10(sig$baseMean), sig$log2FoldChange,pch=19,col="red",cex=0.65)
grid()

#volcanoplot
sig <- subset(dge,padj<0.05)
plot(dge$log2FoldChange,-log10(dge$pvalue),pch=19, col="darkgray",cex=0.6,
  xlab="log2 fold change",ylab="log10 p-value",bty="n")
points(sig$log2FoldChange,-log10(sig$pvalue),pch=19,col="red",cex=0.65)
grid()

# heatmap
top <- rpm[rownames(rpm) %in% rownames(head(dge,10)),]
grp <- as.character( ( (ss2[match(colnames(top),rownames(ss2)),"crp_group" ] -1 ) / 3 ) + 1 )
colfunc <- colorRampPalette(c("blue", "white", "red"))
heatmap.2(top,trace="none",mar=c(6,10),col=colfunc , cexRow=0.6,ColSideColors=grp,scale="row")

numtop=6
par(mar=c(5.1,6.1,2.1,2.1))

null <- lapply(1:numtop, function(i) {
  gname <- rownames(top)[i]
  g <- top[i,]
  g1 <- g[which(grp=="1")]
  g2 <- g[which(grp=="2")]
  gl <- list("G1"=g1,"G2"=g2)
  boxplot(gl,col="white",cex=0,ylab="RPM")
  mtext(gname)
  beeswarm(gl,add=TRUE,pch=19,col="darkgray")
})

CRP low vs high at POD1

mx <- xpod1f
ss2 <- as.data.frame(cbind(ss_pod1,sscell_pod1))
mx <- mx[,colnames(mx) %in% rownames(ss2)]
rpm <- apply(mx,2,function(x) { x/sum(x) * 1e6 } )

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 134 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
## ENSG00000007968.7 E2F2       870.17416      0.4436761 0.03676788 12.066948
## ENSG00000137869.15 CYP19A1    81.93527      0.9960649 0.09264040 10.751949
## ENSG00000163710.9 PCOLCE2     18.25602      1.0744848 0.10096581 10.642066
## ENSG00000104918.8 RETN      1801.19251      0.7757049 0.07614859 10.186726
## ENSG00000132170.24 PPARG     168.63657      0.5429631 0.05405474 10.044690
## ENSG00000145287.11 PLAC8    4671.33188      0.3457873 0.03478431  9.940898
## ENSG00000183578.8 TNFAIP8L3   24.65972      0.7720344 0.07809643  9.885655
## ENSG00000135424.18 ITGA7     436.10324      0.5378278 0.05479987  9.814399
## ENSG00000108950.12 FAM20A   1751.41363      0.6102328 0.06295930  9.692497
## ENSG00000165092.13 ALDH1A1   410.41112     -0.5138028 0.05334920 -9.630936
##                                   pvalue         padj
## ENSG00000007968.7 E2F2      1.578813e-33 3.364925e-29
## ENSG00000137869.15 CYP19A1  5.802268e-27 6.183186e-23
## ENSG00000163710.9 PCOLCE2   1.898717e-26 1.348912e-22
## ENSG00000104918.8 RETN      2.272894e-24 1.211055e-20
## ENSG00000132170.24 PPARG    9.695213e-24 4.132682e-20
## ENSG00000145287.11 PLAC8    2.763251e-23 9.815527e-20
## ENSG00000183578.8 TNFAIP8L3 4.804293e-23 1.462770e-19
## ENSG00000135424.18 ITGA7    9.761766e-23 2.600656e-19
## ENSG00000108950.12 FAM20A   3.244949e-22 7.684400e-19
## ENSG00000165092.13 ALDH1A1  5.918789e-22 1.261472e-18
mean(abs(dge$stat))
## [1] 1.827282
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 24 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000007968.7 E2F2      870.17416      0.3860936 0.04401299  8.772264
## ENSG00000163710.9 PCOLCE2    18.25602      0.9879318 0.11793493  8.376923
## ENSG00000137869.15 CYP19A1   81.93527      0.8122448 0.10657233  7.621535
## ENSG00000104918.8 RETN     1801.19251      0.6489135 0.08536396  7.601727
## ENSG00000132170.24 PPARG    168.63657      0.4789945 0.06318857  7.580398
## ENSG00000135424.18 ITGA7    436.10324      0.4767597 0.06544080  7.285359
## ENSG00000108950.12 FAM20A  1751.41363      0.5260557 0.07302081  7.204190
## ENSG00000169994.19 MYO7B    618.31752      0.3324557 0.04684399  7.097083
## ENSG00000165092.13 ALDH1A1  410.41112     -0.4432919 0.06264590 -7.076151
## ENSG00000116016.14 EPAS1    154.17271      0.3555413 0.05078144  7.001402
##                                  pvalue         padj
## ENSG00000007968.7 E2F2     1.751085e-18 3.732087e-14
## ENSG00000163710.9 PCOLCE2  5.432955e-17 5.789628e-13
## ENSG00000137869.15 CYP19A1 2.506768e-14 1.468447e-10
## ENSG00000104918.8 RETN     2.922041e-14 1.468447e-10
## ENSG00000132170.24 PPARG   3.444956e-14 1.468447e-10
## ENSG00000135424.18 ITGA7   3.208156e-13 1.139591e-09
## ENSG00000108950.12 FAM20A  5.839004e-13 1.777810e-09
## ENSG00000169994.19 MYO7B   1.274176e-12 3.394564e-09
## ENSG00000165092.13 ALDH1A1 1.482132e-12 3.509854e-09
## ENSG00000116016.14 EPAS1   2.534142e-12 5.401016e-09
mean(abs(dge$stat))
## [1] 1.324957
crp_pod1 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 8 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000007968.7 E2F2      870.17416      0.3472345 0.04014188  8.650180
## ENSG00000165092.13 ALDH1A1  410.41112     -0.4939869 0.05929804 -8.330578
## ENSG00000137869.15 CYP19A1   81.93527      0.7605312 0.09261922  8.211375
## ENSG00000132170.24 PPARG    168.63657      0.4271253 0.05248859  8.137488
## ENSG00000163710.9 PCOLCE2    18.25602      0.7905130 0.09924489  7.965276
## ENSG00000108950.12 FAM20A  1751.41363      0.4989988 0.06457599  7.727313
## ENSG00000135424.18 ITGA7    436.10324      0.4381670 0.05874170  7.459215
## ENSG00000116016.14 EPAS1    154.17271      0.2817621 0.03934883  7.160621
## ENSG00000104918.8 RETN     1801.19251      0.5040455 0.07279215  6.924449
## ENSG00000169994.19 MYO7B    618.31752      0.3134418 0.04566547  6.863870
##                                  pvalue         padj
## ENSG00000007968.7 E2F2     5.141838e-18 1.095880e-13
## ENSG00000165092.13 ALDH1A1 8.044867e-17 8.573012e-13
## ENSG00000137869.15 CYP19A1 2.186696e-16 1.553502e-12
## ENSG00000132170.24 PPARG   4.035620e-16 2.150279e-12
## ENSG00000163710.9 PCOLCE2  1.648551e-15 7.027116e-12
## ENSG00000108950.12 FAM20A  1.098407e-14 3.901725e-11
## ENSG00000135424.18 ITGA7   8.703923e-14 2.650096e-10
## ENSG00000116016.14 EPAS1   8.031221e-13 2.139618e-09
## ENSG00000104918.8 RETN     4.376743e-12 1.036461e-08
## ENSG00000169994.19 MYO7B   6.701977e-12 1.428392e-08
mean(abs(dge$stat))
## [1] 1.110864
crp_pod1_adj <- dge

Visualisation.

dge <- as.data.frame(zz[order(zz$pvalue),])
dim(dge)
## [1] 21313   115
head(subset(dge,padj<0.05))
##                              baseMean log2FoldChange      lfcSE      stat
## ENSG00000007968.7 E2F2      870.17416      0.3472345 0.04014188  8.650180
## ENSG00000165092.13 ALDH1A1  410.41112     -0.4939869 0.05929804 -8.330578
## ENSG00000137869.15 CYP19A1   81.93527      0.7605312 0.09261922  8.211375
## ENSG00000132170.24 PPARG    168.63657      0.4271253 0.05248859  8.137488
## ENSG00000163710.9 PCOLCE2    18.25602      0.7905130 0.09924489  7.965276
## ENSG00000108950.12 FAM20A  1751.41363      0.4989988 0.06457599  7.727313
##                                  pvalue         padj 3166-POD1 3167-POD1
## ENSG00000007968.7 E2F2     5.141838e-18 1.095880e-13  8.556478  9.018911
## ENSG00000165092.13 ALDH1A1 8.044867e-17 8.573012e-13  9.965856  9.788058
## ENSG00000137869.15 CYP19A1 2.186696e-16 1.553502e-12  5.540142  5.309214
## ENSG00000132170.24 PPARG   4.035620e-16 2.150279e-12  7.634784  7.343027
## ENSG00000163710.9 PCOLCE2  1.648551e-15 7.027116e-12  4.908394  4.487987
## ENSG00000108950.12 FAM20A  1.098407e-14 3.901725e-11  8.392455  9.386792
##                            3171-POD1 3172-POD1 3173-POD1 3174-POD1 3176-POD1
## ENSG00000007968.7 E2F2      9.218884 10.908373  8.866144  8.889960 10.655769
## ENSG00000165092.13 ALDH1A1  8.186349  8.128932  8.765648 10.440463  7.847289
## ENSG00000137869.15 CYP19A1  5.254302  7.203824  5.218213  5.455619  7.207754
## ENSG00000132170.24 PPARG    6.344765  8.482247  6.791909  7.859734  8.507917
## ENSG00000163710.9 PCOLCE2   4.487987  5.911696  4.912564  5.078362  6.777611
## ENSG00000108950.12 FAM20A   8.040763 12.299163  9.018524  9.301249 11.055863
##                            3178-POD1 3179-POD1 3189-POD1 3192-POD1 3194-POD1
## ENSG00000007968.7 E2F2      9.204815 10.176533  8.998307 10.061403  9.495261
## ENSG00000165092.13 ALDH1A1  9.838225  9.123700  8.736732  7.187178  8.352833
## ENSG00000137869.15 CYP19A1  5.147053  6.303613  5.471853  5.458170  6.097220
## ENSG00000132170.24 PPARG    7.018197  8.305187  6.905224  7.714293  7.485621
## ENSG00000163710.9 PCOLCE2   5.265171  5.352655  5.034110  5.026319  4.923709
## ENSG00000108950.12 FAM20A   8.316141 10.802945  9.652176  9.214367 10.190435
##                            PG002-POD1 PG004-POD1 PG009-POD1 PG012-POD1
## ENSG00000007968.7 E2F2       8.738531   8.592113   9.155309   8.912670
## ENSG00000165092.13 ALDH1A1   9.567303   8.554946   8.483489   9.460891
## ENSG00000137869.15 CYP19A1   6.536752   5.672824   6.074656   5.892816
## ENSG00000132170.24 PPARG     7.935042   6.444848   7.425505   7.130888
## ENSG00000163710.9 PCOLCE2    4.910822   4.487987   5.192151   4.884371
## ENSG00000108950.12 FAM20A   10.669562   9.692853   7.856350  10.128258
##                            PG013-POD1 PG022-POD1 PG048-POD1 PG053-POD1
## ENSG00000007968.7 E2F2      10.834375   8.716732   9.020569  10.270718
## ENSG00000165092.13 ALDH1A1   7.651873   9.637750   7.364848   7.076029
## ENSG00000137869.15 CYP19A1   9.177884   5.171369   6.475341   6.972383
## ENSG00000132170.24 PPARG     9.507593   6.572301   7.108284   7.927647
## ENSG00000163710.9 PCOLCE2    6.642915   5.364937   6.865122   6.972383
## ENSG00000108950.12 FAM20A   11.773897   8.748714  10.381544  11.467014
##                            PG054-POD1 PG082-POD1 PG086-POD1 PG112-POD1
## ENSG00000007968.7 E2F2      11.301754  10.066240   8.911560  10.527965
## ENSG00000165092.13 ALDH1A1   7.568360   8.400376   8.464721   6.506774
## ENSG00000137869.15 CYP19A1   8.915694   7.041515   6.743148   7.478492
## ENSG00000132170.24 PPARG     9.376493   7.542273   7.110844   8.329681
## ENSG00000163710.9 PCOLCE2    5.990291   5.488291   4.885746   6.272475
## ENSG00000108950.12 FAM20A   11.888368  11.707619   9.684269  11.906993
##                            PG113-POD1 PG138-POD1 PG1403-POD1 PG1410-POD1
## ENSG00000007968.7 E2F2       9.998851   8.711399    9.466236    8.647189
## ENSG00000165092.13 ALDH1A1   6.932790   8.998671    8.029051    9.423639
## ENSG00000137869.15 CYP19A1   6.325793   4.915134    7.324720    5.062045
## ENSG00000132170.24 PPARG     7.108792   6.225081    8.080651    6.546801
## ENSG00000163710.9 PCOLCE2    5.344358   4.487987    5.408224    4.776433
## ENSG00000108950.12 FAM20A   10.432064   8.758494   11.897033    9.877665
##                            PG1415-POD1 PG1416-POD1 PG1423-POD1 PG1427-POD1
## ENSG00000007968.7 E2F2        8.424178    9.440455   11.468997    9.861266
## ENSG00000165092.13 ALDH1A1    9.012976    6.455100    6.829155    7.653440
## ENSG00000137869.15 CYP19A1    5.380893    6.285817    9.497014    7.327848
## ENSG00000132170.24 PPARG      6.923635    6.848026    8.556010    7.842655
## ENSG00000163710.9 PCOLCE2     5.031839    5.062020    8.586317    5.229939
## ENSG00000108950.12 FAM20A     8.626888    9.475564   11.512900   11.477395
##                            PG1428-POD1 PG1432-POD1 PG1434-POD1 PG1440-POD1
## ENSG00000007968.7 E2F2       10.548880    9.049904   10.335731   10.164099
## ENSG00000165092.13 ALDH1A1    6.968750    8.669916    6.489659    7.458804
## ENSG00000137869.15 CYP19A1    7.530625    5.627043    7.932387    8.125267
## ENSG00000132170.24 PPARG      9.019695    7.202946    8.393411    8.594269
## ENSG00000163710.9 PCOLCE2     6.905287    4.899846    6.161252    5.881620
## ENSG00000108950.12 FAM20A    11.816647    7.727230   11.565216   11.304972
##                            PG1441-POD1 PG1443-POD1 PG1445-POD1 PG1446-POD1
## ENSG00000007968.7 E2F2       10.600276   10.184889    8.970185    9.431098
## ENSG00000165092.13 ALDH1A1    8.679514    8.382374    8.586445    9.227869
## ENSG00000137869.15 CYP19A1    7.625882    8.231197    4.909697    6.234638
## ENSG00000132170.24 PPARG      8.618369    8.260275    6.449450    6.924874
## ENSG00000163710.9 PCOLCE2     6.450571    5.413755    4.786710    5.192442
## ENSG00000108950.12 FAM20A    12.121915   11.863380    9.229238   11.867334
##                            PG1452-POD1 PG1459-POD1 PG1460-POD1 PG1461-POD1
## ENSG00000007968.7 E2F2       10.974662    9.975971    9.105799   11.141666
## ENSG00000165092.13 ALDH1A1    7.046593    7.758719    9.080826    6.707401
## ENSG00000137869.15 CYP19A1    6.486993    6.578678    5.678955    8.003658
## ENSG00000132170.24 PPARG      8.442075    7.659364    7.287896    8.560599
## ENSG00000163710.9 PCOLCE2     6.516998    5.442060    5.469233    6.691764
## ENSG00000108950.12 FAM20A    11.252505   10.449156   10.419932   12.330561
##                            PG1481-POD1 PG1488-POD1 PG1490-POD1 PG1496-POD1
## ENSG00000007968.7 E2F2        8.327144   10.009038   10.521112    8.533296
## ENSG00000165092.13 ALDH1A1    9.721350    8.463417    7.324904    8.533296
## ENSG00000137869.15 CYP19A1    5.026025    6.795645    7.756464    4.899363
## ENSG00000132170.24 PPARG      6.112152    7.629217    8.045939    6.207192
## ENSG00000163710.9 PCOLCE2     5.546413    5.669769    5.875643    4.899363
## ENSG00000108950.12 FAM20A     7.175285   11.007849   11.863315    9.497698
##                            PG1497-POD1 PG1502-POD1 PG1504-POD1 PG1513-POD1
## ENSG00000007968.7 E2F2        9.910137    9.424865    8.978046    9.073494
## ENSG00000165092.13 ALDH1A1    8.617515    8.531673    9.431131    9.607634
## ENSG00000137869.15 CYP19A1    7.379884    5.334017    5.684251    6.391639
## ENSG00000132170.24 PPARG      8.534261    6.649782    6.644951    6.987253
## ENSG00000163710.9 PCOLCE2     5.162032    5.090443    4.795114    4.487987
## ENSG00000108950.12 FAM20A    11.059109   11.166658    9.046615    9.988953
##                            PG1517-POD1 PG1522-POD1 PG158-POD1 PG160-POD1
## ENSG00000007968.7 E2F2        9.466573   10.659844   9.932976  10.902580
## ENSG00000165092.13 ALDH1A1    7.765673    7.139983   7.773798   7.804992
## ENSG00000137869.15 CYP19A1    6.399970    7.397291   7.154095   7.653275
## ENSG00000132170.24 PPARG      7.295253    8.034477   8.231268   8.710576
## ENSG00000163710.9 PCOLCE2     4.868489    5.188222   5.668169   6.220072
## ENSG00000108950.12 FAM20A    11.016466   11.346787  11.999878  12.108685
##                            PG1601-POD1 PG1636-POD1 PG1641-POD1 PG1643-POD1
## ENSG00000007968.7 E2F2        9.901009   10.549175   10.849637    9.332536
## ENSG00000165092.13 ALDH1A1    7.802411    7.013996    6.326986    9.125411
## ENSG00000137869.15 CYP19A1    6.415130    7.458904    7.046255    6.670870
## ENSG00000132170.24 PPARG      7.562406    7.768744    8.171574    7.603979
## ENSG00000163710.9 PCOLCE2     5.003650    6.699760    5.753874    5.179194
## ENSG00000108950.12 FAM20A    12.083734   11.571596   11.406071   10.763469
##                            PG1648-POD1 PG177-POD1 PG187-POD1 PG198-POD1
## ENSG00000007968.7 E2F2        9.254219   8.698661  10.738640   9.124609
## ENSG00000165092.13 ALDH1A1    8.915260   8.194776   8.126749   8.171649
## ENSG00000137869.15 CYP19A1    5.942148   5.884297   7.230021   6.576146
## ENSG00000132170.24 PPARG      7.023317   7.052898   8.555077   6.485132
## ENSG00000163710.9 PCOLCE2     5.518241   5.545968   5.779956   5.553610
## ENSG00000108950.12 FAM20A    10.473708  10.901598  12.153609  10.809712
##                            PG199-POD1 PG2006-POD1 PG2016-POD1 PG2020-POD1
## ENSG00000007968.7 E2F2      10.887142    8.843314    9.623167    8.653362
## ENSG00000165092.13 ALDH1A1   8.138707    9.600551    8.209456    8.843876
## ENSG00000137869.15 CYP19A1   8.228868    5.009823    6.121014    4.808413
## ENSG00000132170.24 PPARG     9.651692    6.159303    7.611032    5.962797
## ENSG00000163710.9 PCOLCE2    6.591562    4.487987    5.567376    4.487987
## ENSG00000108950.12 FAM20A   11.354216   10.146823   10.787377    8.391049
##                            PG2022-POD1 PG2026-POD1 PG2066-POD1 PG2067-POD1
## ENSG00000007968.7 E2F2        8.955693   10.341196    8.671422   10.170645
## ENSG00000165092.13 ALDH1A1    9.983395    8.697092    9.601828    7.244051
## ENSG00000137869.15 CYP19A1    5.702143    7.719318    4.781362    7.017989
## ENSG00000132170.24 PPARG      6.077201    8.681815    6.024046    8.390190
## ENSG00000163710.9 PCOLCE2     4.487987    5.454833    4.487987    5.326180
## ENSG00000108950.12 FAM20A     8.053641   12.046171    6.620949   11.177081
##                            PG2072-POD1 PG2076-POD1 PG2079-POD1 PG2085-POD1
## ENSG00000007968.7 E2F2        8.989426    8.705812    8.800894    8.920488
## ENSG00000165092.13 ALDH1A1    8.673260    9.675262   10.624179   10.470718
## ENSG00000137869.15 CYP19A1    5.187071    5.690255    5.921264    5.153042
## ENSG00000132170.24 PPARG      7.172341    5.823229    6.482159    6.552680
## ENSG00000163710.9 PCOLCE2     4.487987    4.764247    5.177498    5.506170
## ENSG00000108950.12 FAM20A     8.574723    9.049996    8.219756    8.455995
##                            PG2088-POD1 PG2090-POD1 PG2095-POD1 PG2096-POD1
## ENSG00000007968.7 E2F2       10.524358    8.800746    8.188473    9.149741
## ENSG00000165092.13 ALDH1A1    7.645632   10.090122   10.562718    9.269868
## ENSG00000137869.15 CYP19A1    8.778235    4.487987    5.007022    5.664171
## ENSG00000132170.24 PPARG      8.522937    6.181741    6.666419    6.549634
## ENSG00000163710.9 PCOLCE2     6.029455    5.045827    4.788726    4.487987
## ENSG00000108950.12 FAM20A    11.604657    7.441158    7.314259    9.132093
##                            PG2102-POD1 PG212-POD1 PG218-POD1 PG219-POD1
## ENSG00000007968.7 E2F2        8.764817   8.911351   9.965896   8.992338
## ENSG00000165092.13 ALDH1A1    8.914935   9.641221   7.946811   8.777685
## ENSG00000137869.15 CYP19A1    5.056100   6.007892   7.052058   6.213203
## ENSG00000132170.24 PPARG      6.613185   7.531453   7.988558   7.236650
## ENSG00000163710.9 PCOLCE2     4.487987   4.988645   5.975576   4.487987
## ENSG00000108950.12 FAM20A     8.943681   9.818981  11.427634  10.713245
##                            PG2433-POD1 PG2437-POD1 PG3204-POD1 PG3233-POD1
## ENSG00000007968.7 E2F2       10.394326    9.590623   10.291439    8.851493
## ENSG00000165092.13 ALDH1A1    8.915986    8.107510    8.046932   10.300410
## ENSG00000137869.15 CYP19A1    6.264410    5.734998    7.829121    4.487987
## ENSG00000132170.24 PPARG      7.788698    7.612433    8.950661    7.078436
## ENSG00000163710.9 PCOLCE2     6.010189    5.465465    5.281007    4.803922
## ENSG00000108950.12 FAM20A    11.174712   10.827694   12.423803    8.632680
##                            PG3234-POD1 PG3237-POD1 PG3244-POD1 PG3248-POD1
## ENSG00000007968.7 E2F2        8.853731    9.715079    8.658343   10.748684
## ENSG00000165092.13 ALDH1A1    9.099994    8.956856    7.821111    6.807281
## ENSG00000137869.15 CYP19A1    5.344363    6.778106    5.770271    9.290258
## ENSG00000132170.24 PPARG      6.704312    7.222330    6.565172    8.649904
## ENSG00000163710.9 PCOLCE2     5.063500    5.794555    5.260128    6.744475
## ENSG00000108950.12 FAM20A     8.488618   10.857800    9.788602   11.540725
##                            PG3258-POD1 PG3609-POD1 PG3627-POD1 PG3633-POD1
## ENSG00000007968.7 E2F2        9.081233    9.766304   10.203274    9.097779
## ENSG00000165092.13 ALDH1A1   10.328955    9.022132    8.161004    9.003688
## ENSG00000137869.15 CYP19A1    5.434680    6.384229    7.234409    5.882820
## ENSG00000132170.24 PPARG      6.480792    7.778631    8.287173    6.816501
## ENSG00000163710.9 PCOLCE2     5.434680    5.226791    5.561380    5.032717
## ENSG00000108950.12 FAM20A     6.866310    9.418395   11.223203   10.413902
##                            PG437-POD1 PG440-POD1 PG460-POD1 PG686-POD1
## ENSG00000007968.7 E2F2       8.686476  11.172693  10.819201   9.422868
## ENSG00000165092.13 ALDH1A1   9.143536   7.475488   8.177308   8.819182
## ENSG00000137869.15 CYP19A1   4.487987   7.538398   7.940334   5.859466
## ENSG00000132170.24 PPARG     5.773769   7.700873   8.000132   7.032015
## ENSG00000163710.9 PCOLCE2    4.999924   7.023018   6.384330   5.153220
## ENSG00000108950.12 FAM20A    7.582561  10.482083  11.552215  10.822614
##                            PG702-POD1 PG805-POD1 PG808-POD1 PG814-POD1
## ENSG00000007968.7 E2F2       8.971167  10.999030   9.485129   9.418968
## ENSG00000165092.13 ALDH1A1   8.338737   7.018418  10.016213   8.429960
## ENSG00000137869.15 CYP19A1   5.753628   7.982436   4.923745   5.674541
## ENSG00000132170.24 PPARG     6.699255   8.470810   7.019011   6.478642
## ENSG00000163710.9 PCOLCE2    5.033619   5.984351   5.237167   4.487987
## ENSG00000108950.12 FAM20A    9.811519  12.050485   9.087953   9.309532
##                            PG815-POD1 PG822-POD1 PG828-POD1 PG830-POD1
## ENSG00000007968.7 E2F2       9.113062   9.275887   9.674746  10.405083
## ENSG00000165092.13 ALDH1A1   8.154328   7.844621   8.638046   7.640849
## ENSG00000137869.15 CYP19A1   5.373805   6.241432   6.080565   8.167935
## ENSG00000132170.24 PPARG     6.475328   6.761573   7.290595   8.748058
## ENSG00000163710.9 PCOLCE2    4.487987   5.478950   5.839195   5.685148
## ENSG00000108950.12 FAM20A    9.792224  10.200034  11.326674  11.176741
##                            PG842-POD1
## ENSG00000007968.7 E2F2       8.830223
## ENSG00000165092.13 ALDH1A1   8.895195
## ENSG00000137869.15 CYP19A1   4.487987
## ENSG00000132170.24 PPARG     5.454736
## ENSG00000163710.9 PCOLCE2    4.771856
## ENSG00000108950.12 FAM20A    7.559455
nrow(subset(dge,padj<0.05))
## [1] 707
nrow(subset(dge,padj<0.05&log2FoldChange>0))
## [1] 404
nrow(subset(dge,padj<0.05&log2FoldChange<0))
## [1] 303
#smearplot
sig <- subset(dge,padj<0.05)
plot(log10(dge$baseMean),dge$log2FoldChange,pch=19, col="darkgray",cex=0.6,
  ylab="log2 fold change",xlab="log10 base mean",bty="n")
points(log10(sig$baseMean), sig$log2FoldChange,pch=19,col="red",cex=0.65)
grid()

#volcanoplot
sig <- subset(dge,padj<0.05)
plot(dge$log2FoldChange,-log10(dge$pvalue),pch=19, col="darkgray",cex=0.6,
  xlab="log2 fold change",ylab="log10 p-value",bty="n")
points(sig$log2FoldChange,-log10(sig$pvalue),pch=19,col="red",cex=0.65)
grid()

# heatmap
top <- rpm[rownames(rpm) %in% rownames(head(dge,10)),]
grp <- as.character( ( (ss2[match(colnames(top),rownames(ss2)),"crp_group" ] -1 ) / 3 ) + 1 )
colfunc <- colorRampPalette(c("blue", "white", "red"))
heatmap.2(top,trace="none",mar=c(6,10),col=colfunc , cexRow=0.6,ColSideColors=grp,scale="row")

numtop=6
par(mar=c(5.1,6.1,2.1,2.1))

null <- lapply(1:numtop, function(i) {
  gname <- rownames(top)[i]
  g <- top[i,]
  g1 <- g[which(grp=="1")]
  g2 <- g[which(grp=="2")]
  gl <- list("G1"=g1,"G2"=g2)
  boxplot(gl,col="white",cex=0,ylab="RPM")
  mtext(gname)
  beeswarm(gl,add=TRUE,pch=19,col="darkgray")
})

Treatment group (placebo vs dex) differences not stratified

Treatment group A is DEX.

Placebo vs Dex t0

mx <- xt0f
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 364 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
## ENSG00000179593.16 ALOX15B     250.75091      2.4535102 0.3356005 7.310807
## ENSG00000279359.1 RP11-36D19.9  24.97417      2.8528858 0.4030003 7.079116
## ENSG00000141744.4 PNMT          35.64128      1.7581242 0.2682321 6.554488
## ENSG00000276085.1 CCL3L1       308.64747      1.7142404 0.3110314 5.511471
## ENSG00000057294.16 PKP2         92.33310      1.2052448 0.2230360 5.403813
## ENSG00000079215.15 SLC1A3      219.79787      1.7005538 0.3337534 5.095241
## ENSG00000164056.11 SPRY1        69.48429      1.1641135 0.2336978 4.981277
## ENSG00000233916.1 ZDHHC20P1     21.16714      1.2626233 0.2544397 4.962367
## ENSG00000277632.2 CCL3         559.74862      1.3892348 0.2870354 4.839942
## ENSG00000122644.13 ARL4A       383.47521      0.6984913 0.1479189 4.722124
##                                      pvalue         padj
## ENSG00000179593.16 ALOX15B     2.655437e-13 5.824700e-09
## ENSG00000279359.1 RP11-36D19.9 1.450773e-12 1.591135e-08
## ENSG00000141744.4 PNMT         5.583294e-11 4.082318e-07
## ENSG00000276085.1 CCL3L1       3.558480e-08 1.951382e-04
## ENSG00000057294.16 PKP2        6.523884e-08 2.862028e-04
## ENSG00000079215.15 SLC1A3      3.482985e-07 1.273321e-03
## ENSG00000164056.11 SPRY1       6.316602e-07 1.909425e-03
## ENSG00000233916.1 ZDHHC20P1    6.963939e-07 1.909425e-03
## ENSG00000277632.2 CCL3         1.298770e-06 3.165392e-03
## ENSG00000122644.13 ARL4A       2.333946e-06 5.119511e-03
mean(abs(dge$stat))
## [1] 0.7332929
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 14 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000123838.11 C4BPA      33.66576     -2.4906688 0.51109512 -4.873200
## ENSG00000229807.13 XIST    10626.92285      1.9676183 0.41372568  4.755853
## ENSG00000131845.15 ZNF304    418.79903     -0.2874110 0.06121095 -4.695417
## ENSG00000277632.2 CCL3       559.74862      1.2496224 0.26775583  4.667022
## ENSG00000179593.16 ALOX15B   250.75091      1.0955872 0.23730416  4.616806
## ENSG00000122644.13 ARL4A     383.47521      0.6835454 0.15051405  4.541406
## ENSG00000162599.17 NFIA      232.38832      0.3571617 0.08172420  4.370330
## ENSG00000276085.1 CCL3L1     308.64747      1.2489315 0.29873619  4.180717
## ENSG00000079215.15 SLC1A3    219.79787      0.9048788 0.21710495  4.167933
## ENSG00000115306.16 SPTBN1   3986.49830     -0.2464912 0.06133022 -4.019082
##                                  pvalue       padj
## ENSG00000123838.11 C4BPA   1.098048e-06 0.01350890
## ENSG00000229807.13 XIST    1.976106e-06 0.01350890
## ENSG00000131845.15 ZNF304  2.660630e-06 0.01350890
## ENSG00000277632.2 CCL3     3.055966e-06 0.01350890
## ENSG00000179593.16 ALOX15B 3.896920e-06 0.01378107
## ENSG00000122644.13 ARL4A   5.588038e-06 0.01646795
## ENSG00000162599.17 NFIA    1.240590e-05 0.03133730
## ENSG00000276085.1 CCL3L1   2.905914e-05 0.06038889
## ENSG00000079215.15 SLC1A3  3.073748e-05 0.06038889
## ENSG00000115306.16 SPTBN1  5.842529e-05 0.09853184
mean(abs(dge$stat))
## [1] 0.8180765
dex_t0 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 21 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000169429.11 CXCL8    1371.70225      2.0614278 0.36652189  5.624297
## ENSG00000131845.15 ZNF304    418.79903     -0.2742913 0.05931794 -4.624087
## ENSG00000234665.9 LERFS       41.30684      1.7954882 0.40114848  4.475869
## ENSG00000122644.13 ARL4A     383.47521      0.6387889 0.14587853  4.378910
## ENSG00000104361.10 NIPAL2    763.75731      0.3251850 0.07817035  4.159954
## ENSG00000276085.1 CCL3L1     308.64747      1.2043214 0.29535838  4.077492
## ENSG00000162599.17 NFIA      232.38832      0.3313866 0.08168282  4.056993
## ENSG00000256128.6 LINC00944  120.56609      0.4234682 0.10605204  3.993022
## ENSG00000166394.15 CYB5R2     33.12472      0.5263826 0.13248647  3.973104
## ENSG00000115306.16 SPTBN1   3986.49830     -0.1888576 0.04791960 -3.941135
##                                   pvalue         padj
## ENSG00000169429.11 CXCL8    1.862654e-08 0.0004085732
## ENSG00000131845.15 ZNF304   3.762516e-06 0.0412653990
## ENSG00000234665.9 LERFS     7.610102e-06 0.0556425327
## ENSG00000122644.13 ARL4A    1.192745e-05 0.0654071719
## ENSG00000104361.10 NIPAL2   3.183119e-05 0.1396434372
## ENSG00000276085.1 CCL3L1    4.552414e-05 0.1557655337
## ENSG00000162599.17 NFIA     4.970863e-05 0.1557655337
## ENSG00000256128.6 LINC00944 6.523638e-05 0.1620621366
## ENSG00000166394.15 CYB5R2   7.094197e-05 0.1620621366
## ENSG00000115306.16 SPTBN1   8.109709e-05 0.1620621366
mean(abs(dge$stat))
## [1] 0.836814
dex_t0_adj <- dge

Placebo vs Dex at EOS

mx <- xeosf
ss2 <- as.data.frame(cbind(ss_eos,sscell_eos))
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 129 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
## ENSG00000164056.11 SPRY1         165.16703      2.6495880 0.15023176 17.63667
## ENSG00000141744.4 PNMT            87.09740      3.6453228 0.21308131 17.10766
## ENSG00000048740.18 CELF2       14860.56325      0.8538208 0.06266085 13.62606
## ENSG00000279359.1 RP11-36D19.9   103.42684      3.9721090 0.31107441 12.76900
## ENSG00000179593.16 ALOX15B       847.15559      3.1265700 0.24545610 12.73780
## ENSG00000057294.16 PKP2          172.03315      2.2928612 0.18394554 12.46489
## ENSG00000064300.9 NGFR            61.81062      2.2893275 0.18445277 12.41146
## ENSG00000196935.9 SRGAP1         329.84060      1.7220096 0.14799456 11.63563
## ENSG00000272870.3 SAP30-DT       136.77299      0.7521313 0.06569743 11.44841
## ENSG00000145990.11 GFOD1        1933.33604      1.2571493 0.11028762 11.39883
##                                      pvalue         padj
## ENSG00000164056.11 SPRY1       1.288331e-69 2.842959e-65
## ENSG00000141744.4 PNMT         1.301204e-65 1.435684e-61
## ENSG00000048740.18 CELF2       2.802927e-42 2.061740e-38
## ENSG00000279359.1 RP11-36D19.9 2.442745e-37 1.347601e-33
## ENSG00000179593.16 ALOX15B     3.645432e-37 1.608875e-33
## ENSG00000057294.16 PKP2        1.160288e-35 4.267347e-32
## ENSG00000064300.9 NGFR         2.264949e-35 7.140089e-32
## ENSG00000196935.9 SRGAP1       2.715848e-31 7.491327e-28
## ENSG00000272870.3 SAP30-DT     2.394917e-30 5.872069e-27
## ENSG00000145990.11 GFOD1       4.237981e-30 9.351953e-27
mean(abs(dge$stat))
## [1] 1.492199
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 7 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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         165.16703      2.7059241 0.15638312 17.30317
## ENSG00000141744.4 PNMT            87.09740      3.5010607 0.21937506 15.95925
## ENSG00000279359.1 RP11-36D19.9   103.42684      4.2902530 0.32298993 13.28293
## ENSG00000179593.16 ALOX15B       847.15559      3.2375736 0.25327793 12.78269
## ENSG00000196935.9 SRGAP1         329.84060      1.8289816 0.14310723 12.78050
## ENSG00000048740.18 CELF2       14860.56325      0.8384830 0.06660418 12.58905
## ENSG00000057294.16 PKP2          172.03315      2.2412937 0.18649597 12.01792
## ENSG00000064300.9 NGFR            61.81062      2.3210968 0.19383753 11.97444
## ENSG00000272870.3 SAP30-DT       136.77299      0.7544105 0.06880368 10.96468
## ENSG00000145990.11 GFOD1        1933.33604      1.2370846 0.11592467 10.67145
##                                      pvalue         padj
## ENSG00000164056.11 SPRY1       4.451863e-67 9.823926e-63
## ENSG00000141744.4 PNMT         2.456775e-57 2.710683e-53
## ENSG00000279359.1 RP11-36D19.9 2.907846e-40 2.138914e-36
## ENSG00000179593.16 ALOX15B     2.048566e-37 9.299739e-34
## ENSG00000196935.9 SRGAP1       2.107160e-37 9.299739e-34
## ENSG00000048740.18 CELF2       2.425902e-36 8.922064e-33
## ENSG00000057294.16 PKP2        2.860815e-33 9.018513e-30
## ENSG00000064300.9 NGFR         4.836644e-33 1.334128e-29
## ENSG00000272870.3 SAP30-DT     5.649847e-28 1.385280e-24
## ENSG00000145990.11 GFOD1       1.384457e-26 3.055082e-23
mean(abs(dge$stat))
## [1] 1.414199
dex_eos <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 13 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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         165.1670      2.7923988 0.17387075 16.06020
## ENSG00000179593.16 ALOX15B       847.1556      3.8150703 0.26013496 14.66573
## ENSG00000198585.12 NUDT16       5301.4426      1.3105282 0.09401216 13.93999
## ENSG00000135678.12 CPM           575.4329      1.7177301 0.12683011 13.54355
## ENSG00000111666.11 CHPT1        1197.7668      1.0307178 0.07716078 13.35805
## ENSG00000279359.1 RP11-36D19.9   103.4268      4.1756355 0.32422372 12.87887
## ENSG00000141744.4 PNMT            87.0974      3.0319003 0.23852961 12.71079
## ENSG00000177575.13 CD163       25120.8560      2.0894793 0.16631213 12.56360
## ENSG00000171105.14 INSR         1211.6882      1.3065373 0.10720954 12.18676
## ENSG00000136478.8 TEX2           944.3836      0.9718899 0.08209004 11.83932
##                                      pvalue         padj
## ENSG00000164056.11 SPRY1       4.849910e-58 1.070230e-53
## ENSG00000179593.16 ALOX15B     1.068548e-48 1.178983e-44
## ENSG00000198585.12 NUDT16      3.620091e-44 2.662818e-40
## ENSG00000135678.12 CPM         8.650295e-42 4.772151e-38
## ENSG00000111666.11 CHPT1       1.063091e-40 4.691846e-37
## ENSG00000279359.1 RP11-36D19.9 5.919482e-38 2.177087e-34
## ENSG00000141744.4 PNMT         5.150983e-37 1.623810e-33
## ENSG00000177575.13 CD163       3.347442e-36 9.233500e-33
## ENSG00000171105.14 INSR        3.656557e-34 8.965471e-31
## ENSG00000136478.8 TEX2         2.444390e-32 5.394035e-29
mean(abs(dge$stat))
## [1] 1.213944
dex_eos_adj <- dge

Placebo vs dex at POD1

mx <- xpod1f
ss2 <- as.data.frame(cbind(ss_pod1,sscell_pod1))
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 253 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
## ENSG00000186081.12 KRT5          14.54120     -2.1890735 0.27368013 -7.998657
## ENSG00000115414.21 FN1          184.93708      1.5590152 0.21045314  7.407897
## ENSG00000155659.15 VSIG4       1506.08672      2.0082060 0.28041215  7.161623
## ENSG00000149534.9 MS4A2          83.83329     -1.4807283 0.21267884 -6.962274
## ENSG00000154269.15 ENPP3         37.09384     -1.2813394 0.18714546 -6.846756
## ENSG00000131016.17 AKAP12       103.10713     -1.4235125 0.21406791 -6.649817
## ENSG00000259162.1 RP11-203M5.6   24.74288     -1.3334571 0.20408385 -6.533869
## ENSG00000140287.11 HDC          496.98643     -1.4313401 0.22105779 -6.474959
## ENSG00000179348.12 GATA2        687.51559     -1.2570605 0.19461995 -6.459052
## ENSG00000163050.18 COQ8A       2009.95700      0.3111472 0.04862536  6.398866
##                                      pvalue         padj
## ENSG00000186081.12 KRT5        1.257836e-15 2.680827e-11
## ENSG00000115414.21 FN1         1.283177e-13 1.367418e-09
## ENSG00000155659.15 VSIG4       7.972758e-13 5.664113e-09
## ENSG00000149534.9 MS4A2        3.348244e-12 1.784028e-08
## ENSG00000154269.15 ENPP3       7.554314e-12 3.220102e-08
## ENSG00000131016.17 AKAP12      2.934569e-11 1.042408e-07
## ENSG00000259162.1 RP11-203M5.6 6.409198e-11 1.951418e-07
## ENSG00000140287.11 HDC         9.483778e-11 2.495055e-07
## ENSG00000179348.12 GATA2       1.053606e-10 2.495055e-07
## ENSG00000163050.18 COQ8A       1.565351e-10 3.336232e-07
mean(abs(dge$stat))
## [1] 1.083168
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 18 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000186081.12 KRT5          14.54120      -2.189179 0.2813121 -7.782030
## ENSG00000155659.15 VSIG4       1506.08672       2.046373 0.2808756  7.285692
## ENSG00000149534.9 MS4A2          83.83329      -1.501000 0.2091159 -7.177835
## ENSG00000259162.1 RP11-203M5.6   24.74288      -1.419827 0.1981389 -7.165815
## ENSG00000229961.3 RP11-71G12.1   66.93635      -1.279558 0.1908412 -6.704832
## ENSG00000154269.15 ENPP3         37.09384      -1.266610 0.1901442 -6.661313
## ENSG00000131016.17 AKAP12       103.10713      -1.405738 0.2170298 -6.477167
## ENSG00000179348.12 GATA2        687.51559      -1.268770 0.1991819 -6.369905
## ENSG00000115414.21 FN1          184.93708       1.183498 0.1874768  6.312770
## ENSG00000140287.11 HDC          496.98643      -1.423135 0.2259646 -6.298043
##                                      pvalue         padj
## ENSG00000186081.12 KRT5        7.136990e-15 1.521107e-10
## ENSG00000155659.15 VSIG4       3.200226e-13 3.410320e-09
## ENSG00000149534.9 MS4A2        7.082374e-13 4.120069e-09
## ENSG00000259162.1 RP11-203M5.6 7.732500e-13 4.120069e-09
## ENSG00000229961.3 RP11-71G12.1 2.016386e-11 8.595047e-08
## ENSG00000154269.15 ENPP3       2.713924e-11 9.640309e-08
## ENSG00000131016.17 AKAP12      9.346078e-11 2.845614e-07
## ENSG00000179348.12 GATA2       1.891454e-10 5.039070e-07
## ENSG00000115414.21 FN1         2.740849e-10 6.424327e-07
## ENSG00000140287.11 HDC         3.014276e-10 6.424327e-07
mean(abs(dge$stat))
## [1] 0.9476111
dex_pod1 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 7 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000186081.12 KRT5           14.54120     -2.2389680 0.28501008 -7.855750
## ENSG00000155659.15 VSIG4        1506.08672      1.8413878 0.23966497  7.683175
## ENSG00000259162.1 RP11-203M5.6    24.74288     -1.4492534 0.19622054 -7.385840
## ENSG00000229961.3 RP11-71G12.1    66.93635     -1.3530042 0.19043071 -7.104969
## ENSG00000149534.9 MS4A2           83.83329     -1.4271740 0.20531025 -6.951304
## ENSG00000105426.17 PTPRS         203.16124     -0.8200682 0.12224994 -6.708127
## ENSG00000131016.17 AKAP12        103.10713     -1.4256427 0.21310542 -6.689847
## ENSG00000154269.15 ENPP3          37.09384     -1.1882693 0.18395951 -6.459407
## ENSG00000135218.19 CD36        11489.98755     -0.4990619 0.07877088 -6.335615
## ENSG00000070915.10 SLC12A3        21.89994     -1.1148222 0.17749173 -6.280981
##                                      pvalue         padj
## ENSG00000186081.12 KRT5        3.973859e-15 8.469486e-11
## ENSG00000155659.15 VSIG4       1.551937e-14 1.653822e-10
## ENSG00000259162.1 RP11-203M5.6 1.514944e-13 1.076267e-09
## ENSG00000229961.3 RP11-71G12.1 1.203499e-12 6.412543e-09
## ENSG00000149534.9 MS4A2        3.619243e-12 1.542738e-08
## ENSG00000105426.17 PTPRS       1.971381e-11 6.802019e-08
## ENSG00000131016.17 AKAP12      2.234042e-11 6.802019e-08
## ENSG00000154269.15 ENPP3       1.051143e-10 2.800376e-07
## ENSG00000135218.19 CD36        2.363972e-10 5.598148e-07
## ENSG00000070915.10 SLC12A3     3.364436e-10 7.170622e-07
mean(abs(dge$stat))
## [1] 1.031378
dex_pod1_adj <- dge

Intersection between the different

Treatment group differences stratified

Placebo is the control group and dex is the case. Previously this was blinded as treatment group A (dex) and group B (placebo).

Placebo vs Dex t0 in CRP low group

mx <- xt0f
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
ss2 <- subset(ss2,crp_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 480 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
## ENSG00000279359.1 RP11-36D19.9  39.871182      3.3255661 0.6426410  5.174843
## ENSG00000141744.4 PNMT          51.670695      2.1905453 0.4563929  4.799692
## ENSG00000204936.10 CD177       229.544285      2.5908689 0.5761083  4.497191
## ENSG00000169429.11 CXCL8       901.340924      2.4618002 0.5620818  4.379790
## ENSG00000179593.16 ALOX15B     395.592390      2.3562275 0.5403179  4.360817
## ENSG00000122644.13 ARL4A       438.849245      0.9185867 0.2291829  4.008094
## ENSG00000115155.19 OTOF        120.892044     -1.2138646 0.3046430 -3.984548
## ENSG00000258471.2 RP11-84C10.4  14.882458     -0.8381246 0.2161208 -3.878037
## ENSG00000253230.9 MIR124-1HG     8.779545      3.3333270 0.8661726  3.848340
## ENSG00000079215.15 SLC1A3      309.537268      2.0483573 0.5335752  3.838929
##                                      pvalue        padj
## ENSG00000279359.1 RP11-36D19.9 2.281029e-07 0.005003437
## ENSG00000141744.4 PNMT         1.589097e-06 0.017428422
## ENSG00000204936.10 CD177       6.885713e-06 0.050346036
## ENSG00000169429.11 CXCL8       1.187936e-05 0.056845665
## ENSG00000179593.16 ALOX15B     1.295775e-05 0.056845665
## ENSG00000122644.13 ARL4A       6.121070e-05 0.211856281
## ENSG00000115155.19 OTOF        6.760857e-05 0.211856281
## ENSG00000258471.2 RP11-84C10.4 1.053027e-04 0.257542029
## ENSG00000253230.9 MIR124-1HG   1.189208e-04 0.257542029
## ENSG00000079215.15 SLC1A3      1.235720e-04 0.257542029
mean(abs(dge$stat))
## [1] 0.7426342
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 18 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000123838.11 C4BPA         56.27087     -4.1731232 0.7549784 -5.527474
## ENSG00000115155.19 OTOF         120.89204     -1.3340099 0.2995083 -4.454000
## ENSG00000258471.2 RP11-84C10.4   14.88246     -0.9535481 0.2237348 -4.261956
## ENSG00000234665.9 LERFS          57.91435      2.2458257 0.5334492  4.210008
## ENSG00000119922.11 IFIT2       1771.40268     -1.5450653 0.3900463 -3.961235
## ENSG00000126262.5 FFAR2        1188.14797     -1.9514587 0.5036099 -3.874941
## ENSG00000185745.10 IFIT1        822.12911     -1.4987774 0.3868365 -3.874447
## ENSG00000215630.6 GUSBP9        203.39614      0.6165691 0.1653777  3.728248
## ENSG00000119917.15 IFIT3       1355.72352     -1.3840982 0.3721028 -3.719666
## ENSG00000287095.1 CTC-215C12.2   51.19664     -0.7011967 0.1942702 -3.609388
##                                      pvalue         padj
## ENSG00000123838.11 C4BPA       3.248747e-08 0.0007126126
## ENSG00000115155.19 OTOF        8.428498e-06 0.0924395473
## ENSG00000258471.2 RP11-84C10.4 2.026453e-05 0.1400338333
## ENSG00000234665.9 LERFS        2.553614e-05 0.1400338333
## ENSG00000119922.11 IFIT2       7.456304e-05 0.3271080563
## ENSG00000126262.5 FFAR2        1.066505e-04 0.3348755521
## ENSG00000185745.10 IFIT1       1.068671e-04 0.3348755521
## ENSG00000215630.6 GUSBP9       1.928159e-04 0.4861932016
## ENSG00000119917.15 IFIT3       1.994866e-04 0.4861932016
## ENSG00000287095.1 CTC-215C12.2 3.069199e-04 0.5721591421
mean(abs(dge$stat))
## [1] 0.7451314
dex_crplo_t0 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 39 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000074803.20 SLC12A1       84.81635      2.5309721 0.56687476  4.464782
## ENSG00000198794.12 SCAMP5       140.06582     -0.6687552 0.16129778 -4.146090
## ENSG00000258471.2 RP11-84C10.4   14.88246     -0.9213029 0.22559208 -4.083933
## ENSG00000146426.19 TIAM2        156.83010     -0.2658416 0.06670383 -3.985402
## ENSG00000165029.17 ABCA1        721.16202     -0.4761511 0.12104660 -3.933618
## ENSG00000177191.2 B3GNT8        337.40623      0.4161723 0.10764497  3.866156
## ENSG00000215630.6 GUSBP9        203.39614      0.5856881 0.15251223  3.840270
## ENSG00000125384.7 PTGER2       3444.28853      0.3095154 0.08088556  3.826584
## ENSG00000115155.19 OTOF         120.89204     -1.1760107 0.31810885 -3.696882
## ENSG00000234665.9 LERFS          57.91435      1.9741361 0.53705064  3.675884
##                                      pvalue      padj
## ENSG00000074803.20 SLC12A1     8.015039e-06 0.1758099
## ENSG00000198794.12 SCAMP5      3.382006e-05 0.3237592
## ENSG00000258471.2 RP11-84C10.4 4.427980e-05 0.3237592
## ENSG00000146426.19 TIAM2       6.736601e-05 0.3562626
## ENSG00000165029.17 ABCA1       8.367671e-05 0.3562626
## ENSG00000177191.2 B3GNT8       1.105641e-04 0.3562626
## ENSG00000215630.6 GUSBP9       1.228993e-04 0.3562626
## ENSG00000125384.7 PTGER2       1.299339e-04 0.3562626
## ENSG00000115155.19 OTOF        2.182642e-04 0.5039260
## ENSG00000234665.9 LERFS        2.370268e-04 0.5039260
mean(abs(dge$stat))
## [1] 0.7359395
dex_crplo_t0_adj <- dge

Treatment A vs B t0 in CRP high group

mx <- xt0f
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
ss2 <- subset(ss2,crp_group==4)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 280 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
## ENSG00000211652.2 IGLV7-43      57.72448     -2.1239079 0.4170214 -5.093043
## ENSG00000276085.1 CCL3L1       255.05022      2.1290088 0.4413597  4.823750
## ENSG00000263711.6 LINC02864     15.37815      1.0912350 0.2360115  4.623652
## ENSG00000211655.3 IGLV1-36      15.01384     -1.7966481 0.3932590 -4.568613
## ENSG00000278920.1 RP3-412A9.17 103.00331      0.4584787 0.1045193  4.386547
## ENSG00000211644.3 IGLV1-51     213.01635     -1.6268205 0.3714945 -4.379124
## ENSG00000211640.4 IGLV6-57      85.08443     -1.7610079 0.4123500 -4.270663
## ENSG00000211673.2 IGLV3-1      232.41139     -1.6806162 0.3957577 -4.246579
## ENSG00000211659.2 IGLV3-25     147.02115     -1.3601113 0.3264997 -4.165735
## ENSG00000203999.9 LINC01270    100.96329      0.9138287 0.2252296  4.057320
##                                      pvalue        padj
## ENSG00000211652.2 IGLV7-43     3.523611e-07 0.007729042
## ENSG00000276085.1 CCL3L1       1.408838e-06 0.015451431
## ENSG00000263711.6 LINC02864    3.770414e-06 0.026923159
## ENSG00000211655.3 IGLV1-36     4.909626e-06 0.026923159
## ENSG00000278920.1 RP3-412A9.17 1.151641e-05 0.043561921
## ENSG00000211644.3 IGLV1-51     1.191573e-05 0.043561921
## ENSG00000211640.4 IGLV6-57     1.948923e-05 0.059515054
## ENSG00000211673.2 IGLV3-1      2.170597e-05 0.059515054
## ENSG00000211659.2 IGLV3-25     3.103511e-05 0.075639457
## ENSG00000203999.9 LINC01270    4.963907e-05 0.108883300
mean(abs(dge$stat))
## [1] 0.9391895
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 9 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000274611.4 TBC1D3          75.11060    -30.0000000 3.4770876 -8.627910
## ENSG00000225630.1 MTND2P28       130.06123      2.3682860 0.4535027  5.222210
## ENSG00000276085.1 CCL3L1         255.05022      2.3116469 0.4587644  5.038854
## ENSG00000211652.2 IGLV7-43        57.72448     -2.0854401 0.4313198 -4.835021
## ENSG00000278920.1 RP3-412A9.17   103.00331      0.5045175 0.1058888  4.764596
## ENSG00000263711.6 LINC02864       15.37815      1.0913353 0.2490844  4.381387
## ENSG00000211935.3 IGHV1-3        103.80490     -1.9185910 0.4471158 -4.291038
## ENSG00000272763.1 RP11-357H14.17  12.74908      1.7977024 0.4292170  4.188330
## ENSG00000248801.7 C8orf34-AS1     64.73886      0.4796653 0.1151577  4.165289
## ENSG00000211655.3 IGLV1-36        15.01384     -1.5932340 0.3874482 -4.112121
##                                        pvalue         padj
## ENSG00000274611.4 TBC1D3         6.248304e-18 1.370566e-13
## ENSG00000225630.1 MTND2P28       1.768007e-07 1.939062e-03
## ENSG00000276085.1 CCL3L1         4.683272e-07 3.424253e-03
## ENSG00000211652.2 IGLV7-43       1.331317e-06 7.300610e-03
## ENSG00000278920.1 RP3-412A9.17   1.892329e-06 8.301646e-03
## ENSG00000263711.6 LINC02864      1.179264e-05 4.311194e-02
## ENSG00000211935.3 IGHV1-3        1.778396e-05 5.572731e-02
## ENSG00000272763.1 RP11-357H14.17 2.810148e-05 7.578738e-02
## ENSG00000248801.7 C8orf34-AS1    3.109580e-05 7.578738e-02
## ENSG00000211655.3 IGLV1-36       3.920406e-05 8.599411e-02
mean(abs(dge$stat))
## [1] 0.9640303
dex_crphi_t0 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 50 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000278920.1 RP3-412A9.17   103.00331      0.5815420 0.10378625  5.603266
## ENSG00000184166.3 OR1D2           43.84299      0.7606230 0.14776526  5.147509
## ENSG00000130368.7 MAS1            36.87331      0.6653231 0.13149027  5.059866
## ENSG00000243290.3 IGKV1-12        66.84308     -1.3286846 0.28375687 -4.682475
## ENSG00000100304.13 TTLL12       1016.56775     -0.3673838 0.07974084 -4.607222
## ENSG00000248801.7 C8orf34-AS1     64.73886      0.5485470 0.12082389  4.540054
## ENSG00000261501.1 BBS7-DT         61.88604      0.6923022 0.15275660  4.532060
## ENSG00000287671.1 RP11-728E14.5  125.36742      0.5274317 0.11686194  4.513289
## ENSG00000142910.16 TINAGL1        22.44874      0.6820678 0.15347771  4.444084
## ENSG00000229321.2 AC008269.2      16.95875      0.7855088 0.17965471  4.372325
##                                       pvalue         padj
## ENSG00000278920.1 RP3-412A9.17  2.103496e-08 0.0004614018
## ENSG00000184166.3 OR1D2         2.639689e-07 0.0028950785
## ENSG00000130368.7 MAS1          4.195519e-07 0.0030676236
## ENSG00000243290.3 IGKV1-12      2.834312e-06 0.0155426579
## ENSG00000100304.13 TTLL12       4.080843e-06 0.0175013905
## ENSG00000248801.7 C8orf34-AS1   5.623971e-06 0.0175013905
## ENSG00000261501.1 BBS7-DT       5.841111e-06 0.0175013905
## ENSG00000287671.1 RP11-728E14.5 6.383001e-06 0.0175013905
## ENSG00000142910.16 TINAGL1      8.826713e-06 0.0215126610
## ENSG00000229321.2 AC008269.2    1.229304e-05 0.0249373794
mean(abs(dge$stat))
## [1] 1.015017
dex_crphi_t0_adj <- dge

Placebo vs dex EOS in CRP low group

mx <- xeosf
ss2 <- as.data.frame(cbind(ss_eos,sscell_eos))
ss2 <- subset(ss2,crp_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 107 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
## ENSG00000279359.1 RP11-36D19.9   119.04727      5.1395531 0.37985442 13.530323
## ENSG00000141744.4 PNMT           139.75155      3.9629237 0.29974532 13.220969
## ENSG00000164056.11 SPRY1         233.24893      2.7293415 0.22123910 12.336615
## ENSG00000101187.16 SLCO4A1       173.38666      2.6729677 0.23016886 11.613072
## ENSG00000145990.11 GFOD1        2388.12563      1.6208402 0.15147358 10.700481
## ENSG00000048740.18 CELF2       17256.47082      0.9431286 0.08907269 10.588303
## ENSG00000079215.15 SLC1A3       1233.66208      3.3548369 0.32004341 10.482443
## ENSG00000064300.9 NGFR            79.80579      2.7214429 0.27282219  9.975152
## ENSG00000057294.16 PKP2          259.99533      2.5509580 0.28208480  9.043231
## ENSG00000168807.16 SNTB2        1676.95276      0.9053560 0.10490101  8.630574
##                                      pvalue         padj
## ENSG00000279359.1 RP11-36D19.9 1.035675e-41 2.285321e-37
## ENSG00000141744.4 PNMT         6.640263e-40 7.326202e-36
## ENSG00000164056.11 SPRY1       5.752411e-35 4.231090e-31
## ENSG00000101187.16 SLCO4A1     3.536747e-31 1.951047e-27
## ENSG00000145990.11 GFOD1       1.012513e-26 4.468424e-23
## ENSG00000048740.18 CELF2       3.376566e-26 1.241788e-22
## ENSG00000079215.15 SLC1A3      1.040214e-25 3.279051e-22
## ENSG00000064300.9 NGFR         1.958010e-23 5.400680e-20
## ENSG00000057294.16 PKP2        1.521078e-19 3.729344e-16
## ENSG00000168807.16 SNTB2       6.104468e-18 1.347012e-14
mean(abs(dge$stat))
## [1] 1.272032
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 10 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000279359.1 RP11-36D19.9   119.04727      5.3473014 0.39841137 13.421558
## ENSG00000141744.4 PNMT           139.75155      3.7766894 0.30856473 12.239537
## ENSG00000164056.11 SPRY1         233.24893      2.8225819 0.23140845 12.197402
## ENSG00000079215.15 SLC1A3       1233.66208      3.7771427 0.31036875 12.169855
## ENSG00000101187.16 SLCO4A1       173.38666      2.7558933 0.24132534 11.419825
## ENSG00000048740.18 CELF2       17256.47082      0.9616909 0.09345649 10.290253
## ENSG00000145990.11 GFOD1        2388.12563      1.5620794 0.15651132  9.980616
## ENSG00000057294.16 PKP2          259.99533      2.7302315 0.28018875  9.744258
## ENSG00000064300.9 NGFR            79.80579      2.5660590 0.28091186  9.134748
## ENSG00000119138.5 KLF9          2597.08994      1.0787190 0.11881849  9.078713
##                                      pvalue         padj
## ENSG00000279359.1 RP11-36D19.9 4.521047e-41 9.976594e-37
## ENSG00000141744.4 PNMT         1.911201e-34 2.108723e-30
## ENSG00000164056.11 SPRY1       3.208999e-34 2.360433e-30
## ENSG00000079215.15 SLC1A3      4.498810e-34 2.481881e-30
## ENSG00000101187.16 SLCO4A1     3.329017e-30 1.469228e-26
## ENSG00000048740.18 CELF2       7.797098e-25 2.867643e-21
## ENSG00000145990.11 GFOD1       1.853123e-23 5.841839e-20
## ENSG00000057294.16 PKP2        1.951996e-22 5.384337e-19
## ENSG00000064300.9 NGFR         6.555940e-20 1.607444e-16
## ENSG00000119138.5 KLF9         1.098658e-19 2.424408e-16
mean(abs(dge$stat))
## [1] 1.214829
dex_crplo_eos <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 38 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000279359.1 RP11-36D19.9   119.0473       5.771858 0.4355809 13.250944
## ENSG00000079215.15 SLC1A3       1233.6621       4.437443 0.3485796 12.730070
## ENSG00000164056.11 SPRY1         233.2489       2.991517 0.2506699 11.934089
## ENSG00000177575.13 CD163       22464.4744       2.338916 0.2145363 10.902192
## ENSG00000198363.18 ASPH         1869.6176       1.762934 0.1692706 10.414884
## ENSG00000101187.16 SLCO4A1       173.3867       2.889168 0.2818471 10.250834
## ENSG00000179593.16 ALOX15B      1208.5228       4.514371 0.4436749 10.174952
## ENSG00000174705.13 SH3PXD2B      449.8765       2.978487 0.2929610 10.166838
## ENSG00000111666.11 CHPT1        1299.4517       1.180981 0.1223924  9.649139
## ENSG00000135678.12 CPM           757.4190       2.017819 0.2098045  9.617612
##                                      pvalue         padj
## ENSG00000279359.1 RP11-36D19.9 4.455612e-40 9.832199e-36
## ENSG00000079215.15 SLC1A3      4.024800e-37 4.440763e-33
## ENSG00000164056.11 SPRY1       7.861475e-33 5.782639e-29
## ENSG00000177575.13 CD163       1.125137e-27 6.207098e-24
## ENSG00000198363.18 ASPH        2.120552e-25 9.358846e-22
## ENSG00000101187.16 SLCO4A1     1.173263e-24 4.315067e-21
## ENSG00000179593.16 ALOX15B     2.565257e-24 7.690703e-21
## ENSG00000174705.13 SH3PXD2B    2.788128e-24 7.690703e-21
## ENSG00000111666.11 CHPT1       4.957002e-22 1.215402e-18
## ENSG00000135678.12 CPM         6.737710e-22 1.486811e-18
mean(abs(dge$stat))
## [1] 1.063359
dex_crplo_eos_adj <- dge

Save DEX responsive genes. We will quantify DEX response then investigate patterns in t0 that associate with this reponse.

# save 10 dex genes
dex_genes <- rownames(head(subset(dex_crplo_eos_adj,log2FoldChange<0),10))
dex_genes
##  [1] "ENSG00000009790.15 TRAF3IP3"    "ENSG00000128284.19 APOL3"      
##  [3] "ENSG00000259162.1 RP11-203M5.6" "ENSG00000168389.18 MFSD2A"     
##  [5] "ENSG00000077150.20 NFKB2"       "ENSG00000171631.16 P2RY6"      
##  [7] "ENSG00000142920.17 AZIN2"       "ENSG00000279161.1 CTB-12A17.2" 
##  [9] "ENSG00000110944.9 IL23A"        "ENSG00000277443.3 MARCKS"
# Get normalised values
myrows <- which(rownames(dex_crplo_eos_adj) %in% dex_genes)
mycols <- grep("EOS",colnames(dex_crplo_eos_adj))
dexmx <- dex_crplo_eos_adj[myrows,mycols]
dim(dexmx)
## [1] 10 46
# get dex scores
dex_response_metric <- colSums(dexmx)
par(mar=c(5.1,8.1,2.1,2.1))
barplot(sort(dex_response_metric),las=1,cex.names=0.6,
  horiz=TRUE,xlab="Dex response metric",xlim=c(70,115),
  xpd = FALSE)

par(mar=c(5.1,4.1,4.1,2.1))

# Look at dex gene score across samples by treatment group
trt1 <- rownames(subset(ss2,treatment_group==1))
trt2 <- rownames(subset(ss2,treatment_group==2))
trt1_dex_response <- dex_response_metric[which(names(dex_response_metric) %in% trt1)]
trt2_dex_response <- dex_response_metric[which(names(dex_response_metric) %in% trt2)]
summary(trt1_dex_response)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   80.16   83.74   84.33   84.55   85.39   87.71
summary(trt2_dex_response)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   88.64   91.11   92.23   92.19   93.36   94.80
trt_dex_response_list <- list("Trt1"=trt1_dex_response,"Trt2"=trt2_dex_response)
boxplot(trt_dex_response_list,col="white",cex=0,ylab="dex score")
beeswarm(trt_dex_response_list,col="darkgray",pch=19,cex=2,add=TRUE)

# now look at effectiveness of dex response in 
infec <- read.table("infec.tsv",header=TRUE)
infectrue <- subset(infec,infection30d==1)$PG_number
infecfalse <- subset(infec,infection30d==0)$PG_number
names(dex_response_metric) <- gsub("-EOS","",names(dex_response_metric))
infectrue_dexresponse <- dex_response_metric[ names(dex_response_metric) %in% infectrue ]
infecfalse_dexresponse <- dex_response_metric[ names(dex_response_metric) %in% infecfalse ]
dex_response_list <- list("Infec"=infectrue_dexresponse,"NoInfec"=infecfalse_dexresponse)
boxplot(dex_response_list,col="white",cex=0,ylab="dex score")
beeswarm(dex_response_list,col="darkgray",pch=19,cex=2,add=TRUE)

t.test(infectrue_dexresponse,infecfalse_dexresponse)
## 
##  Welch Two Sample t-test
## 
## data:  infectrue_dexresponse and infecfalse_dexresponse
## t = 0.50075, df = 4.6468, p-value = 0.6393
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -4.913874  7.224640
## sample estimates:
## mean of x mean of y 
##  88.40153  87.24615

Associate dex response score in trt2 group with t=0 expression.

trt2_dex_response_scaled <- as.vector(scale(trt2_dex_response,center=TRUE))
names(trt2_dex_response_scaled) <- names(trt2_dex_response)
trt2_dex_response_df <- data.frame(trt2_dex_response_scaled)
rownames(trt2_dex_response_df) <- gsub("EOS","T0",rownames(trt2_dex_response_df))
trt2_dex_response_df <- trt2_dex_response_df[which(rownames(trt2_dex_response_df) %in% rownames(ss3)),,drop=FALSE]
mx <- xt0f
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
ss3 <- merge(trt2_dex_response_df,ss2,by=0)
rownames(ss3) <- ss3$Row.names

mx <- mx[,colnames(mx) %in% rownames(ss3)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss3,
  design = ~ sexD + ageCS + trt2_dex_response_scaled )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## 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
## ENSG00000278599.6 TBC1D3E           23.24528     14.6831831 1.85530177
## ENSG00000258555.6 SPECC1L-ADORA2A   22.81366      3.2238145 0.57180580
## ENSG00000270800.3 RPS10-NUDT3       32.21763      2.0641485 0.40886274
## ENSG00000174171.6 RP11-23P13.6     789.10044     -0.6788996 0.13558670
## ENSG00000102854.16 MSLN             54.08921     -1.6291710 0.35670858
## ENSG00000186919.13 ZACN             77.12534     -1.4426151 0.32422427
## ENSG00000257767.3 RP11-162P23.2     40.95316      2.2450271 0.56072308
## ENSG00000285581.1 RP11-371C18.3     12.52964     -0.9045823 0.23072660
## ENSG00000102007.11 PLP2           3358.69346      0.3530745 0.09261674
## ENSG00000007350.17 TKTL1           232.81934     -0.8290022 0.21764991
##                                        stat       pvalue         padj
## ENSG00000278599.6 TBC1D3E          7.914175 2.488978e-15 5.459323e-11
## ENSG00000258555.6 SPECC1L-ADORA2A  5.637954 1.720830e-08 1.887234e-04
## ENSG00000270800.3 RPS10-NUDT3      5.048512 4.452643e-07 3.029582e-03
## ENSG00000174171.6 RP11-23P13.6    -5.007125 5.524905e-07 3.029582e-03
## ENSG00000102854.16 MSLN           -4.567232 4.942060e-06 2.167983e-02
## ENSG00000186919.13 ZACN           -4.449436 8.609605e-06 3.147385e-02
## ENSG00000257767.3 RP11-162P23.2    4.003807 6.233118e-05 1.953103e-01
## ENSG00000285581.1 RP11-371C18.3   -3.920581 8.833575e-05 2.421945e-01
## ENSG00000102007.11 PLP2            3.812211 1.377294e-04 2.852030e-01
## ENSG00000007350.17 TKTL1          -3.808879 1.395983e-04 2.852030e-01
mean(abs(dge$stat))
## [1] NA

Now look at the top genes.

rpm <- apply(mx,2,function(x) { x/sum(x) * 1e6 } )

cor_res <- lapply(1:nrow(rpm), function(i) {
  unlist(cor.test(rpm[i,],trt2_dex_response2)[c(3,4)])
})
## Warning in cor(x, y): the standard deviation is zero
cor_df <- do.call(rbind,cor_res)
rownames(cor_df) <- rownames(rpm)
cor_df <- cor_df[order(cor_df[,"p.value"]),]
cor_df <- as.data.frame(cor_df)
cor_df$fdr <- p.adjust(cor_df$p.value)

head(cor_df,20)
##                                      p.value estimate.cor fdr
## ENSG00000259692.6 RP11-499F3.2  0.0002227444   -0.7963913   1
## ENSG00000206140.12 TMEM191C     0.0004491155   -0.7727439   1
## ENSG00000169758.13 TMEM266      0.0005869794   -0.7629247   1
## ENSG00000260018.1 RP11-505K9.1  0.0005877324   -0.7628766   1
## ENSG00000283537.2 RP11-298A10.3 0.0006288348   -0.7603222   1
## ENSG00000093167.18 LRRFIP2      0.0008099915   -0.7504775   1
## ENSG00000286507.1 RP5-1007F24.2 0.0011183574   -0.7372644   1
## ENSG00000176998.4 HCG4          0.0013156909    0.7303086   1
## ENSG00000164674.17 SYTL3        0.0015763759   -0.7223224   1
## ENSG00000260644.6 HERC2P5       0.0015913496   -0.7218973   1
## ENSG00000162188.6 GNG3          0.0016531877    0.7201756   1
## ENSG00000221957.8 KIR2DS4       0.0017889170   -0.7165729   1
## ENSG00000230732.4 AC127904.2    0.0018843347   -0.7141711   1
## ENSG00000146205.14 ANO7         0.0019839201   -0.7117676   1
## ENSG00000109819.9 PPARGC1A      0.0020624866   -0.7099396   1
## ENSG00000163945.19 UVSSA        0.0020866794   -0.7093881   1
## ENSG00000185904.12 LINC00839    0.0021415259   -0.7081567   1
## ENSG00000288064.1 RP11-629B4.1  0.0024128885   -0.7024158   1
## ENSG00000235927.4 NEXN-AS1      0.0024915010   -0.7008507   1
## ENSG00000237480.3 RP5-947P14.1  0.0024976334   -0.7007303   1
lapply(1:10,function(i) {
  g <- rownames(cor_df)[i]
  plot(rpm[grep(g,rownames(rpm)),],trt2_dex_response_df[,1],main=g)
})

## [[1]]
## NULL
## 
## [[2]]
## NULL
## 
## [[3]]
## NULL
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
## 
## [[6]]
## NULL
## 
## [[7]]
## NULL
## 
## [[8]]
## NULL
## 
## [[9]]
## NULL
## 
## [[10]]
## NULL

CSMD1 is in the top 20 however it wasn’t significant. DYRK3 appeared in the top spot using the simple pearson correlation however it wasn’t statistically significant.

Placebo vs control EOS in CRP high group

mx <- xeosf
ss2 <- as.data.frame(cbind(ss_eos,sscell_eos))
ss2 <- subset(ss2,crp_group==4)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 138 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
## ENSG00000164056.11 SPRY1       108.76416      2.5326126 0.23899716 10.596831
## ENSG00000141744.4 PNMT          43.59054      3.1299022 0.34146493  9.166102
## ENSG00000179593.16 ALOX15B     547.79622      3.1622019 0.34916146  9.056560
## ENSG00000279359.1 RP11-36D19.9  90.34984      4.1422780 0.49438348  8.378674
## ENSG00000196935.9 SRGAP1       282.89286      1.8546296 0.22365014  8.292548
## ENSG00000078053.17 AMPH        157.80806      2.2810017 0.27608007  8.262102
## ENSG00000162599.17 NFIA        308.67237      1.0331526 0.12746021  8.105687
## ENSG00000272870.3 SAP30-DT     121.11095      0.7901702 0.09793683  8.068161
## ENSG00000110721.12 CHKA        869.95783      1.2242758 0.15266599  8.019309
## ENSG00000121578.13 B4GALT4     865.64102      1.0701936 0.13932539  7.681254
##                                      pvalue         padj
## ENSG00000164056.11 SPRY1       3.082473e-26 6.802093e-22
## ENSG00000141744.4 PNMT         4.904348e-20 5.411212e-16
## ENSG00000179593.16 ALOX15B     1.346289e-19 9.902853e-16
## ENSG00000279359.1 RP11-36D19.9 5.352733e-17 2.952969e-13
## ENSG00000196935.9 SRGAP1       1.108479e-16 4.892160e-13
## ENSG00000078053.17 AMPH        1.431294e-16 5.264059e-13
## ENSG00000162599.17 NFIA        5.244811e-16 1.653389e-12
## ENSG00000272870.3 SAP30-DT     7.136470e-16 1.968506e-12
## ENSG00000110721.12 CHKA        1.063414e-15 2.607373e-12
## ENSG00000121578.13 B4GALT4     1.575392e-14 3.476417e-11
mean(abs(dge$stat))
## [1] 1.198902
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 5 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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        108.76416      2.6668662 0.24704118 10.795229
## ENSG00000279359.1 RP11-36D19.9   90.34984      4.7807055 0.51198673  9.337557
## ENSG00000141744.4 PNMT           43.59054      3.2127773 0.34991503  9.181593
## ENSG00000196935.9 SRGAP1        282.89286      1.9362962 0.21148881  9.155549
## ENSG00000179593.16 ALOX15B      547.79622      3.1108145 0.36495584  8.523811
## ENSG00000272870.3 SAP30-DT      121.11095      0.8277756 0.09990025  8.286021
## ENSG00000198585.12 NUDT16      4719.70533      1.1852336 0.14956357  7.924614
## ENSG00000121578.13 B4GALT4      865.64102      1.0802472 0.13973365  7.730760
## ENSG00000078053.17 AMPH         157.80806      2.1961560 0.28426023  7.725864
## ENSG00000124523.17 SIRT5        897.95933      0.9857452 0.12942404  7.616400
##                                      pvalue         padj
## ENSG00000164056.11 SPRY1       3.625561e-27 8.000525e-23
## ENSG00000279359.1 RP11-36D19.9 9.858211e-21 1.087706e-16
## ENSG00000141744.4 PNMT         4.247620e-20 2.983573e-16
## ENSG00000196935.9 SRGAP1       5.408209e-20 2.983573e-16
## ENSG00000179593.16 ALOX15B     1.543878e-17 6.813752e-14
## ENSG00000272870.3 SAP30-DT     1.171001e-16 4.306748e-13
## ENSG00000198585.12 NUDT16      2.288558e-15 7.214515e-12
## ENSG00000121578.13 B4GALT4     1.069067e-14 2.723970e-11
## ENSG00000078053.17 AMPH        1.110968e-14 2.723970e-11
## ENSG00000124523.17 SIRT5       2.608485e-14 5.404384e-11
mean(abs(dge$stat))
## [1] 1.268356
dex_crphi_eos <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 25 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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         108.76416      2.6240023 0.2866809 9.153043
## ENSG00000198585.12 NUDT16       4719.70533      1.1065372 0.1246267 8.878810
## ENSG00000179593.16 ALOX15B       547.79622      2.9766761 0.3371685 8.828454
## ENSG00000141744.4 PNMT            43.59054      2.7567470 0.3639446 7.574634
## ENSG00000135678.12 CPM           424.57761      1.1706717 0.1570310 7.455034
## ENSG00000136478.8 TEX2           868.89100      0.8306825 0.1119673 7.418973
## ENSG00000279359.1 RP11-36D19.9    90.34984      3.6900876 0.4986334 7.400402
## ENSG00000196935.9 SRGAP1         282.89286      1.4946300 0.2031922 7.355744
## ENSG00000177575.13 CD163       27248.95998      1.9982484 0.2717814 7.352410
## ENSG00000111666.11 CHPT1        1111.30704      0.9224098 0.1255708 7.345735
##                                      pvalue         padj
## ENSG00000164056.11 SPRY1       5.535184e-20 1.221449e-15
## ENSG00000198585.12 NUDT16      6.757916e-19 7.456347e-15
## ENSG00000179593.16 ALOX15B     1.061329e-18 7.806784e-15
## ENSG00000141744.4 PNMT         3.601428e-14 1.986818e-10
## ENSG00000135678.12 CPM         8.984468e-14 3.965205e-10
## ENSG00000136478.8 TEX2         1.180316e-13 4.280142e-10
## ENSG00000279359.1 RP11-36D19.9 1.357728e-13 4.280142e-10
## ENSG00000196935.9 SRGAP1       1.898672e-13 4.515609e-10
## ENSG00000177575.13 CD163       1.946646e-13 4.515609e-10
## ENSG00000111666.11 CHPT1       2.046318e-13 4.515609e-10
mean(abs(dge$stat))
## [1] 0.9302792
dex_crphi_eos_adj <- dge

Placebo vs dex POD1 in CRP low group

mx <- xpod1f
ss2 <- as.data.frame(cbind(ss_pod1,sscell_pod1))
ss2 <- subset(ss2,crp_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 101 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
## ENSG00000186081.12 KRT5          14.54816      -2.576551 0.4235146 -6.083736
## ENSG00000204044.6 SLC12A5-AS1    25.14097       3.075522 0.5156715  5.964110
## ENSG00000152463.15 OLAH          24.53332       2.873615 0.4851146  5.923580
## ENSG00000146072.6 TNFRSF21       42.89273      -1.040202 0.1856047 -5.604395
## ENSG00000259162.1 RP11-203M5.6   26.14874      -1.581180 0.2897282 -5.457461
## ENSG00000142627.13 EPHA2         19.20075      -1.637298 0.3055916 -5.357798
## ENSG00000204936.10 CD177        618.22625       3.037263 0.5784010  5.251138
## ENSG00000155659.15 VSIG4       1772.93303       2.147341 0.4164837  5.155882
## ENSG00000154269.15 ENPP3         32.41553      -1.154158 0.2238815 -5.155217
## ENSG00000229961.3 RP11-71G12.1   75.23398      -1.526810 0.2963258 -5.152470
##                                      pvalue         padj
## ENSG00000186081.12 KRT5        1.174139e-09 2.237923e-05
## ENSG00000204044.6 SLC12A5-AS1  2.459713e-09 2.237923e-05
## ENSG00000152463.15 OLAH        3.150082e-09 2.237923e-05
## ENSG00000146072.6 TNFRSF21     2.089837e-08 1.113517e-04
## ENSG00000259162.1 RP11-203M5.6 4.829915e-08 2.058799e-04
## ENSG00000142627.13 EPHA2       8.424241e-08 2.992431e-04
## ENSG00000204936.10 CD177       1.511626e-07 4.602470e-04
## ENSG00000155659.15 VSIG4       2.524399e-07 5.479102e-04
## ENSG00000154269.15 ENPP3       2.533374e-07 5.479102e-04
## ENSG00000229961.3 RP11-71G12.1 2.570779e-07 5.479102e-04
mean(abs(dge$stat))
## [1] 1.083967
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 16 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000155659.15 VSIG4       1772.93303      2.8430297 0.3779010  7.523213
## ENSG00000087116.16 ADAMTS2     1436.45625      3.7810098 0.5047909  7.490250
## ENSG00000186081.12 KRT5          14.54816     -2.8196073 0.4406361 -6.398948
## ENSG00000100985.7 MMP9         3694.58444      2.9906315 0.5378912  5.559919
## ENSG00000229961.3 RP11-71G12.1   75.23398     -1.6244674 0.2922448 -5.558584
## ENSG00000259162.1 RP11-203M5.6   26.14874     -1.5474788 0.2819920 -5.487669
## ENSG00000105223.20 PLD3        5830.74295      0.5634008 0.1044934  5.391733
## ENSG00000142627.13 EPHA2         19.20075     -1.7165703 0.3199430 -5.365238
## ENSG00000149534.9 MS4A2          73.42690     -1.3047154 0.2497249 -5.224611
## ENSG00000115590.14 IL1R2       1210.70599      2.4983290 0.4790055  5.215658
##                                      pvalue         padj
## ENSG00000155659.15 VSIG4       5.344614e-14 4.485101e-10
## ENSG00000087116.16 ADAMTS2     6.874245e-14 4.485101e-10
## ENSG00000186081.12 KRT5        1.564514e-10           NA
## ENSG00000100985.7 MMP9         2.699000e-08 1.173975e-04
## ENSG00000229961.3 RP11-71G12.1 2.719718e-08           NA
## ENSG00000259162.1 RP11-203M5.6 4.072731e-08           NA
## ENSG00000105223.20 PLD3        6.978127e-08 2.276439e-04
## ENSG00000142627.13 EPHA2       8.084252e-08           NA
## ENSG00000149534.9 MS4A2        1.745218e-07           NA
## ENSG00000115590.14 IL1R2       1.831657e-07 4.780259e-04
mean(abs(dge$stat))
## [1] 1.269205
dex_crplo_pod1 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 34 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000155659.15 VSIG4       1772.93303      2.0162433 0.3372042  5.979295
## ENSG00000087116.16 ADAMTS2     1436.45625      2.5921989 0.4441658  5.836107
## ENSG00000186081.12 KRT5          14.54816     -2.3884717 0.4653400 -5.132746
## ENSG00000101004.15 NINL         135.28899      0.8218322 0.1605944  5.117440
## ENSG00000229961.3 RP11-71G12.1   75.23398     -1.5446682 0.3076959 -5.020113
## ENSG00000135218.19 CD36        8887.60274     -0.5861702 0.1267697 -4.623898
## ENSG00000259162.1 RP11-203M5.6   26.14874     -1.3790988 0.2987258 -4.616605
## ENSG00000149534.9 MS4A2          73.42690     -1.1437676 0.2491542 -4.590602
## ENSG00000146072.6 TNFRSF21       42.89273     -0.9927936 0.2182291 -4.549318
## ENSG00000102524.12 TNFSF13B    1891.40085     -0.4415406 0.0973661 -4.534850
##                                      pvalue         padj
## ENSG00000155659.15 VSIG4       2.241047e-09 4.776344e-05
## ENSG00000087116.16 ADAMTS2     5.343454e-09 5.694252e-05
## ENSG00000186081.12 KRT5        2.855458e-07 1.650219e-03
## ENSG00000101004.15 NINL        3.097112e-07 1.650219e-03
## ENSG00000229961.3 RP11-71G12.1 5.164096e-07 2.201247e-03
## ENSG00000135218.19 CD36        3.765947e-06 1.177463e-02
## ENSG00000259162.1 RP11-203M5.6 3.900684e-06 1.177463e-02
## ENSG00000149534.9 MS4A2        4.419700e-06 1.177463e-02
## ENSG00000146072.6 TNFRSF21     5.382017e-06 1.228578e-02
## ENSG00000102524.12 TNFSF13B    5.764454e-06 1.228578e-02
mean(abs(dge$stat))
## [1] 1.007149
dex_crplo_pod1_adj <- dge

Placebo vs dex POD in CRP high group

mx <- xpod1f
ss2 <- as.data.frame(cbind(ss_pod1,sscell_pod1))
ss2 <- subset(ss2,crp_group==4)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ dex )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 250 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
## ENSG00000131016.17 AKAP12       118.08416      -1.904351 0.3589245 -5.305715
## ENSG00000149534.9 MS4A2          93.32501      -1.866883 0.3696946 -5.049798
## ENSG00000186081.12 KRT5          14.48988      -2.017018 0.4076555 -4.947850
## ENSG00000229961.3 RP11-71G12.1   58.76722      -1.339118 0.2735829 -4.894745
## ENSG00000140287.11 HDC          571.69806      -1.885325 0.3856379 -4.888847
## ENSG00000179348.12 GATA2        810.50517      -1.608562 0.3351196 -4.799966
## ENSG00000158715.6 SLC45A3       258.52371      -1.306223 0.2724756 -4.793909
## ENSG00000155659.15 VSIG4       1247.57497       2.125659 0.4456525  4.769767
## ENSG00000246363.3 LINC02458      30.59379      -1.828501 0.3945108 -4.634857
## ENSG00000259162.1 RP11-203M5.6   23.31281      -1.481680 0.3212552 -4.612160
##                                      pvalue        padj
## ENSG00000131016.17 AKAP12      1.122321e-07 0.002252723
## ENSG00000149534.9 MS4A2        4.422786e-07 0.004071745
## ENSG00000186081.12 KRT5        7.503751e-07 0.004071745
## ENSG00000229961.3 RP11-71G12.1 9.843326e-07 0.004071745
## ENSG00000140287.11 HDC         1.014285e-06 0.004071745
## ENSG00000179348.12 GATA2       1.586928e-06 0.004627569
## ENSG00000158715.6 SLC45A3      1.635621e-06 0.004627569
## ENSG00000155659.15 VSIG4       1.844388e-06 0.004627569
## ENSG00000246363.3 LINC02458    3.571835e-06 0.007965986
## ENSG00000259162.1 RP11-203M5.6 3.985064e-06 0.007998821
mean(abs(dge$stat))
## [1] 0.7008552
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 11 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000274611.4 TBC1D3     56.78775    -29.8988016 3.4484949 -8.670102
## ENSG00000155659.15 VSIG4   1247.57497      2.6203466 0.4278953  6.123803
## ENSG00000225630.1 MTND2P28  106.98061      2.1843298 0.4275724  5.108678
## ENSG00000078053.17 AMPH     167.98498      1.4433953 0.2894023  4.987505
## ENSG00000186081.12 KRT5      14.48988     -2.0084377 0.4078156 -4.924868
## ENSG00000198794.12 SCAMP5    65.44507     -0.9688741 0.1982757 -4.886500
## ENSG00000131016.17 AKAP12   118.08416     -1.8265380 0.3775149 -4.838321
## ENSG00000211935.3 IGHV1-3    64.54582     -1.5403245 0.3349439 -4.598754
## ENSG00000179348.12 GATA2    810.50517     -1.6245103 0.3536187 -4.593961
## ENSG00000158715.6 SLC45A3   258.52371     -1.3109793 0.2872035 -4.564635
##                                  pvalue         padj
## ENSG00000274611.4 TBC1D3   4.317341e-18 9.201548e-14
## ENSG00000155659.15 VSIG4   9.136762e-10 9.736590e-06
## ENSG00000225630.1 MTND2P28 3.244207e-07 2.304793e-03
## ENSG00000078053.17 AMPH    6.116394e-07 3.258968e-03
## ENSG00000186081.12 KRT5    8.441742e-07 3.598377e-03
## ENSG00000198794.12 SCAMP5  1.026442e-06 3.646091e-03
## ENSG00000131016.17 AKAP12  1.309407e-06 3.986770e-03
## ENSG00000211935.3 IGHV1-3  4.250263e-06 1.000216e-02
## ENSG00000179348.12 GATA2   4.349107e-06 1.000216e-02
## ENSG00000158715.6 SLC45A3  5.003648e-06 1.000216e-02
mean(abs(dge$stat))
## [1] 0.675048
dex_crphi_pod1 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + dex )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 27 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000155659.15 VSIG4   1247.57497      2.2950386 0.4103785  5.592493
## ENSG00000186081.12 KRT5      14.48988     -2.2017575 0.4208558 -5.231620
## ENSG00000244116.3 IGKV2-28   94.97033     -1.5259884 0.2978603 -5.123168
## ENSG00000078053.17 AMPH     167.98498      1.3607293 0.2682921  5.071820
## ENSG00000198794.12 SCAMP5    65.44507     -1.0198076 0.2040027 -4.998991
## ENSG00000100453.13 GZMB    1428.85140     -0.7408128 0.1523888 -4.861334
## ENSG00000111249.14 CUX2      26.61410     -1.3377177 0.2819164 -4.745086
## ENSG00000132465.12 JCHAIN  1006.89958     -1.1477777 0.2442319 -4.699542
## ENSG00000211644.3 IGLV1-51  142.58626     -1.2413111 0.2645593 -4.691995
## ENSG00000211648.2 IGLV1-47  132.22632     -1.2555046 0.2699166 -4.651455
##                                  pvalue         padj
## ENSG00000155659.15 VSIG4   2.238326e-08 0.0004770543
## ENSG00000186081.12 KRT5    1.680313e-07 0.0017906254
## ENSG00000244116.3 IGKV2-28 3.004445e-07 0.0020994796
## ENSG00000078053.17 AMPH    3.940280e-07 0.0020994796
## ENSG00000198794.12 SCAMP5  5.763118e-07 0.0024565867
## ENSG00000100453.13 GZMB    1.165972e-06 0.0041417266
## ENSG00000111249.14 CUX2    2.084173e-06 0.0063457112
## ENSG00000132465.12 JCHAIN  2.607462e-06 0.0064069984
## ENSG00000211644.3 IGLV1-51 2.705531e-06 0.0064069984
## ENSG00000211648.2 IGLV1-47 3.296017e-06 0.0070248008
mean(abs(dge$stat))
## [1] 0.7715621
dex_crphi_pod1_adj <- dge

CRP Group Comparisons statified

CRP low vs high at t=0 in dex (treatment group A)

mx <- xt0f
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
ss2 <- subset(ss2,dex==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 116 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
## ENSG00000211640.4 IGLV6-57      73.94116     -0.5012755 0.09503047 -5.274892
## ENSG00000211644.3 IGLV1-51     249.02248     -0.6160909 0.11760002 -5.238867
## ENSG00000211652.2 IGLV7-43      52.51336     -0.6502306 0.12553982 -5.179477
## ENSG00000211655.3 IGLV1-36      15.50197     -0.6064267 0.12419400 -4.882899
## ENSG00000279359.1 RP11-36D19.9  43.68155     -1.1247960 0.24645555 -4.563890
## ENSG00000263711.6 LINC02864     16.11890      0.3756337 0.08415429  4.463631
## ENSG00000211673.2 IGLV3-1      180.11226     -0.4099034 0.09521025 -4.305244
## ENSG00000113790.11 EHHADH       70.48409      0.1809165 0.04324047  4.183961
## ENSG00000087116.16 ADAMTS2     144.89306     -0.8669518 0.21120081 -4.104869
## ENSG00000211649.3 IGLV7-46      63.48682     -0.5888044 0.14456169 -4.073032
##                                      pvalue        padj
## ENSG00000211640.4 IGLV6-57     1.328340e-07 0.001595313
## ENSG00000211644.3 IGLV1-51     1.615655e-07 0.001595313
## ENSG00000211652.2 IGLV7-43     2.225087e-07 0.001595313
## ENSG00000211655.3 IGLV1-36     1.045375e-06 0.005621245
## ENSG00000279359.1 RP11-36D19.9 5.021440e-06 0.021601231
## ENSG00000263711.6 LINC02864    8.058233e-06 0.028887422
## ENSG00000211673.2 IGLV3-1      1.668016e-05 0.051253362
## ENSG00000113790.11 EHHADH      2.864731e-05 0.077021866
## ENSG00000087116.16 ADAMTS2     4.045433e-05 0.096681348
## ENSG00000211649.3 IGLV7-46     4.640502e-05 0.099812567
mean(abs(dge$stat))
## [1] 0.8542119
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 25 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000274611.4 TBC1D3         61.02093     -9.1421319 1.32357018 -6.907176
## ENSG00000278599.6 TBC1D3E        18.70446     -7.7297743 1.32279104 -5.843534
## ENSG00000280035.1 RP11-10J21.2   19.49861      0.4739069 0.10831763  4.375159
## ENSG00000203999.9 LINC01270     118.07792      0.3907644 0.09069852  4.308387
## ENSG00000203814.6 H2BC18         64.74206      0.4615320 0.10714744  4.307448
## ENSG00000211652.2 IGLV7-43       52.51336     -0.6209722 0.14601308 -4.252853
## ENSG00000211655.3 IGLV1-36       15.50197     -0.5985422 0.14468747 -4.136794
## ENSG00000225764.2 P3H2-AS1       10.20911      0.3674466 0.08926866  4.116188
## ENSG00000211679.2 IGLC3         802.12582     -0.6140036 0.14922781 -4.114539
## ENSG00000267303.1 CTD-2369P2.12  14.16784      1.8563724 0.45893893  4.044923
##                                       pvalue         padj
## ENSG00000274611.4 TBC1D3        4.943970e-12 1.084460e-07
## ENSG00000278599.6 TBC1D3E       5.110489e-09 5.604929e-05
## ENSG00000280035.1 RP11-10J21.2  1.213439e-05 7.245095e-02
## ENSG00000203999.9 LINC01270     1.644492e-05 7.245095e-02
## ENSG00000203814.6 H2BC18        1.651492e-05 7.245095e-02
## ENSG00000211652.2 IGLV7-43      2.110639e-05 7.716144e-02
## ENSG00000211655.3 IGLV1-36      3.521920e-05 9.455306e-02
## ENSG00000225764.2 P3H2-AS1      3.851901e-05 9.455306e-02
## ENSG00000211679.2 IGLC3         3.879542e-05 9.455306e-02
## ENSG00000267303.1 CTD-2369P2.12 5.234043e-05 1.148087e-01
mean(abs(dge$stat))
## [1] 0.8946528
crp_t0_a <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 67 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000159189.12 C1QC           45.19243    -0.61040273 0.11320820 -5.391860
## ENSG00000087116.16 ADAMTS2       144.89306    -0.85240097 0.18580458 -4.587621
## ENSG00000211679.2 IGLC3          802.12582    -0.62143112 0.13983515 -4.444027
## ENSG00000173372.17 C1QA          192.01764    -0.39137607 0.09031133 -4.333632
## ENSG00000203999.9 LINC01270      118.07792     0.22311853 0.05197873  4.292497
## ENSG00000173369.17 C1QB           92.28254    -0.43614730 0.10549051 -4.134470
## ENSG00000213614.11 HEXA         3639.45630    -0.06053357 0.01485206 -4.075769
## ENSG00000255446.1 CTD-2531D15.4   17.55993     0.76019163 0.18656869  4.074594
## ENSG00000225764.2 P3H2-AS1        10.20911     0.38295774 0.09524805  4.020636
## ENSG00000211652.2 IGLV7-43        52.51336    -0.56403860 0.14280717 -3.949652
##                                       pvalue        padj
## ENSG00000159189.12 C1QC         6.973218e-08 0.001529575
## ENSG00000087116.16 ADAMTS2      4.483259e-06 0.049170146
## ENSG00000211679.2 IGLC3         8.829069e-06 0.064555213
## ENSG00000173372.17 C1QA         1.466691e-05 0.077507296
## ENSG00000203999.9 LINC01270     1.766749e-05 0.077507296
## ENSG00000173369.17 C1QB         3.557752e-05 0.126385981
## ENSG00000213614.11 HEXA         4.586247e-05 0.126385981
## ENSG00000255446.1 CTD-2531D15.4 4.609473e-05 0.126385981
## ENSG00000225764.2 P3H2-AS1      5.804118e-05 0.141459245
## ENSG00000211652.2 IGLV7-43      7.826493e-05 0.164623107
mean(abs(dge$stat))
## [1] 0.9126823
crp_t0_a_adj <- dge

CRP low vs high at t=0 placebo (treatment group B)

mx <- xt0f
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
ss2 <- subset(ss2,dex==0)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 698 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
## ENSG00000274012.1 RN7SL2   1005.235348      0.3958682 0.08669141  4.566406
## ENSG00000276168.1 RN7SL1    552.306545      0.3503249 0.07971834  4.394533
## ENSG00000165029.17 ABCA1    676.864267     -0.2828435 0.07210273 -3.922786
## ENSG00000050767.18 COL23A1   32.027614      0.3304131 0.08555804  3.861860
## ENSG00000134321.13 RSAD2    562.578486     -0.3324054 0.08678497 -3.830218
## ENSG00000183117.19 CSMD1     45.694830     -0.4349344 0.11463824 -3.793973
## ENSG00000160179.19 ABCG1    431.970974     -0.1967463 0.05391060 -3.649492
## ENSG00000170153.11 RNF150     8.709392     -0.6451407 0.18034165 -3.577325
## ENSG00000196565.15 HBG2     259.037625      0.6586983 0.18849443  3.494524
## ENSG00000049247.14 UTS2      39.902866      0.3607631 0.10531292  3.425630
##                                  pvalue      padj
## ENSG00000274012.1 RN7SL2   4.961569e-06 0.1088320
## ENSG00000276168.1 RN7SL1   1.110112e-05 0.1217515
## ENSG00000165029.17 ABCA1   8.753099e-05 0.5419992
## ENSG00000050767.18 COL23A1 1.125272e-04 0.5419992
## ENSG00000134321.13 RSAD2   1.280297e-04 0.5419992
## ENSG00000183117.19 CSMD1   1.482560e-04 0.5419992
## ENSG00000160179.19 ABCG1   2.627594e-04 0.8233755
## ENSG00000170153.11 RNF150  3.471282e-04 0.9483616
## ENSG00000196565.15 HBG2    4.749080e-04 0.9483616
## ENSG00000049247.14 UTS2    6.133744e-04 0.9483616
mean(abs(dge$stat))
## [1] 0.8139089
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 11 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000261026.1 CTD-3247F14.2   17.85183     -1.5577738 0.32799353 -4.749404
## ENSG00000078114.19 NEBL           35.44421     -0.8971180 0.19693027 -4.555511
## ENSG00000181126.13 HLA-V         336.08002     -0.6596009 0.14626672 -4.509576
## ENSG00000243224.1 RP5-1157M23.2   44.63609      0.2250026 0.05160220  4.360329
## ENSG00000139287.13 TPH2           42.04591     -0.1966640 0.04960475 -3.964621
## ENSG00000152767.17 FARP1         160.37684     -0.1615427 0.04078672 -3.960669
## ENSG00000123838.11 C4BPA          52.54006     -1.0740085 0.27120443 -3.960144
## ENSG00000254681.6 PKD1P5        2181.95360      0.3720053 0.09477314  3.925218
## ENSG00000119922.11 IFIT2        1651.64063     -0.5395922 0.13801521 -3.909657
## ENSG00000251023.1 RP11-549J18.1   42.31889     -0.1712000 0.04460148 -3.838437
##                                       pvalue       padj
## ENSG00000261026.1 CTD-3247F14.2 2.040169e-06 0.04475111
## ENSG00000078114.19 NEBL         5.225842e-06 0.04749455
## ENSG00000181126.13 HLA-V        6.495722e-06 0.04749455
## ENSG00000243224.1 RP5-1157M23.2 1.298668e-05 0.07121573
## ENSG00000139287.13 TPH2         7.351259e-05 0.22526554
## ENSG00000152767.17 FARP1        7.474011e-05 0.22526554
## ENSG00000123838.11 C4BPA        7.490465e-05 0.22526554
## ENSG00000254681.6 PKD1P5        8.665106e-05 0.22526554
## ENSG00000119922.11 IFIT2        9.242716e-05 0.22526554
## ENSG00000251023.1 RP11-549J18.1 1.238201e-04 0.23027538
mean(abs(dge$stat))
## [1] 1.048832
crp_t0_b <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 37 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000074803.20 SLC12A1        35.08453      0.9122526 0.20486985  4.452839
## ENSG00000181126.13 HLA-V         336.08002     -0.6874493 0.15532026 -4.426012
## ENSG00000260447.1 RP11-304L19.2   11.22085      0.5616031 0.13834164  4.059538
## ENSG00000243224.1 RP5-1157M23.2   44.63609      0.1916944 0.04730854  4.052004
## ENSG00000102854.16 MSLN           53.97058     -0.8879198 0.22198314 -3.999943
## ENSG00000274012.1 RN7SL2        1005.23535      0.4319977 0.11522675  3.749110
## ENSG00000154620.6 TMSB4Y          57.87988     -0.3468062 0.09388812 -3.693824
## ENSG00000249021.1 CTC-505O3.3     12.00956     -0.2429090 0.06703841 -3.623431
## ENSG00000275329.1 RP11-83N9.6      9.92069      0.3085146 0.08571315  3.599385
## ENSG00000276168.1 RN7SL1         552.30655      0.3722778 0.10422593  3.571835
##                                       pvalue      padj
## ENSG00000074803.20 SLC12A1      8.474212e-06 0.1052785
## ENSG00000181126.13 HLA-V        9.599131e-06 0.1052785
## ENSG00000260447.1 RP11-304L19.2 4.916997e-05 0.2779507
## ENSG00000243224.1 RP5-1157M23.2 5.078072e-05 0.2779507
## ENSG00000102854.16 MSLN         6.335781e-05 0.2779507
## ENSG00000274012.1 RN7SL2        1.774633e-04 0.6487762
## ENSG00000154620.6 TMSB4Y        2.209071e-04 0.6895367
## ENSG00000249021.1 CTC-505O3.3   2.907209e-04 0.6895367
## ENSG00000275329.1 RP11-83N9.6   3.189707e-04 0.6895367
## ENSG00000276168.1 RN7SL1        3.544892e-04 0.6895367
mean(abs(dge$stat))
## [1] 0.9050064
crp_t0_b_adj <- dge

CRP low vs high at EOS dex (treatment group A)

mx <- xeosf
ss2 <- as.data.frame(cbind(ss_eos,sscell_eos))
ss2 <- subset(ss2,dex==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 147 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
## ENSG00000234200.2 U82671.8   23.74781     -8.4175144 0.77303756 -10.888881
## ENSG00000204936.10 CD177   2664.36071      1.3040566 0.17489685   7.456147
## ENSG00000139572.4 GPR84     194.83068      0.9793090 0.14085127   6.952788
## ENSG00000170525.21 PFKFB3  4648.61993      0.6889378 0.10435049   6.602152
## ENSG00000176597.12 B3GNT5   364.32833      0.6671879 0.10515716   6.344674
## ENSG00000132170.24 PPARG    105.03591      0.8466718 0.13451424   6.294291
## ENSG00000079385.23 CEACAM1 1083.04204      0.9180621 0.14625935   6.276946
## ENSG00000187775.17 DNAH17   603.73830      0.4485171 0.07177030   6.249342
## ENSG00000136634.7 IL10       75.57604      0.7835233 0.12565466   6.235529
## ENSG00000135916.16 ITM2C    660.76621     -0.3402779 0.05494465  -6.193103
##                                  pvalue         padj
## ENSG00000234200.2 U82671.8 1.302299e-27 2.873783e-23
## ENSG00000204936.10 CD177   8.908934e-14 9.829672e-10
## ENSG00000139572.4 GPR84    3.581374e-12 2.634339e-08
## ENSG00000170525.21 PFKFB3  4.052308e-11 2.235557e-07
## ENSG00000176597.12 B3GNT5  2.228974e-10 9.837353e-07
## ENSG00000132170.24 PPARG   3.088083e-10 1.088493e-06
## ENSG00000079385.23 CEACAM1 3.452870e-10 1.088493e-06
## ENSG00000187775.17 DNAH17  4.121860e-10 1.103974e-06
## ENSG00000136634.7 IL10     4.502544e-10 1.103974e-06
## ENSG00000135916.16 ITM2C   5.899107e-10 1.301756e-06
mean(abs(dge$stat))
## [1] 1.38808
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 12 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000278599.6 TBC1D3E          21.72131     -9.5092053 1.36712905 -6.955602
## ENSG00000258035.2 RP11-74K11.2     20.51590      0.7829509 0.14913630  5.249902
## ENSG00000076356.7 PLXNA2          257.73317      0.4637443 0.09006613  5.148932
## ENSG00000204936.10 CD177         2664.36071      1.1813741 0.23038336  5.127862
## ENSG00000159339.13 PADI4        13293.00692      0.8773302 0.17145591  5.116943
## ENSG00000283345.1 CTD-3092A11.3    36.24736     -0.8647693 0.17126294 -5.049366
## ENSG00000235750.10 KIAA0040      3047.27341      0.3626779 0.07233427  5.013916
## ENSG00000211966.2 IGHV5-51        190.52981     -0.6341490 0.12802140 -4.953461
## ENSG00000176597.12 B3GNT5         364.32833      0.6767111 0.13768368  4.914969
## ENSG00000203999.9 LINC01270       154.60133      0.5209756 0.10632606  4.899793
##                                       pvalue         padj
## ENSG00000278599.6 TBC1D3E       3.510601e-12 7.596590e-08
## ENSG00000258035.2 RP11-74K11.2  1.521803e-07 1.343898e-03
## ENSG00000076356.7 PLXNA2        2.619744e-07 1.343898e-03
## ENSG00000204936.10 CD177        2.930508e-07 1.343898e-03
## ENSG00000159339.13 PADI4        3.105268e-07 1.343898e-03
## ENSG00000283345.1 CTD-3092A11.3 4.432785e-07 1.598684e-03
## ENSG00000235750.10 KIAA0040     5.333326e-07 1.648683e-03
## ENSG00000211966.2 IGHV5-51      7.290485e-07 1.971985e-03
## ENSG00000176597.12 B3GNT5       8.879630e-07 2.075999e-03
## ENSG00000203999.9 LINC01270     9.593786e-07 2.075999e-03
mean(abs(dge$stat))
## [1] 1.342187
crp_eos_a <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 42 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000278599.6 TBC1D3E         21.721315    -10.2553792 1.57048944 -6.530053
## ENSG00000283345.1 CTD-3092A11.3   36.247361     -1.0143122 0.19599256 -5.175258
## ENSG00000282339.1 LLNLF-176F2.1    8.210905     -6.9030990 1.56532705 -4.410004
## ENSG00000228668.1 TRGV5P          68.256402     -0.6121273 0.14417808 -4.245633
## ENSG00000102524.12 TNFSF13B     1626.167180      0.2026085 0.04878487  4.153100
## ENSG00000233937.7 CTC-338M12.4   139.717383     -0.1962152 0.04828865 -4.063382
## ENSG00000087116.16 ADAMTS2       779.297104     -0.8224640 0.21388124 -3.845424
## ENSG00000260271.3 RP1-45N11.1     58.349444      0.2237876 0.05997439  3.731386
## ENSG00000204001.10 LCN8           74.503582      1.3084012 0.35407420  3.695274
## ENSG00000258035.2 RP11-74K11.2    20.515904      0.4374888 0.12062684  3.626795
##                                       pvalue         padj
## ENSG00000278599.6 TBC1D3E       6.574645e-11 1.450827e-06
## ENSG00000283345.1 CTD-3092A11.3 2.275958e-07 2.511179e-03
## ENSG00000282339.1 LLNLF-176F2.1 1.033686e-05 7.603448e-02
## ENSG00000228668.1 TRGV5P        2.179767e-05 1.202523e-01
## ENSG00000102524.12 TNFSF13B     3.280007e-05 1.447598e-01
## ENSG00000233937.7 CTC-338M12.4  4.836686e-05 1.778853e-01
## ENSG00000087116.16 ADAMTS2      1.203443e-04 3.793770e-01
## ENSG00000260271.3 RP1-45N11.1   1.904294e-04 5.252758e-01
## ENSG00000204001.10 LCN8         2.196497e-04 5.385567e-01
## ENSG00000258035.2 RP11-74K11.2  2.869612e-04 5.974026e-01
mean(abs(dge$stat))
## [1] 0.8430902
crp_eos_a_adj <- dge

CRP low vs high at EOS placebo (treatment group B)

mx <- xeosf
ss2 <- as.data.frame(cbind(ss_eos,sscell_eos))
ss2 <- subset(ss2,dex==0)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 128 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
## ENSG00000254873.1 RP11-770J1.5    47.54511     -0.5668914 0.10956959 -5.173802
## ENSG00000224370.1 RP11-814E24.3   49.76184      0.4472603 0.09003302  4.967737
## ENSG00000241860.7 RP11-34P13.13 4903.99846      0.3733341 0.07548746  4.945644
## ENSG00000236911.6 RP11-78B10.2    74.74105      0.5093406 0.10317766  4.936539
## ENSG00000238035.8 AC138035.2    1313.25226      0.3740127 0.07824059  4.780290
## ENSG00000280279.1 LINC02887      485.42034      0.3717109 0.07800330  4.765323
## ENSG00000101187.16 SLCO4A1        97.59953      0.5650296 0.11859698  4.764283
## ENSG00000260528.5 FAM157C       3056.40251      0.3665312 0.07752802  4.727726
## ENSG00000230724.9 LINC01001     3269.93917      0.3263093 0.06964405  4.685387
## ENSG00000264769.1 RP11-498C9.12   41.75148      0.2941786 0.06310258  4.661910
##                                       pvalue        padj
## ENSG00000254873.1 RP11-770J1.5  2.293775e-07 0.004386980
## ENSG00000224370.1 RP11-814E24.3 6.773878e-07 0.004386980
## ENSG00000241860.7 RP11-34P13.13 7.589257e-07 0.004386980
## ENSG00000236911.6 RP11-78B10.2  7.952109e-07 0.004386980
## ENSG00000238035.8 AC138035.2    1.750423e-06 0.005974689
## ENSG00000280279.1 LINC02887     1.885513e-06 0.005974689
## ENSG00000101187.16 SLCO4A1      1.895265e-06 0.005974689
## ENSG00000260528.5 FAM157C       2.270486e-06 0.006262853
## ENSG00000230724.9 LINC01001     2.794320e-06 0.006349407
## ENSG00000264769.1 RP11-498C9.12 3.132880e-06 0.006349407
mean(abs(dge$stat))
## [1] 1.041369
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 5 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000181126.13 HLA-V        396.17882     -0.8065180 0.16968812 -4.752943
## ENSG00000254873.1 RP11-770J1.5   47.54511     -0.5826915 0.13036812 -4.469586
## ENSG00000175874.10 CREG2         15.85760      0.3267149 0.07358462  4.439989
## ENSG00000074803.20 SLC12A1       36.66028      0.8797267 0.20623352  4.265682
## ENSG00000147852.17 VLDLR         60.44142      0.2384517 0.05590948  4.264959
## ENSG00000136274.9 NACAD          13.87223     -0.6254904 0.14828300 -4.218221
## ENSG00000158321.18 AUTS2       1107.33233      0.2789351 0.07162732  3.894256
## ENSG00000241484.10 ARHGAP8       48.02920      0.3161707 0.08197094  3.857107
## ENSG00000179841.8 AKAP5         164.98261      0.2475874 0.06420904  3.855958
## ENSG00000043514.17 TRIT1        438.15726     -0.1127517 0.02930561 -3.847443
##                                      pvalue       padj
## ENSG00000181126.13 HLA-V       2.004768e-06 0.04423922
## ENSG00000254873.1 RP11-770J1.5 7.837118e-06 0.06617416
## ENSG00000175874.10 CREG2       8.996351e-06 0.06617416
## ENSG00000074803.20 SLC12A1     1.992921e-05 0.08824094
## ENSG00000147852.17 VLDLR       1.999387e-05 0.08824094
## ENSG00000136274.9 NACAD        2.462376e-05 0.09056210
## ENSG00000158321.18 AUTS2       9.850051e-05 0.26338536
## ENSG00000241484.10 ARHGAP8     1.147368e-04 0.26338536
## ENSG00000179841.8 AKAP5        1.152772e-04 0.26338536
## ENSG00000043514.17 TRIT1       1.193571e-04 0.26338536
mean(abs(dge$stat))
## [1] 0.885868
crp_eos_b <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 44 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000074803.20 SLC12A1       36.66028      0.9974386 0.22461306  4.440697
## ENSG00000099139.14 PCSK5       1284.53014      0.3871194 0.09428526  4.105831
## ENSG00000175874.10 CREG2         15.85760      0.2917051 0.07128137  4.092305
## ENSG00000112799.9 LY86          950.19080     -0.1665188 0.04275961 -3.894300
## ENSG00000181126.13 HLA-V        396.17882     -0.7233685 0.18577054 -3.893882
## ENSG00000167680.17 SEMA6B       577.15312      0.6250133 0.16781047  3.724519
## ENSG00000225813.1 AC009299.4     13.97230      0.6532645 0.17553661  3.721528
## ENSG00000264522.6 OTUD7B        213.51620      0.1084653 0.02937072  3.692974
## ENSG00000254873.1 RP11-770J1.5   47.54511     -0.4819889 0.13089297 -3.682313
## ENSG00000188599.17 NPIPP1       219.50741     -0.1879393 0.05163699 -3.639626
##                                      pvalue      padj
## ENSG00000074803.20 SLC12A1     8.966780e-06 0.1978699
## ENSG00000099139.14 PCSK5       4.028635e-05 0.3141656
## ENSG00000175874.10 CREG2       4.271069e-05 0.3141656
## ENSG00000112799.9 LY86         9.848252e-05 0.4353942
## ENSG00000181126.13 HLA-V       9.865279e-05 0.4353942
## ENSG00000167680.17 SEMA6B      1.956880e-04 0.5666993
## ENSG00000225813.1 AC009299.4   1.980206e-04 0.5666993
## ENSG00000264522.6 OTUD7B       2.216469e-04 0.5666993
## ENSG00000254873.1 RP11-770J1.5 2.311276e-04 0.5666993
## ENSG00000188599.17 NPIPP1      2.730339e-04 0.6025038
mean(abs(dge$stat))
## [1] 0.8130305
crp_eos_b_adj <- dge

CRP low vs high at POD dex (treatment group A)

mx <- xpod1f
ss2 <- as.data.frame(cbind(ss_pod1,sscell_pod1))
ss2 <- subset(ss2,dex==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 189 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
## ENSG00000007968.7 E2F2      650.98716      0.3793948 0.06004490  6.318518
## ENSG00000137869.15 CYP19A1   60.07323      0.9765750 0.15547632  6.281181
## ENSG00000157064.11 NMNAT2    41.43058      0.4835623 0.07985053  6.055844
## ENSG00000229647.2 MYOSLID    64.61066      0.3230300 0.05367352  6.018424
## ENSG00000165092.13 ALDH1A1  556.69422     -0.4848466 0.08067903 -6.009574
## ENSG00000145287.11 PLAC8   3561.63102      0.2630043 0.04382192  6.001663
## ENSG00000138821.14 SLC39A8  521.43838      0.2641136 0.04467962  5.911276
## ENSG00000132170.24 PPARG    144.66113      0.5565381 0.09494223  5.861861
## ENSG00000198018.7 ENTPD7    368.85840      0.2161036 0.03790805  5.700732
## ENSG00000116016.14 EPAS1    116.95950      0.3548271 0.06246220  5.680670
##                                  pvalue         padj
## ENSG00000007968.7 E2F2     2.640843e-10 2.955877e-06
## ENSG00000137869.15 CYP19A1 3.360096e-10 2.955877e-06
## ENSG00000157064.11 NMNAT2  1.396832e-09 5.727059e-06
## ENSG00000229647.2 MYOSLID  1.761237e-09 5.727059e-06
## ENSG00000165092.13 ALDH1A1 1.860109e-09 5.727059e-06
## ENSG00000145287.11 PLAC8   1.953072e-09 5.727059e-06
## ENSG00000138821.14 SLC39A8 3.394684e-09 8.532295e-06
## ENSG00000132170.24 PPARG   4.577089e-09 1.006616e-05
## ENSG00000198018.7 ENTPD7   1.192940e-08 2.332066e-05
## ENSG00000116016.14 EPAS1   1.341684e-08 2.360559e-05
mean(abs(dge$stat))
## [1] 1.199973
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 21 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000274611.4 TBC1D3    51.46372    -30.0000000 1.33164905 -22.528458
## ENSG00000278599.6 TBC1D3E   16.34998    -24.6438767 1.33044880 -18.522980
## ENSG00000124508.17 BTN2A2 1048.79703     -0.1524054 0.02952679  -5.161599
## ENSG00000215883.11 CYB5RL  377.01565     -0.1494372 0.02926069  -5.107098
## ENSG00000145287.11 PLAC8  3561.63102      0.2386112 0.05025490   4.748019
## ENSG00000116016.14 EPAS1   116.95950      0.3652741 0.07758263   4.708195
## ENSG00000157064.11 NMNAT2   41.43058      0.4652492 0.10224666   4.550263
## ENSG00000132170.24 PPARG   144.66113      0.5281924 0.11718850   4.507203
## ENSG00000128928.10 IVD    1354.85885     -0.1506996 0.03353677  -4.493564
## ENSG00000229647.2 MYOSLID   64.61066      0.2852099 0.06372435   4.475682
##                                  pvalue          padj
## ENSG00000274611.4 TBC1D3  2.184275e-112 3.752802e-108
## ENSG00000278599.6 TBC1D3E  1.347666e-76            NA
## ENSG00000124508.17 BTN2A2  2.448497e-07  1.873552e-03
## ENSG00000215883.11 CYB5RL  3.271437e-07  1.873552e-03
## ENSG00000145287.11 PLAC8   2.054189e-06  8.587756e-03
## ENSG00000116016.14 EPAS1   2.499202e-06  8.587756e-03
## ENSG00000157064.11 NMNAT2  5.357881e-06  1.454044e-02
## ENSG00000132170.24 PPARG   6.568765e-06  1.454044e-02
## ENSG00000128928.10 IVD     7.004101e-06  1.454044e-02
## ENSG00000229647.2 MYOSLID  7.616782e-06  1.454044e-02
mean(abs(dge$stat))
## [1] 0.9984807
crp_pod1_a <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 44 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000157064.11 NMNAT2     41.43058      0.4307897 0.07049747  6.110711
## ENSG00000137869.15 CYP19A1    60.07323      0.7601826 0.12811908  5.933406
## ENSG00000132170.24 PPARG     144.66113      0.4814874 0.08507044  5.659868
## ENSG00000188404.10 SELL    17514.30914      0.2026588 0.03680197  5.506736
## ENSG00000116016.14 EPAS1     116.95950      0.3446736 0.06274337  5.493386
## ENSG00000145287.11 PLAC8    3561.63102      0.2334478 0.04478158  5.213031
## ENSG00000124508.17 BTN2A2   1048.79703     -0.1590625 0.03058359 -5.200910
## ENSG00000148926.10 ADM      1409.50883      0.3668759 0.07139352  5.138785
## ENSG00000121316.11 PLBD1   16469.89344      0.2213555 0.04552841  4.861919
## ENSG00000213694.6 S1PR3     1119.21786     -0.2721949 0.05603887 -4.857252
##                                  pvalue         padj
## ENSG00000157064.11 NMNAT2  9.918830e-10 1.622125e-05
## ENSG00000137869.15 CYP19A1 2.967136e-09 2.426227e-05
## ENSG00000132170.24 PPARG   1.514894e-08 8.258194e-05
## ENSG00000188404.10 SELL    3.655475e-08 1.289678e-04
## ENSG00000116016.14 EPAS1   3.943004e-08 1.289678e-04
## ENSG00000145287.11 PLAC8   1.857798e-07 4.633204e-04
## ENSG00000124508.17 BTN2A2  1.983150e-07 4.633204e-04
## ENSG00000148926.10 ADM     2.765209e-07 5.652779e-04
## ENSG00000121316.11 PLBD1   1.162529e-06 1.835271e-03
## ENSG00000213694.6 S1PR3    1.190263e-06 1.835271e-03
mean(abs(dge$stat))
## [1] 1.026993
crp_pod1_a_adj <- dge

CRP low vs high at POD1 placebo (treatment group B)

mx <- xpod1f
ss2 <- as.data.frame(cbind(ss_pod1,sscell_pod1))
ss2 <- subset(ss2,dex==0)
mx <- mx[,colnames(mx) %in% rownames(ss2)]

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ crp_group )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 155 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
## ENSG00000163710.9 PCOLCE2        25.62512      1.3200438 0.14618904 9.029704
## ENSG00000108950.12 FAM20A      2102.38150      0.6575075 0.07427370 8.852494
## ENSG00000100985.7 MMP9        18630.15953      1.8475668 0.21250458 8.694245
## ENSG00000007968.7 E2F2         1048.78071      0.4485439 0.05226883 8.581478
## ENSG00000137869.15 CYP19A1       99.79869      1.1020306 0.13128996 8.393869
## ENSG00000132170.24 PPARG        188.27369      0.5948070 0.07128398 8.344190
## ENSG00000204044.6 SLC12A5-AS1   114.09553      1.7590874 0.21836871 8.055583
## ENSG00000104918.8 RETN         2356.87387      0.9009685 0.11335111 7.948475
## ENSG00000170439.7 METTL7B       242.42694      0.8427309 0.10841597 7.773125
## ENSG00000135424.18 ITGA7        522.88039      0.5671980 0.07353784 7.713009
##                                     pvalue         padj
## ENSG00000163710.9 PCOLCE2     1.721371e-19 3.668585e-15
## ENSG00000108950.12 FAM20A     8.558475e-19 9.119911e-15
## ENSG00000100985.7 MMP9        3.491438e-18 2.480318e-14
## ENSG00000007968.7 E2F2        9.366156e-18 4.990288e-14
## ENSG00000137869.15 CYP19A1    4.704022e-17 2.005042e-13
## ENSG00000132170.24 PPARG      7.170384e-17 2.546921e-13
## ENSG00000204044.6 SLC12A5-AS1 7.910065e-16 2.408276e-12
## ENSG00000104918.8 RETN        1.888211e-15 5.030195e-12
## ENSG00000170439.7 METTL7B     7.657300e-15 1.813249e-11
## ENSG00000135424.18 ITGA7      1.228856e-14 2.618938e-11
mean(abs(dge$stat))
## [1] 1.485697
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 9 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000163710.9 PCOLCE2    25.62512      1.2259018 0.16300795 7.520503
## ENSG00000108950.12 FAM20A  2102.38150      0.5855328 0.08329079 7.029983
## ENSG00000007968.7 E2F2     1048.78071      0.3962539 0.05925388 6.687392
## ENSG00000104918.8 RETN     2356.87387      0.6987862 0.11335834 6.164401
## ENSG00000132170.24 PPARG    188.27369      0.4927135 0.08019928 6.143615
## ENSG00000135424.18 ITGA7    522.88039      0.5073466 0.08559087 5.927579
## ENSG00000169994.19 MYO7B    752.03451      0.3289064 0.05770625 5.699667
## ENSG00000170439.7 METTL7B   242.42694      0.7107035 0.12800229 5.552272
## ENSG00000050767.18 COL23A1   59.82685      0.4828160 0.08728568 5.531446
## ENSG00000137869.15 CYP19A1   99.79869      0.8331307 0.15065203 5.530166
##                                  pvalue         padj
## ENSG00000163710.9 PCOLCE2  5.456582e-14 1.095300e-09
## ENSG00000108950.12 FAM20A  2.065589e-12 2.073128e-08
## ENSG00000007968.7 E2F2     2.271826e-11 1.520078e-07
## ENSG00000104918.8 RETN     7.075058e-10 3.238343e-06
## ENSG00000132170.24 PPARG   8.066416e-10 3.238343e-06
## ENSG00000135424.18 ITGA7   3.074341e-09 1.028521e-05
## ENSG00000169994.19 MYO7B   1.200415e-08 3.442275e-05
## ENSG00000170439.7 METTL7B  2.819810e-08 6.421919e-05
## ENSG00000050767.18 COL23A1 3.176019e-08 6.421919e-05
## ENSG00000137869.15 CYP19A1 3.199282e-08 6.421919e-05
mean(abs(dge$stat))
## [1] 1.126174
crp_pod1_b <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD + wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + crp_group )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 11 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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  2102.38150      0.5299315 0.07604550  6.968611
## ENSG00000163710.9 PCOLCE2    25.62512      0.9580851 0.14903229  6.428708
## ENSG00000132170.24 PPARG    188.27369      0.3979331 0.06842514  5.815597
## ENSG00000007968.7 E2F2     1048.78071      0.3171167 0.05559108  5.704454
## ENSG00000050767.18 COL23A1   59.82685      0.4708113 0.08827758  5.333305
## ENSG00000169994.19 MYO7B    752.03451      0.2899857 0.05465458  5.305789
## ENSG00000165092.13 ALDH1A1  290.37570     -0.4508214 0.08776359 -5.136770
## ENSG00000135424.18 ITGA7    522.88039      0.4244227 0.08275512  5.128659
## ENSG00000101187.16 SLCO4A1   83.64489      0.3936650 0.07837397  5.022905
## ENSG00000104918.8 RETN     2356.87387      0.4949748 0.10112306  4.894776
##                                  pvalue         padj
## ENSG00000108950.12 FAM20A  3.200859e-12 6.425083e-08
## ENSG00000163710.9 PCOLCE2  1.286930e-10 1.291627e-06
## ENSG00000132170.24 PPARG   6.041790e-09 4.042561e-05
## ENSG00000007968.7 E2F2     1.167169e-08 5.857147e-05
## ENSG00000050767.18 COL23A1 9.644089e-08 3.753200e-04
## ENSG00000169994.19 MYO7B   1.121865e-07 3.753200e-04
## ENSG00000165092.13 ALDH1A1 2.795011e-07 7.321977e-04
## ENSG00000135424.18 ITGA7   2.918140e-07 7.321977e-04
## ENSG00000101187.16 SLCO4A1 5.089561e-07 1.135142e-03
## ENSG00000104918.8 RETN     9.841752e-07 1.975535e-03
mean(abs(dge$stat))
## [1] 0.9391025
crp_pod1_b_adj <- dge

Sex differences in low CRP group (not stratified for treatment group)

SexD: 1=Female and 2=Male I confirmed with this expresion data

T0

No correction for treatment group.

#load chromossome2gene table
chr2gene <- read.table("../ref/chr2gene.tsv")
xyg <- subset(chr2gene,V1=="chrX" | V1=="chrY")

mx <- xt0

dim(mx)
## [1] 60649   111
mx <- mx[which(! sapply(strsplit(rownames(mx)," "),"[[",1) %in% xyg$V2),]
dim(mx)
## [1] 57660   111
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
ss2 <- subset(ss2,crp_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]
mx <- mx[which(rowMeans(mx)>10),]
dim(mx)
## [1] 21291    56
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 344 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
## ENSG00000234551.2 LINC01309      33.64159      2.3288688 0.1992312 11.689275
## ENSG00000223078.1 RNU2-55P       14.21314      2.1704799 0.2226793  9.747112
## ENSG00000287059.1 RP11-14A10.1   32.94434      1.8071869 0.2310635  7.821169
## ENSG00000249036.1 RP11-625I7.1   28.25079     -1.5570247 0.2110902 -7.376110
## ENSG00000280384.1 RP4-695O20.1   17.21499      0.8828052 0.1408053  6.269688
## ENSG00000196415.10 PRTN3        119.82185      2.4998558 0.4519385  5.531407
## ENSG00000247081.8 BAALC-AS1      32.75231      0.7696459 0.1396175  5.512532
## ENSG00000205611.5 LINC01597      73.26068      0.7738234 0.1414218  5.471742
## ENSG00000287763.1 RP11-153P14.1  75.91258     -2.5117536 0.4793555 -5.239855
## ENSG00000164821.5 DEFA4         258.59435      2.1153822 0.4041379  5.234308
##                                       pvalue         padj
## ENSG00000234551.2 LINC01309     1.446156e-31 3.079011e-27
## ENSG00000223078.1 RNU2-55P      1.897902e-22 2.020412e-18
## ENSG00000287059.1 RP11-14A10.1  5.233482e-15 3.714202e-11
## ENSG00000249036.1 RP11-625I7.1  1.629809e-13 8.675068e-10
## ENSG00000280384.1 RP4-695O20.1  3.617720e-10 1.540498e-06
## ENSG00000196415.10 PRTN3        3.176724e-08 1.075830e-04
## ENSG00000247081.8 BAALC-AS1     3.537085e-08 1.075830e-04
## ENSG00000205611.5 LINC01597     4.456328e-08 1.185996e-04
## ENSG00000287763.1 RP11-153P14.1 1.607025e-07 3.525872e-04
## ENSG00000164821.5 DEFA4         1.656039e-07 3.525872e-04
mean(abs(dge$stat))
## [1] 0.8831267
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 6 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309      33.64159      2.4713038 0.23173499 10.664353
## ENSG00000223078.1 RNU2-55P       14.21314      2.1079567 0.25785314  8.175028
## ENSG00000287059.1 RP11-14A10.1   32.94434      1.7241550 0.26989561  6.388229
## ENSG00000249036.1 RP11-625I7.1   28.25079     -1.4908856 0.24549422 -6.072997
## ENSG00000205611.5 LINC01597      73.26068      0.8616120 0.15206704  5.666001
## ENSG00000280384.1 RP4-695O20.1   17.21499      0.8767754 0.16064316  5.457907
## ENSG00000261795.1 RP11-90P13.1   15.89334     -3.3636765 0.67220055 -5.003978
## ENSG00000184385.2 UMODL1-AS1     14.24879      3.4958582 0.72614584  4.814265
## ENSG00000196415.10 PRTN3        119.82185      2.3118201 0.48338320  4.782583
## ENSG00000128872.10 TMOD2       1918.82328     -0.4642050 0.09895551 -4.691047
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    1.494350e-26 3.181620e-22
## ENSG00000223078.1 RNU2-55P     2.957963e-16 3.148900e-12
## ENSG00000287059.1 RP11-14A10.1 1.678178e-10 1.191003e-06
## ENSG00000249036.1 RP11-625I7.1 1.255450e-09 6.682449e-06
## ENSG00000205611.5 LINC01597    1.461686e-08 6.224153e-05
## ENSG00000280384.1 RP4-695O20.1 4.817809e-08 1.709599e-04
## ENSG00000261795.1 RP11-90P13.1 5.615930e-07 1.708125e-03
## ENSG00000184385.2 UMODL1-AS1   1.477430e-06 3.931995e-03
## ENSG00000196415.10 PRTN3       1.730573e-06 4.093959e-03
## ENSG00000128872.10 TMOD2       2.718100e-06 5.787107e-03
mean(abs(dge$stat))
## [1] 0.9241159
mvf_lo_t0 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 34 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309     33.64159      2.4518641 0.2491134  9.842362
## ENSG00000223078.1 RNU2-55P      14.21314      2.0931763 0.2679162  7.812802
## ENSG00000249036.1 RP11-625I7.1  28.25079     -1.5651460 0.2478516 -6.314850
## ENSG00000287059.1 RP11-14A10.1  32.94434      1.6366468 0.2682068  6.102182
## ENSG00000205611.5 LINC01597     73.26068      0.7846061 0.1529007  5.131476
## ENSG00000110203.9 FOLR3        799.87269      1.6227754 0.3273100  4.957916
## ENSG00000261795.1 RP11-90P13.1  15.89334     -3.3514359 0.6905475 -4.853302
## ENSG00000196415.10 PRTN3       119.82185      2.4205744 0.5002323  4.838901
## ENSG00000280384.1 RP4-695O20.1  17.21499      0.8158338 0.1693221  4.818235
## ENSG00000165029.17 ABCA1       721.24100     -0.7541062 0.1577748 -4.779637
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    7.395355e-23 1.544002e-18
## ENSG00000223078.1 RNU2-55P     5.593026e-15 5.838560e-11
## ENSG00000249036.1 RP11-625I7.1 2.704232e-10 1.881965e-06
## ENSG00000287059.1 RP11-14A10.1 1.046299e-09 5.461160e-06
## ENSG00000205611.5 LINC01597    2.874794e-07 1.200399e-03
## ENSG00000110203.9 FOLR3        7.125324e-07 2.479375e-03
## ENSG00000261795.1 RP11-90P13.1 1.214223e-06 3.358942e-03
## ENSG00000196415.10 PRTN3       1.305591e-06 3.358942e-03
## ENSG00000280384.1 RP4-695O20.1 1.448335e-06 3.358942e-03
## ENSG00000165029.17 ABCA1       1.756123e-06 3.358942e-03
mean(abs(dge$stat))
## [1] 1.053656
mvf_lo_t0_adj <- dge

dim(subset(mvf_lo_t0,padj<0.05))
## [1] 19 62

EOS

No correction for treatment group.

#load chromossome2gene table
chr2gene <- read.table("../ref/chr2gene.tsv")
xyg <- subset(chr2gene,V1=="chrX" | V1=="chrY")

mx <- xeos

dim(mx)
## [1] 60649    98
mx <- mx[which(! sapply(strsplit(rownames(mx)," "),"[[",1) %in% xyg$V2),]
dim(mx)
## [1] 57660    98
ss2 <- as.data.frame(cbind(ss_eos,sscell_eos))
ss2 <- subset(ss2,crp_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]
mx <- mx[which(rowMeans(mx)>10),]
dim(mx)
## [1] 21512    46
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 106 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
## ENSG00000234551.2 LINC01309    32.07936       2.626331 0.2043337 12.853148
## ENSG00000223078.1 RNU2-55P     16.91390       2.317063 0.2134552 10.855030
## ENSG00000287059.1 RP11-14A10.1 31.85305       2.343386 0.2446115  9.580030
## ENSG00000249036.1 RP11-625I7.1 25.07900      -1.818686 0.1976662 -9.200793
## ENSG00000241111.1 PRICKLE2-AS1 13.60330       1.929835 0.2331559  8.277016
## ENSG00000261618.2 LINC02605    34.62957       1.152047 0.1606795  7.169844
## ENSG00000280384.1 RP4-695O20.1 17.77907       1.061146 0.1746189  6.076926
## ENSG00000279319.1 RP11-693M3.1 16.85722       1.165895 0.2188475  5.327430
## ENSG00000284692.2 RP1-58B11.2  15.70704       1.211100 0.2331978  5.193448
## ENSG00000159212.13 CLIC6       13.32563       1.538270 0.3144323  4.892215
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    8.257972e-38 1.776455e-33
## ENSG00000223078.1 RNU2-55P     1.887450e-27 2.030141e-23
## ENSG00000287059.1 RP11-14A10.1 9.701656e-22 6.956734e-18
## ENSG00000249036.1 RP11-625I7.1 3.553184e-20 1.910902e-16
## ENSG00000241111.1 PRICKLE2-AS1 1.263003e-16 5.433946e-13
## ENSG00000261618.2 LINC02605    7.508315e-13 2.691981e-09
## ENSG00000280384.1 RP4-695O20.1 1.225079e-09 3.764843e-06
## ENSG00000279319.1 RP11-693M3.1 9.961199e-08 2.678566e-04
## ENSG00000284692.2 RP1-58B11.2  2.064350e-07 4.934255e-04
## ENSG00000159212.13 CLIC6       9.970758e-07 2.144910e-03
mean(abs(dge$stat))
## [1] 0.9159988
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 5 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309    32.07936       2.589031 0.2311757 11.199412
## ENSG00000223078.1 RNU2-55P     16.91390       2.527264 0.2374445 10.643597
## ENSG00000287059.1 RP11-14A10.1 31.85305       2.572627 0.2805731  9.169186
## ENSG00000241111.1 PRICKLE2-AS1 13.60330       2.013881 0.2721151  7.400843
## ENSG00000249036.1 RP11-625I7.1 25.07900      -1.735733 0.2349588 -7.387393
## ENSG00000261618.2 LINC02605    34.62957       1.170551 0.1797314  6.512778
## ENSG00000184385.2 UMODL1-AS1   59.58609       5.093233 0.9088449  5.604073
## ENSG00000280384.1 RP4-695O20.1 17.77907       1.056001 0.1916923  5.508834
## ENSG00000205611.5 LINC01597    94.98889       1.075723 0.2276478  4.725385
## ENSG00000284692.2 RP1-58B11.2  15.70704       1.226824 0.2615174  4.691173
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    4.104503e-29 8.829607e-25
## ENSG00000223078.1 RNU2-55P     1.867769e-26 2.008972e-22
## ENSG00000287059.1 RP11-14A10.1 4.766061e-20 3.417583e-16
## ENSG00000241111.1 PRICKLE2-AS1 1.353225e-13 6.442204e-10
## ENSG00000249036.1 RP11-625I7.1 1.497351e-13 6.442204e-10
## ENSG00000261618.2 LINC02605    7.377374e-11 2.645035e-07
## ENSG00000184385.2 UMODL1-AS1   2.093725e-08 6.434317e-05
## ENSG00000280384.1 RP4-695O20.1 3.612177e-08 9.713143e-05
## ENSG00000205611.5 LINC01597    2.296802e-06 5.464630e-03
## ENSG00000284692.2 RP1-58B11.2  2.716432e-06 5.464630e-03
mean(abs(dge$stat))
## [1] 1.041239
mvf_lo_eos <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 43 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309      32.07936      2.5687262 0.2647647  9.701919
## ENSG00000223078.1 RNU2-55P       16.91390      2.4648229 0.2728376  9.034029
## ENSG00000287059.1 RP11-14A10.1   31.85305      2.4177997 0.2710388  8.920494
## ENSG00000249036.1 RP11-625I7.1   25.07900     -1.8549603 0.2709563 -6.845975
## ENSG00000241111.1 PRICKLE2-AS1   13.60330      1.8163346 0.2918300  6.223947
## ENSG00000261618.2 LINC02605      34.62957      1.1442358 0.2006150  5.703640
## ENSG00000205611.5 LINC01597      94.98889      1.0459230 0.1887519  5.541257
## ENSG00000165617.15 DACT1        178.23996     -1.3978545 0.2563636 -5.452624
## ENSG00000157985.19 AGAP1        505.51722      0.8943585 0.1906247  4.691723
## ENSG00000287763.1 RP11-153P14.1  61.09995     -3.3614571 0.7429108 -4.524712
##                                       pvalue         padj
## ENSG00000234551.2 LINC01309     2.958793e-22 6.241277e-18
## ENSG00000223078.1 RNU2-55P      1.654650e-19 1.745159e-15
## ENSG00000287059.1 RP11-14A10.1  4.642148e-19 3.264049e-15
## ENSG00000249036.1 RP11-625I7.1  7.595658e-12 4.005570e-08
## ENSG00000241111.1 PRICKLE2-AS1  4.848011e-10 2.045279e-06
## ENSG00000261618.2 LINC02605     1.172753e-08 4.123009e-05
## ENSG00000205611.5 LINC01597     3.003077e-08 9.049557e-05
## ENSG00000165617.15 DACT1        4.963190e-08 1.308669e-04
## ENSG00000157985.19 AGAP1        2.709134e-06 6.349607e-03
## ENSG00000287763.1 RP11-153P14.1 6.047789e-06 1.275721e-02
mean(abs(dge$stat))
## [1] 0.8322918
mvf_lo_eos_adj <- dge

dim(subset(mvf_lo_eos,padj<0.05))
## [1] 33 52

POD1

No correction for treatment group.

#load chromossome2gene table
chr2gene <- read.table("../ref/chr2gene.tsv")
xyg <- subset(chr2gene,V1=="chrX" | V1=="chrY")

mx <- xpod1

dim(mx)
## [1] 60649   109
mx <- mx[which(! sapply(strsplit(rownames(mx)," "),"[[",1) %in% xyg$V2),]
dim(mx)
## [1] 57660   109
ss2 <- as.data.frame(cbind(ss_pod1,sscell_pod1))
ss2 <- subset(ss2,crp_group==1)
mx <- mx[,colnames(mx) %in% rownames(ss2)]
mx <- mx[which(rowMeans(mx)>10),]
dim(mx)
## [1] 20659    55
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 122 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
## ENSG00000234551.2 LINC01309     34.12360      2.4651830 0.1761162  13.997477
## ENSG00000249036.1 RP11-625I7.1  21.88654     -1.9476850 0.1672608 -11.644596
## ENSG00000223078.1 RNU2-55P      13.46670      2.4858941 0.2197302  11.313394
## ENSG00000251199.6 RP11-400D2.2  25.27517      1.2521909 0.1550861   8.074167
## ENSG00000241111.1 PRICKLE2-AS1  10.02828      1.7763327 0.2567832   6.917637
## ENSG00000287763.1 RP11-153P14.1 69.51778     -2.6560497 0.4655662  -5.704988
## ENSG00000287059.1 RP11-14A10.1  22.95559      1.3682563 0.2444267   5.597818
## ENSG00000261618.2 LINC02605     31.80415      0.8652806 0.1596389   5.420235
## ENSG00000078114.19 NEBL         33.02077      3.1015394 0.5786268   5.360172
## ENSG00000242741.2 LINC02005     15.47253      0.9387608 0.1777857   5.280294
##                                       pvalue         padj
## ENSG00000234551.2 LINC01309     1.615029e-44 3.336487e-40
## ENSG00000249036.1 RP11-625I7.1  2.444769e-31 2.525325e-27
## ENSG00000223078.1 RNU2-55P      1.126456e-29 7.757148e-26
## ENSG00000251199.6 RP11-400D2.2  6.793902e-16 3.508881e-12
## ENSG00000241111.1 PRICKLE2-AS1  4.592394e-12 1.897485e-08
## ENSG00000287763.1 RP11-153P14.1 1.163512e-08 4.006167e-05
## ENSG00000287059.1 RP11-14A10.1  2.170659e-08 6.406234e-05
## ENSG00000261618.2 LINC02605     5.952074e-08 1.537049e-04
## ENSG00000078114.19 NEBL         8.314272e-08 1.908495e-04
## ENSG00000242741.2 LINC02005     1.289770e-07 2.664537e-04
mean(abs(dge$stat))
## [1] 0.7233669
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 4 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309    34.12360      2.5895969 0.1983491 13.055751
## ENSG00000249036.1 RP11-625I7.1 21.88654     -1.8468544 0.1885919 -9.792862
## ENSG00000223078.1 RNU2-55P     13.46670      2.4049572 0.2521087  9.539366
## ENSG00000251199.6 RP11-400D2.2 25.27517      1.2983374 0.1804491  7.195034
## ENSG00000241111.1 PRICKLE2-AS1 10.02828      2.0733786 0.2923354  7.092465
## ENSG00000261618.2 LINC02605    31.80415      0.9719705 0.1888472  5.146862
## ENSG00000184385.2 UMODL1-AS1   10.70454      4.5617023 0.9045180  5.043241
## ENSG00000205611.5 LINC01597    51.31977      0.8279942 0.1641945  5.042766
## ENSG00000287059.1 RP11-14A10.1 22.95559      1.3892825 0.2782894  4.992223
## ENSG00000242741.2 LINC02005    15.47253      0.9523263 0.1973762  4.824930
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    5.892606e-39 1.217353e-34
## ENSG00000249036.1 RP11-625I7.1 1.208266e-22 1.248078e-18
## ENSG00000223078.1 RNU2-55P     1.437083e-21 9.896229e-18
## ENSG00000251199.6 RP11-400D2.2 6.244523e-13 3.225140e-09
## ENSG00000241111.1 PRICKLE2-AS1 1.317439e-12 5.443395e-09
## ENSG00000261618.2 LINC02605    2.648805e-07 9.120278e-04
## ENSG00000184385.2 UMODL1-AS1   4.577127e-07 1.184926e-03
## ENSG00000205611.5 LINC01597    4.588514e-07 1.184926e-03
## ENSG00000287059.1 RP11-14A10.1 5.968836e-07 1.370113e-03
## ENSG00000242741.2 LINC02005    1.400521e-06 2.893337e-03
mean(abs(dge$stat))
## [1] 0.8024447
mvf_lo_pod1 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 25 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309      34.12360      2.6736070 0.2200506  12.149965
## ENSG00000249036.1 RP11-625I7.1   21.88654     -1.9946355 0.1980809 -10.069800
## ENSG00000223078.1 RNU2-55P       13.46670      2.0483748 0.2508722   8.165012
## ENSG00000251199.6 RP11-400D2.2   25.27517      1.2757453 0.2026396   6.295638
## ENSG00000241111.1 PRICKLE2-AS1   10.02828      1.8227202 0.3176457   5.738218
## ENSG00000287763.1 RP11-153P14.1  69.51778     -2.9784871 0.5306885  -5.612496
## ENSG00000287059.1 RP11-14A10.1   22.95559      1.3525085 0.2781884   4.861844
## ENSG00000261618.2 LINC02605      31.80415      0.9841545 0.2160896   4.554382
## ENSG00000165617.15 DACT1        136.99579     -1.0197245 0.2519794  -4.046856
## ENSG00000284692.2 RP1-58B11.2    13.53876      1.2539525 0.3136026   3.998540
##                                       pvalue         padj
## ENSG00000234551.2 LINC01309     5.739020e-34 1.185624e-29
## ENSG00000249036.1 RP11-625I7.1  7.513053e-24 7.760608e-20
## ENSG00000223078.1 RNU2-55P      3.214021e-16 2.213282e-12
## ENSG00000251199.6 RP11-400D2.2  3.061378e-10 1.581125e-06
## ENSG00000241111.1 PRICKLE2-AS1  9.567766e-09 3.953210e-05
## ENSG00000287763.1 RP11-153P14.1 1.994291e-08 6.866676e-05
## ENSG00000287059.1 RP11-14A10.1  1.162972e-06 3.432261e-03
## ENSG00000261618.2 LINC02605     5.253989e-06 1.356777e-02
## ENSG00000165617.15 DACT1        5.191020e-05 1.191570e-01
## ENSG00000284692.2 RP1-58B11.2   6.373438e-05 1.307941e-01
mean(abs(dge$stat))
## [1] 0.8050564
mvf_lo_pod1_adj <- dge

dim(subset(mvf_lo_pod1,padj<0.05))
## [1] 16 61

Sex differences in high CRP group (not stratified for treatment group)

T0

No correction for treatment group.

#load chromosome2gene table
chr2gene <- read.table("../ref/chr2gene.tsv")
xyg <- subset(chr2gene,V1=="chrX" | V1=="chrY")

mx <- xt0

dim(mx)
## [1] 60649   111
mx <- mx[which(! sapply(strsplit(rownames(mx)," "),"[[",1) %in% xyg$V2),]
dim(mx)
## [1] 57660   111
ss2 <- as.data.frame(cbind(ss_t0,sscell_t0))
ss2 <- subset(ss2,crp_group==4)
mx <- mx[,colnames(mx) %in% rownames(ss2)]
mx <- mx[which(rowMeans(mx)>10),]
dim(mx)
## [1] 21177    55
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 291 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
## ENSG00000234551.2 LINC01309     41.09906      2.7475538 0.1703948 16.124634
## ENSG00000249036.1 RP11-625I7.1  22.89777     -1.6712038 0.1890118 -8.841796
## ENSG00000223078.1 RNU2-55P      15.68780      2.0376671 0.2319994  8.783072
## ENSG00000287059.1 RP11-14A10.1  30.25752      1.8377734 0.2273394  8.083833
## ENSG00000251199.6 RP11-400D2.2  34.79657      1.1193965 0.1559826  7.176420
## ENSG00000241111.1 PRICKLE2-AS1  12.71155      1.9977146 0.2785771  7.171138
## ENSG00000282826.2 FRG1CP       568.54614      0.5373063 0.1038772  5.172515
## ENSG00000029534.21 ANK1        308.08237     -0.6663338 0.1370848 -4.860743
## ENSG00000118492.18 ADGB         28.31195      0.6425526 0.1324436  4.851519
## ENSG00000205611.5 LINC01597     72.91149      0.7235389 0.1492394  4.848175
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    1.712703e-58 3.626992e-54
## ENSG00000249036.1 RP11-625I7.1 9.419198e-19 9.973518e-15
## ENSG00000223078.1 RNU2-55P     1.590687e-18 1.122866e-14
## ENSG00000287059.1 RP11-14A10.1 6.276204e-16 3.322779e-12
## ENSG00000251199.6 RP11-400D2.2 7.156033e-13 2.625132e-09
## ENSG00000241111.1 PRICKLE2-AS1 7.437689e-13 2.625132e-09
## ENSG00000282826.2 FRG1CP       2.309639e-07 6.987318e-04
## ENSG00000029534.21 ANK1        1.169460e-06 2.638709e-03
## ENSG00000118492.18 ADGB        1.225196e-06 2.638709e-03
## ENSG00000205611.5 LINC01597    1.246026e-06 2.638709e-03
mean(abs(dge$stat))
## [1] 0.8218259
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 5 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309      41.09906      2.7234360 0.1838595 14.812594
## ENSG00000223078.1 RNU2-55P       15.68780      2.0820131 0.2407429  8.648286
## ENSG00000249036.1 RP11-625I7.1   22.89777     -1.6615975 0.2070612 -8.024668
## ENSG00000287059.1 RP11-14A10.1   30.25752      1.8229839 0.2395041  7.611493
## ENSG00000251199.6 RP11-400D2.2   34.79657      1.1448244 0.1615118  7.088176
## ENSG00000241111.1 PRICKLE2-AS1   12.71155      1.9854604 0.2902379  6.840804
## ENSG00000160789.24 LMNA        1114.84849     -0.7007711 0.1364879 -5.134309
## ENSG00000205611.5 LINC01597      72.91149      0.7420386 0.1454348  5.102207
## ENSG00000259719.6 LINC02284      54.28891     -0.9905106 0.1944177 -5.094755
## ENSG00000163735.7 CXCL5         255.03703     -1.6090605 0.3224991 -4.989348
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    1.214610e-49 2.572179e-45
## ENSG00000223078.1 RNU2-55P     5.227853e-18 5.535513e-14
## ENSG00000249036.1 RP11-625I7.1 1.018007e-15 7.186111e-12
## ENSG00000287059.1 RP11-14A10.1 2.709485e-14 1.434469e-10
## ENSG00000251199.6 RP11-400D2.2 1.358907e-12 5.755514e-09
## ENSG00000241111.1 PRICKLE2-AS1 7.874968e-12 2.779470e-08
## ENSG00000160789.24 LMNA        2.831820e-07 8.216514e-04
## ENSG00000205611.5 LINC01597    3.357158e-07 8.216514e-04
## ENSG00000259719.6 LINC02284    3.491931e-07 8.216514e-04
## ENSG00000163735.7 CXCL5        6.058330e-07 1.282973e-03
mean(abs(dge$stat))
## [1] 0.8154546
mvf_hi_t0 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 32 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309      41.09906      2.6846907 0.1911359 14.045981
## ENSG00000249036.1 RP11-625I7.1   22.89777     -1.6363912 0.1700173 -9.624854
## ENSG00000223078.1 RNU2-55P       15.68780      2.1673711 0.2405690  9.009352
## ENSG00000287059.1 RP11-14A10.1   30.25752      1.9148333 0.2435334  7.862713
## ENSG00000241111.1 PRICKLE2-AS1   12.71155      2.1716927 0.2840886  7.644419
## ENSG00000251199.6 RP11-400D2.2   34.79657      1.1927657 0.1641165  7.267798
## ENSG00000160789.24 LMNA        1114.84849     -0.7762545 0.1363744 -5.692085
## ENSG00000259719.6 LINC02284      54.28891     -1.0524868 0.1892137 -5.562423
## ENSG00000154917.11 RAB6B        155.08204     -0.8860747 0.1625383 -5.451483
## ENSG00000119326.15 CTNNAL1       57.45744     -0.9210510 0.1717600 -5.362431
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    8.153186e-45 1.693091e-40
## ENSG00000249036.1 RP11-625I7.1 6.279627e-22 6.520137e-18
## ENSG00000223078.1 RNU2-55P     2.072780e-19 1.434779e-15
## ENSG00000287059.1 RP11-14A10.1 3.759030e-15 1.951500e-11
## ENSG00000241111.1 PRICKLE2-AS1 2.098905e-14 8.717170e-11
## ENSG00000251199.6 RP11-400D2.2 3.653952e-13 1.264633e-09
## ENSG00000160789.24 LMNA        1.254976e-08 3.722975e-05
## ENSG00000259719.6 LINC02284    2.660549e-08 6.906121e-05
## ENSG00000154917.11 RAB6B       4.995156e-08 1.152549e-04
## ENSG00000119326.15 CTNNAL1     8.210948e-08 1.675167e-04
mean(abs(dge$stat))
## [1] 0.9985843
mvf_hi_t0_adj <- dge

dim(subset(mvf_hi_t0,padj<0.05))
## [1] 71 61

EOS

No correction for treatment group.

#load chromosome2gene table
chr2gene <- read.table("../ref/chr2gene.tsv")
xyg <- subset(chr2gene,V1=="chrX" | V1=="chrY")

mx <- xeos

dim(mx)
## [1] 60649    98
mx <- mx[which(! sapply(strsplit(rownames(mx)," "),"[[",1) %in% xyg$V2),]
dim(mx)
## [1] 57660    98
ss2 <- as.data.frame(cbind(ss_eos,sscell_eos))
ss2 <- subset(ss2,crp_group==4)
mx <- mx[,colnames(mx) %in% rownames(ss2)]
mx <- mx[which(rowMeans(mx)>10),]
dim(mx)
## [1] 21199    52
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 124 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
## ENSG00000234551.2 LINC01309     33.33921      2.4403190 0.1856270 13.146361
## ENSG00000287059.1 RP11-14A10.1  29.01227      1.5746345 0.2048465  7.686900
## ENSG00000223078.1 RNU2-55P      15.44212      1.6837808 0.2307396  7.297320
## ENSG00000241111.1 PRICKLE2-AS1  11.99614      1.8361849 0.2656031  6.913266
## ENSG00000249036.1 RP11-625I7.1  20.48683     -1.3690932 0.2206460 -6.204930
## ENSG00000251199.6 RP11-400D2.2  29.81371      1.3818661 0.2242179  6.163049
## ENSG00000142606.16 MMEL1        41.01197      1.2360933 0.2570226  4.809278
## ENSG00000261618.2 LINC02605     38.40968      0.6575011 0.1371833  4.792867
## ENSG00000182263.14 FIGN         14.80449      3.0725635 0.6525952  4.708223
## ENSG00000164821.5 DEFA4        396.33649      2.4120317 0.5537353  4.355929
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    1.785629e-39 3.785355e-35
## ENSG00000287059.1 RP11-14A10.1 1.507434e-14 1.597805e-10
## ENSG00000223078.1 RNU2-55P     2.935551e-13 2.074358e-09
## ENSG00000241111.1 PRICKLE2-AS1 4.736200e-12 2.510068e-08
## ENSG00000249036.1 RP11-625I7.1 5.472112e-10 2.320066e-06
## ENSG00000251199.6 RP11-400D2.2 7.135740e-10 2.521176e-06
## ENSG00000142606.16 MMEL1       1.514764e-06 4.356779e-03
## ENSG00000261618.2 LINC02605    1.644145e-06 4.356779e-03
## ENSG00000182263.14 FIGN        2.498862e-06 5.885930e-03
## ENSG00000164821.5 DEFA4        1.325038e-05 2.808948e-02
mean(abs(dge$stat))
## [1] 0.7524278
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 1 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309     33.33921      2.3569271 0.1869109 12.609898
## ENSG00000287059.1 RP11-14A10.1  29.01227      1.5794570 0.2151250  7.342044
## ENSG00000223078.1 RNU2-55P      15.44212      1.6681236 0.2412151  6.915503
## ENSG00000241111.1 PRICKLE2-AS1  11.99614      1.8381605 0.2758089  6.664617
## ENSG00000249036.1 RP11-625I7.1  20.48683     -1.4387781 0.2362987 -6.088810
## ENSG00000251199.6 RP11-400D2.2  29.81371      1.4085373 0.2348460  5.997706
## ENSG00000279319.1 RP11-693M3.1  16.33692      1.0589761 0.2254952  4.696226
## ENSG00000261618.2 LINC02605     38.40968      0.6611660 0.1467102  4.506612
## ENSG00000282826.2 FRG1CP       514.33435      0.4766021 0.1125323  4.235247
## ENSG00000142606.16 MMEL1        41.01197      1.0664933 0.2523226  4.226705
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    1.862331e-36 3.947956e-32
## ENSG00000287059.1 RP11-14A10.1 2.103563e-13 2.229672e-09
## ENSG00000223078.1 RNU2-55P     4.662056e-12 3.294364e-08
## ENSG00000241111.1 PRICKLE2-AS1 2.653562e-11 1.406321e-07
## ENSG00000249036.1 RP11-625I7.1 1.137527e-09 4.822889e-06
## ENSG00000251199.6 RP11-400D2.2 2.001239e-09 7.070711e-06
## ENSG00000279319.1 RP11-693M3.1 2.650129e-06 8.025727e-03
## ENSG00000261618.2 LINC02605    6.587084e-06 1.745495e-02
## ENSG00000282826.2 FRG1CP       2.283009e-05 5.027092e-02
## ENSG00000142606.16 MMEL1       2.371382e-05 5.027092e-02
mean(abs(dge$stat))
## [1] 0.7620069
mvf_hi_eos <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 22 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309     33.33921      2.3190333 0.19888020 11.660453
## ENSG00000287059.1 RP11-14A10.1  29.01227      1.6504563 0.21782310  7.577049
## ENSG00000223078.1 RNU2-55P      15.44212      1.7428476 0.23923625  7.285048
## ENSG00000241111.1 PRICKLE2-AS1  11.99614      1.8924612 0.28170812  6.717808
## ENSG00000249036.1 RP11-625I7.1  20.48683     -1.5987534 0.25234027 -6.335704
## ENSG00000251199.6 RP11-400D2.2  29.81371      1.4028800 0.24878915  5.638831
## ENSG00000282826.2 FRG1CP       514.33435      0.4860188 0.09781556  4.968727
## ENSG00000261618.2 LINC02605     38.40968      0.6865628 0.15310419  4.484285
## ENSG00000205611.5 LINC01597     72.82931      0.7217618 0.16444589  4.389053
## ENSG00000149531.15 FRG1BP       65.48543      0.8062481 0.18386033  4.385112
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    2.029588e-31 4.302523e-27
## ENSG00000287059.1 RP11-14A10.1 3.535028e-14 3.746953e-10
## ENSG00000223078.1 RNU2-55P     3.215558e-13 2.272220e-09
## ENSG00000241111.1 PRICKLE2-AS1 1.844781e-11 9.776877e-08
## ENSG00000249036.1 RP11-625I7.1 2.362594e-10 1.001692e-06
## ENSG00000251199.6 RP11-400D2.2 1.712084e-08 6.049080e-05
## ENSG00000282826.2 FRG1CP       6.739398e-07 2.040979e-03
## ENSG00000261618.2 LINC02605    7.315888e-06 1.938619e-02
## ENSG00000205611.5 LINC01597    1.138453e-05 2.457520e-02
## ENSG00000149531.15 FRG1BP      1.159262e-05 2.457520e-02
mean(abs(dge$stat))
## [1] 0.7764455
mvf_hi_eos_adj <- dge

dim(subset(mvf_hi_eos,padj<0.05))
## [1]  8 58

POD1

No correction for treatment group.

#load chromosome2gene table
chr2gene <- read.table("../ref/chr2gene.tsv")
xyg <- subset(chr2gene,V1=="chrX" | V1=="chrY")

mx <- xpod1

dim(mx)
## [1] 60649   109
mx <- mx[which(! sapply(strsplit(rownames(mx)," "),"[[",1) %in% xyg$V2),]
dim(mx)
## [1] 57660   109
ss2 <- as.data.frame(cbind(ss_pod1,sscell_pod1))
ss2 <- subset(ss2,crp_group==4)
mx <- mx[,colnames(mx) %in% rownames(ss2)]
mx <- mx[which(rowMeans(mx)>10),]
dim(mx)
## [1] 20547    54
# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ sexD )
## converting counts to integer mode
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 231 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
## ENSG00000234551.2 LINC01309     28.88719      2.3303369 0.2131694 10.931854
## ENSG00000251199.6 RP11-400D2.2  24.04062      1.5721928 0.1783430  8.815555
## ENSG00000249036.1 RP11-625I7.1  16.02735     -1.8716484 0.2140172 -8.745319
## ENSG00000287059.1 RP11-14A10.1  17.45351      1.2737217 0.2194248  5.804820
## ENSG00000223078.1 RNU2-55P      10.63492      1.3736437 0.2454948  5.595408
## ENSG00000142606.16 MMEL1        42.71184      1.1433146 0.2127386  5.374269
## ENSG00000280384.1 RP4-695O20.1  14.18123      0.9356208 0.1807317  5.176848
## ENSG00000162069.16 BICDL2       33.70854     -2.7279023 0.5323684 -5.124087
## ENSG00000254873.1 RP11-770J1.5  48.30434      1.8877549 0.3853291  4.899071
## ENSG00000268758.7 ADGRE4P      473.39915     -1.2894914 0.2855855 -4.515255
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    8.117291e-28 1.667779e-23
## ENSG00000251199.6 RP11-400D2.2 1.190934e-18 1.223447e-14
## ENSG00000249036.1 RP11-625I7.1 2.223873e-18 1.523056e-14
## ENSG00000287059.1 RP11-14A10.1 6.443507e-09 3.309708e-05
## ENSG00000223078.1 RNU2-55P     2.201039e-08 9.044510e-05
## ENSG00000142606.16 MMEL1       7.689389e-08 2.633103e-04
## ENSG00000280384.1 RP4-695O20.1 2.256658e-07 6.623612e-04
## ENSG00000162069.16 BICDL2      2.989829e-07 7.678627e-04
## ENSG00000254873.1 RP11-770J1.5 9.629062e-07 2.198208e-03
## ENSG00000268758.7 ADGRE4P      6.324051e-06 1.299339e-02
mean(abs(dge$stat))
## [1] 0.6861829
# model with clinical covariates
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 4 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309     28.88719       2.385083 0.2268342 10.514655
## ENSG00000251199.6 RP11-400D2.2  24.04062       1.570040 0.1886671  8.321744
## ENSG00000249036.1 RP11-625I7.1  16.02735      -1.776728 0.2305346 -7.706991
## ENSG00000287059.1 RP11-14A10.1  17.45351       1.416739 0.2211889  6.405110
## ENSG00000223078.1 RNU2-55P      10.63492       1.447740 0.2598982  5.570413
## ENSG00000280384.1 RP4-695O20.1  14.18123       0.920274 0.1922327  4.787291
## ENSG00000255398.3 HCAR3        337.50562      -2.477792 0.5269334 -4.702287
## ENSG00000162069.16 BICDL2       50.61023      -2.985381 0.6528841 -4.572605
## ENSG00000137261.15 KIAA0319     44.83620      -2.267737 0.5122779 -4.426770
## ENSG00000288700.1 RP11-22E12.2  31.68989      -2.035255 0.4605020 -4.419644
##                                      pvalue         padj
## ENSG00000234551.2 LINC01309    7.395101e-26 1.519471e-21
## ENSG00000251199.6 RP11-400D2.2 8.667818e-17 8.904883e-13
## ENSG00000249036.1 RP11-625I7.1 1.288187e-14 8.822789e-11
## ENSG00000287059.1 RP11-14A10.1 1.502613e-10 7.718546e-07
## ENSG00000223078.1 RNU2-55P     2.541369e-08 1.044350e-04
## ENSG00000280384.1 RP4-695O20.1 1.690473e-06 5.789023e-03
## ENSG00000255398.3 HCAR3        2.572637e-06 7.551426e-03
## ENSG00000162069.16 BICDL2      4.816974e-06 1.237180e-02
## ENSG00000137261.15 KIAA0319    9.565469e-06 2.031348e-02
## ENSG00000288700.1 RP11-22E12.2 9.886348e-06 2.031348e-02
mean(abs(dge$stat))
## [1] 0.6998285
mvf_hi_pod1 <- dge

# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ wound_typeOP + duration_sx + ethnicityCAT + ageCS +
    Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + sexD )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   the design formula contains one or more numeric variables with integer values,
##   specifying a model with increasing fold change for higher values.
##   did you mean for this to be a factor? if so, first convert
##   this variable to a factor using the factor() function
##   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.
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
res <- DESeq(dds)
## estimating size factors
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
## final dispersion estimates
## fitting model and testing
## 27 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
z <- results(res)
vsd <- vst(dds, blind=FALSE)
##   Note: levels of factors in the design contain characters other than
##   letters, numbers, '_' and '.'. It is recommended (but not required) to use
##   only letters, numbers, and delimiters '_' or '.', as these are safe characters
##   for column names in R. [This is a message, not a warning or an error]
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
## ENSG00000234551.2 LINC01309     28.88719      2.4115309 0.2449939  9.843228
## ENSG00000251199.6 RP11-400D2.2  24.04062      1.6172504 0.2030527  7.964684
## ENSG00000249036.1 RP11-625I7.1  16.02735     -1.7745608 0.2596691 -6.833932
## ENSG00000287059.1 RP11-14A10.1  17.45351      1.5247642 0.2436638  6.257655
## ENSG00000223078.1 RNU2-55P      10.63492      1.3888621 0.2622127  5.296700
## ENSG00000175084.13 DES          28.27529     -1.6131152 0.3231907 -4.991218
## ENSG00000287763.1 RP11-153P14.1 50.70110     -2.4542507 0.5217216 -4.704138
## ENSG00000142606.16 MMEL1        42.71184      0.9755700 0.2083534  4.682286
## ENSG00000254873.1 RP11-770J1.5  48.30434      1.6729181 0.3625610  4.614170
## ENSG00000280384.1 RP4-695O20.1  14.18123      0.9225725 0.2086612  4.421389
##                                       pvalue         padj
## ENSG00000234551.2 LINC01309     7.332016e-23 1.506509e-18
## ENSG00000251199.6 RP11-400D2.2  1.656470e-15 1.701774e-11
## ENSG00000249036.1 RP11-625I7.1  8.261805e-12 5.658510e-08
## ENSG00000287059.1 RP11-14A10.1  3.908082e-10 2.007484e-06
## ENSG00000223078.1 RNU2-55P      1.179144e-07 4.845575e-04
## ENSG00000175084.13 DES          5.999962e-07 2.054687e-03
## ENSG00000287763.1 RP11-153P14.1 2.549403e-06 7.286320e-03
## ENSG00000142606.16 MMEL1        2.836938e-06 7.286320e-03
## ENSG00000254873.1 RP11-770J1.5  3.946686e-06 9.010283e-03
## ENSG00000280384.1 RP4-695O20.1  9.806835e-06 2.015010e-02
mean(abs(dge$stat))
## [1] 0.826465
mvf_hi_pod1_adj <- dge

dim(subset(mvf_hi_pod1,padj<0.05))
## [1] 18 60

Effect of surgery in males with high CRP

In sexD==1 females

16 females only with T0 and POD1

ss2 <- merge(sscell,ss,by=0)
rownames(ss2) <- ss2$Row.names

ss2 <- subset(ss2,crp_group==4 & timepoint != "EOS" & sexD == 1 )

mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[which(rowMeans(mx)>10),]
dim(mx)
## [1] 21567    33
table(chr2gene[match(sapply(strsplit(rownames(mx)," "),"[[",1),chr2gene$V2),1])
## 
##  chr1 chr10 chr11 chr12 chr13 chr14 chr15 chr16 chr17 chr18 chr19  chr2 chr20 
##  2142   809  1139  1125   375   806   739  1104  1352   336  1548  1412   545 
## chr21 chr22  chr3  chr4  chr5  chr6  chr7  chr8  chr9  chrM  chrX  chrY 
##   266   600  1147   760   931  1087  1110   724   805    19   654    32
ss2 <- ss2[which(rownames(ss2) %in% colnames(mx)),]
ss2 <- ss2[order(rownames(ss2)),]

ss2$timepoint <- factor(ss2$timepoint,levels=c("T0","POD1"))

#dim(mx)
#mx <- mx[which(! sapply(strsplit(rownames(mx)," "),"[[",1) %in% xyg$V2),]
#dim(mx)

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ PG_number + timepoint )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
res <- DESeq(dds)
## 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
## ENSG00000108950.12 FAM20A  1418.5179       3.869053 0.19174287 20.17834
## ENSG00000014257.16 ACP3     869.0445       1.338041 0.07937339 16.85755
## ENSG00000156414.19 TDRD9    896.8816       2.319293 0.13761906 16.85299
## ENSG00000132170.24 PPARG    123.3816       3.213308 0.20483828 15.68705
## ENSG00000168615.13 ADAM9   1574.2542       1.624515 0.10366969 15.67010
## ENSG00000161944.16 ASGR2   2906.2035       1.620646 0.10347070 15.66285
## ENSG00000169385.3 RNASE2   1250.4443       2.346518 0.15249733 15.38727
## ENSG00000164125.16 GASK1B  3608.4252       1.654531 0.10827604 15.28067
## ENSG00000183019.7 MCEMP1   4357.8963       2.863233 0.18810447 15.22151
## ENSG00000203710.12 CR1    11629.4813       2.374281 0.16726003 14.19515
##                                 pvalue         padj
## ENSG00000108950.12 FAM20A 1.517611e-90 3.273032e-86
## ENSG00000014257.16 ACP3   9.233298e-64 7.170255e-60
## ENSG00000156414.19 TDRD9  9.973926e-64 7.170255e-60
## ENSG00000132170.24 PPARG  1.854888e-55 9.757214e-52
## ENSG00000168615.13 ADAM9  2.421816e-55 9.757214e-52
## ENSG00000161944.16 ASGR2  2.714484e-55 9.757214e-52
## ENSG00000169385.3 RNASE2  1.992547e-53 6.139037e-50
## ENSG00000164125.16 GASK1B 1.028698e-52 2.773242e-49
## ENSG00000183019.7 MCEMP1  2.546033e-52 6.101143e-49
## ENSG00000203710.12 CR1    9.817353e-46 2.117308e-42
mean(abs(dge$stat))
## [1] 2.247041
surgfemale <- dge
dim(subset(surgfemale,padj<0.05))
## [1] 8135   39
# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   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.
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## 2 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
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
## ENSG00000165092.13 ALDH1A1   556.0900     -2.9820987 0.4109257 -7.257027
## ENSG00000108950.12 FAM20A   1418.5179      2.5446023 0.3561134  7.145483
## ENSG00000152518.8 ZFP36L2  21784.6356     -1.3510264 0.2412505 -5.600098
## ENSG00000161944.16 ASGR2    2906.2035      1.1293842 0.2188673  5.160131
## ENSG00000132170.24 PPARG     123.3816      2.4161730 0.5013513  4.819322
## ENSG00000204642.14 HLA-F   11602.3630     -0.6359361 0.1322543 -4.808434
## ENSG00000135218.19 CD36    10743.9529      1.0554441 0.2204909  4.786793
## ENSG00000156414.19 TDRD9     896.8816      1.5403556 0.3221443  4.781570
## ENSG00000203710.12 CR1     11629.4813      1.5053257 0.3160264  4.763290
## ENSG00000019169.11 MARCO    1204.4460      1.3706841 0.2912783  4.705754
##                                  pvalue         padj
## ENSG00000165092.13 ALDH1A1 3.956894e-13 5.721273e-09
## ENSG00000108950.12 FAM20A  8.967968e-13 6.483393e-09
## ENSG00000152518.8 ZFP36L2  2.142310e-08 1.032522e-04
## ENSG00000161944.16 ASGR2   2.467767e-07 8.920360e-04
## ENSG00000132170.24 PPARG   1.440472e-06 3.059869e-03
## ENSG00000204642.14 HLA-F   1.521174e-06 3.059869e-03
## ENSG00000135218.19 CD36    1.694679e-06 3.059869e-03
## ENSG00000156414.19 TDRD9   1.739316e-06 3.059869e-03
## ENSG00000203710.12 CR1     1.904614e-06 3.059869e-03
## ENSG00000019169.11 MARCO   2.529292e-06 3.657104e-03
mean(abs(dge$stat))
## [1] 0.7913256
surgfemale_adj <- dge

dim(subset(surgfemale_adj,padj<0.05))
## [1] 41 39
(dim(subset(surgfemale,padj<0.05))[1] - dim(subset(surgfemale_adj,padj<0.05))[1]) / dim(subset(surgfemale,padj<0.05))[1]
## [1] 0.99496

In sexD==2 males

38 males with T0 and POD1

ss2 <- merge(sscell,ss,by=0)
rownames(ss2) <- ss2$Row.names

ss2 <- subset(ss2,crp_group==4 & timepoint != "EOS" & sexD == 2 )

mx <- xx[,colnames(xx) %in% rownames(ss2)]
mx <- mx[which(rowMeans(mx)>10),]

table(chr2gene[match(sapply(strsplit(rownames(mx)," "),"[[",1),chr2gene$V2),1])
## 
##  chr1 chr10 chr11 chr12 chr13 chr14 chr15 chr16 chr17 chr18 chr19  chr2 chr20 
##  2146   816  1148  1130   380   814   743  1109  1354   334  1553  1416   548 
## chr21 chr22  chr3  chr4  chr5  chr6  chr7  chr8  chr9  chrM  chrX  chrY 
##   264   606  1150   758   937  1084  1120   730   805    18   647    48
ss2 <- ss2[which(rownames(ss2) %in% colnames(mx)),]
ss2 <- ss2[order(rownames(ss2)),]

ss2$timepoint <- factor(ss2$timepoint,levels=c("T0","POD1"))

#dim(mx)
#mx <- mx[which(! sapply(strsplit(rownames(mx)," "),"[[",1) %in% xyg$V2),]
#dim(mx)

# base model
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ PG_number + timepoint )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
res <- DESeq(dds)
## 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
## ENSG00000108950.12 FAM20A    1528.14262       3.829099 0.16185989 23.65687
## ENSG00000132170.24 PPARG      149.75730       3.301257 0.15532787 21.25348
## ENSG00000170439.7 METTL7B     166.27177       4.936676 0.24257968 20.35074
## ENSG00000121316.11 PLBD1    15706.49246       2.007735 0.11104993 18.07957
## ENSG00000163221.9 S100A12   16539.12795       3.113329 0.18300044 17.01268
## ENSG00000174705.13 SH3PXD2B   504.64277       3.214712 0.19136611 16.79875
## ENSG00000137869.15 CYP19A1     81.26793       6.512124 0.39413773 16.52246
## ENSG00000168615.13 ADAM9     1617.51324       1.541855 0.09517653 16.19995
## ENSG00000166033.13 HTRA1      134.28398       2.514197 0.15543931 16.17478
## ENSG00000169385.3 RNASE2     1315.10460       2.148848 0.13303322 16.15272
##                                    pvalue          padj
## ENSG00000108950.12 FAM20A   1.002886e-123 2.172051e-119
## ENSG00000132170.24 PPARG    3.061301e-100  3.315083e-96
## ENSG00000170439.7 METTL7B    4.573255e-92  3.301585e-88
## ENSG00000121316.11 PLBD1     4.616370e-73  2.499533e-69
## ENSG00000163221.9 S100A12    6.613770e-65  2.864821e-61
## ENSG00000174705.13 SH3PXD2B  2.492307e-63  8.996398e-60
## ENSG00000137869.15 CYP19A1   2.528798e-61  7.824100e-58
## ENSG00000168615.13 ADAM9     5.047116e-59  1.366380e-55
## ENSG00000166033.13 HTRA1     7.596758e-59  1.828118e-55
## ENSG00000169385.3 RNASE2     1.086669e-58  2.353508e-55
mean(abs(dge$stat))
## [1] 3.040763
surgmale <- dge
dim(subset(surgmale,padj<0.05))
## [1] 11793    82
# model with clinical and cell covariates
# Monocytes.C NK T.CD8.Memory T.CD4.Naive Neutrophils.LD
dds <- DESeqDataSetFromMatrix(countData = mx , colData = ss2,
  design = ~ PG_number + Monocytes.C + NK + T.CD8.Memory + T.CD4.Naive + Neutrophils.LD + timepoint )
## converting counts to integer mode
## Warning in DESeqDataSet(se, design = design, ignoreRank): some variables in
## design formula are characters, converting to factors
##   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.
res <- DESeq(dds)
## 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
## ENSG00000108950.12 FAM20A    1528.1426      2.7390970 0.2890367  9.476642
## ENSG00000163221.9 S100A12   16539.1280      1.7317637 0.2119146  8.171988
## ENSG00000132170.24 PPARG      149.7573      2.1957935 0.2737136  8.022231
## ENSG00000137959.17 IFI44L    1295.0650     -2.1478366 0.2917842 -7.361045
## ENSG00000088827.13 SIGLEC1   1468.6407     -2.0825545 0.2913658 -7.147559
## ENSG00000170439.7 METTL7B     166.2718      3.3486625 0.4788782  6.992723
## ENSG00000183019.7 MCEMP1     5938.1573      1.5733238 0.2251231  6.988727
## ENSG00000165092.13 ALDH1A1    518.0640     -2.2354764 0.3218900 -6.944846
## ENSG00000174705.13 SH3PXD2B   504.6428      2.3935512 0.3493225  6.851982
## ENSG00000116574.6 RHOU       1117.3491      0.9279911 0.1416458  6.551490
##                                   pvalue         padj
## ENSG00000108950.12 FAM20A   2.625986e-21 5.246195e-17
## ENSG00000163221.9 S100A12   3.033483e-16 3.030146e-12
## ENSG00000132170.24 PPARG    1.038414e-15 6.915143e-12
## ENSG00000137959.17 IFI44L   1.824764e-13 9.113785e-10
## ENSG00000088827.13 SIGLEC1  8.833456e-13 3.529496e-09
## ENSG00000170439.7 METTL7B   2.696019e-12 7.916782e-09
## ENSG00000183019.7 MCEMP1    2.773925e-12 7.916782e-09
## ENSG00000165092.13 ALDH1A1  3.788738e-12 9.461427e-09
## ENSG00000174705.13 SH3PXD2B 7.283397e-12 1.616752e-08
## ENSG00000116574.6 RHOU      5.696589e-11 1.138065e-07
mean(abs(dge$stat))
## [1] 0.9878333
surgmale_adj <- dge

dim(subset(surgmale_adj,padj<0.05))
## [1] 487  82
table(chr2gene[match(sapply(strsplit(rownames(surgmale_adj)," "),"[[",1),chr2gene$V2),1])
## 
##  chr1 chr10 chr11 chr12 chr13 chr14 chr15 chr16 chr17 chr18 chr19  chr2 chr20 
##  2146   816  1148  1130   380   814   743  1109  1354   334  1553  1416   548 
## chr21 chr22  chr3  chr4  chr5  chr6  chr7  chr8  chr9  chrM  chrX  chrY 
##   264   606  1150   758   937  1084  1120   730   805    18   647    48
(dim(subset(surgmale,padj<0.05))[1] - dim(subset(surgmale_adj,padj<0.05))[1]) / dim(subset(surgmale,padj<0.05))[1]
## [1] 0.9587043

Compare male and female

surgmale_up <- rownames(subset(surgmale,padj<0.05 & log2FoldChange >0))
surgmale_dn <- rownames(subset(surgmale,padj<0.05 & log2FoldChange <0))

surgfemale_up <- rownames(subset(surgfemale,padj<0.05 & log2FoldChange >0))
surgfemale_dn <- rownames(subset(surgfemale,padj<0.05 & log2FoldChange <0))

v1 <- list("male_up"=surgmale_up, "male_dn"=surgmale_dn,
  "female_up"=surgfemale_up,"female_dn"=surgfemale_dn)

plot(euler(v1),quantities = TRUE)

common=3541+3402

uniq=1700+472+684+3114

common/(common+uniq) #54% common
## [1] 0.5376752

Session information

For reproducibility

save.image("qc.Rds")

sessionInfo()
## R version 4.5.3 (2026-03-11)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.5 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0  LAPACK version 3.10.0
## 
## locale:
## [1] C
## 
## time zone: Australia/Melbourne
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] beeswarm_0.4.0              gtools_3.9.5               
##  [3] xlsx_0.6.5                  DT_0.34.0                  
##  [5] eulerr_7.0.4                ggplot2_4.0.2              
##  [7] kableExtra_1.4.0            MASS_7.3-65                
##  [9] mitch_1.21.3                DESeq2_1.50.2              
## [11] SummarizedExperiment_1.40.0 Biobase_2.70.0             
## [13] MatrixGenerics_1.22.0       matrixStats_1.5.0          
## [15] GenomicRanges_1.62.1        Seqinfo_1.0.0              
## [17] IRanges_2.44.0              S4Vectors_0.48.0           
## [19] BiocGenerics_0.56.0         generics_0.1.4             
## [21] dplyr_1.2.0                 WGCNA_1.73                 
## [23] fastcluster_1.3.0           dynamicTreeCut_1.63-1      
## [25] reshape2_1.4.5              gplots_3.2.0               
## 
## loaded via a namespace (and not attached):
##   [1] RColorBrewer_1.1-3    rstudioapi_0.17.1     jsonlite_2.0.0       
##   [4] magrittr_2.0.4        farver_2.1.2          rmarkdown_2.30       
##   [7] vctrs_0.7.1           memoise_2.0.1.9000    base64enc_0.1-6      
##  [10] progress_1.2.3        htmltools_0.5.9       S4Arrays_1.10.1      
##  [13] SparseArray_1.10.8    Formula_1.2-5         sass_0.4.10          
##  [16] KernSmooth_2.23-26    bslib_0.10.0          htmlwidgets_1.6.4    
##  [19] plyr_1.8.9            echarts4r_0.4.6       impute_1.83.0        
##  [22] cachem_1.1.0          mime_0.13             lifecycle_1.0.5      
##  [25] iterators_1.0.14      pkgconfig_2.0.3       Matrix_1.7-5         
##  [28] R6_2.6.1              fastmap_1.2.0         shiny_1.13.0         
##  [31] digest_0.6.39         colorspace_2.1-2      GGally_2.4.0         
##  [34] AnnotationDbi_1.71.0  textshaping_1.0.4     Hmisc_5.2-4          
##  [37] RSQLite_2.4.4         labeling_0.4.3        polyclip_1.10-7      
##  [40] httr_1.4.7            abind_1.4-8           compiler_4.5.3       
##  [43] withr_3.0.2           bit64_4.6.0-1         doParallel_1.0.17    
##  [46] htmlTable_2.4.3       S7_0.2.1              backports_1.5.0      
##  [49] BiocParallel_1.44.0   DBI_1.2.3             ggstats_0.11.0       
##  [52] DelayedArray_0.36.0   caTools_1.18.3        tools_4.5.3          
##  [55] foreign_0.8-91        otel_0.2.0            httpuv_1.6.16        
##  [58] nnet_7.3-20           glue_1.8.0            promises_1.5.0       
##  [61] polylabelr_0.3.0      grid_4.5.3            checkmate_2.3.3      
##  [64] cluster_2.1.8.2       gtable_0.3.6          preprocessCore_1.71.0
##  [67] tidyr_1.3.2           hms_1.1.4             data.table_1.18.2.1  
##  [70] xml2_1.5.0            XVector_0.50.0        foreach_1.5.2        
##  [73] pillar_1.11.1         stringr_1.6.0         later_1.4.8          
##  [76] rJava_1.0-18          splines_4.5.3         lattice_0.22-7       
##  [79] survival_3.8-6        bit_4.6.0             tidyselect_1.2.1     
##  [82] GO.db_3.21.0          locfit_1.5-9.12       Biostrings_2.77.1    
##  [85] knitr_1.51            gridExtra_2.3         svglite_2.2.2        
##  [88] xfun_0.56             stringi_1.8.7         UCSC.utils_1.5.0     
##  [91] statnet.common_4.12.0 yaml_2.3.12           xlsxjars_0.9.0       
##  [94] evaluate_1.0.5        codetools_0.2-20      tibble_3.3.1         
##  [97] cli_3.6.5             rpart_4.1.27          xtable_1.8-4         
## [100] systemfonts_1.3.1     jquerylib_0.1.4       network_1.19.0       
## [103] dichromat_2.0-0.1     Rcpp_1.1.1            GenomeInfoDb_1.45.4  
## [106] coda_0.19-4.1         png_0.1-8             parallel_4.5.3       
## [109] blob_1.2.4            prettyunits_1.2.0     bitops_1.0-9         
## [112] viridisLite_0.4.3     scales_1.4.0          purrr_1.2.1          
## [115] crayon_1.5.3          rlang_1.1.7           KEGGREST_1.49.0