Introduction

In this analysis I will try out an approach that preserved per-sample information. It aggregates methylaiton values for all CpGs into a single median value.

suppressPackageStartupMessages({
  library("missMethyl")
  library("kableExtra")
  library("mitch")
  library("eulerr")
  library("IlluminaHumanMethylation450kmanifest")
  library("IlluminaHumanMethylation450kanno.ilmn12.hg19")
  library("tictoc")
  library("limma")
})

CORES=12

Annotation data

Start with gathering the annotation set.

ann450k <- getAnnotation(IlluminaHumanMethylation450kanno.ilmn12.hg19)
myann <- data.frame(ann450k[,c("UCSC_RefGene_Name","Regulatory_Feature_Group")])
promoters <- grep("Prom",myann$Regulatory_Feature_Group)

Load methylation data

mx <- readRDS("dm3_mx.Rds")
design <- readRDS("dm3_design.Rds")

Load pathways

Reactome pathways were downloaded on the 14th Sept 2023 from MsigDB.

gs_entrez <- gmt_import("c2.cp.reactome.v2023.1.Hs.entrez.gmt")

gs_symbols <- gmt_import("c2.cp.reactome.v2023.1.Hs.symbols.gmt")

Join

Determine the median of probe values

gn <- unique(unlist(strsplit( myann$UCSC_RefGene_Name ,";")))
gnl <- strsplit( myann$UCSC_RefGene_Name ,";")
gnl <- mclapply(gnl,unique,mc.cores=CORES)
myann$gnl <- gnl

mymed <- function(g) {
  probes <- rownames(myann[grep(g,myann$gnl),])
  rows <- which(rownames(mx) %in% probes)
  if ( length(rows) > 1 ) {
    b <- mx[rows,]
    med <- apply(b,2,median)
    med <- matrix(med,nrow=1)
    colnames(med) <- colnames(b)
    rownames(med) <- g
    return(med)
  }
}

med <- mclapply(gn,mymed,mc.cores=CORES)
med <- med[lapply(med,length)>0]
medf <- do.call(rbind,med)

Now aggregate by median for gene sets.

i=1
mymed2 <- function(mx,gsets,i) {
  nm <- names(gsets)[i]
  gs <- gsets[[i]]
  med <- matrix(apply(mx[which(rownames(mx) %in% gs),],2,median),nrow=1)
  colnames(med) <- colnames(mx)
  rownames(med) <- nm
  return(med)
}

med2 <- mclapply(1:length(gs_symbols), function(i) {
  mymed2(mx=medf,gsets=gs_symbols,i=i)
},mc.cores=CORES)

medf2 <- do.call(rbind,med2)

Limma differential methylation

Then do a limma test. See if it is more robust than other approaches.

fit.reduced <- lmFit(medf,design)
fit.reduced <- eBayes(fit.reduced)
summary(decideTests(fit.reduced))
##        (Intercept)   age sexmale groups
## Down          9708   195     725      0
## NotSig        2681 19514   18535  19714
## Up            7325     5     454      0
dm <- topTable(fit.reduced,coef=4, number = Inf)

#write.table(dma3a,file="dma3a.tsv")

head(dm, 30) %>% kbl() %>% kable_paper("hover", full_width = F)
logFC AveExpr t P.Value adj.P.Val B
NHLRC1 -0.2420055 -1.7115786 -4.785634 0.0000036 0.0715680 4.0385303
IGF2 -0.1012726 -0.2004777 -3.973273 0.0001038 0.3526937 1.1059260
FAM153C -0.2897096 0.7535631 -3.959580 0.0001094 0.3526937 1.0602332
CD177 -0.1651738 0.7673867 -3.930612 0.0001222 0.3526937 0.9639899
SLC4A8 -0.1836541 -0.0749776 -3.893643 0.0001407 0.3526937 0.8420105
MIR431 0.1269209 2.5871245 3.739056 0.0002506 0.3526937 0.3423244
MIR433 0.1297470 2.9560124 3.738265 0.0002514 0.3526937 0.3398124
PQLC2 -0.2045636 -0.7358737 -3.676370 0.0003152 0.3526937 0.1445278
NKG7 -0.1914152 -0.6171371 -3.660996 0.0003333 0.3526937 0.0964470
LZTS2 -0.1874573 -0.0999778 -3.649719 0.0003471 0.3526937 0.0612867
IL21 0.1983379 -1.6311602 3.623768 0.0003812 0.3526937 -0.0192739
LINGO3 -0.1318951 -0.6057878 -3.620456 0.0003857 0.3526937 -0.0295209
LGALS1 -0.1400368 -0.7523987 -3.601113 0.0004134 0.3526937 -0.0892062
GFRA3 0.1837116 0.1192049 3.597819 0.0004183 0.3526937 -0.0993409
FER -0.1223290 -0.5724057 -3.594106 0.0004239 0.3526937 -0.1107594
RSPH9 -0.1267647 -0.0298640 -3.583882 0.0004397 0.3526937 -0.1421451
BCL9L 0.1456354 0.6773651 3.562159 0.0004750 0.3526937 -0.2085759
ARMC3 -0.1596330 -2.5107850 -3.558377 0.0004814 0.3526937 -0.2201077
C16orf58 -0.1777868 -1.6120849 -3.554632 0.0004878 0.3526937 -0.2315139
ITM2C -0.1875109 -0.6986916 -3.550803 0.0004945 0.3526937 -0.2431673
TNFRSF6B -0.2576646 -0.9539851 -3.545419 0.0005040 0.3526937 -0.2595340
CTSB -0.1642150 -1.8742349 -3.544140 0.0005063 0.3526937 -0.2634194
SLC35E2 0.1040556 -2.7570462 3.534310 0.0005242 0.3526937 -0.2932399
SERINC5 -0.1359664 0.0749186 -3.519834 0.0005516 0.3526937 -0.3370233
IL19 0.1208098 2.0249626 3.518365 0.0005544 0.3526937 -0.3414558
TNFAIP6 -0.2394318 0.5163111 -3.516354 0.0005584 0.3526937 -0.3475251
ZNF853 0.1198794 0.0746964 3.515093 0.0005608 0.3526937 -0.3513302
KIF5C -0.1367720 0.2252379 -3.511645 0.0005677 0.3526937 -0.3617216
MIR620 0.1831690 1.6362189 3.507591 0.0005758 0.3526937 -0.3739331
ANXA3 -0.1495810 -0.8393991 -3.496924 0.0005977 0.3526937 -0.4060001

Mitch

y <- mitch_import(dm, DEtype="limma")
## The input is a single dataframe; one contrast only. Converting
##         it to a list for you.
## Note: Mean no. genes in input = 19714
## Note: no. genes in output = 19714
## Note: estimated proportion of input genes in output = 1
res <- mitch_calc(y, genesets=gs_symbols, priority="effect",cores=CORES)
## Note: Enrichments with large effect sizes may not be
##             statistically significant.
sig <- subset(res$enrichment_result,p.adjustANOVA<0.05)

nrow(subset(sig,s.dist>0))
## [1] 104
nrow(subset(sig,s.dist<0))
## [1] 30
head(subset(sig,s.dist>0),20) %>%
  kbl(caption="hypermethylated pathways") %>%
  kable_paper("hover", full_width = F)
hypermethylated pathways
set setSize pANOVA s.dist p.adjustANOVA
633 REACTOME_KSRP_KHSRP_BINDS_AND_DESTABILIZES_MRNA 17 0.0006382 0.4783380 0.0122905
1010 REACTOME_DIGESTION 17 0.0011049 0.4569851 0.0165218
1049 REACTOME_METABOLISM_OF_COFACTORS 19 0.0009538 0.4377788 0.0146058
15 REACTOME_APOPTOTIC_FACTOR_MEDIATED_RESPONSE 17 0.0030633 0.4148258 0.0319136
1233 REACTOME_SARS_COV_1_MODULATES_HOST_TRANSLATION_MACHINERY 34 0.0000339 0.4107425 0.0012321
117 REACTOME_EUKARYOTIC_TRANSLATION_ELONGATION 91 0.0000000 0.3728317 0.0000001
1037 REACTOME_DIGESTION_AND_ABSORPTION 22 0.0030418 0.3649659 0.0319136
918 REACTOME_EUKARYOTIC_TRANSLATION_INITIATION 115 0.0000000 0.3626449 0.0000000
213 REACTOME_SRP_DEPENDENT_COTRANSLATIONAL_PROTEIN_TARGETING_TO_MEMBRANE 108 0.0000000 0.3591715 0.0000000
1121 REACTOME_NONSENSE_MEDIATED_DECAY_NMD 109 0.0000000 0.3584992 0.0000000
1155 REACTOME_RESPONSE_OF_EIF2AK4_GCN2_TO_AMINO_ACID_DEFICIENCY 97 0.0000000 0.3524526 0.0000002
911 REACTOME_MRNA_CAPPING 28 0.0018545 0.3398336 0.0237609
946 REACTOME_PROCESSING_OF_CAPPED_INTRONLESS_PRE_MRNA 29 0.0019703 0.3320084 0.0242335
919 REACTOME_ACTIVATION_OF_THE_MRNA_UPON_BINDING_OF_THE_CAP_BINDING_COMPLEX_AND_EIFS_AND_SUBSEQUENT_BINDING_TO_43S 55 0.0000555 0.3142294 0.0018554
380 REACTOME_SELENOAMINO_ACID_METABOLISM 106 0.0000000 0.3105086 0.0000030
176 REACTOME_INFLUENZA_INFECTION 150 0.0000000 0.3103779 0.0000000
673 REACTOME_NEGATIVE_EPIGENETIC_REGULATION_OF_RRNA_EXPRESSION 44 0.0004157 0.3075530 0.0089601
455 REACTOME_METABOLISM_OF_POLYAMINES 55 0.0000939 0.3044611 0.0026595
1242 REACTOME_SARS_COV_2_MODULATES_HOST_TRANSLATION_MACHINERY 46 0.0003577 0.3041787 0.0081186
890 REACTOME_STABILIZATION_OF_P53 54 0.0001289 0.3011689 0.0035627
head(subset(sig,s.dist<0),20) %>%
  kbl(caption="hypomethylated pathways") %>%
  kable_paper("hover", full_width = F)
hypomethylated pathways
set setSize pANOVA s.dist p.adjustANOVA
993 REACTOME_NEGATIVE_REGULATION_OF_ACTIVITY_OF_TFAP2_AP_2_FAMILY_TRANSCRIPTION_FACTORS 10 0.0014050 -0.5831811 0.0202932
586 REACTOME_REGULATION_OF_COMMISSURAL_AXON_PATHFINDING_BY_SLIT_AND_ROBO 10 0.0015598 -0.5776492 0.0218876
570 REACTOME_CALCITONIN_LIKE_LIGAND_RECEPTORS 10 0.0029495 -0.5428948 0.0312406
456 REACTOME_APOPTOTIC_CLEAVAGE_OF_CELL_ADHESION_PROTEINS 11 0.0027003 -0.5223432 0.0290850
414 REACTOME_POU5F1_OCT4_SOX2_NANOG_REPRESS_GENES_RELATED_TO_DIFFERENTIATION 10 0.0042367 -0.5222696 0.0411057
952 REACTOME_PLATELET_ADHESION_TO_EXPOSED_COLLAGEN 15 0.0018202 -0.4649678 0.0237609
73 REACTOME_ELEVATION_OF_CYTOSOLIC_CA2_LEVELS 16 0.0017559 -0.4517432 0.0232472
961 REACTOME_INSULIN_RECEPTOR_RECYCLING 29 0.0008113 -0.3592758 0.0139151
531 REACTOME_EPHA_MEDIATED_GROWTH_CONE_COLLAPSE 29 0.0011745 -0.3481331 0.0173576
41 REACTOME_ROS_AND_RNS_PRODUCTION_IN_PHAGOCYTES 34 0.0008063 -0.3320212 0.0139151
1119 REACTOME_TRANSFERRIN_ENDOCYTOSIS_AND_RECYCLING 30 0.0033564 -0.3093934 0.0344026
1050 REACTOME_TRIGLYCERIDE_METABOLISM 34 0.0034536 -0.2897746 0.0351159
232 REACTOME_REGULATION_OF_BETA_CELL_DEVELOPMENT 41 0.0019829 -0.2791408 0.0242335
1251 REACTOME_GASTRULATION 48 0.0020676 -0.2569939 0.0247918
22 REACTOME_NEUROTRANSMITTER_RELEASE_CYCLE 49 0.0038628 -0.2385799 0.0389653
467 REACTOME_CLASS_B_2_SECRETIN_FAMILY_RECEPTORS 89 0.0005397 -0.2122236 0.0108885
473 REACTOME_PEPTIDE_LIGAND_BINDING_RECEPTORS 182 0.0000016 -0.2063796 0.0000952
91 REACTOME_COLLAGEN_FORMATION 76 0.0018695 -0.2063655 0.0237609
835 REACTOME_PROTEIN_PROTEIN_INTERACTIONS_AT_SYNAPSES 78 0.0021545 -0.2009522 0.0255925
655 REACTOME_GPCR_LIGAND_BINDING 415 0.0000000 -0.1909322 0.0000000

1-sample t-test

ttenrich <- function(m,genesets,cores=1) {
  res <- mclapply( 1:length(genesets), function(i) {
    gs <- genesets[i]
    name <- names(gs)
    n_members <- length(which(rownames(m) %in% gs[[1]]))
    if ( n_members > 4 ) {
      tstats <- m[which(rownames(m) %in% gs[[1]]),]
      myn <- length(tstats)
      mymean <- mean(tstats)
      mymedian <- median(tstats)
      wt <- t.test(tstats)
      res <- c(name,myn,mymean,mymedian,wt$p.value)
    }
  } , mc.cores = cores)
  res_df <- do.call(rbind, res)
  rownames(res_df) <- res_df[,1]
  res_df <- res_df[,-1]
  colnames(res_df) <- c("n_genes","t_mean","t_median","p.value")
  tmp <- apply(res_df,2,as.numeric)
  rownames(tmp) <- rownames(res_df)
  res_df <- tmp
  res_df <- as.data.frame(res_df)
  res_df <- res_df[order(res_df$p.value),]
  res_df$logp <- -log10(res_df$p.value )
  res_df$fdr <- p.adjust(res_df$p.value,method="fdr")
  res_df[order(abs(res_df$p.value)),]
  return(res_df)
}

m <- as.data.frame(dm$t)
rownames(m) <- rownames(dm)
colnames(m) <- "t"

tres <- ttenrich(m=m,genesets=gs_symbols,cores=CORES)

sig <- subset(tres,fdr<0.05)

nrow(sig)
## [1] 102
nrow(subset(sig,t_median>0))
## [1] 60
head(sig[order(-sig$t_median),],20) %>%
  kbl(caption="hypermethylated pathways") %>%
  kable_paper("hover", full_width = F)
hypermethylated pathways
n_genes t_mean t_median p.value logp fdr
REACTOME_METABOLISM_OF_COFACTORS 19 0.6505516 0.7611475 0.0012627 2.898688 0.0280396
REACTOME_SARS_COV_1_MODULATES_HOST_TRANSLATION_MACHINERY 34 0.6574048 0.7539045 0.0000213 4.671469 0.0015700
REACTOME_KSRP_KHSRP_BINDS_AND_DESTABILIZES_MRNA 17 0.7154416 0.7384284 0.0020849 2.680920 0.0371382
REACTOME_EUKARYOTIC_TRANSLATION_ELONGATION 91 0.5591009 0.5982604 0.0000000 9.689857 0.0000000
REACTOME_DIGESTION 17 0.7231936 0.5774700 0.0005352 3.271517 0.0159104
REACTOME_SRP_DEPENDENT_COTRANSLATIONAL_PROTEIN_TARGETING_TO_MEMBRANE 108 0.5362825 0.5762411 0.0000000 10.787962 0.0000000
REACTOME_NONSENSE_MEDIATED_DECAY_NMD 109 0.5277171 0.5542217 0.0000000 10.549551 0.0000000
REACTOME_EUKARYOTIC_TRANSLATION_INITIATION 115 0.5405320 0.5362167 0.0000000 11.467541 0.0000000
REACTOME_NEGATIVE_REGULATION_OF_NOTCH4_SIGNALING 52 0.3940041 0.5302456 0.0015034 2.822915 0.0301701
REACTOME_REGULATION_OF_MRNA_STABILITY_BY_PROTEINS_THAT_BIND_AU_RICH_ELEMENTS 85 0.4160772 0.5120525 0.0000105 4.978480 0.0009463
REACTOME_FCERI_MEDIATED_NF_KB_ACTIVATION 75 0.3737093 0.5109577 0.0012472 2.904063 0.0280396
REACTOME_DIGESTION_AND_ABSORPTION 22 0.5725403 0.4981110 0.0014630 2.834750 0.0301701
REACTOME_METABOLISM_OF_POLYAMINES 55 0.4408615 0.4899451 0.0003635 3.439460 0.0128644
REACTOME_PROCESSING_OF_CAPPED_INTRONLESS_PRE_MRNA 29 0.5083895 0.4863145 0.0025190 2.598766 0.0443843
REACTOME_RESPONSE_OF_EIF2AK4_GCN2_TO_AMINO_ACID_DEFICIENCY 97 0.5389763 0.4861120 0.0000000 9.483704 0.0000001
REACTOME_STABILIZATION_OF_P53 54 0.4452783 0.4749731 0.0001552 3.808997 0.0063583
REACTOME_REGULATION_OF_EXPRESSION_OF_SLITS_AND_ROBOS 161 0.4210261 0.4749654 0.0000000 8.794701 0.0000003
REACTOME_NUCLEAR_EVENTS_MEDIATED_BY_NFE2L2 76 0.3186231 0.4485395 0.0028669 2.542580 0.0474217
REACTOME_DOWNSTREAM_SIGNALING_EVENTS_OF_B_CELL_RECEPTOR_BCR 78 0.3875343 0.4473950 0.0001894 3.722714 0.0073084
REACTOME_ACTIVATION_OF_THE_MRNA_UPON_BINDING_OF_THE_CAP_BINDING_COMPLEX_AND_EIFS_AND_SUBSEQUENT_BINDING_TO_43S 55 0.4820461 0.4420311 0.0001007 3.996811 0.0046656
nrow(subset(sig,t_median<0))
## [1] 42
head(sig[order(sig$t_median),],20) %>%
  kbl(caption="hypomethylated pathways") %>%
  kable_paper("hover", full_width = F)
hypomethylated pathways
n_genes t_mean t_median p.value logp fdr
REACTOME_VITAMINS 6 -1.4153951 -1.4319918 0.0020622 2.685669 0.0371382
REACTOME_NEGATIVE_REGULATION_OF_ACTIVITY_OF_TFAP2_AP_2_FAMILY_TRANSCRIPTION_FACTORS 10 -1.1117713 -1.1434539 0.0014321 2.844039 0.0301701
REACTOME_APOPTOTIC_CLEAVAGE_OF_CELL_ADHESION_PROTEINS 11 -0.9459299 -1.0111542 0.0028201 2.549729 0.0471283
REACTOME_CALCITONIN_LIKE_LIGAND_RECEPTORS 10 -1.0093147 -1.0037701 0.0018083 2.742720 0.0341725
REACTOME_SULFIDE_OXIDATION_TO_SULFATE 5 -0.9406360 -0.9141661 0.0006724 3.172368 0.0187926
REACTOME_REGULATION_OF_COMMISSURAL_AXON_PATHFINDING_BY_SLIT_AND_ROBO 10 -1.0886355 -0.8843506 0.0015066 2.821997 0.0301701
REACTOME_INSULIN_RECEPTOR_RECYCLING 29 -0.7003122 -0.7624464 0.0001529 3.815732 0.0063583
REACTOME_ROS_AND_RNS_PRODUCTION_IN_PHAGOCYTES 34 -0.7562956 -0.7475170 0.0005465 3.262436 0.0159104
REACTOME_TRANSFERRIN_ENDOCYTOSIS_AND_RECYCLING 30 -0.5801228 -0.7451496 0.0005264 3.278700 0.0159104
REACTOME_TRANSCRIPTIONAL_REGULATION_OF_TESTIS_DIFFERENTIATION 12 -0.8318114 -0.6761622 0.0025704 2.589992 0.0448031
REACTOME_REGULATION_OF_BETA_CELL_DEVELOPMENT 41 -0.5715274 -0.6398835 0.0006502 3.186929 0.0184918
REACTOME_PEPTIDE_LIGAND_BINDING_RECEPTORS 182 -0.4434256 -0.6155905 0.0000010 5.983200 0.0001204
REACTOME_GASTRULATION 48 -0.5344044 -0.5966044 0.0004897 3.310051 0.0158768
REACTOME_CLASS_A_1_RHODOPSIN_LIKE_RECEPTORS 295 -0.4174122 -0.5782931 0.0000000 7.947299 0.0000015
REACTOME_PROTEIN_PROTEIN_INTERACTIONS_AT_SYNAPSES 78 -0.4330859 -0.5399548 0.0009486 3.022938 0.0226118
REACTOME_HEPARAN_SULFATE_HEPARIN_HS_GAG_METABOLISM 50 -0.4096542 -0.5146453 0.0019333 2.713710 0.0360209
REACTOME_AMINO_ACIDS_REGULATE_MTORC1 41 -0.4301327 -0.5074996 0.0030359 2.517718 0.0490412
REACTOME_GPCR_LIGAND_BINDING 415 -0.4072606 -0.4695270 0.0000000 11.280495 0.0000000
REACTOME_CLASS_B_2_SECRETIN_FAMILY_RECEPTORS 89 -0.4242197 -0.4695270 0.0004673 3.330406 0.0157810
REACTOME_TRIGLYCERIDE_METABOLISM 34 -0.5609747 -0.4661456 0.0008489 3.071147 0.0210430

Todo

Compare mitch and t-test approaches.

Session information

For reproducibility.

sessionInfo()
## R version 4.3.1 (2023-06-16)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.3 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
## 
## 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       
## 
## time zone: Australia/Melbourne
## tzcode source: system (glibc)
## 
## attached base packages:
##  [1] grid      parallel  stats4    stats     graphics  grDevices utils    
##  [8] datasets  methods   base     
## 
## other attached packages:
##  [1] ENmix_1.36.03                                      
##  [2] doParallel_1.0.17                                  
##  [3] qqman_0.1.9                                        
##  [4] RCircos_1.2.2                                      
##  [5] beeswarm_0.4.0                                     
##  [6] forestplot_3.1.3                                   
##  [7] abind_1.4-5                                        
##  [8] checkmate_2.2.0                                    
##  [9] reshape2_1.4.4                                     
## [10] gplots_3.1.3                                       
## [11] GEOquery_2.68.0                                    
## [12] RColorBrewer_1.1-3                                 
## [13] topconfects_1.16.0                                 
## [14] DMRcatedata_2.18.0                                 
## [15] ExperimentHub_2.8.1                                
## [16] AnnotationHub_3.8.0                                
## [17] BiocFileCache_2.8.0                                
## [18] dbplyr_2.3.3                                       
## [19] DMRcate_2.14.1                                     
## [20] R.utils_2.12.2                                     
## [21] R.oo_1.25.0                                        
## [22] R.methodsS3_1.8.2                                  
## [23] plyr_1.8.8                                         
## [24] dplyr_1.1.3                                        
## [25] limma_3.56.2                                       
## [26] tictoc_1.2                                         
## [27] IlluminaHumanMethylation450kmanifest_0.4.0         
## [28] eulerr_7.0.0                                       
## [29] mitch_1.12.0                                       
## [30] kableExtra_1.3.4                                   
## [31] missMethyl_1.34.0                                  
## [32] IlluminaHumanMethylationEPICanno.ilm10b4.hg19_0.6.0
## [33] IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.1 
## [34] minfi_1.46.0                                       
## [35] bumphunter_1.42.0                                  
## [36] locfit_1.5-9.8                                     
## [37] iterators_1.0.14                                   
## [38] foreach_1.5.2                                      
## [39] Biostrings_2.68.1                                  
## [40] XVector_0.40.0                                     
## [41] SummarizedExperiment_1.30.2                        
## [42] Biobase_2.60.0                                     
## [43] MatrixGenerics_1.12.3                              
## [44] matrixStats_1.0.0                                  
## [45] GenomicRanges_1.52.0                               
## [46] GenomeInfoDb_1.36.3                                
## [47] IRanges_2.34.1                                     
## [48] S4Vectors_0.38.1                                   
## [49] BiocGenerics_0.46.0                                
## 
## loaded via a namespace (and not attached):
##   [1] DSS_2.48.0                    ProtGenerics_1.32.0          
##   [3] bitops_1.0-7                  httr_1.4.7                   
##   [5] webshot_0.5.5                 dynamicTreeCut_1.63-1        
##   [7] tools_4.3.1                   doRNG_1.8.6                  
##   [9] backports_1.4.1               utf8_1.2.3                   
##  [11] R6_2.5.1                      HDF5Array_1.28.1             
##  [13] lazyeval_0.2.2                Gviz_1.44.1                  
##  [15] permute_0.9-7                 rhdf5filters_1.12.1          
##  [17] prettyunits_1.1.1             GGally_2.1.2                 
##  [19] gridExtra_2.3                 base64_2.0.1                 
##  [21] preprocessCore_1.62.1         cli_3.6.1                    
##  [23] sass_0.4.7                    readr_2.1.4                  
##  [25] genefilter_1.82.1             askpass_1.2.0                
##  [27] Rsamtools_2.16.0              systemfonts_1.0.4            
##  [29] foreign_0.8-85                siggenes_1.74.0              
##  [31] illuminaio_0.42.0             svglite_2.1.1                
##  [33] dichromat_2.0-0.1             scrime_1.3.5                 
##  [35] BSgenome_1.68.0               readxl_1.4.3                 
##  [37] impute_1.74.1                 rstudioapi_0.15.0            
##  [39] RSQLite_2.3.1                 generics_0.1.3               
##  [41] BiocIO_1.10.0                 gtools_3.9.4                 
##  [43] interp_1.1-4                  Matrix_1.6-1                 
##  [45] fansi_1.0.4                   lifecycle_1.0.3              
##  [47] edgeR_3.42.4                  yaml_2.3.7                   
##  [49] rhdf5_2.44.0                  blob_1.2.4                   
##  [51] promises_1.2.1                crayon_1.5.2                 
##  [53] lattice_0.21-8                echarts4r_0.4.5              
##  [55] GenomicFeatures_1.52.2        annotate_1.78.0              
##  [57] KEGGREST_1.40.0               pillar_1.9.0                 
##  [59] knitr_1.44                    beanplot_1.3.1               
##  [61] rjson_0.2.21                  codetools_0.2-19             
##  [63] glue_1.6.2                    data.table_1.14.8            
##  [65] vctrs_0.6.3                   png_0.1-8                    
##  [67] cellranger_1.1.0              gtable_0.3.4                 
##  [69] assertthat_0.2.1              cachem_1.0.8                 
##  [71] xfun_0.40                     S4Arrays_1.0.6               
##  [73] mime_0.12                     survival_3.5-7               
##  [75] statmod_1.5.0                 interactiveDisplayBase_1.38.0
##  [77] ellipsis_0.3.2                nlme_3.1-163                 
##  [79] bit64_4.0.5                   bsseq_1.36.0                 
##  [81] progress_1.2.2                filelock_1.0.2               
##  [83] bslib_0.5.1                   nor1mix_1.3-0                
##  [85] KernSmooth_2.23-22            rpart_4.1.19                 
##  [87] colorspace_2.1-0              DBI_1.1.3                    
##  [89] Hmisc_5.1-1                   nnet_7.3-19                  
##  [91] tidyselect_1.2.0              bit_4.0.5                    
##  [93] compiler_4.3.1                curl_5.0.2                   
##  [95] rvest_1.0.3                   htmlTable_2.4.1              
##  [97] xml2_1.3.5                    RPMM_1.25                    
##  [99] DelayedArray_0.26.7           rtracklayer_1.60.1           
## [101] scales_1.2.1                  caTools_1.18.2               
## [103] quadprog_1.5-8                rappdirs_0.3.3               
## [105] stringr_1.5.0                 digest_0.6.33                
## [107] rmarkdown_2.24                htmltools_0.5.6              
## [109] pkgconfig_2.0.3               jpeg_0.1-10                  
## [111] base64enc_0.1-3               sparseMatrixStats_1.12.2     
## [113] highr_0.10                    fastmap_1.1.1                
## [115] ensembldb_2.24.0              rlang_1.1.1                  
## [117] htmlwidgets_1.6.2             shiny_1.7.5                  
## [119] DelayedMatrixStats_1.22.6     jquerylib_0.1.4              
## [121] jsonlite_1.8.7                BiocParallel_1.34.2          
## [123] mclust_6.0.0                  VariantAnnotation_1.46.0     
## [125] RCurl_1.98-1.12               magrittr_2.0.3               
## [127] Formula_1.2-5                 GenomeInfoDbData_1.2.10      
## [129] Rhdf5lib_1.22.1               munsell_0.5.0                
## [131] Rcpp_1.0.11                   stringi_1.7.12               
## [133] zlibbioc_1.46.0               MASS_7.3-60                  
## [135] org.Hs.eg.db_3.17.0           deldir_1.0-9                 
## [137] splines_4.3.1                 multtest_2.56.0              
## [139] hms_1.1.3                     rngtools_1.5.2               
## [141] geneplotter_1.78.0            biomaRt_2.56.1               
## [143] BiocVersion_3.17.1            XML_3.99-0.14                
## [145] evaluate_0.21                 calibrate_1.7.7              
## [147] latticeExtra_0.6-30           biovizBase_1.48.0            
## [149] BiocManager_1.30.22           tzdb_0.4.0                   
## [151] httpuv_1.6.11                 tidyr_1.3.0                  
## [153] openssl_2.1.0                 purrr_1.0.2                  
## [155] reshape_0.8.9                 ggplot2_3.4.3                
## [157] xtable_1.8-4                  restfulr_0.0.15              
## [159] AnnotationFilter_1.24.0       later_1.3.1                  
## [161] viridisLite_0.4.2             tibble_3.2.1                 
## [163] memoise_2.0.1                 AnnotationDbi_1.62.2         
## [165] GenomicAlignments_1.36.0      cluster_2.1.4