::opts_chunk$set(echo = TRUE, warning=FALSE) knitr
for (i in 1:length(params))
print(paste('Parameter:', names(params)[i], ' - Value:', params[[i]], '- Class:', class(params[[i]])))
## [1] "Parameter: InputFolder - Value: ~/DataDir/steroidomics/ - Class: character"
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
library(DT)
library(viridis)
## Loading required package: viridisLite
<- params$InputFolder InputFolder
<- openxlsx::read.xlsx("./Normalized_Counts_Neuralorganoids_Steroidomics.xlsx")
Steroidomics head(Steroidomics)
## Sample Timepoint Sex Line Condition dht pregnenolone
## 1 1_1CTL04EDay 50CTL DAY50 Female CTL04E CTL 0 202.4586
## 2 1_2CTL04EDay 50CTL DAY50 Female CTL04E CTL 0 304.2842
## 3 1_3CTL04EDay 50CTL DAY50 Female CTL04E CTL 0 172.5682
## 4 1_4CTL04EDay 50DMSO DAY50 Female CTL04E DMSO 0 205.2690
## 5 1_5CTL04EDay 50DMSO DAY50 Female CTL04E DMSO 0 213.8746
## 6 1_6CTL04EDay 50DMSO DAY50 Female CTL04E DMSO 0 359.4976
## testosterone androstenedione corticosterone cortisol progesterone cortisone
## 1 0 0 527.3886 2.027865 0 1.8435876
## 2 0 0 669.2955 1.187653 0 0.4624972
## 3 0 0 506.3620 1.658182 0 1.3603737
## 4 0 0 402.3395 0.000000 0 0.0000000
## 5 0 0 475.0151 0.000000 0 0.0000000
## 6 0 0 688.0275 0.000000 0 0.0000000
## DHEA Androsterone Androstanedione E1 17bE2 E3 17aE2
## 1 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0
colnames(Steroidomics)
## [1] "Sample" "Timepoint" "Sex" "Line"
## [5] "Condition" "dht" "pregnenolone" "testosterone"
## [9] "androstenedione" "corticosterone" "cortisol" "progesterone"
## [13] "cortisone" "DHEA" "Androsterone" "Androstanedione"
## [17] "E1" "17bE2" "E3" "17aE2"
Measured compounds
<- function(myData, compound){
densPlot
ggplot(data=myData, aes(x=(!!sym(compound)), group=Line, fill=Line)) +
geom_density(adjust=1.5, alpha=.4) +
scale_fill_viridis(discrete=TRUE) +
theme_minimal() +
theme(axis.title.y=element_blank())
}
<- function(myData, compound){
boxPlot
ggplot(data=myData, aes(x=(!!sym(compound)), y=Condition, fill=Line)) +
geom_boxplot(alpha=0.5, size=0.5) +
scale_fill_viridis(discrete=TRUE) +
theme_minimal() +
theme(axis.title.y=element_blank())
}
<- function(myData, compound){
logPlot
ggplot(data=myData, aes(y=log2(!!sym(compound)+0.01), x=Condition, fill=Line)) +
geom_boxplot(alpha=0.5) +
scale_fill_viridis(discrete=TRUE) +
theme_minimal() +
theme(axis.text.x=element_text(angle = 90), axis.title.x=element_blank(),
legend.position="bottom")
}
quantile(Steroidomics$dht, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60% 70%
## 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## 80% 90% 100%
## 0.0000 0.0000 613.1551
sum(Steroidomics$dht != 0)
## [1] 6
min(Steroidomics[Steroidomics$dht!=0, ]$dht)
## [1] 513.3291
= 'dht'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$pregnenolone, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60% 70%
## 82.52382 139.19264 167.73287 190.56382 213.87455 232.38030 262.54671 297.49156
## 80% 90% 100%
## 338.51416 398.37493 601.95010
sum(Steroidomics$pregnenolone != 0)
## [1] 96
min(Steroidomics[Steroidomics$pregnenolone!=0, ]$pregnenolone)
## [1] 82.52382
= 'pregnenolone'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$testosterone, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50%
## 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
## 60% 70% 80% 90% 100%
## 0.000000 0.000000 2.259961 18.583802 2165.672842
sum(Steroidomics$testosterone != 0)
## [1] 26
min(Steroidomics[Steroidomics$testosterone!=0, ]$testosterone)
## [1] 0.557104
= 'testosterone'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$androstenedione, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60%
## 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
## 70% 80% 90% 100%
## 0.000000 0.000000 2.192375 526.034008
sum(Steroidomics$androstenedione != 0)
## [1] 18
min(Steroidomics[Steroidomics$androstenedione!=0, ]$androstenedione)
## [1] 0.5588584
= 'androstenedione'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$corticosterone, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50%
## 0.000000 8.489496 18.713579 54.532927 222.327325 374.992163
## 60% 70% 80% 90% 100%
## 474.670514 538.354417 623.771657 719.409447 2160.034311
sum(Steroidomics$corticosterone != 0)
## [1] 93
min(Steroidomics[Steroidomics$corticosterone!=0, ]$corticosterone)
## [1] 5.569155
= 'corticosterone'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$cortisol, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60% 70%
## 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
## 80% 90% 100%
## 0.0000000 0.3164978 7.0978172
sum(Steroidomics$cortisol != 0)
## [1] 10
min(Steroidomics[Steroidomics$cortisol!=0, ]$cortisol)
## [1] 0.6329955
= 'cortisol'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$progesterone, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60%
## 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 12.68861
## 70% 80% 90% 100%
## 23.10147 35.13130 67.97748 3146.76338
sum(Steroidomics$progesterone != 0)
## [1] 40
min(Steroidomics[Steroidomics$progesterone!=0, ]$progesterone)
## [1] 12.49231
= 'progesterone'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$cortisone, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60% 70%
## 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
## 80% 90% 100%
## 0.5683052 0.7540392 2.1997760
sum(Steroidomics$cortisone != 0)
## [1] 28
min(Steroidomics[Steroidomics$cortisone!=0, ]$cortisone)
## [1] 0.3973228
= 'cortisone'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$DHEA, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60% 70%
## 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
## 80% 90% 100%
## 0.00000 0.00000 36.60423
sum(Steroidomics$DHEA != 0)
## [1] 3
min(Steroidomics[Steroidomics$DHEA!=0, ]$DHEA)
## [1] 24.42334
= 'DHEA'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$Androsterone, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60% 70%
## 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
## 80% 90% 100%
## 0.000 0.000 2535.061
sum(Steroidomics$Androsterone != 0)
## [1] 6
min(Steroidomics[Steroidomics$Androsterone!=0, ]$Androsterone)
## [1] 723.3259
= 'Androsterone'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$Androstanedione, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60% 70%
## 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
## 80% 90% 100%
## 0.000 0.000 1047.017
sum(Steroidomics$Androstanedione != 0)
## [1] 3
min(Steroidomics[Steroidomics$Androstanedione!=0, ]$Androstanedione)
## [1] 971.4318
= 'Androstanedione'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$E1, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50%
## 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
## 60% 70% 80% 90% 100%
## 0.3759819 0.6547111 1.8515653 46.4405075 3430.6624806
sum(Steroidomics$E1 != 0)
## [1] 46
min(Steroidomics[Steroidomics$E1!=0, ]$Androstanedione)
## [1] 0
= 'E1'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$E3, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
## 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
## 100%
## 1.00914
sum(Steroidomics$E3 != 0)
## [1] 6
min(Steroidomics[Steroidomics$E3!=0, ]$Androstanedione)
## [1] 0
= 'E3'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$`17aE2`, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50%
## 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
## 60% 70% 80% 90% 100%
## 0.0000000 0.0000000 0.4177229 8.6347623 1859.3658774
sum(Steroidomics$`17aE2` != 0)
## [1] 20
min(Steroidomics[Steroidomics$`17aE2`!=0, ]$`17aE2`)
## [1] 0.4177229
= '17aE2'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
quantile(Steroidomics$`17bE2`, probs=(seq(0,1,by=0.1)))
## 0% 10% 20% 30% 40% 50%
## 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
## 60% 70% 80% 90% 100%
## 0.000000 0.492749 2.539585 101.072799 5231.595390
sum(Steroidomics$`17bE2` != 0)
## [1] 31
min(Steroidomics[Steroidomics$`17bE2`!=0, ]$`17bE2`)
## [1] 0.490462
= '17bE2'
compound densPlot(Steroidomics, compound)
boxPlot(Steroidomics, compound)
logPlot(Steroidomics, compound)
<- sessionInfo()
SessionInfo <- date() Date
Date
## [1] "Wed Aug 13 12:57:38 2025"
SessionInfo
## R version 4.2.1 (2022-06-23)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.4 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] viridis_0.6.2 viridisLite_0.4.1 DT_0.27 ggplot2_3.4.1
## [5] dplyr_1.1.0
##
## loaded via a namespace (and not attached):
## [1] zip_2.2.2 Rcpp_1.0.10 highr_0.10 pillar_1.8.1
## [5] bslib_0.4.2 compiler_4.2.1 jquerylib_0.1.4 tools_4.2.1
## [9] digest_0.6.31 jsonlite_1.8.4 evaluate_0.20 lifecycle_1.0.3
## [13] tibble_3.2.1 gtable_0.3.1 pkgconfig_2.0.3 rlang_1.1.1
## [17] openxlsx_4.2.5.2 cli_3.6.1 rstudioapi_0.14 yaml_2.3.7
## [21] xfun_0.37 fastmap_1.1.1 gridExtra_2.3 withr_2.5.0
## [25] knitr_1.42 generics_0.1.3 vctrs_0.6.2 sass_0.4.5
## [29] htmlwidgets_1.6.1 grid_4.2.1 tidyselect_1.2.0 glue_1.6.2
## [33] R6_2.5.1 fansi_1.0.4 rmarkdown_2.20 farver_2.1.1
## [37] magrittr_2.0.3 scales_1.2.1 htmltools_0.5.4 colorspace_2.1-0
## [41] labeling_0.4.2 utf8_1.2.3 stringi_1.7.12 munsell_0.5.0
## [45] cachem_1.0.7