# Disease Associated Proteins (DAPs)
For each outcome, we calculated a 5% False Discovery Rate (FDR)-corrected p-value using both unpaired t-tests (assuming unequal variance) and logistic regression, applying the Benjamini-Hochberg (BH) procedure for multiple testing correction. Proteins with a BH-adjusted p-value < 0.05 are referred to as “disease-associated proteins” (DAPs).
DAPs were identified using the find_DEP() function. Logistic regression and t-tests were performed using the lreg() and ttest() functions, respectively, all defined in _libs/MethodD_function.R.
```{r setup,include=FALSE, message=FALSE, warning=FALSE}
knitr::opts_chunk$set(cache=TRUE,echo = TRUE,warning = FALSE, message = FALSE,tinytex.verbose = TRUE, fig.align="center")
```
```{r function-input, echo=FALSE, results='hide',message=FALSE, fig.show="hide"}
library(tidyverse)
library(data.table)
library(DT)
library(readxl)
source("_libs/MethodD_function.R")
load("Rdata/dl.npxz5.Roche.ISM2.RData")
load("Rdata/dl.npxz5.pops2.ISM2.RData")
for (condition in names(dl.npxz5.pops2.ISM2)) {
for (time_point in names(dl.npxz5.pops2.ISM2[[condition]])) {
df <- dl.npxz5.pops2.ISM2[[condition]][[time_point]]
colnames(df)[ncol(df)] <- "y"
dl.npxz5.pops2.ISM2[[condition]][[time_point]] <- df}}
dl.npxz5.Roche.pops.composite.12wk<- read_excel("data/dl.npxz5.Roche.pops.composite.12wk.xlsx")
dl.npxz5.pops2.composite.12wk<- read_excel("data/dl.npxz5.pops2.composite.12wk.xlsx")
find_DEP<-function(x,mc.cores=8,pvalue=0.05){
stopifnot(is.data.frame(x))
stopifnot(any(grepl("y",colnames(x))))
stopifnot(all(sort(unique(data.frame(x)[,"y"]))==c(0,1)))
all.proteins<-names(x)[which(names(x)!="y" & names(x)!="POPSID")]
# 1. t-test
dt.ttest<-parallel::mclapply(all.proteins, function(my.protein){
my.formula<-formula(paste(my.protein,"~ y",collapse= " "))
my.test<-t.test(my.formula, data=x)
dt.ttest <-
data.table(
`feature`=my.protein,
`case`=my.test$estimate["mean in group 1"], # case
`ctrl`=my.test$estimate["mean in group 0"], # control
`se`=my.test$stderr,
`pval`=my.test$p.value
) # return this dt
},mc.cores=mc.cores) %>% rbindlist
# 2. logistic regression
dt.lreg<-parallel::mclapply(all.proteins, function(my.protein){
my.formula2<-formula(paste("y ~", my.protein))
my.model<-glm(my.formula2, data=x, family="binomial")
foo1<-as.data.frame(coef(summary(my.model)))
foo2<-as.data.frame(exp(cbind(coef(my.model), confint(my.model)))) # Odds Ratio & CI (95%)
foo3<-cbind(my.protein,cbind(foo1,foo2)[my.protein,]) %>% data.table
colnames(foo3)<-c("feature","log_odds","se","zval","pval","odds","odds_lo","odds_hi")
auc.ci<-pROC::ci.auc(response=x$y,predictor=fitted(my.model), quiet=T)
cbind(foo3,auc=auc.ci[2],auc_lo=auc.ci[1],auc_hi=auc.ci[3])
},mc.cores=mc.cores) %>% rbindlist
dt.ttest[,BH:=p.adjust(pval,"BH")]
dt.lreg[,BH:=p.adjust(pval,"BH")]
# BY is always a subset of BH
##########################to block the chunk
if(F){
dt.ttest[,BY:=p.adjust(pval,"BY")]
dt.lreg[,BY:=p.adjust(pval,"BY")]
dt.ttest[BY<0.05]$feature %in% dt.ttest[BH<0.05]$feature %>% table
dt.lreg[BY<0.05]$feature %in% dt.lreg[BH<0.05]$feature %>% table
}
DEPs<-c(dt.ttest[BH<=pvalue]$feature, dt.lreg[BH<=pvalue]$feature) %>% unique
dt.lreg[feature %in% DEPs,.(feature,auc,auc_lo,auc_hi)][order(-auc)]
}
```
## POPS
### No. of DAPs
```{r DAPs_POPS_NPXZ, message=FALSE, warning=FALSE}
DAPs_summary <- data.frame(
Outcome = character(),
GA = character(),
DAPs_Count = integer(),
stringsAsFactors = FALSE)
add_DAPs_count <- function(outcome, GA, data) {
DAPs <- find_DEP(data.frame(data), mc.cores = 12, pvalue = 0.05)#POPSID+proteins+y or proteins+y
DAPs_summary <<- rbind(DAPs_summary, data.frame(
Outcome = outcome,
GA = GA,
DAPs_Count = dim(DAPs)[1],
stringsAsFactors = FALSE))}
# Compute DAPs for each condition and GA
#proteins+y
add_DAPs_count("PE_pure", "12wk", dl.npxz5.Roche.ISM2$PE_pure$`12wk`%>%dplyr::select(-c(POPSID, Comparator,Roche_PlGF,Roche_PAPP_A,Roche_AFP,Roche_hCGbeta)))
add_DAPs_count("FGR_pure", "12wk", dl.npxz5.Roche.ISM2$FGR_pure$`12wk`%>%dplyr::select(-c(POPSID, Comparator,Roche_PlGF,Roche_PAPP_A,Roche_AFP,Roche_hCGbeta)))
add_DAPs_count("PE_with_FGR", "12wk", dl.npxz5.Roche.ISM2$PE_and_FGR$`12wk`%>%dplyr::select(-c(POPSID, Comparator,Roche_PlGF,Roche_PAPP_A,Roche_AFP,Roche_hCGbeta,case_type)))
datatable(DAPs_summary, rownames = FALSE, caption = "Summary of DAPs for POPS",
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 4))
```
### Logistic Regression
#### PE only
```{r DAPs_POPS_PEonly_NPXZ, message=FALSE, warning=FALSE}
DAPs_PE_pure=find_DEP(data.frame(dl.npxz5.Roche.ISM2$PE_pure$`12wk`%>%dplyr::select(-c(POPSID, Comparator,Roche_PlGF,Roche_PAPP_A,Roche_AFP,Roche_hCGbeta))), mc.cores = 12, pvalue = 0.05)
lreg_PE_pure=lreg(data.frame(dl.npxz5.Roche.ISM2$PE_pure$`12wk`%>%dplyr::select(c(DAPs_PE_pure$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
lreg_PE_pure_df <- as.data.frame(lreg_PE_pure)
lreg_PE_pure_df_sorted <- lreg_PE_pure_df[order(lreg_PE_pure_df$pval), ]
datatable(lreg_PE_pure_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("log_odds","se","zval","odds","odds_lo","odds_hi","auc","auc_lo","auc_hi"), digits = 4)
```
#### FGR only
```{r DAPs_POPS_FGRonly_NPXZ, message=FALSE, warning=FALSE}
DAPs_FGR_pure=find_DEP(data.frame(dl.npxz5.Roche.ISM2$FGR_pure$`12wk`%>%dplyr::select(-c(POPSID, Comparator,Roche_PlGF,Roche_PAPP_A,Roche_AFP,Roche_hCGbeta))), mc.cores = 12, pvalue = 0.05)
DAPs_FGR_pure <- DAPs_FGR_pure %>%
mutate(feature = gsub("ERVV\\.1", "ERVV-1", feature))
lreg_FGR_pure=lreg(data.frame(dl.npxz5.Roche.ISM2$FGR_pure$`12wk`%>%dplyr::select(c(DAPs_FGR_pure$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
lreg_FGR_pure_df <- as.data.frame(lreg_FGR_pure)
lreg_FGR_pure_df_sorted <- lreg_FGR_pure_df[order(lreg_FGR_pure_df$pval), ]
datatable(lreg_FGR_pure_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("log_odds","se","zval","odds","odds_lo","odds_hi","auc","auc_lo","auc_hi"), digits = 4)
```
#### PE with FGR
```{r DAPs_POPS_PE_FGR_NPXZ, message=FALSE, warning=FALSE}
DAPs_PE_FGR=find_DEP(data.frame(dl.npxz5.Roche.ISM2$PE_and_FGR$`12wk`%>%dplyr::select(-c(POPSID, Comparator,Roche_PlGF,Roche_PAPP_A,Roche_AFP,Roche_hCGbeta,case_type))), mc.cores = 12, pvalue = 0.05)
lreg_PE_FGR=lreg(data.frame(dl.npxz5.Roche.ISM2$PE_and_FGR$`12wk`%>%dplyr::select(c(DAPs_PE_FGR$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
lreg_PE_FGR_df <- as.data.frame(lreg_PE_FGR)
lreg_PE_FGR_df_sorted <- lreg_PE_FGR_df[order(lreg_PE_FGR_df$pval), ]
datatable(lreg_PE_FGR_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("log_odds","se","zval","odds","odds_lo","odds_hi","auc","auc_lo","auc_hi"), digits = 4)
```
### T Test
#### PE only
```{r DAPs_POPS_PEonly_ttest, message=FALSE, warning=FALSE}
ttest_PE_pure=ttest(data.frame(dl.npxz5.Roche.ISM2$PE_pure$`12wk`%>%dplyr::select(c(DAPs_PE_pure$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
ttest_PE_pure_df <- as.data.frame(ttest_PE_pure)
ttest_PE_pure_df_sorted <- ttest_PE_pure_df[order(ttest_PE_pure_df$pval), ]
datatable(ttest_PE_pure_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("case","ctrl","se"), digits = 4)
```
#### FGR only
```{r DAPs_POPS_FGRonly_ttest, message=FALSE, warning=FALSE}
ttest_FGR_pure=ttest(data.frame(dl.npxz5.Roche.ISM2$FGR_pure$`12wk`%>%dplyr::select(c(DAPs_FGR_pure$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
ttest_FGR_pure_df <- as.data.frame(ttest_FGR_pure)
ttest_FGR_pure_df_sorted <- ttest_FGR_pure_df[order(ttest_FGR_pure_df$pval), ]
datatable(ttest_FGR_pure_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("case","ctrl","se"), digits = 4)
```
#### PE with FGR
```{r DAPs_POPS_PE_FGR_ttest, message=FALSE, warning=FALSE}
ttest_PE_FGR=ttest(data.frame(dl.npxz5.Roche.ISM2$PE_and_FGR$`12wk`%>%dplyr::select(c(DAPs_PE_FGR$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
ttest_PE_FGR_df <- as.data.frame(ttest_PE_FGR)
ttest_PE_FGR_df_sorted <- ttest_PE_FGR_df[order(ttest_PE_FGR_df$pval), ]
datatable(ttest_PE_FGR_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("case","ctrl","se"), digits = 4)
```
## POPS2
### No. of DAPs
```{r DAPs_POPS2_NPXZ, message=FALSE, warning=FALSE}
DAPs_summary <- data.frame(
Outcome = character(),
GA = character(),
DAPs_Count = integer(),
stringsAsFactors = FALSE)
add_DAPs_count <- function(outcome, GA, data) {
DAPs <- find_DEP(data.frame(data), mc.cores = 12, pvalue = 0.05)#POPSID+proteins+y or proteins+y
DAPs_summary <<- rbind(DAPs_summary, data.frame(
Outcome = outcome,
GA = GA,
DAPs_Count = dim(DAPs)[1],
stringsAsFactors = FALSE ))}
# Compute DAPs for each condition and GA
#proteins+y
add_DAPs_count("PE_pure", "12wk", dl.npxz5.pops2.ISM2$`12wk`$PE_pure%>%dplyr::select(-c(POPSID)))
add_DAPs_count("FGR_pure", "12wk", dl.npxz5.pops2.ISM2$`12wk`$FGR_pure%>%dplyr::select(-c(POPSID)))
add_DAPs_count("PE_with_FGR", "12wk", dl.npxz5.pops2.ISM2$`12wk`$PE_and_FGR%>%dplyr::select(-c(POPSID)))
datatable(DAPs_summary, rownames = FALSE, caption = "Summary of DAPs for POPS2",
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 4))
```
### Logistic Regression
#### PE only
```{r DAPs_POPS2_PEonly_NPXZ, message=FALSE, warning=FALSE}
DAPs_PE_pure=find_DEP(data.frame(dl.npxz5.pops2.ISM2$`12wk`$PE_pure%>%dplyr::select(-c(POPSID))), mc.cores = 12, pvalue = 0.05)
lreg_PE_pure=lreg(data.frame(dl.npxz5.pops2.ISM2$`12wk`$PE_pure%>%dplyr::select(c(DAPs_PE_pure$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
lreg_PE_pure_df <- as.data.frame(lreg_PE_pure)
lreg_PE_pure_df_sorted <- lreg_PE_pure_df[order(lreg_PE_pure_df$pval), ]
datatable(lreg_PE_pure_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("log_odds","se","zval","odds","odds_lo","odds_hi","auc","auc_lo","auc_hi"), digits = 4)
```
#### FGR only
```{r DAPs_POPS2_FGRonly_NPXZ, message=FALSE, warning=FALSE}
DAPs_FGR_pure=find_DEP(data.frame(dl.npxz5.pops2.ISM2$`12wk`$FGR_pure%>%dplyr::select(-c(POPSID))), mc.cores = 12, pvalue = 0.05)
lreg_FGR_pure=lreg(data.frame(dl.npxz5.pops2.ISM2$`12wk`$FGR_pure%>%dplyr::select(c(DAPs_FGR_pure$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
lreg_FGR_pure_df <- as.data.frame(lreg_FGR_pure)
lreg_FGR_pure_df_sorted <- lreg_FGR_pure_df[order(lreg_FGR_pure_df$pval), ]
datatable(lreg_FGR_pure_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("log_odds","se","zval","odds","odds_lo","odds_hi","auc","auc_lo","auc_hi"), digits = 4)
```
#### PE with FGR
```{r DAPs_POPS2_PE_FGR_NPXZ, message=FALSE, warning=FALSE}
DAPs_PE_FGR=find_DEP(data.frame(dl.npxz5.pops2.ISM2$`12wk`$PE_and_FGR%>%dplyr::select(-c(POPSID))), mc.cores = 12, pvalue = 0.05)
lreg_PE_FGR=lreg(data.frame(dl.npxz5.pops2.ISM2$`12wk`$FGR_pure%>%dplyr::select(c(DAPs_PE_FGR$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
lreg_PE_FGR_df <- as.data.frame(lreg_PE_FGR)
lreg_PE_FGR_df_sorted <- lreg_PE_FGR_df[order(lreg_PE_FGR_df$pval), ]
datatable(lreg_PE_FGR_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("log_odds","se","zval","odds","odds_lo","odds_hi","auc","auc_lo","auc_hi"), digits = 4)
```
### T Test
#### PE only
```{r DAPs_POPS2_PEonly_ttest, message=FALSE, warning=FALSE}
ttest_PE_pure=ttest(data.frame(dl.npxz5.pops2.ISM2$`12wk`$PE_pure%>%dplyr::select(c(DAPs_PE_pure$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
ttest_PE_pure_df <- as.data.frame(ttest_PE_pure)
ttest_PE_pure_df_sorted <- ttest_PE_pure_df[order(ttest_PE_pure_df$pval), ]
datatable(ttest_PE_pure_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("case","ctrl","se"), digits = 4)
```
#### FGR only
```{r DAPs_POPS2_FGRonly_ttest, message=FALSE, warning=FALSE}
ttest_FGR_pure=ttest(data.frame(dl.npxz5.pops2.ISM2$`12wk`$FGR_pure%>%dplyr::select(c(DAPs_FGR_pure$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
ttest_FGR_pure_df <- as.data.frame(ttest_FGR_pure)
ttest_FGR_pure_df_sorted <- ttest_FGR_pure_df[order(ttest_FGR_pure_df$pval), ]
datatable(ttest_FGR_pure_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("case","ctrl","se"), digits = 4)
```
#### PE with FGR
```{r DAPs_POPS2_PE_FGR_ttest, message=FALSE, warning=FALSE}
ttest_PE_FGR=ttest(data.frame(dl.npxz5.pops2.ISM2$`12wk`$FGR_pure%>%dplyr::select(c(DAPs_PE_FGR$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
ttest_PE_FGR_df <- as.data.frame(ttest_PE_FGR)
ttest_PE_FGR_df_sorted <- ttest_PE_FGR_df[order(ttest_PE_FGR_df$pval), ]
datatable(ttest_PE_FGR_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("case","ctrl","se"), digits = 4)
```
## Composite outcomes
### No. of DAPs
```{r DAPs_POPS-POPS2_NPXZ-composite, message=FALSE, warning=FALSE}
DAPs_summary <- data.frame(
Outcome = character(),
GA = character(),
DAPs_Count = integer(),
stringsAsFactors = FALSE)
add_DAPs_count <- function(outcome, GA, data) {
DAPs <- find_DEP(data.frame(data), mc.cores = 12, pvalue = 0.05)#POPSID+proteins+y or proteins+y
DAPs_summary <<- rbind(DAPs_summary, data.frame(
Outcome = outcome,
GA = GA,
DAPs_Count = dim(DAPs)[1],
stringsAsFactors = FALSE ))}
# Compute DAPs for each condition and GA
#proteins+y
add_DAPs_count("Composite POPS", "12wk", dl.npxz5.Roche.pops.composite.12wk%>%dplyr::select(-c(POPSID, Comparator,Roche_PlGF,Roche_PAPP_A,Roche_AFP,Roche_hCGbeta)))
add_DAPs_count("Composite POPS2", "12wk",dl.npxz5.pops2.composite.12wk%>%dplyr::select(-c(POPSID)))
datatable(DAPs_summary, rownames = FALSE, caption = "Summary of DAPs for composite outcomes",
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 40))
```
### Logistic Regression
#### Composite POPS
```{r DAPs_POPS_com_NPXZ, message=FALSE, warning=FALSE}
DAPs_com_pops=find_DEP(data.frame(dl.npxz5.Roche.pops.composite.12wk%>%dplyr::select(-c(POPSID, Comparator,Roche_PlGF,Roche_PAPP_A,Roche_AFP,Roche_hCGbeta))), mc.cores = 12, pvalue = 0.05)
DAPs_com_pops <- DAPs_com_pops %>%
mutate(feature = gsub("ERVV\\.1", "ERVV-1", feature))
lreg_com_pops=lreg(data.frame(dl.npxz5.Roche.pops.composite.12wk%>%dplyr::select(c(DAPs_com_pops$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
lreg_com_pops_df <- as.data.frame(lreg_com_pops)
lreg_com_pops_df_sorted <- lreg_com_pops_df[order(lreg_com_pops_df$pval), ]
datatable(lreg_com_pops_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("log_odds","se","zval","odds","odds_lo","odds_hi","auc","auc_lo","auc_hi"), digits = 4)
```
#### Composite POPS2
```{r DAPs_POPS2_com_NPXZ, message=FALSE, warning=FALSE}
DAPs_com_pops2=find_DEP(data.frame(dl.npxz5.pops2.composite.12wk%>%dplyr::select(-c(POPSID))), mc.cores = 12, pvalue = 0.05)
DAPs_com_pops2 <- DAPs_com_pops2 %>%
mutate(feature = gsub("ERVV\\.1", "ERVV-1", feature))
lreg_com_pops2=lreg(data.frame(dl.npxz5.pops2.composite.12wk%>%dplyr::select(c(DAPs_com_pops2$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
lreg_com_pops2_df <- as.data.frame(lreg_com_pops2)
lreg_com_pops2_df_sorted <- lreg_com_pops2_df[order(lreg_com_pops2_df$pval), ]
datatable(lreg_com_pops2_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("log_odds","se","zval","odds","odds_lo","odds_hi","auc","auc_lo","auc_hi"), digits = 4)
```
### T Test
#### Composite POPS
```{r DAPs_POPS_com_ttest, message=FALSE, warning=FALSE}
ttest_com_pops=ttest(data.frame(dl.npxz5.Roche.pops.composite.12wk%>%dplyr::select(c(DAPs_com_pops$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
ttest_com_pops_df <- as.data.frame(ttest_com_pops)
ttest_com_pops_df_sorted <- ttest_com_pops_df[order(ttest_com_pops_df$pval), ]
datatable(ttest_com_pops_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("case","ctrl","se"), digits = 4)
```
#### Composite POPS2
```{r DAPs_POPS2_com_ttest, message=FALSE, warning=FALSE}
ttest_com_pops2=ttest(data.frame(dl.npxz5.pops2.composite.12wk%>%dplyr::select(c(DAPs_com_pops2$feature,y))%>%
dplyr::rename_with(~ gsub("-", "__", .))), mc.cores=12)
ttest_com_pops2_df <- as.data.frame(ttest_com_pops2)
ttest_com_pops2_df_sorted <- ttest_com_pops2_df[order(ttest_com_pops2_df$pval), ]
datatable(ttest_com_pops2_df_sorted%>%
mutate(pval = sprintf("%.3e", pval)), rownames = FALSE,
options = list(
scrollX = TRUE,
scrollCollapse = TRUE,
pageLength = 10))%>%
formatRound(columns = c("case","ctrl","se"), digits = 4)
```