Data loading

suppressPackageStartupMessages({
  library(SummarizedExperiment)
  library(SEtools)  
  library(edgeR)
  library(DT)
  library(pheatmap)
  library(plotly)
  library(dplyr)
  library(sva)
})
source("Functions/EDC_Functions.R")
load("Data/AllSEcorrected.RData",verbose=T)
## Loading objects:
##   SEs
##   DEAs

DEGs heatmaps

fet.acute <- row.names(DEAs$acute.fet)[which((abs(DEAs$acute.fet$logFC.EXPO0.1X) > 0.2 | abs(DEAs$acute.fet$logFC.EXPO1X) > 0.2 | abs(DEAs$acute.fet$logFC.EXPO10X) > 0.2 | abs(DEAs$acute.fet$logFC.EXPO100X) > 0.2 | abs(DEAs$acute.fet$logFC.EXPO1000X) > 0.2) & DEAs$acute.fet$FDR <= 0.05 & DEAs$acute.fet$logCPM > 0)]

save(fet.acute,file = "Data/DEGsFetalAcute.RData")

MixN_fetal_acute <- SEs$acute.fetal[,which(SEs$acute.fetal$EXPO=="CNT"|SEs$acute.fetal$EXPO=="0.1X"| SEs$acute.fetal$EXPO=="1X"| SEs$acute.fetal$EXPO=="10X"| SEs$acute.fetal$EXPO=="100X"| SEs$acute.fetal$EXPO=="1000X")]

sehm(MixN_fetal_acute, assayName = "corrected", fet.acute,  do.scale = T, show_rownames = T, anno_columns = c("YearOfExperiment","Line","EXPO2"),  main="Acute fetal DEGs")

sehm(MixN_fetal_acute, assayName = "corrected",fet.acute, gaps_at = "Line" , do.scale = T, show_rownames = T, anno_columns = c("YearOfExperiment","Line","EXPO2"), main="Acute fetal DEGs")

DEGS dose-response patterns

Lines combined

Genes<- intersect(row.names(DEAs$acute.fet), fet.acute)

design1 <- as.data.frame(colData(MixN_fetal_acute))
fcmat1 <- getFoldchangeMatrix(assays(MixN_fetal_acute)$corrected[Genes,], design1, is.log = TRUE)

# dose-response clusters of DEGs
cc <- getConsClust(fcmat1,2)
autoLayout(1)
labs <- c("DMSO","0.1x","1x","10x","100x","1000x")
plotGenesClusters(fcmat1, design1, cc, labels=labs,  showNumber=T,spar = 0)

Line 1

Genes<- intersect(row.names(DEAs$acute.fet), fet.acute)
se <- SEs$acute.fetal[Genes,which((SEs$acute.fetal$EXPO=="CNT" | SEs$acute.fetal$EXPO=="0.1X" | SEs$acute.fetal$EXPO=="1X" | SEs$acute.fetal$EXPO=="10X" |SEs$acute.fetal$EXPO=="100X" | SEs$acute.fetal$EXPO=="1000X") & SEs$acute.fetal$Line=="E3381-1")]


design1 <- as.data.frame(colData(se))
fcmat1 <- getFoldchangeMatrix(assays(se)$corrected, design1, is.log = TRUE)

# single DEGs

# cc<- c(1:length(Genes))
# names(cc) <- Genes
# autoLayout(1)
# labs <- c("CNT","0.1x","1x","10x","100x","1000x")
# plotGenesClusters(fcmat1, design1, cc, labels=labs,  showNumber=T,spar = 0)

# dose-response clusters of DEGs
cc <- getConsClust(fcmat1,2)
autoLayout(1)
labs <- c("DMSO","0.1x","1x","10x","100x","1000x")
plotGenesClusters(fcmat1, design1, cc, labels=labs,  showNumber=T,spar = 0)

Line 2

se <- SEs$acute.fetal[Genes,which((SEs$acute.fetal$EXPO=="CNT" | SEs$acute.fetal$EXPO=="0.1X" | SEs$acute.fetal$EXPO=="1X" | SEs$acute.fetal$EXPO=="10X" |SEs$acute.fetal$EXPO=="100X" | SEs$acute.fetal$EXPO=="1000X") & SEs$acute.fetal$Line=="E3361-1")]

design2 <- as.data.frame(colData(se))
fcmat2 <- getFoldchangeMatrix(assays(se)$corrected, design2, is.log = TRUE)

# single DEGs
# cc<- c(1:length(Genes))
# names(cc) <- Genes
# labs <- c("CNT","0.1x","1x","10x","100x","1000x")
# plotGenesClusters(fcmat2, design2, cc, labels=labs,  showNumber=T,spar = 0)

# dose-response clusters of DEGs
cc <- getConsClust(fcmat2,2)
autoLayout(1)
labs <- c("DMSO","0.1x","1x","10x","100x","1000x")
plotGenesClusters(fcmat2, design2, cc, labels=labs,  showNumber=T,spar = 0)

SFARI

Lines combined

load("Data/ASD.RData", verbose = T)
## Loading objects:
##   ASD
##   SFARI
##   SFARIgenes
##   NeuropsychiatricDiseases
##   PsychencodeNDD
Genes<- intersect(row.names(DEAs$acute.fet), SFARIgenes$score1)

design1 <- as.data.frame(colData(MixN_fetal_acute))
fcmat1 <- getFoldchangeMatrix(assays(MixN_fetal_acute)$corrected, design1, is.log = TRUE)

# cc<- c(1:length(Genes))
# names(cc) <- Genes
# autoLayout(1)
# labs <- c("CNT","0.1x","1x","10x","100x","1000x")
# plotGenesClusters(fcmat1, design1, cc, labels=labs,  showNumber=T,spar = 0)

# SFARI DEGs downregulated
Genes<- intersect(row.names(DEAs$acute.fet), fet.acute)
cc<- c(1:length(Genes))
names(cc) <- Genes
plotGenesClusters(fcmat1[c("EPHB2","CLSTN2"),], design1, cc[c("EPHB2","CLSTN2")], labels=labs,  showNumber=T, showEachGene = T,spar = 0)

Line 1

se <- SEs$acute.fetal[Genes,which((SEs$acute.fetal$EXPO=="CNT" | SEs$acute.fetal$EXPO=="0.1X" | SEs$acute.fetal$EXPO=="1X" | SEs$acute.fetal$EXPO=="10X" |SEs$acute.fetal$EXPO=="100X" | SEs$acute.fetal$EXPO=="1000X") & SEs$acute.fetal$Line=="E3381-1")]


design1 <- as.data.frame(colData(se))
fcmat1 <- getFoldchangeMatrix(assays(se)$corrected, design1, is.log = TRUE)

# cc<- c(1:length(Genes))
# names(cc) <- Genes
# autoLayout(1)
# labs <- c("CNT","0.1x","1x","10x","100x","1000x")
# plotGenesClusters(fcmat1, design1, cc, labels=labs,  showNumber=T,spar = 0)
# SFARI DEGs downregulated
Genes<- intersect(row.names(DEAs$acute.fet), fet.acute)
cc<- c(1:length(Genes))
names(cc) <- Genes
plotGenesClusters(fcmat1[c("EPHB2","CLSTN2"),], design1, cc[c("EPHB2","CLSTN2")], labels=labs,  showNumber=T, showEachGene = T,spar = 0)

Line 2

se <- SEs$acute.fetal[Genes,which((SEs$acute.fetal$EXPO=="CNT" | SEs$acute.fetal$EXPO=="0.1X" | SEs$acute.fetal$EXPO=="1X" | SEs$acute.fetal$EXPO=="10X" |SEs$acute.fetal$EXPO=="100X" | SEs$acute.fetal$EXPO=="1000X") & SEs$acute.fetal$Line=="E3361-1")]

design2 <- as.data.frame(colData(se))
fcmat2 <- getFoldchangeMatrix(assays(se)$corrected, design2, is.log = TRUE)
# cc<- c(1:length(Genes))
# names(cc) <- Genes
# labs <- c("DMSO","0.1x","1x","10x","100x","1000x")
# plotGenesClusters(fcmat2, design2, cc, labels=labs,  showNumber=T,spar = 0)
# SFARI DEGs downregulated
Genes<- intersect(row.names(DEAs$acute.fet), fet.acute)
cc<- c(1:length(Genes))
names(cc) <- Genes
plotGenesClusters(fcmat2[c("EPHB2","CLSTN2"),], design2, cc[c("EPHB2","CLSTN2")], labels=labs,  showNumber=T, showEachGene = T,spar = 0)

Data praparation

For details on data filtering, normalization, batch correction and differential expression analysis, see here


Authors

Nicolò Caporale: ,

Cristina Cheroni:

Pierre-Luc Germain:

Giuseppe Testa:

Lab: http://www.testalab.eu/

‘Date: December 01, 2021’

sessionInfo()
## R version 4.0.3 (2020-10-10)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Big Sur 10.16
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] sva_3.38.0                  BiocParallel_1.24.1        
##  [3] genefilter_1.72.1           mgcv_1.8-34                
##  [5] nlme_3.1-152                dplyr_1.0.5                
##  [7] plotly_4.9.3                ggplot2_3.3.3              
##  [9] pheatmap_1.0.12             DT_0.17                    
## [11] edgeR_3.32.1                limma_3.46.0               
## [13] SEtools_1.4.0               SummarizedExperiment_1.20.0
## [15] Biobase_2.50.0              GenomicRanges_1.42.0       
## [17] GenomeInfoDb_1.26.2         IRanges_2.24.1             
## [19] S4Vectors_0.28.1            BiocGenerics_0.36.0        
## [21] MatrixGenerics_1.2.1        matrixStats_0.58.0         
## 
## loaded via a namespace (and not attached):
##  [1] Rtsne_0.15             colorspace_2.0-0       rjson_0.2.20          
##  [4] ellipsis_0.3.1         circlize_0.4.12        XVector_0.30.0        
##  [7] GlobalOptions_0.1.2    clue_0.3-58            farver_2.1.0          
## [10] bit64_4.0.5            AnnotationDbi_1.52.0   fansi_0.4.2           
## [13] codetools_0.2-18       splines_4.0.3          cachem_1.0.4          
## [16] knitr_1.31             jsonlite_1.7.2         Cairo_1.5-12.2        
## [19] annotate_1.68.0        cluster_2.1.1          png_0.1-7             
## [22] compiler_4.0.3         httr_1.4.2             assertthat_0.2.1      
## [25] Matrix_1.3-2           fastmap_1.1.0          lazyeval_0.2.2        
## [28] htmltools_0.5.1.1      tools_4.0.3            gtable_0.3.0          
## [31] glue_1.4.2             GenomeInfoDbData_1.2.4 V8_3.4.0              
## [34] Rcpp_1.0.6             jquerylib_0.1.3        vctrs_0.3.7           
## [37] iterators_1.0.13       xfun_0.21              stringr_1.4.0         
## [40] openxlsx_4.2.3         lifecycle_1.0.0        XML_3.99-0.5          
## [43] zlibbioc_1.36.0        scales_1.1.1           TSP_1.1-10            
## [46] RColorBrewer_1.1-2     ComplexHeatmap_2.6.2   yaml_2.2.1            
## [49] curl_4.3               memoise_2.0.0          sass_0.3.1            
## [52] stringi_1.5.3          RSQLite_2.2.3          highr_0.8             
## [55] randomcoloR_1.1.0.1    foreach_1.5.1          seriation_1.2-9       
## [58] zip_2.1.1              shape_1.4.5            rlang_0.4.10          
## [61] pkgconfig_2.0.3        bitops_1.0-6           evaluate_0.14         
## [64] lattice_0.20-41        purrr_0.3.4            htmlwidgets_1.5.3     
## [67] bit_4.0.4              tidyselect_1.1.0       magrittr_2.0.1        
## [70] R6_2.5.0               generics_0.1.0         DelayedArray_0.16.1   
## [73] DBI_1.1.1              pillar_1.5.1           withr_2.4.1           
## [76] survival_3.2-7         RCurl_1.98-1.2         tibble_3.1.0          
## [79] crayon_1.4.1           utf8_1.2.1             rmarkdown_2.7         
## [82] GetoptLong_1.0.5       locfit_1.5-9.4         grid_4.0.3            
## [85] data.table_1.14.0      blob_1.2.1             digest_0.6.27         
## [88] xtable_1.8-4           tidyr_1.1.3            munsell_0.5.0         
## [91] registry_0.5-1         viridisLite_0.3.0      bslib_0.2.4