Source: https://github.com/markziemann/nafld-meth-meta/nafld.Rmd

Intro

In this report, I will take you through a re-analysis methylation data first described by Johnson et al (2021) and available at GEO under accession number GSE180474.

In their study, they analysed the DNA methylation patterns of 325 individuals with NAFLD, including 119 with severe fibrosis and 206 with no histological evidence of fibrosis.

The platform used in the study is the Illumina Infinium MethylationEPIC BeadChip assay. The authors used a pipeline based on CATE R package, after cell type deconvolution with EpiDISH.

The main conclusions from the original study were:

  • Their study identified 7 CpG sites with p<5e-8 associuated with fibrosis.

  • Proportions of some cells changed, for example NK cells were higher in samples with fibrosis.

The aim of this work is to;

  1. develop the analytical pipelines required for efficient re-analysis of methylation array data,

  2. to confirm that we are able to obtain differential methylation results that are similar to those obtained in the original study, and

  3. to critically evaluate the conclusions made in the original study.

In this report I will be using the missMethyl vignette as a guide to analyse this dataset (Phipson et al, 2015).

Previously I curated a list of good and bad probes using the script “filter_probes.Rmd”.

Obtaining custom functions and array annotations

source("meth_functions.R")
## Warning: replacing previous import 'minfi::getMeth' by 'bsseq::getMeth' when
## loading 'DMRcate'
#library("kableExtra")
anno <- getAnnotation(IlluminaHumanMethylationEPICanno.ilm10b4.hg19)
myann <- data.frame(anno[,c("UCSC_RefGene_Name","Regulatory_Feature_Group","Islands_Name","Relation_to_Island")])
promoters <- myann[grep("Prom",myann$Regulatory_Feature_Group),]

Sample sheet

ss <- read.table("samplesheet.tsv",header=TRUE)
ss <- ss[grep("GSE180474",ss$study_id),]
dim(ss)
## [1] 341   7
ss$sex <- factor(ss$sex)
ss$nafld_stage <- factor(ss$nafld_stage)

ss 
##      study_id         id    sex age      bmi dm2_meds nafld_stage
## 1   GSE180474 GSM5463247   Male  47 53.49550      Yes         3_4
## 2   GSE180474 GSM5463248   Male  36 66.81749       No         0_2
## 3   GSE180474 GSM5463249   Male  54 53.58008      Yes         3_4
## 4   GSE180474 GSM5463250   Male  52 55.68160       No         3_4
## 5   GSE180474 GSM5463251   Male  55 47.32493      Yes         0_2
## 6   GSE180474 GSM5463252   Male  69 47.24447      Yes         0_2
## 7   GSE180474 GSM5463253   Male  69 41.27580      Yes         0_2
## 8   GSE180474 GSM5463254   Male  61 57.21559      Yes         3_4
## 9   GSE180474 GSM5463255   Male  38 78.74101       No         0_2
## 10  GSE180474 GSM5463256   Male  48 54.41198      Yes         0_2
## 11  GSE180474 GSM5463257 Female  30 45.92379       No         0_2
## 12  GSE180474 GSM5463258   Male  61 42.49244      Yes         0_2
## 13  GSE180474 GSM5463259   Male  56 51.41061      Yes         3_4
## 14  GSE180474 GSM5463260   Male  42 52.34529      Yes         3_4
## 15  GSE180474 GSM5463261   Male  57 43.15591      Yes         0_2
## 16  GSE180474 GSM5463262   Male  41 52.40944      Yes         3_4
## 17  GSE180474 GSM5463263 Female  37 58.22721       No         0_2
## 18  GSE180474 GSM5463264 Female  34 43.40951       No         0_2
## 19  GSE180474 GSM5463265   Male  53 47.91878      Yes         3_4
## 20  GSE180474 GSM5463266   Male  51 51.53164      Yes         0_2
## 21  GSE180474 GSM5463267   Male  59 37.92536      Yes         0_2
## 22  GSE180474 GSM5463268   Male  60 47.93182      Yes         3_4
## 23  GSE180474 GSM5463269   Male  64 64.30990      Yes         0_2
## 24  GSE180474 GSM5463270   Male  40 63.76393       No         0_2
## 25  GSE180474 GSM5463271   Male  69 44.84666      Yes         0_2
## 26  GSE180474 GSM5463272   Male  54 48.26942      Yes         3_4
## 27  GSE180474 GSM5463273   Male  70 46.45435      Yes         0_2
## 28  GSE180474 GSM5463274   Male  46 48.91106       No         3_4
## 29  GSE180474 GSM5463275   Male  65 50.17554      Yes         3_4
## 30  GSE180474 GSM5463276   Male  72 45.04377      Yes         0_2
## 31  GSE180474 GSM5463277   Male  58 64.99405      Yes         0_2
## 32  GSE180474 GSM5463278   Male  56 51.60037       No         0_2
## 33  GSE180474 GSM5463279 Female  34 36.55406       No         0_2
## 34  GSE180474 GSM5463280 Female  30 37.24390       No         0_2
## 35  GSE180474 GSM5463281 Female  59 47.29757      Yes         3_4
## 36  GSE180474 GSM5463282 Female  48 37.55283       No         0_2
## 37  GSE180474 GSM5463283 Female  57 37.41774       No         0_2
## 38  GSE180474 GSM5463284 Female  47 47.58769      Yes         3_4
## 39  GSE180474 GSM5463285 Female  36 36.77081       No         0_2
## 40  GSE180474 GSM5463286 Female  55 47.60978      Yes         3_4
## 41  GSE180474 GSM5463287 Female  46 37.75228       No         0_2
## 42  GSE180474 GSM5463288 Female  47 36.61126       No         0_2
## 43  GSE180474 GSM5463289 Female  61 38.16746       No         0_2
## 44  GSE180474 GSM5463290 Female  57 47.88501      Yes         3_4
## 45  GSE180474 GSM5463291 Female  64 48.54579      Yes         3_4
## 46  GSE180474 GSM5463292 Female  28 38.73278       No         0_2
## 47  GSE180474 GSM5463293 Female  38 48.87547      Yes         3_4
## 48  GSE180474 GSM5463294 Female  53 38.05552       No         0_2
## 49  GSE180474 GSM5463295 Female  64 49.36538      Yes         3_4
## 50  GSE180474 GSM5463296 Female  61 39.53972      Yes         0_2
## 51  GSE180474 GSM5463297 Female  62 49.36681      Yes         3_4
## 52  GSE180474 GSM5463298 Female  44 51.74746      Yes         3_4
## 53  GSE180474 GSM5463299 Female  47 39.42470       No         0_2
## 54  GSE180474 GSM5463300 Female  44 52.23179      Yes         3_4
## 55  GSE180474 GSM5463301 Female  30 52.38310      Yes         0_2
## 56  GSE180474 GSM5463302 Female  34 41.90720       No         0_2
## 57  GSE180474 GSM5463303 Female  59 58.58111       No         0_2
## 58  GSE180474 GSM5463304 Female  67 54.87306      Yes         0_2
## 59  GSE180474 GSM5463305 Female  50 62.10807      Yes         0_2
## 60  GSE180474 GSM5463306 Female  23 73.87965       No         0_2
## 61  GSE180474 GSM5463307 Female  46 40.29623      Yes         3_4
## 62  GSE180474 GSM5463308 Female  70 40.54451      Yes         3_4
## 63  GSE180474 GSM5463309 Female  44 40.81783       No         0_2
## 64  GSE180474 GSM5463310 Female  56 32.55307      Yes         3_4
## 65  GSE180474 GSM5463311 Female  71 34.02930      Yes         3_4
## 66  GSE180474 GSM5463312 Female  54 41.73515       No         0_2
## 67  GSE180474 GSM5463313 Female  55 53.58219       No         0_2
## 68  GSE180474 GSM5463314 Female  52 47.28430       No         0_2
## 69  GSE180474 GSM5463315 Female  49 48.54075      Yes         0_2
## 70  GSE180474 GSM5463316 Female  38 42.88725       No         0_2
## 71  GSE180474 GSM5463317 Female  45 34.12387      Yes         3_4
## 72  GSE180474 GSM5463318 Female  61 34.47184      Yes         3_4
## 73  GSE180474 GSM5463319 Female  32 41.50154       No         0_2
## 74  GSE180474 GSM5463320 Female  30 52.38310      Yes         0_2
## 75  GSE180474 GSM5463321 Female  47 37.15875      Yes         3_4
## 76  GSE180474 GSM5463322 Female  50 37.23189      Yes         3_4
## 77  GSE180474 GSM5463323 Female  52 43.61450      Yes         0_2
## 78  GSE180474 GSM5463324 Female  60 37.28030      Yes         3_4
## 79  GSE180474 GSM5463325 Female  56 37.00272      Yes         0_2
## 80  GSE180474 GSM5463326 Female  56 52.92617       No         3_4
## 81  GSE180474 GSM5463327 Female  46 40.28052       No         0_2
## 82  GSE180474 GSM5463328 Female  50 40.45865       No         0_2
## 83  GSE180474 GSM5463329 Female  71 40.82319       No         0_2
## 84  GSE180474 GSM5463330 Female  54 52.52972      Yes         0_2
## 85  GSE180474 GSM5463331 Female  38 40.31912      Yes         0_2
## 86  GSE180474 GSM5463332 Female  66 40.90118       No         0_2
## 87  GSE180474 GSM5463333 Female  61 53.01830      Yes         3_4
## 88  GSE180474 GSM5463334 Female  42 42.42959      Yes         0_2
## 89  GSE180474 GSM5463335 Female  68 37.97156       No         0_2
## 90  GSE180474 GSM5463336 Female  47 46.25340       No         0_2
## 91  GSE180474 GSM5463337 Female  50 76.53577       No         0_2
## 92  GSE180474 GSM5463338 Female  54 49.88810      Yes         0_2
## 93  GSE180474 GSM5463339 Female  34 52.08950      Yes         0_2
## 94  GSE180474 GSM5463340 Female  57 42.81228      Yes         3_4
## 95  GSE180474 GSM5463341 Female  59 49.81341      Yes         0_2
## 96  GSE180474 GSM5463342 Female  19 41.64549       No         0_2
## 97  GSE180474 GSM5463343 Female  47 53.22877      Yes         3_4
## 98  GSE180474 GSM5463344 Female  57 41.73319       No         0_2
## 99  GSE180474 GSM5463345 Female  41 53.48753       No         3_4
## 100 GSE180474 GSM5463346 Female  51 53.77906       No         3_4
## 101 GSE180474 GSM5463347 Female  33 41.11111       No         0_2
## 102 GSE180474 GSM5463348 Female  50 42.43760       No         0_2
## 103 GSE180474 GSM5463349 Female  57 42.82990       No         0_2
## 104 GSE180474 GSM5463350 Female  38 56.71125       No         3_4
## 105 GSE180474 GSM5463351 Female  30 57.08861      Yes         3_4
## 106 GSE180474 GSM5463352 Female  54 43.42288       No         0_2
## 107 GSE180474 GSM5463353 Female  46 42.95550       No         0_2
## 108 GSE180474 GSM5463354 Female  23 57.88911      Yes         3_4
## 109 GSE180474 GSM5463355 Female  54 44.77964       No         0_2
## 110 GSE180474 GSM5463356 Female  44 44.70984       No         0_2
## 111 GSE180474 GSM5463357 Female  47 59.38428      Yes         3_4
## 112 GSE180474 GSM5463358 Female  54 45.74607      Yes         0_2
## 113 GSE180474 GSM5463359 Female  50 46.06572       No         0_2
## 114 GSE180474 GSM5463360 Female  50 48.16340      Yes         0_2
## 115 GSE180474 GSM5463361 Female  32 59.40845       No         3_4
## 116 GSE180474 GSM5463362 Female  56 60.51869      Yes         3_4
## 117 GSE180474 GSM5463363 Female  67 46.25096      Yes         0_2
## 118 GSE180474 GSM5463364 Female  29 61.59699       No         3_4
## 119 GSE180474 GSM5463365 Female  34 46.14219       No         0_2
## 120 GSE180474 GSM5463366 Female  34 42.65027      Yes         0_2
## 121 GSE180474 GSM5463367 Female  62 42.59331      Yes         0_2
## 122 GSE180474 GSM5463368 Female  29 42.48465      Yes         0_2
## 123 GSE180474 GSM5463369 Female  58 43.54430      Yes         0_2
## 124 GSE180474 GSM5463370 Female  36 53.97151      Yes         3_4
## 125 GSE180474 GSM5463371 Female  37 53.91050      Yes         3_4
## 126 GSE180474 GSM5463372 Female  59 43.77735       No         0_2
## 127 GSE180474 GSM5463373 Female  47 55.35668      Yes         3_4
## 128 GSE180474 GSM5463374 Female  46 40.29623      Yes         3_4
## 129 GSE180474 GSM5463375 Female  47 37.33212       No         3_4
## 130 GSE180474 GSM5463376 Female  35 40.67940       No         0_2
## 131 GSE180474 GSM5463377   Male  32 38.77862       No         0_2
## 132 GSE180474 GSM5463378 Female  55 40.89880       No         0_2
## 133 GSE180474 GSM5463379 Female  56 37.85666      Yes         3_4
## 134 GSE180474 GSM5463380 Female  58 65.89698      Yes         3_4
## 135 GSE180474 GSM5463381   Male  45 40.96687       No         0_2
## 136 GSE180474 GSM5463382 Female  44 52.23179      Yes         3_4
## 137 GSE180474 GSM5463383 Female  60 37.28030      Yes         3_4
## 138 GSE180474 GSM5463384 Female  33 49.18700       No         0_2
## 139 GSE180474 GSM5463385   Male  33 43.38735       No         0_2
## 140 GSE180474 GSM5463386 Female  56 60.51869      Yes         3_4
## 141 GSE180474 GSM5463387   Male  63 37.32643      Yes         0_2
## 142 GSE180474 GSM5463388 Female  57 41.86613      Yes         3_4
## 143 GSE180474 GSM5463389 Female  52 42.33233      Yes         3_4
## 144 GSE180474 GSM5463390 Female  39 42.36166      Yes         3_4
## 145 GSE180474 GSM5463391 Female  51 42.76806      Yes         3_4
## 146 GSE180474 GSM5463392 Female  53 53.36705       No         0_2
## 147 GSE180474 GSM5463393 Female  44 46.22902      Yes         0_2
## 148 GSE180474 GSM5463394 Female  26 38.02132       No         0_2
## 149 GSE180474 GSM5463395 Female  50 45.04691      Yes         0_2
## 150 GSE180474 GSM5463396 Female  57 43.61746      Yes         3_4
## 151 GSE180474 GSM5463397 Female  54 60.04460       No         0_2
## 152 GSE180474 GSM5463398 Female  44 42.70176       No         0_2
## 153 GSE180474 GSM5463399 Female  54 43.88436      Yes         3_4
## 154 GSE180474 GSM5463400 Female  53 38.31454      Yes         0_2
## 155 GSE180474 GSM5463401 Female  32 45.52716      Yes         0_2
## 156 GSE180474 GSM5463402 Female  46 37.60114       No         0_2
## 157 GSE180474 GSM5463403 Female  48 39.90153      Yes         0_2
## 158 GSE180474 GSM5463404   Male  52 60.36351      Yes         3_4
## 159 GSE180474 GSM5463405 Female  41 43.09520       No         0_2
## 160 GSE180474 GSM5463406 Female  36 37.46150       No         0_2
## 161 GSE180474 GSM5463407 Female  59 41.09600       No         0_2
## 162 GSE180474 GSM5463408   Male  33 60.43987      Yes         3_4
## 163 GSE180474 GSM5463409   Male  70 49.31180       No         0_2
## 164 GSE180474 GSM5463410   Male  46 62.68716      Yes         3_4
## 165 GSE180474 GSM5463411 Female  36 44.02980       No         0_2
## 166 GSE180474 GSM5463412   Male  55 36.83631       No         0_2
## 167 GSE180474 GSM5463413   Male  54 48.26942      Yes         3_4
## 168 GSE180474 GSM5463414   Male  71 37.01510       No         0_2
## 169 GSE180474 GSM5463415   Male  65 50.17554      Yes         3_4
## 170 GSE180474 GSM5463416   Male  47 38.20308       No         0_2
## 171 GSE180474 GSM5463417   Male  57 38.31727      Yes         0_2
## 172 GSE180474 GSM5463418 Female  32 59.54204       No         0_2
## 173 GSE180474 GSM5463419 Female  42 42.93068      Yes         3_4
## 174 GSE180474 GSM5463420 Female  64 43.01609      Yes         3_4
## 175 GSE180474 GSM5463421 Female  51 35.54466       No         0_2
## 176 GSE180474 GSM5463422 Female  55 43.26154      Yes         3_4
## 177 GSE180474 GSM5463423 Female  27 47.45458      Yes         0_2
## 178 GSE180474 GSM5463424 Female  66 40.93541       No         0_2
## 179 GSE180474 GSM5463425 Female  50 43.42792      Yes         3_4
## 180 GSE180474 GSM5463426 Female  60 35.18948       No         0_2
## 181 GSE180474 GSM5463427 Female  64 40.66737      Yes         0_2
## 182 GSE180474 GSM5463428 Female  31 41.25368      Yes         3_4
## 183 GSE180474 GSM5463429 Female  28 48.56690       No         0_2
## 184 GSE180474 GSM5463430 Female  59 41.30690      Yes         3_4
## 185 GSE180474 GSM5463431 Female  50 41.53661      Yes         3_4
## 186 GSE180474 GSM5463432 Female  47 65.29497      Yes         0_2
## 187 GSE180474 GSM5463433 Female  44 40.92256       No         0_2
## 188 GSE180474 GSM5463434 Female  70 40.54451      Yes         3_4
## 189 GSE180474 GSM5463435 Female  53 48.61020       No         0_2
## 190 GSE180474 GSM5463436   Male  31 44.98865       No         0_2
## 191 GSE180474 GSM5463437 Female  41 53.48753       No         3_4
## 192 GSE180474 GSM5463438   Male  72 42.83535       No         0_2
## 193 GSE180474 GSM5463439 Female  55 40.04272      Yes         3_4
## 194 GSE180474 GSM5463440 Female  30 52.38310      Yes         0_2
## 195 GSE180474 GSM5463441 Female  52 52.02313       No         0_2
## 196 GSE180474 GSM5463442   Male  52 48.27400      Yes         3_4
## 197 GSE180474 GSM5463443   Male  54 45.17048      Yes         3_4
## 198 GSE180474 GSM5463444   Male  57 45.82707      Yes         3_4
## 199 GSE180474 GSM5463445 Female  37 54.16977      Yes         0_2
## 200 GSE180474 GSM5463446   Male  48 53.97167       No         0_2
## 201 GSE180474 GSM5463447 Female  40 84.01786       No         0_2
## 202 GSE180474 GSM5463448 Female  30 52.38310      Yes         0_2
## 203 GSE180474 GSM5463449 Female  34 60.83472       No         0_2
## 204 GSE180474 GSM5463450 Female  28 43.73577       No         0_2
## 205 GSE180474 GSM5463451 Female  49 60.06809       No         0_2
## 206 GSE180474 GSM5463452 Female  52 59.79158       No         0_2
## 207 GSE180474 GSM5463453 Female  43 58.93047       No         0_2
## 208 GSE180474 GSM5463454   Male  52 46.14314      Yes         3_4
## 209 GSE180474 GSM5463455   Male  61 46.44628      Yes         3_4
## 210 GSE180474 GSM5463456   Male  62 47.07091      Yes         3_4
## 211 GSE180474 GSM5463457 Female  44 47.69440       No         0_2
## 212 GSE180474 GSM5463458 Female  32 40.45340       No         0_2
## 213 GSE180474 GSM5463459 Female  40 41.31580       No         0_2
## 214 GSE180474 GSM5463460   Male  51 41.56579      Yes         3_4
## 215 GSE180474 GSM5463461   Male  47 41.59763      Yes         3_4
## 216 GSE180474 GSM5463462 Female  33 42.58920       No         0_2
## 217 GSE180474 GSM5463463   Male  53 43.17731      Yes         3_4
## 218 GSE180474 GSM5463464   Male  33 43.21064      Yes         3_4
## 219 GSE180474 GSM5463465 Female  40 37.11890      Yes         0_2
## 220 GSE180474 GSM5463466   Male  57 43.35341      Yes         3_4
## 221 GSE180474 GSM5463467   Male  59 44.30998      Yes         3_4
## 222 GSE180474 GSM5463468 Female  37 46.56200       No         0_2
## 223 GSE180474 GSM5463469 Female  37 44.68250       No         0_2
## 224 GSE180474 GSM5463470 Female  46 43.70850       No         0_2
## 225 GSE180474 GSM5463471 Female  29 50.08540       No         0_2
## 226 GSE180474 GSM5463472 Female  61 44.70292      Yes         3_4
## 227 GSE180474 GSM5463473 Female  75 46.37560      Yes         0_2
## 228 GSE180474 GSM5463474 Female  30 52.38310      Yes         0_2
## 229 GSE180474 GSM5463475 Female  46 45.30360      Yes         3_4
## 230 GSE180474 GSM5463476 Female  50 45.54746      Yes         3_4
## 231 GSE180474 GSM5463477 Female  31 57.45363      Yes         0_2
## 232 GSE180474 GSM5463478 Female  29 43.85558       No         0_2
## 233 GSE180474 GSM5463479 Female  39 45.33716      Yes         0_2
## 234 GSE180474 GSM5463480 Female  56 37.92746       No         0_2
## 235 GSE180474 GSM5463481 Female  64 41.29804      Yes         0_2
## 236 GSE180474 GSM5463482 Female  55 33.53147       No         0_2
## 237 GSE180474 GSM5463483 Female  67 38.78987      Yes         0_2
## 238 GSE180474 GSM5463484 Female  41 40.77365      Yes         3_4
## 239 GSE180474 GSM5463485 Female  44 42.80709      Yes         0_2
## 240 GSE180474 GSM5463486 Female  59 47.29757      Yes         3_4
## 241 GSE180474 GSM5463487 Female  30 52.38310      Yes         0_2
## 242 GSE180474 GSM5463488 Female  35 54.97800      Yes         0_2
## 243 GSE180474 GSM5463489 Female  65 50.72790       No         0_2
## 244 GSE180474 GSM5463490 Female  52 44.42490       No         0_2
## 245 GSE180474 GSM5463491 Female  30 46.47700       No         0_2
## 246 GSE180474 GSM5463492 Female  37 57.94970       No         0_2
## 247 GSE180474 GSM5463493   Male  45 37.00649       No         3_4
## 248 GSE180474 GSM5463494   Male  55 38.60155      Yes         3_4
## 249 GSE180474 GSM5463495   Male  61 39.06616      Yes         3_4
## 250 GSE180474 GSM5463496 Female  47 45.61010       No         0_2
## 251 GSE180474 GSM5463497 Female  68 40.83080      Yes         0_2
## 252 GSE180474 GSM5463498 Female  30 52.38310      Yes         0_2
## 253 GSE180474 GSM5463499 Female  47 72.35290      Yes         3_4
## 254 GSE180474 GSM5463500 Female  54 57.35960       No         0_2
## 255 GSE180474 GSM5463501 Female  57 44.38130       No         0_2
## 256 GSE180474 GSM5463502 Female  50 72.77440      Yes         3_4
## 257 GSE180474 GSM5463503 Female  51 49.25440       No         0_2
## 258 GSE180474 GSM5463504 Female  36 53.04060      Yes         0_2
## 259 GSE180474 GSM5463505 Female  56 63.98398      Yes         3_4
## 260 GSE180474 GSM5463506 Female  37 50.68260      Yes         0_2
## 261 GSE180474 GSM5463507 Female  45 52.86230       No         0_2
## 262 GSE180474 GSM5463508 Female  32 40.26650       No         0_2
## 263 GSE180474 GSM5463509 Female  58 65.89698      Yes         3_4
## 264 GSE180474 GSM5463510 Female  57 41.94350      Yes         0_2
## 265 GSE180474 GSM5463511 Female  39 42.18900       No         0_2
## 266 GSE180474 GSM5463512 Female  56 37.85666      Yes         3_4
## 267 GSE180474 GSM5463513 Female  51 55.92365      Yes         0_2
## 268 GSE180474 GSM5463514 Female  54 37.97919      Yes         3_4
## 269 GSE180474 GSM5463515 Female  56 52.59836      Yes         0_2
## 270 GSE180474 GSM5463516 Female  41 56.89558      Yes         0_2
## 271 GSE180474 GSM5463517 Female  60 38.06772      Yes         3_4
## 272 GSE180474 GSM5463518 Female  53 53.90447       No         0_2
## 273 GSE180474 GSM5463519 Female  43 52.82596       No         0_2
## 274 GSE180474 GSM5463520 Female  38 52.53595       No         0_2
## 275 GSE180474 GSM5463521 Female  53 38.21946      Yes         3_4
## 276 GSE180474 GSM5463522 Female  41 40.39873      Yes         0_2
## 277 GSE180474 GSM5463523 Female  61 48.59871      Yes         0_2
## 278 GSE180474 GSM5463524 Female  27 60.39976       No         0_2
## 279 GSE180474 GSM5463525 Female  57 43.61746      Yes         3_4
## 280 GSE180474 GSM5463526 Female  51 39.45664       No         3_4
## 281 GSE180474 GSM5463527 Female  55 40.04272      Yes         3_4
## 282 GSE180474 GSM5463528 Female  49 42.85339      Yes         0_2
## 283 GSE180474 GSM5463529 Female  47 37.33212       No         3_4
## 284 GSE180474 GSM5463530 Female  28 46.55868       No         0_2
## 285 GSE180474 GSM5463531 Female  33 45.28253      Yes         0_2
## 286 GSE180474 GSM5463532 Female  57 46.89263      Yes         0_2
## 287 GSE180474 GSM5463533 Female  59 37.41222      Yes         3_4
## 288 GSE180474 GSM5463534 Female  39 37.68259      Yes         3_4
## 289 GSE180474 GSM5463535 Female  29 53.79511      Yes         0_2
## 290 GSE180474 GSM5463536 Female  63 52.25740      Yes         0_2
## 291 GSE180474 GSM5463537 Female  60 45.97991      Yes         3_4
## 292 GSE180474 GSM5463538 Female  49 46.46705      Yes         0_2
## 293 GSE180474 GSM5463539 Female  55 48.07110       No         0_2
## 294 GSE180474 GSM5463540 Female  61 40.08294      Yes         0_2
## 295 GSE180474 GSM5463541 Female  46 42.91212       No         0_2
## 296 GSE180474 GSM5463542 Female  66 46.23993      Yes         3_4
## 297 GSE180474 GSM5463543 Female  36 37.70330       No         0_2
## 298 GSE180474 GSM5463544 Female  30 45.97948       No         0_2
## 299 GSE180474 GSM5463545 Female  51 50.81400      Yes         0_2
## 300 GSE180474 GSM5463546 Female  52 46.25178      Yes         3_4
## 301 GSE180474 GSM5463547 Female  55 34.29095      Yes         0_2
## 302 GSE180474 GSM5463548 Female  43 46.62069      Yes         3_4
## 303 GSE180474 GSM5463549 Female  37 35.05763       No         0_2
## 304 GSE180474 GSM5463550 Female  66 51.41467       No         0_2
## 305 GSE180474 GSM5463551 Female  50 61.93980       No         0_2
## 306 GSE180474 GSM5463552 Female  46 50.39800       No         0_2
## 307 GSE180474 GSM5463553 Female  28 42.31070      Yes         0_2
## 308 GSE180474 GSM5463554 Female  51 43.88070      Yes         0_2
## 309 GSE180474 GSM5463555 Female  36 54.05678       No         0_2
## 310 GSE180474 GSM5463556 Female  64 39.00064       No         0_2
## 311 GSE180474 GSM5463557 Female  44 35.85404       No         0_2
## 312 GSE180474 GSM5463558 Female  51 42.03136       No         0_2
## 313 GSE180474 GSM5463559 Female  49 44.47619      Yes         3_4
## 314 GSE180474 GSM5463560 Female  52 49.29084       No         0_2
## 315 GSE180474 GSM5463561 Female  63 38.90521       No         0_2
## 316 GSE180474 GSM5463562 Female  48 47.69360      Yes         3_4
## 317 GSE180474 GSM5463563 Female  48 37.60003       No         0_2
## 318 GSE180474 GSM5463564   Male  18 42.15423       No         0_2
## 319 GSE180474 GSM5463565 Female  58 37.33712      Yes         3_4
## 320 GSE180474 GSM5463566   Male  40 43.00582       No         0_2
## 321 GSE180474 GSM5463567   Male  45 42.70653       No         0_2
## 322 GSE180474 GSM5463568 Female  47 72.35290      Yes         3_4
## 323 GSE180474 GSM5463569   Male  53 44.03378      Yes         0_2
## 324 GSE180474 GSM5463570   Male  66 44.15552      Yes         0_2
## 325 GSE180474 GSM5463571   Male  53 47.91878      Yes         3_4
## 326 GSE180474 GSM5463572   Male  44 54.75260      Yes         0_2
## 327 GSE180474 GSM5463573   Male  35 64.44297       No         3_4
## 328 GSE180474 GSM5463574 Female  30 52.38310      Yes         0_2
## 329 GSE180474 GSM5463575 Female  47 37.15875      Yes         3_4
## 330 GSE180474 GSM5463576   Male  51 76.84051      Yes         0_2
## 331 GSE180474 GSM5463577 Female  33 46.05330       No         0_2
## 332 GSE180474 GSM5463578   Male  50 91.10502      Yes         3_4
## 333 GSE180474 GSM5463579   Male  47 55.87114      Yes         0_2
## 334 GSE180474 GSM5463580   Male  32 35.92173       No         0_2
## 335 GSE180474 GSM5463581   Male  57 45.82707      Yes         3_4
## 336 GSE180474 GSM5463582 Female  55 43.26154      Yes         3_4
## 337 GSE180474 GSM5463583 Female  46 43.97700       No         0_2
## 338 GSE180474 GSM5463584   Male  58 61.94945      Yes         0_2
## 339 GSE180474 GSM5463585   Male  44 36.00484       No         0_2
## 340 GSE180474 GSM5463586   Male  31 37.01842       No         0_2
## 341 GSE180474 GSM5463587 Female  41 40.77365      Yes         3_4
#%>% kbl() %>% kable_paper("hover", full_width = F)

Download

Array manifest: GSE180474_RAW.tar

Meth signal, unmeth signal and detection p-val: GSE180474_MatrixSignalIntensities.csv

Detection p-val only: GSE180474_MatrixProcessed.csv.gz

GSE="GSE180474"

ARRAY_DATA_DIR=paste(GSE,"_data",sep="")

ARRAY_DATA=paste(ARRAY_DATA_DIR,"GSE180474_MatrixSignalIntensities.csv.gz",sep="/")

DATA_URL="https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE180474&format=file&file=GSE180474%5FMatrixSignalIntensities%2Ecsv%2Egz"
#https://ftp.ncbi.nlm.nih.gov/geo/series/GSE180nnn/GSE180474/suppl/GSE180474_MatrixSignalIntensities.csv.gz"

if(!dir.exists(ARRAY_DATA_DIR)){

  dir.create(ARRAY_DATA_DIR)

  #download.file(DATA_URL, destfile=ARRAY_DATA) 
  system("wget -O GSE180474_data/GSE180474_MatrixSignalIntensities.csv.gz  https://ftp.ncbi.nlm.nih.gov/geo/series/GSE180nnn/GSE180474/suppl/GSE180474_MatrixSignalIntensities.csv.gz")

}

Load in R. Calculate M-values and beta values and do an multidimensional scaling (MDS) analysis.

A scree plot shows the amount of variance that is explained by the principal components.

Run the MDS plot to see the clustering of the samples. This should reveal that the samples cluster by sex and should help to confirm the sample sheet.

# If testing, use the smaller test file
x <- read.csv("GSE180474_data/GSE180474_MatrixSignalIntensities.csv.gz",header=TRUE,row.names=1)
#x <- read.csv("GSE180474_data/GSE180474_MatrixSignalIntensities_test.csv.gz",header=TRUE,row.names=1)

pvals <- x[,grep("Detection",colnames(x))]
meth <- x[,grep("Methylated",colnames(x))]
unmeth <- x[,grep("Unmethylated",colnames(x))]
remove(x)
lapply(list(pvals,meth,unmeth),dim)
## [[1]]
## [1] 865859    341
## 
## [[2]]
## [1] 865859    341
## 
## [[3]]
## [1] 865859    341
colnames(pvals) <- ss$id
colnames(meth) <- ss$id
colnames(unmeth) <- ss$id

# remove samples with more than 1% of probes with a detection p-value > 0.001
bad_samples <- which(apply(pvals, 2, function(x) { length(which(x > 0.01)) }) > nrow(pvals)/100)
length(bad_samples)
## [1] 0
# remove probes with detection p-value is > 0.01 in more than 5% of samples
bad_probes <- which(apply(pvals, 1, function(x) { length(which(x > 0.01)) })> ncol(pvals)/20)
length(bad_probes)
## [1] 2202
pvals <- pvals[which(!rownames(pvals) %in% names(bad_probes)),]
meth <- meth[which(!rownames(pvals) %in% names(bad_probes)),]
unmeth <- unmeth[which(!rownames(pvals) %in% names(bad_probes)),]

Mval <- log2((meth + 100)/(unmeth + 100))
beta <- meth / (meth + unmeth )

myscree(Mval,main="incl sex chr")

mydist <- plotMDS(Mval)

colour_palette=brewer.pal(n = length(levels(ss$nafld_stage)), name = "Paired")
## Warning in brewer.pal(n = length(levels(ss$nafld_stage)), name = "Paired"): minimal value for n is 3, returning requested palette with 3 different levels
colours <- colour_palette[as.integer(factor(ss$nafld_stage))]
plotMDS(mydist, labels=ss$nafld,col=colours,main="sex chromosomes included")
legend("bottom",legend=levels(ss$nafld_stage),pch=16,cex=1.2,col=levels(factor(colours)),title="NAFLD stage")

colours <- colour_palette[as.integer(factor(ss$sex))]
plotMDS(mydist, labels=ss$sex, col=colours, main="sex chromosomes included")
legend("bottom", legend=levels(ss$sex), pch=16, cex=1.2, col=colour_palette, title="Sex")

colours <- colour_palette[as.integer(factor(ss$sex))]
plotMDS(mydist, labels=ss$id, col=colours, main="sex chromosomes included")
legend("bottom", legend=levels(ss$sex), pch=16, cex=1.2, col=colour_palette, title="Sex")

colours <- gsub("2","lightblue",gsub("1","pink",as.character(as.numeric(ss$sex))))
plot(mydist, pch=19,cex=2,col=colours,main="sex chromosomes included",
  xlab="Leading logFC dim 1",ylab="Leading logFC dim 2")
text(mydist, labels=ss$nafld,cex=0.6)
legend("bottom",legend=levels(ss$sex),pch=16,cex=1.2,col=c("pink","lightblue"),title="sex")

There is a male (GSM5463580) that needs to be excluded because it looks like a female.

meth <- meth[,-grep("GSM5463580",colnames(meth))]
unmeth <- unmeth[,-grep("GSM5463580",colnames(unmeth))]
pvals <- pvals[,-grep("GSM5463580",colnames(pvals))]
ss <- ss[which(ss$id!="GSM5463580"),]

Now exclude sex chromosomes and redo the MDS plot.

Here are the numbers of probes on the X, Y which are being excluded.

chrxy <- rownames(anno)[which(anno$chr == "chrX" | anno$chr == "chrY")]
length(chrxy)
## [1] 19627
meth <- meth[which(!rownames(meth) %in% chrxy),]
unmeth <- unmeth[which(!rownames(unmeth) %in% chrxy),]
pvals <- pvals[which(!rownames(pvals) %in% chrxy),]

lapply(list(pvals,meth,unmeth),dim)
## [[1]]
## [1] 844466    340
## 
## [[2]]
## [1] 844123    340
## 
## [[3]]
## [1] 844123    340
Mval <- log2((meth + 100)/(unmeth + 100))
beta <- meth / (meth + unmeth )

remove(meth,unmeth,pvals)

myscree(Mval,main="incl sex chr")

mydist <- plotMDS(Mval)

colour_palette=brewer.pal(n = length(levels(ss$nafld_stage)), name = "Paired")
## Warning in brewer.pal(n = length(levels(ss$nafld_stage)), name = "Paired"): minimal value for n is 3, returning requested palette with 3 different levels
colours <- colour_palette[as.integer(factor(ss$nafld_stage))]
plotMDS(mydist, labels=ss$nafld,col=colours,main="sex chromosomes excluded")
legend("topleft",legend=levels(ss$nafld_stage),pch=16,cex=1.2,col=levels(factor(colours)),title="NAFLD stage")

colours <- colour_palette[as.integer(factor(ss$sex))]
plotMDS(mydist, labels=ss$sex, col=colours, main="sex chromosomes excluded")
legend("topleft", legend=levels(ss$sex), pch=16, cex=1.2, col=colour_palette, title="Sex")

colours <- colour_palette[as.integer(factor(ss$sex))]
plotMDS(mydist, labels=ss$id, col=colours, main="sex chromosomes excluded")
legend("topleft", legend=levels(ss$sex), pch=16, cex=1.2, col=colour_palette, title="Sex")

colours <- gsub("2","lightblue",gsub("1","pink",as.character(as.numeric(ss$sex))))
plot(mydist, pch=19,cex=2,col=colours,main="sex chromosomes excluded",
  xlab="Leading logFC dim 1",ylab="Leading logFC dim 2")
text(mydist, labels=ss$nafld,cex=0.6)
legend("topleft",legend=levels(ss$sex),pch=16,cex=1.2,col=c("pink","lightblue"),title="sex")

Differential analysis

The main contrast that would be of interest to us in this study is the comparison of 0_2 (216) vs 3_4 (124) in which we will examine differentially methylation by NAFLD severity. The covariates that can be considered are sex, age, BMI, anti-diabetic medication, and potentially cell type composition.

design <- model.matrix(~ ss$sex + ss$age + ss$bmi + ss$dm2_meds + ss$nafld_stage)
fit.reduced <- lmFit(Mval,design)
fit.reduced <- eBayes(fit.reduced)
## Warning: Zero sample variances detected, have been offset away from zero
dm <- topTable(fit.reduced,coef=ncol(summary(decideTests(fit.reduced))), number = Inf)
dma <- merge(myann,dm,by=0)
dma <- dma[order(dma$P.Value),]
dm_up <- rownames(subset(dm,adj.P.Val<0.05 & logFC>0))
dm_dn <- rownames(subset(dm,adj.P.Val<0.05 & logFC<0))
sig <- min(length(dm_up),length(dm_dn))
confects <- limma_confects(fit.reduced, coef=3, fdr=0.05)
## Warning: Zero sample variances detected, have been offset away from zero
if (sig > 10) {
    dmr <- run_dmrcate_epic(mx=as.matrix(Mval),design=design) 
    dmr 
#%>% kbl() %>% kable_paper("hover", full_width = F)
    comp <- compartment_enrichment(dma)
    comp 
#%>% kbl() %>% kable_paper("hover", full_width = F)
    cgi <- cgi_enrichment(dma)
    cgi 
#%>% kbl() %>% kable_paper("hover", full_width = F)
} else {
    dmr <- NULL
    comp <- NULL
    cgi <- NULL
}
## Warning: Zero sample variances detected, have been offset away from zero

## Warning: Zero sample variances detected, have been offset away from zero
## Your contrast returned 183544 individually significant probes. We recommend the default setting of pcutoff in dmrcate().
## Fitting chr1...
## Fitting chr2...
## Fitting chr3...
## Fitting chr4...
## Fitting chr5...
## Fitting chr6...
## Fitting chr7...
## Fitting chr8...
## Fitting chr9...
## Fitting chr10...
## Fitting chr11...
## Fitting chr12...
## Fitting chr13...
## Fitting chr14...
## Fitting chr15...
## Fitting chr16...
## Fitting chr17...
## Fitting chr18...
## Fitting chr19...
## Fitting chr20...
## Fitting chr21...
## Fitting chr22...
## Demarcating regions...
## Done!
## using temporary cache /tmp/Rtmp6gfoLw/BiocFileCache
## snapshotDate(): 2020-04-27
## see ?DMRcatedata and browseVignettes('DMRcatedata') for documentation
## downloading 1 resources
## retrieving 1 resource
## loading from cache
## $up_comp
##            all    up        OR    fisherPval   lowerCI   upperCI
## Island  156902 27292 0.8567255 2.972195e-101 0.8445075 0.8691342
## N_Shelf  31240  5468 0.8835002  1.324532e-16 0.8575090 0.9101721
## N_Shore  81300 19114 1.3235620 2.509203e-215 1.3008871 1.3465427
## OpenSea 476329 89959 0.9415683  2.182548e-27 0.9313344 0.9518549
## S_Shelf  28983  5069 0.8829298  1.101447e-15 0.8559539 0.9105920
## S_Shore  69369 15975 1.2787267 3.234448e-143 1.2550936 1.3026986
## 
## $dn_comp
##            all     dn        OR    fisherPval   lowerCI   upperCI
## Island  156902  22050 0.2708984  0.000000e+00 0.2668116 0.2749963
## N_Shelf  31240  11438 1.1659579  3.905095e-37 1.1388072 1.1937296
## N_Shore  81300  23536 0.8010437 4.818565e-169 0.7883692 0.8138727
## OpenSea 476329 192889 2.1688519  0.000000e+00 2.1481638 2.1895540
## S_Shelf  28983  10692 1.1799579  4.378059e-40 1.1515373 1.2090689
## S_Shore  69369  20126 0.8063690 3.159001e-138 0.7926771 0.8202480

A summary of results for all probes considered.

summary(decideTests(fit.reduced))
##        (Intercept) ss$sexMale ss$age ss$bmi ss$dm2_medsYes ss$nafld_stage3_4
## Down        313466      50775  99124   1144           3281            280731
## NotSig       47208     630928 660579 841458         822671            400515
## Up          483449     162420  84420   1521          18171            162877

A table of the top results, ranked by small p-values.

head(dma,20) 
##         Row.names                UCSC_RefGene_Name
## 266165 cg08033828                             SHC3
## 740972 cg24000206                      TGFB2;TGFB2
## 185410 cg05550145                                 
## 624585 cg19686543                  CNTNAP2;MIR548T
## 65594  cg01931861                                 
## 694991 cg22317887                HNF1B;HNF1B;HNF1B
## 580547 cg18064706             PTPRN2;PTPRN2;PTPRN2
## 175797 cg05252126                                 
## 76912  cg02273014                                 
## 763623 cg24813323                            PPM1H
## 386463 cg11843868                     LOC101927697
## 328886 cg09998038                                 
## 324946 cg09870609                                 
## 399808 cg12278018                                 
## 17471  cg00502641                                 
## 437324 cg13502568 LOC101928231;LINC01010;LINC01010
## 604733 cg18941917                                 
## 811992 cg26568031                                 
## 346063 cg10532358                                 
## 755366 cg24522654                                 
##               Regulatory_Feature_Group             Islands_Name
## 266165                                                         
## 740972                                                         
## 185410                                                         
## 624585                                                         
## 65594                                                          
## 694991                                                         
## 580547                                 chr7:157647800-157648007
## 175797                    Unclassified                         
## 76912                                                          
## 763623                                                         
## 386463                                                         
## 328886                                                         
## 324946                    Unclassified                         
## 399808 Unclassified_Cell_type_specific                         
## 17471                                                          
## 437324 Unclassified_Cell_type_specific                         
## 604733                                                         
## 811992                                                         
## 346063 Unclassified_Cell_type_specific                         
## 755366                                                         
##        Relation_to_Island      logFC    AveExpr         t      P.Value
## 266165            OpenSea -0.9165711 -2.0603446 -21.77509 1.784450e-66
## 740972            OpenSea -1.1632408 -0.5854563 -21.58987 9.675546e-66
## 185410            OpenSea -1.3680724 -0.1535463 -21.36053 7.872113e-65
## 624585            OpenSea -0.8606863  0.7553051 -20.76715 1.812467e-62
## 65594             OpenSea -0.8773930 -0.1923290 -20.71958 2.805587e-62
## 694991            OpenSea -0.7617657  0.2906012 -20.44626 3.461434e-61
## 580547            N_Shore -1.1193656  3.5856305 -20.41751 4.509551e-61
## 175797            OpenSea -0.9083733  0.7105989 -20.39905 5.344423e-61
## 76912             OpenSea -1.0602971  0.1638202 -20.23377 2.447379e-60
## 763623            OpenSea -1.0217421  0.8390327 -20.22372 2.684688e-60
## 386463            OpenSea -1.0759494 -0.5879595 -20.11372 7.395651e-60
## 328886            OpenSea -0.8205436  0.9450668 -19.96962 2.791585e-59
## 324946            OpenSea -1.0846984 -2.0681303 -19.95640 3.153335e-59
## 399808            OpenSea -0.9325578  1.1948318 -19.91320 4.696925e-59
## 17471             OpenSea -0.9788552  1.1326399 -19.88952 5.843222e-59
## 437324            OpenSea -0.9769516  0.8607582 -19.84858 8.524418e-59
## 604733            OpenSea -0.9450723  0.2722685 -19.78445 1.540349e-58
## 811992            OpenSea -1.0055359  0.7260904 -19.77994 1.605775e-58
## 346063            OpenSea -0.9033109  0.4658277 -19.76349 1.869081e-58
## 755366            OpenSea -1.0652834  1.0507701 -19.64931 5.361729e-58
##           adj.P.Val        B
## 266165 1.506295e-60 140.5916
## 740972 4.083675e-60 138.9177
## 185410 2.215010e-59 136.8418
## 624585 3.824862e-57 131.4549
## 65594  4.736521e-57 131.0221
## 694991 4.869794e-56 128.5332
## 580547 5.438022e-56 128.2711
## 175797 5.639188e-56 128.1029
## 76912  2.266207e-55 126.5956
## 763623 2.266207e-55 126.5039
## 386463 5.675308e-55 125.5000
## 328886 1.963701e-54 124.1840
## 324946 2.047541e-54 124.0633
## 399808 2.831987e-54 123.6685
## 17471  3.288265e-54 123.4522
## 437324 4.497286e-54 123.0780
## 604733 7.530397e-54 122.4918
## 811992 7.530397e-54 122.4506
## 346063 8.303864e-54 122.3001
## 755366 2.262980e-53 121.2560
#%>% kbl() %>% kable_paper("hover", full_width = F)

Plots

  1. Volcano plot. Gives an overview of the number of probes that gave a statistically significant differential methylation signal with limma (FDR<0.05; red) compared to not significant (grey). Also given an idea about whether the results are balanced in terms of hyper- or hypo-methylation.

  2. Beeswarm plots of the 15 CpG probes with the smallest limma p-values. This allows us to visualise the intragroup and between group methylation differences.

  3. Heatmap of the 50 CpG probes with the smallest limma p-values. Again this is a good way to visualise the intragroup and between group methylation differences.

  4. Beeswarm plots of the 15 CpG probes with the largest confident effect sizes. The selection of probes with the largest confident effect sizes is conducted with the topconfects package (Harrison et al, 2019).

  5. Heatmap of the 50 CpG probes with largest confident effect sizes.

  6. Circos plot of the differentially methylate regions DMRs as identified by DMRcate.

make_dm_plots(dm = dm ,name="GSE180474_NAFLD", mx=beta ,mxs=as.matrix(Mval), groups = ss$nafld_stage,
    confects=confects,dmr = dmr, comp=comp, cgi=cgi)

## 
## RCircos.Core.Components initialized.
## Type ?RCircos.Reset.Plot.Parameters to see how to modify the core components.
## Tiles plot may use more than one track. Please select correct area for next track if necessary.
## 
## Tiles plot may use more than one track. Please select correct area for next track if necessary.

dmr <- as.data.frame(dmr)

dmr_up <- subset(dmr, meandiff > 0.01 & Stouffer < 0.01)
DMR_UP_N=nrow(dmr_up)
head(dmr_up) 
##  [1] seqnames          start             end               width            
##  [5] strand            no.cpgs           min_smoothed_fdr  Stouffer         
##  [9] HMFDR             Fisher            maxdiff           meandiff         
## [13] overlapping.genes
## <0 rows> (or 0-length row.names)
#%>% kbl() %>% kable_paper("hover", full_width = F)

dmr_dn <- subset(dmr, meandiff < 0.01 & Stouffer < 0.01)
DMR_DN_N=nrow(dmr_dn)
head(dmr_dn) 
##   seqnames     start       end width strand no.cpgs min_smoothed_fdr
## 1    chr11  31824327  31841980 17654      *     101    6.305051e-202
## 2     chr7  27203430  27214915 11486      *      80    1.757143e-183
## 3    chr10   8088904   8099218 10315      *      71     0.000000e+00
## 4    chr12   4378267   4386474  8208      *      71     0.000000e+00
## 5     chr3 147122315 147132559 10245      *      70     0.000000e+00
## 6    chr14  37123678  37136391 12714      *      66    1.669480e-112
##        Stouffer        HMFDR Fisher     maxdiff     meandiff
## 1  0.000000e+00 4.199951e-33      0 0.002707705 0.0007226308
## 2  0.000000e+00 5.967729e-31      0 0.002643410 0.0007859263
## 3  0.000000e+00 2.595837e-37      0 0.002847554 0.0008599398
## 4 3.544871e-229 3.029838e-45      0 0.003038375 0.0005160239
## 5  0.000000e+00 1.740315e-37      0 0.006602923 0.0025928528
## 6  0.000000e+00 1.398930e-24      0 0.002846936 0.0007260854
##                                  overlapping.genes
## 1                                       RCN1, PAX6
## 2 HOXA10-AS, HOXA9, RP1-170O19.20, MIR196B, HOXA10
## 3   RP11-379F12.4, GATA3, GATA3-AS1, RP11-379F12.3
## 4                      CCND2, CCND2-AS1, CCND2-AS2
## 5                                       ZIC1, ZIC4
## 6                              PAX9, RP11-964E11.2
#%>% kbl() %>% kable_paper("hover", full_width = F)

HEADER=paste(DMR_UP_N,"DMRs hypermethylated;", DMR_DN_N, "DMRs hypomethylated")
plot(dmr$meandiff, -log(dmr$Stouffer), main=HEADER,
    xlab="mean delta beta value", ylab="-log10 Stouffer value")
grid()

Export results

write.table(dma,file="GSE180474_dm.tsv",sep="\t",quote=FALSE)
saveRDS(dma,file="GSE180474_dm.rds")

Findings

TODO

Session information

sessionInfo()
## R version 4.0.1 (2020-06-06)
## Platform: x86_64-conda_cos6-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.2 LTS
## 
## Matrix products: default
## BLAS/LAPACK: /ceph-g/opt/miniconda3/envs/R40/lib/libopenblasp-r0.3.9.so
## 
## 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] grid      stats4    parallel  stats     graphics  grDevices utils    
##  [8] datasets  methods   base     
## 
## other attached packages:
##  [1] ENmix_1.25.1                                       
##  [2] doParallel_1.0.16                                  
##  [3] qqman_0.1.8                                        
##  [4] RCircos_1.2.1                                      
##  [5] beeswarm_0.4.0                                     
##  [6] forestplot_2.0.1                                   
##  [7] checkmate_2.0.0                                    
##  [8] magrittr_1.5                                       
##  [9] reshape2_1.4.4                                     
## [10] gplots_3.1.1                                       
## [11] eulerr_6.1.1                                       
## [12] GEOquery_2.56.0                                    
## [13] RColorBrewer_1.1-2                                 
## [14] IlluminaHumanMethylation450kmanifest_0.4.0         
## [15] topconfects_1.4.0                                  
## [16] DMRcatedata_2.6.0                                  
## [17] ExperimentHub_1.14.2                               
## [18] AnnotationHub_2.20.2                               
## [19] BiocFileCache_1.12.1                               
## [20] dbplyr_1.4.4                                       
## [21] DMRcate_2.2.3                                      
## [22] limma_3.44.3                                       
## [23] missMethyl_1.22.0                                  
## [24] IlluminaHumanMethylationEPICanno.ilm10b4.hg19_0.6.0
## [25] IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.0 
## [26] minfi_1.34.0                                       
## [27] bumphunter_1.30.0                                  
## [28] locfit_1.5-9.4                                     
## [29] iterators_1.0.12                                   
## [30] foreach_1.5.0                                      
## [31] Biostrings_2.56.0                                  
## [32] XVector_0.28.0                                     
## [33] SummarizedExperiment_1.18.2                        
## [34] DelayedArray_0.14.1                                
## [35] matrixStats_0.61.0                                 
## [36] Biobase_2.48.0                                     
## [37] GenomicRanges_1.40.0                               
## [38] GenomeInfoDb_1.24.2                                
## [39] IRanges_2.22.2                                     
## [40] S4Vectors_0.26.1                                   
## [41] BiocGenerics_0.34.0                                
## [42] R.utils_2.11.0                                     
## [43] R.oo_1.24.0                                        
## [44] R.methodsS3_1.8.1                                  
## [45] plyr_1.8.6                                         
## 
## loaded via a namespace (and not attached):
##   [1] tidyselect_1.1.0              RSQLite_2.2.8                
##   [3] AnnotationDbi_1.50.3          htmlwidgets_1.5.1            
##   [5] BiocParallel_1.22.0           lpSolve_5.6.15               
##   [7] munsell_0.5.0                 codetools_0.2-16             
##   [9] preprocessCore_1.50.0         statmod_1.4.36               
##  [11] colorspace_1.4-1              knitr_1.28                   
##  [13] rstudioapi_0.11               GenomeInfoDbData_1.2.3       
##  [15] bit64_4.0.5                   rhdf5_2.32.4                 
##  [17] vctrs_0.3.1                   generics_0.0.2               
##  [19] xfun_0.15                     biovizBase_1.36.0            
##  [21] R6_2.4.1                      illuminaio_0.30.0            
##  [23] AnnotationFilter_1.12.0       bitops_1.0-7                 
##  [25] cachem_1.0.6                  reshape_0.8.8                
##  [27] assertthat_0.2.1              promises_1.1.1               
##  [29] scales_1.1.1                  bsseq_1.24.4                 
##  [31] nnet_7.3-14                   gtable_0.3.0                 
##  [33] ensembldb_2.12.1              rlang_0.4.12                 
##  [35] genefilter_1.70.0             calibrate_1.7.7              
##  [37] splines_4.0.1                 rtracklayer_1.48.0           
##  [39] lazyeval_0.2.2                impute_1.62.0                
##  [41] DSS_2.36.0                    dichromat_2.0-0              
##  [43] BiocManager_1.30.16           yaml_2.2.1                   
##  [45] GenomicFeatures_1.40.1        backports_1.1.8              
##  [47] httpuv_1.5.4                  Hmisc_4.6-0                  
##  [49] tools_4.0.1                   nor1mix_1.3-0                
##  [51] ggplot2_3.3.5                 ellipsis_0.3.1               
##  [53] siggenes_1.62.0               dynamicTreeCut_1.63-1        
##  [55] Rcpp_1.0.7                    base64enc_0.1-3              
##  [57] progress_1.2.2                zlibbioc_1.34.0              
##  [59] purrr_0.3.4                   RCurl_1.98-1.5               
##  [61] prettyunits_1.1.1             rpart_4.1-15                 
##  [63] openssl_1.4.1                 cluster_2.1.0                
##  [65] data.table_1.12.8             ProtGenerics_1.20.0          
##  [67] RPMM_1.25                     hms_0.5.3                    
##  [69] mime_0.9                      evaluate_0.14                
##  [71] xtable_1.8-4                  XML_3.99-0.8                 
##  [73] jpeg_0.1-9                    irr_0.84.1                   
##  [75] mclust_5.4.8                  readxl_1.3.1                 
##  [77] gridExtra_2.3                 compiler_4.0.1               
##  [79] biomaRt_2.44.4                tibble_3.0.1                 
##  [81] KernSmooth_2.23-17            crayon_1.3.4                 
##  [83] htmltools_0.5.0               later_1.1.0.1                
##  [85] Formula_1.2-4                 geneplotter_1.66.0           
##  [87] tidyr_1.1.0                   DBI_1.1.0                    
##  [89] MASS_7.3-51.6                 rappdirs_0.3.3               
##  [91] Matrix_1.2-18                 readr_1.3.1                  
##  [93] permute_0.9-5                 quadprog_1.5-8               
##  [95] Gviz_1.32.0                   pkgconfig_2.0.3              
##  [97] GenomicAlignments_1.24.0      foreign_0.8-80               
##  [99] xml2_1.3.2                    annotate_1.66.0              
## [101] rngtools_1.5.2                multtest_2.44.0              
## [103] beanplot_1.2                  doRNG_1.8.2                  
## [105] scrime_1.3.5                  stringr_1.4.0                
## [107] VariantAnnotation_1.34.0      digest_0.6.25                
## [109] rmarkdown_2.3                 base64_2.0                   
## [111] cellranger_1.1.0              htmlTable_2.3.0              
## [113] edgeR_3.30.3                  DelayedMatrixStats_1.10.1    
## [115] curl_4.3                      shiny_1.4.0.2                
## [117] Rsamtools_2.4.0               gtools_3.9.2                 
## [119] lifecycle_0.2.0               nlme_3.1-148                 
## [121] Rhdf5lib_1.10.1               askpass_1.1                  
## [123] BSgenome_1.56.0               pillar_1.4.4                 
## [125] lattice_0.20-41               fastmap_1.0.1                
## [127] httr_1.4.1                    survival_3.2-3               
## [129] interactiveDisplayBase_1.26.3 glue_1.4.1                   
## [131] png_0.1-7                     BiocVersion_3.11.1           
## [133] bit_4.0.4                     stringi_1.4.6                
## [135] HDF5Array_1.16.1              blob_1.2.1                   
## [137] org.Hs.eg.db_3.11.4           caTools_1.18.2               
## [139] latticeExtra_0.6-29           memoise_2.0.0                
## [141] dplyr_1.0.0