Source: https://github.com/markziemann/asd_meth
Here we are analysing blood methylation in 9 twin pairs.
baseDir=getwd()
dataDir=paste(baseDir,"/ASD_EPIC_DATA",sep="")
suppressPackageStartupMessages({
library("missMethyl")
library("limma")
library("minfi")
library("IlluminaHumanMethylation450kanno.ilmn12.hg19")
library("IlluminaHumanMethylationEPICanno.ilm10b2.hg19")
library("ruv")
library("RColorBrewer")
library("matrixStats")
library("gplots")
library("WGCNA")
library("FlowSorted.Blood.450k")
library("reshape2")
library("ggplot2")
library("missMethyl")
library("DMRcate")
library("FlowSorted.Blood.EPIC")
library("mitch")
library("kableExtra")
})
Load the annotation data and the Epic methylation data.
This analysis is to be conducted on Ubuntu with R4.
ann = getAnnotation(IlluminaHumanMethylationEPICanno.ilm10b2.hg19)
ann_sub = ann[,c("chr","pos","strand","Name","Islands_Name",
"Relation_to_Island","UCSC_RefGene_Name","UCSC_RefGene_Group")]
targets_gen = read.metharray.sheet(dataDir, pattern = "ASD_blood_summarysheet.csv")
## [read.metharray.sheet] Found the following CSV files:
## [1] "/home/mdz/projects/asd_meth/ASD_EPIC_DATA/ASD_blood_summarysheet.csv"
#targets$ID = paste(targets$Sample_Group,targets_gen$Sample_Name,sep=".")
rgSet = read.metharray.exp(targets = targets_gen)
sampleNames(rgSet) = targets_gen$SampleID
snpBetas = getSnpBeta(rgSet)
d = dist(t(snpBetas))
hr = hclust(d, method = "complete", members=NULL)
plot(hr)
detP = detectionP(rgSet)
qcReport(rgSet, sampNames = targets_gen$Sample_Name,
pdf="qc-report_ASD_blood_nov27.pdf")
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## Warning in type.convert.default(X[[i]], ...): 'as.is' should be specified by
## the caller; using TRUE
## png
## 2
cols=brewer.pal(4,"Set1")
barplot(apply(detP,2,mean),
col=as.numeric(factor(targets_gen$Sample_Name)),
las=2,cex.names= 0.8, cex.axis=0.75,
main="Mean detection p-values of probe signals",
ylab="Mean detection p-value")
barplot(apply(detP,2,mean),
col=as.numeric(factor(targets_gen$Sample_Name)),
las=2,cex.names= 0.8, cex.axis=0.75,ylim=c(0,0.010),
main="Mean detection p-values of probe signals",
ylab="Mean detection p-value")
mset.raw = preprocessRaw(rgSet)
Using Multi-dimensional scaling (MDS) plots before filtering.
mdsPlot(mset.raw, sampGroups = targets_gen$Sample_Name,
sampNames=targets_gen$Social_interaction_on_ADOS,legendPos="bottom")
mdsPlot(mset.raw, sampGroups = targets_gen$Sex,
sampNames=targets_gen$SampleID,legendPos="bottom")
SQN is used as it gave a more stable result.
#SQN method
mSetSq = preprocessQuantile(rgSet)
## [preprocessQuantile] Mapping to genome.
## [preprocessQuantile] Fixing outliers.
## [preprocessQuantile] Quantile normalizing.
densityPlot(rgSet, sampGroups = targets_gen$Social_interaction_on_ADOS,
main="Raw", legend = FALSE)
densityPlot(getBeta(mSetSq),
sampGroups = targets_gen$Social_interaction_on_ADOS,main="SQN",
legend = FALSE)
Need to consider using estimatecellcounts2.
rgSet$Slide <- as.numeric(rgSet$Slide)
rgSet$Sex<- as.character(rgSet$Sex)
rgSet$Sample_Name<- as.character(rgSet$Sample_Name)
cellCounts_new <- estimateCellCounts(rgSet, compositeCellType = "Blood",
processMethod = "auto", probeSelect = "auto",
cellTypes = c("CD8T","CD4T", "NK","Bcell","Mono","Gran"),
referencePlatform = c("IlluminaHumanMethylation450k"),
returnAll = FALSE, meanPlot = TRUE)
## [estimateCellCounts] Combining user data with reference (flow sorted) data.
## Warning in DataFrame(sampleNames = c(colnames(rgSet),
## colnames(referenceRGset)), : 'stringsAsFactors' is ignored
## [estimateCellCounts] Processing user and reference data together.
## [preprocessQuantile] Mapping to genome.
## [preprocessQuantile] Fixing outliers.
## [preprocessQuantile] Quantile normalizing.
## [estimateCellCounts] Picking probes for composition estimation.
## [estimateCellCounts] Estimating composition.
#plot cell type composition by sample group
a = cellCounts_new[targets_gen$Diagnosis == "0",]
b = cellCounts_new[targets_gen$Diagnosis == "1",]
c = cellCounts_new[targets_gen$Diagnosis == "2",]
age.pal <- brewer.pal(8,"Set1")
cellCounts_long <- melt(cellCounts_new, id = "celltype")
cellCounts_long$Var1 <- targets_gen[match(cellCounts_long$Var1,
targets_gen$SampleID),"Diagnosis"]
colnames(cellCounts_long) <- c("diagnosis","celltype","value")
ggplot(cellCounts_long, aes(x = factor(celltype), y = value, fill = factor(diagnosis))) +
geom_boxplot()
wx <- lapply(1:ncol(cellCounts_new) , function(i) {
wilcox.test(a[,i],c[,i], paired=FALSE)
} )
## Warning in wilcox.test.default(a[, i], c[, i], paired = FALSE): cannot compute
## exact p-value with ties
names(wx) <- colnames(cellCounts_new)
wx
## $CD8T
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 12, p-value = 0.6923
## alternative hypothesis: true location shift is not equal to 0
##
##
## $CD4T
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 13, p-value = 0.8112
## alternative hypothesis: true location shift is not equal to 0
##
##
## $NK
##
## Wilcoxon rank sum test with continuity correction
##
## data: a[, i] and c[, i]
## W = 16, p-value = 0.9317
## alternative hypothesis: true location shift is not equal to 0
##
##
## $Bcell
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 18, p-value = 0.6923
## alternative hypothesis: true location shift is not equal to 0
##
##
## $Mono
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 23, p-value = 0.2168
## alternative hypothesis: true location shift is not equal to 0
##
##
## $Gran
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 15, p-value = 1
## alternative hypothesis: true location shift is not equal to 0
Try estimatecellcounts2.
cells <- estimateCellCounts2(rgSet, referencePlatform= "IlluminaHumanMethylationEPIC",
returnAll = TRUE)
## snapshotDate(): 2022-10-31
## snapshotDate(): 2022-10-31
## see ?FlowSorted.Blood.EPIC and browseVignettes('FlowSorted.Blood.EPIC') for documentation
## loading from cache
## [estimateCellCounts2] Combining user data with reference (flow sorted) data.
## Warning in asMethod(object): NAs introduced by coercion
## [estimateCellCounts2] Processing user and reference data together.
## [estimateCellCounts2] Using IDOL L-DMR probes for composition estimation.
## [estimateCellCounts2] Estimating proportion composition (prop), if you provide cellcounts those will be provided as counts in the composition estimation.
mset <- cells$normalizedData
cellCounts_new <- cells[[1]]
#plot cell type composition by sample group
a = cellCounts_new[targets_gen$Diagnosis == "0",]
b = cellCounts_new[targets_gen$Diagnosis == "1",]
c = cellCounts_new[targets_gen$Diagnosis == "2",]
age.pal <- brewer.pal(8,"Set1")
cellCounts_long <- melt(cellCounts_new, id = "celltype")
cellCounts_long$Var1 <- targets_gen[match(cellCounts_long$Var1, targets_gen$SampleID),"Diagnosis"]
colnames(cellCounts_long) <- c("diagnosis","celltype","value")
ggplot(cellCounts_long, aes(x = factor(celltype), y = value, fill = factor(diagnosis))) +
geom_boxplot()
pdf("cells_blood.pdf")
par(mar=c(3,8,2,2))
ggplot(cellCounts_long, aes(x = factor(celltype), y = value, fill = factor(diagnosis))) +
geom_boxplot()
dev.off()
## png
## 2
wx <- lapply(1:ncol(cellCounts_new) , function(i) {
wilcox.test(a[,i],c[,i], paired=FALSE)
} )
names(wx) <- colnames(cellCounts_new)
wx
## $CD8T
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 14, p-value = 0.9371
## alternative hypothesis: true location shift is not equal to 0
##
##
## $CD4T
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 13, p-value = 0.8112
## alternative hypothesis: true location shift is not equal to 0
##
##
## $NK
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 17, p-value = 0.8112
## alternative hypothesis: true location shift is not equal to 0
##
##
## $Bcell
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 18, p-value = 0.6923
## alternative hypothesis: true location shift is not equal to 0
##
##
## $Mono
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 26, p-value = 0.07692
## alternative hypothesis: true location shift is not equal to 0
##
##
## $Neu
##
## Wilcoxon rank sum exact test
##
## data: a[, i] and c[, i]
## W = 14, p-value = 0.9371
## alternative hypothesis: true location shift is not equal to 0
#densityByProbeType(mSetSq, main = "Raw")
#densityByProbeType(mset[,1], main = "estimateCellCounts2")
#mset_reduced <- mset[which(rownames(mset) %in% names(keep[keep==TRUE])),]
#meth <- getMeth(mset_reduced)
#unmeth <- getUnmeth(mset_reduced)
#Mval <- log2((meth + 100)/(unmeth + 100))
#beta <- getBeta(mset_reduced)
#dim(Mval)
None of the p-values are less than 0.05.
Now filter for high detection p-value and overlap with SNP.
Need to get a copy of the Xreact probes from Namitha. In the mean time I have downloaded from github - link below.
detP <- detectionP(rgSet)
keep <- rowSums(detP < 0.01) == ncol(rgSet)
mset <- mset[keep,]
gmset <- mapToGenome(mset)
#remove SNPs
gmset_flt = dropLociWithSnps(gmset, snps = c("CpG", "SBE"))
#Removing cross-reactive probes
XURL="https://raw.githubusercontent.com/sirselim/illumina450k_filtering/master/EPIC/13059_2016_1066_MOESM1_ESM.csv"
Xreact <- read.csv(XURL)
#Xreact = read.csv(file="/group/canc2/puumba/Data/InfiniumData/NamithaData/Rprojects/Autism/Analysis_Sept11/EPIC_850k_crossreactiveProbes.csv", stringsAsFactors=FALSE)
#Xreact = read.csv(file="~/48639-non-specific-probes-Illumina450k.csv", stringsAsFactors=FALSE)
noXreact <- !(featureNames(gmset) %in% Xreact$X)
gmset <- gmset[noXreact,]
#Removing probes on X and Y chromosomes
autosomes <- !(featureNames(gmset) %in% ann$Name[ann$chr %in% c("chrX","chrY")])
gmset_flt <- gmset[autosomes,]
#Relative log expression (RLE plot)
mvals = getM(gmset_flt)
medSq = apply(mvals, 1, median)
YSq = mvals - medSq
boxplot(YSq,outline=FALSE,ylim=c(-1.5,1.5),
ylab="Relative Log Methylation Value",
cols=as.character(factor(targets_gen$Social_interaction_on_ADOS,)) )
pal = brewer.pal(8, "Dark2")
mds1Sq = plotMDS(mvals, top=1000, gene.selection="common",dim.plot=c(1,2))
mds2Sq = plotMDS(mvals, top=1000, gene.selection="common",dim.plot=c(1,3))
mds3Sq = plotMDS(mvals, top=1000, gene.selection="common",dim.plot=c(2,3))
mds4Sq = plotMDS(mvals, top=1000, gene.selection="common",dim.plot=c(3,4))
plotMDS(mds1Sq, xlab="Dimension 1", ylab="Dimension 2",
col=pal[as.factor(targets_gen$Diagnosis)],
dim=c(1,2), labels=targets_gen$Sample_Name)
legend("bottomright",bg="white",col=pal,cex=.7,pch=1,legend=0:1)
plotMDS(mds2Sq, xlab="Dimension 1", ylab="Dimension 3",
col=pal[as.factor(targets_gen$Diagnosis)],dim=c(1,3),
labels=targets_gen$Sample_Name)
legend("bottomright",bg="white",col=pal,cex=.7,pch=1,legend=0:1)
plotMDS(mds3Sq, xlab="Dimension 2", ylab="Dimension 3",
col=pal[as.factor(targets_gen$Diagnosis)],dim=c(2,3),
labels=targets_gen$Sample_Name)
legend("bottomright",bg="white",col=pal,cex=.7,pch=1,legend=0:1)
plotMDS(mds4Sq, xlab="Dimension 3", ylab="Dimension 4",
col=pal[as.factor(targets_gen$Diagnosis)],dim=c(3,4),
labels=targets_gen$Sample_Name)
legend("bottomright",bg="white",col=pal,cex=.7,pch=1,legend=0:1)
fit <- prcomp(t(mvals),center = TRUE, scale = TRUE,retx=TRUE)
loadings = fit$x
plot(fit,type="lines")
nGenes = nrow(mvals)
nSamples = ncol(mvals)
datTraits = targets_gen[,7:15]
moduleTraitCor = cor(loadings[,1:6], datTraits, use = "p")
moduleTraitPvalue = corPvalueStudent(moduleTraitCor, nSamples)
par(cex=0.75, mar = c(6, 8.5, 3, 3))
textMatrix = paste(signif(moduleTraitCor, 2), "\n(",
signif(moduleTraitPvalue, 1), ")", sep = "");
dim(textMatrix) = dim(moduleTraitCor)
labeledHeatmap(Matrix = t(moduleTraitCor),
xLabels = colnames(loadings)[1:ncol(t(moduleTraitCor))],
yLabels = names(datTraits), colorLabels = FALSE, colors = blueWhiteRed(6),
textMatrix = t(textMatrix), setStdMargins = FALSE, cex.text = 0.5,
cex.lab.y = 0.6, zlim = c(-1,1),
main = paste("PCA-trait relationships: Top principal components"))
pdf("pca_blood.pdf")
par(mar=c(3,8,2,2))
labeledHeatmap(Matrix = t(moduleTraitCor),
xLabels = colnames(loadings)[1:ncol(t(moduleTraitCor))],
yLabels = names(datTraits), colorLabels = FALSE, colors = blueWhiteRed(6),
textMatrix = t(textMatrix), setStdMargins = FALSE, cex.text = 0.5,
cex.lab.y = 0.6, zlim = c(-1,1),
main = paste("PCA-trait relationships: Top principal components"))
dev.off()
## png
## 2
ADOS is the outcome variable (continuous)
Twin_Group <- factor(targets_gen$Family_ID)
ADOS <- targets_gen$Social_interaction_on_ADOS
names(ADOS) <- targets_gen$SampleID
motor <- targets_gen$Motor_skills
diagnosis <- targets_gen$Diagnosis
SRS<- targets_gen$SRS_social_scores
iiq <- 1/targets_gen$IQ
# fix infinite
iiq[iiq==Inf] <- 0.025
iiq <- as.vector(scale(iiq))
ilanguage <- as.vector(scale(1/targets_gen$language))
#ADOS
design_tw <- model.matrix(~ Twin_Group + ADOS )
fit_tw <- lmFit(mvals, design_tw)
fit2_tw <- eBayes(fit_tw)
summary(decideTests(fit2_tw))
## (Intercept) Twin_Group2 Twin_Group3 Twin_Group4 Twin_Group6 Twin_Group7
## Down 245472 8632 4657 5582 3441 3896
## NotSig 42797 762396 793722 790564 793202 795941
## Up 514378 31619 4268 6501 6004 2810
## Twin_Group8 Twin_Group12 Twin_Group13 ADOS
## Down 2567 3672 7139 0
## NotSig 796786 795931 791579 802647
## Up 3294 3044 3929 0
top <- topTable(fit2_tw,coef="ADOS",num=Inf, sort.by = "P")
nsig <- sum(top$adj.P.Val < 0.05)
sum(top$P.Value< 0.05)
## [1] 30545
output <-merge(ann_sub,top,by.x="Name",by.y="row.names")
output <- output[order(output$P.Value),]
write.csv(output, file="limma_blood_ADOS.csv",row.names=FALSE)
output <- subset(output,P.Value<1e-4)
head(output,30) %>% kbl() %>% kable_paper("hover", full_width = F)
Name | chr | pos | strand | Islands_Name | Relation_to_Island | UCSC_RefGene_Name | UCSC_RefGene_Group | logFC | AveExpr | t | P.Value | adj.P.Val | B |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cg07655025 | chr19 | 12835001 |
|
chr19:12833104-12833574 | S_Shore | TNPO2 | TSS200 | -0.0854949 | -4.3361600 | -6.706650 | 2.28e-05 | 0.8764716 | 3.048127 |
cg18253799 | chr17 | 78069191 |
|
OpenSea | CCDC40 | Body | 0.1005063 | 4.6851023 | 5.976848 | 6.70e-05 | 0.8764716 | 2.036801 | |
cg25032595 | chr13 | 96204978 |
|
chr13:96204691-96205496 | Island | CLDN10;CLDN10;CLDN10;CLDN10 | 5’UTR;1stExon;Body;Body | -0.0705806 | -4.5040270 | -5.801969 | 8.77e-05 | 0.8764716 | 1.781885 |
cg16956665 | chr11 | 125479362 |
|
OpenSea | STT3A | Body | 0.1228970 | 0.6660224 | 5.770674 | 9.21e-05 | 0.8764716 | 1.735749 |
saveRDS(design_tw, "bl_design.rds")
saveRDS(mvals, "bl_mvals.rds")
Other models:
motor skills impairment
diagnosis
SRS
inverse IQ
inverse langguage
#motor:820,1.053055e-12
design_tw <- model.matrix(~ Twin_Group + motor )
fit_tw <- lmFit(mvals, design_tw)
fit2_tw <- eBayes(fit_tw)
summary(decideTests(fit2_tw))
## (Intercept) Twin_Group2 Twin_Group3 Twin_Group4 Twin_Group6 Twin_Group7
## Down 229684 4434 3653 1755 1453 5029
## NotSig 83474 788381 796338 799389 799771 794382
## Up 489489 9832 2656 1503 1423 3236
## Twin_Group8 Twin_Group12 Twin_Group13 motor
## Down 4104 1623 1628 3
## NotSig 793202 799776 799910 802643
## Up 5341 1248 1109 1
top <- topTable(fit2_tw,coef="motor",num=Inf, sort.by = "P")
nsig <- sum(top$adj.P.Val < 0.05)
sum(top$P.Value< 0.05)
## [1] 13734
output <-merge(ann_sub,top,by.x="Name",by.y="row.names")
output <- output[order(output$P.Value),]
write.csv(output,file="limma_blood_motor.csv",row.names=FALSE)
head(output,30) %>% kbl(caption="motor") %>% kable_paper("hover", full_width = F)
Name | chr | pos | strand | Islands_Name | Relation_to_Island | UCSC_RefGene_Name | UCSC_RefGene_Group | logFC | AveExpr | t | P.Value | adj.P.Val | B |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cg06210070 | chr6 | 33085063 |
|
chr6:33084740-33084995 | S_Shore | HLA-DPB2 | Body | 2.1349589 | -1.243178 | 13.270789 | 0.0000000 | 0.0158546 | -3.115049 |
cg16853842 | chr12 | 56390939 |
|
OpenSea | SUOX;SUOX;SUOX | TSS200;TSS200;TSS200 | -1.8492659 | -3.316265 | -12.453699 | 0.0000000 | 0.0159779 | -3.130500 | |
cg08638320 | chr1 | 47900265 |
|
chr1:47899661-47900385 | Island | FOXD2;MGC12982 | TSS1500;Body | -2.3455882 | -1.387550 | -11.823209 | 0.0000001 | 0.0188119 | -3.144416 |
cg26848940 | chr6 | 37787530 |
|
chr6:37786707-37788114 | Island | ZFAND3;ZFAND3 | 5’UTR;1stExon | -2.1854214 | -5.339348 | -10.553508 | 0.0000002 | 0.0481955 | -3.179286 |
cg03896436 | chr5 | 141082572 |
|
chr5:141082245-141082592 | Island | -1.0547315 | -3.970117 | -8.670124 | 0.0000019 | 0.3041140 | -3.256077 | ||
cg10013356 | chr6 | 150244295 |
|
chr6:150243902-150244210 | S_Shore | RAET1G | TSS200 | 2.1354039 | -3.707090 | 7.593191 | 0.0000072 | 0.9670964 | -3.321246 |
cg22401197 | chr2 | 219261843 |
|
chr2:219263098-219265556 | N_Shore | CTDSP1 | TSS1500 | 1.0215084 | -5.424140 | 7.108057 | 0.0000138 | 0.9999765 | -3.357991 |
cg19820070 | chr3 | 48595777 |
|
chr3:48594022-48594853 | S_Shore | 0.9966580 | -4.814164 | 6.864147 | 0.0000193 | 0.9999765 | -3.378599 | ||
cg08857348 | chr17 | 40760642 |
|
chr17:40761059-40761761 | N_Shore | TUBG1;FAM134C;FAM134C | TSS1500;Body;Body | -1.0571880 | -4.778048 | -6.861185 | 0.0000194 | 0.9999765 | -3.378859 |
cg03122453 | chr10 | 18940666 |
|
chr10:18940528-18940765 | Island | NSUN6 | TSS200 | 0.8626666 | -4.730919 | 6.509986 | 0.0000319 | 0.9999765 | -3.411414 |
cg05905482 | chr16 | 22207553 |
|
OpenSea | -0.8705145 | -4.380715 | -6.361905 | 0.0000396 | 0.9999765 | -3.426244 | |||
cg06753055 | chr15 | 40228656 |
|
chr15:40226210-40226631 | S_Shelf | EIF2AK4 | Body | 0.8532322 | 1.588910 | 6.287176 | 0.0000442 | 0.9999765 | -3.433993 |
cg27179327 | chr22 | 51066859 |
|
chr22:51066107-51067051 | Island | ARSA;ARSA;ARSA;ARSA;ARSA | TSS1500;TSS1500;TSS1500;TSS1500;TSS1500 | -0.8623289 | -5.720339 | -6.275171 | 0.0000450 | 0.9999765 | -3.435255 |
cg15407916 | chr18 | 5133225 |
|
OpenSea | -1.0635897 | 3.550668 | -6.224045 | 0.0000485 | 0.9999765 | -3.440683 | |||
cg22188917 | chr6 | 43138180 |
|
chr6:43138711-43140292 | N_Shore | SRF | TSS1500 | -1.0633309 | -3.701277 | -6.179868 | 0.0000518 | 0.9999765 | -3.445444 |
cg20850829 | chr2 | 55646538 |
|
chr2:55646621-55647329 | N_Shore | CCDC88A;CCDC88A;CCDC88A;CCDC88A;CCDC88A;CCDC88A | 1stExon;1stExon;1stExon;5’UTR;5’UTR;5’UTR | 0.9471775 | -5.105669 | 6.059595 | 0.0000620 | 0.9999765 | -3.458750 |
cg11858249 | chr21 | 45079790 |
|
chr21:45077671-45079821 | Island | HSF2BP;RRP1B | TSS1500;Body | 0.7795903 | -4.933768 | 6.039472 | 0.0000639 | 0.9999765 | -3.461026 |
cg00786952 | chr1 | 21763130 |
|
chr1:21763070-21763416 | Island | 1.1501735 | -4.475003 | 6.021161 | 0.0000656 | 0.9999765 | -3.463110 | ||
cg00140914 | chr17 | 44859215 |
|
OpenSea | WNT3 | Body | -1.0902420 | 1.783406 | -6.020199 | 0.0000657 | 0.9999765 | -3.463220 | |
cg24326130 | chr6 | 32811997 |
|
chr6:32811494-32811839 | S_Shore | PSMB8;PSMB8 | Body;TSS200 | 0.7980946 | -4.711303 | 5.955631 | 0.0000725 | 0.9999765 | -3.470667 |
cg24985071 | chr1 | 185126361 |
|
chr1:185125850-185126705 | Island | SWT1;TRMT1L;SWT1;SWT1;TRMT1L | 5’UTR;TSS200;1stExon;5’UTR;TSS1500 | -0.9618703 | -5.273609 | -5.943504 | 0.0000738 | 0.9999765 | -3.472083 |
cg08344081 | chr6 | 41339785 |
|
chr6:41339236-41340027 | Island | -0.7355960 | -5.824034 | -5.894639 | 0.0000795 | 0.9999765 | -3.477844 | ||
cg07751341 | chr19 | 12848092 |
|
chr19:12848278-12848586 | N_Shore | ASNA1 | TSS1500 | -1.1036569 | -4.558074 | -5.856010 | 0.0000844 | 0.9999765 | -3.482463 |
cg23561766 | chr14 | 50998480 |
|
chr14:50998577-50999711 | N_Shore | MAP4K5;MAP4K5;ATL1 | Body;Body;TSS1500 | -0.8288611 | -4.271157 | -5.843770 | 0.0000860 | 0.9999765 | -3.483938 |
cg05240976 | chr2 | 54787135 |
|
chr2:54785026-54785969 | S_Shore | SPTBN1;SPTBN1 | Body;Body | -0.8814228 | -5.412744 | -5.696999 | 0.0001078 | 0.9999765 | -3.502085 |
cg03546814 | chr1 | 12498784 |
|
OpenSea | VPS13D;VPS13D | Body;Body | 1.1694721 | -3.098589 | 5.633903 | 0.0001189 | 0.9999765 | -3.510152 | |
cg13445358 | chr12 | 53661749 |
|
chr12:53661928-53662429 | N_Shore | ESPL1 | TSS1500 | -0.8170765 | -4.198784 | -5.609503 | 0.0001236 | 0.9999765 | -3.513316 |
cg09666237 | chr17 | 18128581 |
|
chr17:18128577-18128821 | Island | LLGL1 | TSS1500 | -0.6334495 | -4.535014 | -5.591907 | 0.0001270 | 0.9999765 | -3.515613 |
cg02085891 | chr1 | 9256865 |
|
chr1:9258565-9258956 | N_Shore | -0.7945559 | -5.127125 | -5.478465 | 0.0001519 | 0.9999765 | -3.530736 | ||
cg18933904 | chr3 | 187461439 |
|
chr3:187461974-187462197 | N_Shore | BCL6 | 5’UTR | -0.7941410 | -4.615164 | -5.460913 | 0.0001562 | 0.9999765 | -3.533125 |
#diagnosis:0,3.080605e-05
design_tw <- model.matrix(~ Twin_Group + diagnosis )
fit_tw <- lmFit(mvals, design_tw)
fit2_tw <- eBayes(fit_tw)
summary(decideTests(fit2_tw))
## (Intercept) Twin_Group2 Twin_Group3 Twin_Group4 Twin_Group6 Twin_Group7
## Down 247391 9532 5404 5422 3987 4134
## NotSig 39652 759118 792733 790954 791606 795732
## Up 515604 33997 4510 6271 7054 2781
## Twin_Group8 Twin_Group12 Twin_Group13 diagnosis
## Down 3593 4886 6461 0
## NotSig 794321 794189 792486 802647
## Up 4733 3572 3700 0
top <- topTable(fit2_tw,coef="diagnosis",num=Inf, sort.by = "P")
nsig <- sum(top$adj.P.Val < 0.05)
sum(top$P.Value< 0.05)
## [1] 14778
output <-merge(ann_sub,top,by.x="Name",by.y="row.names")
output <- output[order(output$P.Value),]
write.csv(output,file="limma_blood_diagnosis.csv",row.names=FALSE)
head(output,30) %>% kbl(caption="diagnosis") %>% kable_paper("hover", full_width = F)
Name | chr | pos | strand | Islands_Name | Relation_to_Island | UCSC_RefGene_Name | UCSC_RefGene_Group | logFC | AveExpr | t | P.Value | adj.P.Val | B |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cg03643559 | chr10 | 124757121 |
|
OpenSea | IKZF5 | Body | 0.4071168 | 0.4238158 | 5.399880 | 0.0001754 | 0.9999989 | -2.119538 | |
cg13620413 | chr1 | 212235894 |
|
OpenSea | DTL;DTL;DTL | 5’UTR;Body;Body | -0.3446894 | 3.5177546 | -5.255890 | 0.0002207 | 0.9999989 | -2.174991 | |
cg09119495 | chr5 | 90252465 |
|
OpenSea | ADGRV1;ADGRV1 | Body;Body | 0.4023156 | -1.4703628 | 5.177953 | 0.0002503 | 0.9999989 | -2.205961 | |
cg09809932 | chr1 | 6515597 |
|
chr1:6514108-6516325 | Island | ESPN | Body | -0.4251736 | -5.4865756 | -5.168133 | 0.0002544 | 0.9999989 | -2.209912 |
cg15980797 | chr6 | 137813648 |
|
chr6:137814355-137815202 | N_Shore | OLIG3;OLIG3 | 1stExon;3’UTR | 0.4830796 | -3.5461377 | 5.138311 | 0.0002670 | 0.9999989 | -2.221977 |
cg05608508 | chr16 | 15140886 |
|
OpenSea | NTAN1 | Body | 0.4911798 | 4.9277255 | 5.113885 | 0.0002778 | 0.9999989 | -2.231934 | |
cg23272193 | chr13 | 77901449 |
|
chr13:77903398-77903872 | N_Shore | MYCBP2 | TSS1500 | 0.4929036 | -5.2686441 | 5.111727 | 0.0002788 | 0.9999989 | -2.232817 |
cg19088141 | chr1 | 113056151 |
|
chr1:113050813-113052301 | S_Shelf | WNT2B;WNT2B | Body;Body | 0.3418715 | 3.0113422 | 5.098103 | 0.0002850 | 0.9999989 | -2.238404 |
cg08481520 | chr3 | 110789352 |
|
chr3:110790149-110791401 | N_Shore | PVRL3-AS1;PVRL3;PVRL3 | TSS1500;TSS1500;TSS1500 | 0.4070263 | -4.7221702 | 5.032268 | 0.0003175 | 0.9999989 | -2.265704 |
cg16956665 | chr11 | 125479362 |
|
OpenSea | STT3A | Body | 0.6696878 | 0.6660224 | 5.023038 | 0.0003223 | 0.9999989 | -2.269572 | |
cg11006267 | chr5 | 139017424 |
|
chr5:139017133-139017668 | Island | 0.4351828 | -5.9444345 | 5.014290 | 0.0003270 | 0.9999989 | -2.273247 | ||
cg03062264 | chr7 | 134354807 |
|
OpenSea | BPGM;BPGM;BPGM | Body;Body;Body | 0.3103958 | -4.0944066 | 5.005887 | 0.0003315 | 0.9999989 | -2.276786 | |
cg26240231 | chr7 | 1148101 |
|
chr7:1149179-1150306 | N_Shore | C7orf50;C7orf50;C7orf50 | Body;Body;Body | -0.3485023 | 3.2237614 | -4.968365 | 0.0003526 | 0.9999989 | -2.292687 |
cg04406808 | chr11 | 43702245 |
|
chr11:43702016-43702597 | Island | HSD17B12;HSD17B12 | 5’UTR;1stExon | -0.4750830 | -4.8290504 | -4.863746 | 0.0004194 | 0.9999989 | -2.337910 |
cg00830735 | chr10 | 93393238 |
|
chr10:93392667-93393147 | S_Shore | PPP1R3C | TSS1500 | -0.3070775 | -3.2560593 | -4.837906 | 0.0004378 | 0.9999989 | -2.349282 |
cg10764907 | chr7 | 158886532 |
|
chr7:158886367-158886595 | Island | VIPR2 | Body | 0.4184330 | 2.8988197 | 4.834167 | 0.0004406 | 0.9999989 | -2.350934 |
cg02733698 | chr1 | 208084824 |
|
chr1:208084098-208084513 | S_Shore | CD34;CD34 | TSS200;TSS200 | 0.2886961 | -3.7135497 | 4.822465 | 0.0004492 | 0.9999989 | -2.356116 |
cg25032595 | chr13 | 96204978 |
|
chr13:96204691-96205496 | Island | CLDN10;CLDN10;CLDN10;CLDN10 | 5’UTR;1stExon;Body;Body | -0.3770303 | -4.5040270 | -4.773131 | 0.0004879 | 0.9999989 | -2.378147 |
cg04324167 | chr11 | 129842470 |
|
OpenSea | PRDM10;PRDM10 | 5’UTR;5’UTR | -0.5488210 | 1.0338084 | -4.757719 | 0.0005007 | 0.9999989 | -2.385091 | |
cg07655025 | chr19 | 12835001 |
|
chr19:12833104-12833574 | S_Shore | TNPO2 | TSS200 | -0.4410381 | -4.3361600 | -4.750070 | 0.0005071 | 0.9999989 | -2.388548 |
cg19074669 | chr2 | 8260068 |
|
OpenSea | LINC00299 | Body | -0.4037790 | 1.8878291 | -4.716698 | 0.0005364 | 0.9999989 | -2.403715 | |
cg13365972 | chr11 | 1629275 |
|
OpenSea | HCCA2;KRTAP5-3 | Body;1stExon | 0.2935409 | 0.8693092 | 4.712810 | 0.0005399 | 0.9999989 | -2.405491 | |
cg23146534 | chr7 | 99149191 |
|
chr7:99149508-99149807 | N_Shore | C7orf38 | 5’UTR | 0.3568616 | -3.7440973 | 4.695541 | 0.0005559 | 0.9999989 | -2.413402 |
cg05012902 | chr17 | 8065517 |
|
chr17:8065909-8066494 | N_Shore | VAMP2 | Body | 0.4978009 | -3.3075049 | 4.675448 | 0.0005750 | 0.9999989 | -2.422654 |
cg00905457 | chr10 | 98015413 |
|
OpenSea | BLNK;BLNK;BLNK;BLNK;BLNK;BLNK;BLNK;BLNK;BLNK | Body;Body;Body;Body;Body;Body;Body;Body;Body | -0.5439586 | 1.1262740 | -4.663317 | 0.0005870 | 0.9999989 | -2.428264 | |
cg18253799 | chr17 | 78069191 |
|
OpenSea | CCDC40 | Body | 0.5289079 | 4.6851023 | 4.654237 | 0.0005960 | 0.9999989 | -2.432475 | |
cg06979656 | chr7 | 116409579 |
|
OpenSea | MET;MET | Body;Body | -0.3182983 | 3.3518182 | -4.645955 | 0.0006045 | 0.9999989 | -2.436325 | |
cg09115762 | chr1 | 228591111 |
|
chr1:228593811-228594713 | N_Shelf | TRIM11 | Body | -0.3274110 | 4.0106091 | -4.644123 | 0.0006063 | 0.9999989 | -2.437178 |
cg21498965 | chr19 | 12863540 |
|
chr19:12865419-12865825 | N_Shore | BEST2 | 1stExon | -0.3621138 | 2.6455151 | -4.643169 | 0.0006073 | 0.9999989 | -2.437622 |
cg01919488 | chr2 | 71558589 |
|
chr2:71558723-71559525 | N_Shore | ZNF638;ZNF638 | TSS1500;TSS1500 | -0.3119749 | -3.4363917 | -4.594476 | 0.0006596 | 0.9999989 | -2.460450 |
#SRS:0,1.895198e-07
design_tw <- model.matrix(~ Twin_Group + SRS )
fit_tw <- lmFit(mvals, design_tw)
fit2_tw <- eBayes(fit_tw)
summary(decideTests(fit2_tw))
## (Intercept) Twin_Group2 Twin_Group3 Twin_Group4 Twin_Group6 Twin_Group7
## Down 215912 4732 5776 2996 4794 5816
## NotSig 111628 787424 792699 796948 789217 793429
## Up 475107 10491 4172 2703 8636 3402
## Twin_Group8 Twin_Group12 Twin_Group13 SRS
## Down 4594 3420 2438 0
## NotSig 791812 797045 799034 802647
## Up 6241 2182 1175 0
top <- topTable(fit2_tw,coef="SRS",num=Inf, sort.by = "P")
head(top)
## logFC AveExpr t P.Value adj.P.Val B
## cg21058391 -0.02879180 1.171893 -7.095354 1.116883e-05 0.381132 2.986096
## cg23996714 -0.02957017 -3.834259 -6.884670 1.508379e-05 0.381132 2.669287
## cg03715919 -0.02491278 4.010281 -6.494544 2.671957e-05 0.381132 2.067037
## cg21549639 -0.02858546 -2.903668 -6.480119 2.730112e-05 0.381132 2.044375
## cg12093819 -0.01999452 3.134778 -6.337027 3.385323e-05 0.381132 1.818043
## cg25724515 -0.02123326 3.783982 -6.295747 3.603923e-05 0.381132 1.752231
nsig <- sum(top$adj.P.Val < 0.05)
sum(top$P.Value< 0.05)
## [1] 105055
output <-merge(ann_sub,top,by.x="Name",by.y="row.names")
output <- output[order(output$P.Value),]
write.csv(output,file="limma_blood_SRS.csv",row.names=FALSE)
head(output,30) %>% kbl(caption="SRS score") %>% kable_paper("hover", full_width = F)
Name | chr | pos | strand | Islands_Name | Relation_to_Island | UCSC_RefGene_Name | UCSC_RefGene_Group | logFC | AveExpr | t | P.Value | adj.P.Val | B |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cg21058391 | chr4 | 160027487 |
|
chr4:160023787-160025437 | S_Shelf | -0.0287918 | 1.171893 | -7.095354 | 1.12e-05 | 0.381132 | 2.9860959 | ||
cg23996714 | chr8 | 103666229 |
|
chr8:103666157-103668861 | Island | KLF10;KLF10;KLF10;KLF10 | Body;TSS200;TSS200;TSS200 | -0.0295702 | -3.834259 | -6.884670 | 1.51e-05 | 0.381132 | 2.6692871 |
cg03715919 | chr22 | 41605644 |
|
OpenSea | L3MBTL2 | Body | -0.0249128 | 4.010281 | -6.494544 | 2.67e-05 | 0.381132 | 2.0670373 | |
cg21549639 | chr19 | 45394156 |
|
chr19:45393833-45394992 | Island | TOMM40;TOMM40;TOMM40 | TSS1500;TSS1500;TSS1500 | -0.0285855 | -2.903668 | -6.480119 | 2.73e-05 | 0.381132 | 2.0443749 |
cg12093819 | chr21 | 30118661 |
|
OpenSea | -0.0199945 | 3.134778 | -6.337027 | 3.39e-05 | 0.381132 | 1.8180434 | |||
cg25724515 | chr11 | 131926464 |
|
OpenSea | NTM;NTM;NTM;NTM | Body;Body;Body;Body | -0.0212333 | 3.783981 | -6.295746 | 3.60e-05 | 0.381132 | 1.7522306 | |
cg09331760 | chr9 | 132926455 |
|
OpenSea | -0.0254694 | 3.079046 | -6.220647 | 4.04e-05 | 0.381132 | 1.6319035 | |||
cg25859812 | chr15 | 99441745 |
|
OpenSea | IGF1R | Body | -0.0214454 | 3.350382 | -6.164398 | 4.40e-05 | 0.381132 | 1.5412739 | |
cg14500206 | chr7 | 131223393 |
|
OpenSea | PODXL;PODXL | Body;Body | -0.0245284 | 3.926922 | -6.127991 | 4.66e-05 | 0.381132 | 1.4823827 | |
cg03860992 | chr5 | 161273013 |
|
OpenSea | GABRA1 | TSS1500 | -0.0371557 | 2.070269 | -6.067546 | 5.11e-05 | 0.381132 | 1.3842081 | |
cg03627896 | chr16 | 30934334 |
|
chr16:30933637-30935774 | Island | NCRNA00095 | Body | -0.0318163 | -3.501236 | -6.026692 | 5.45e-05 | 0.381132 | 1.3175691 |
cg06833636 | chr12 | 12659232 |
|
OpenSea | DUSP16 | Body | -0.0365255 | 1.229402 | -6.012294 | 5.57e-05 | 0.381132 | 1.2940293 | |
cg25247582 | chr2 | 22754866 |
|
OpenSea | -0.0213127 | 3.216373 | -5.998832 | 5.69e-05 | 0.381132 | 1.2719947 | |||
cg11911679 | chr2 | 182520919 |
|
chr2:182521221-182521927 | N_Shore | CERKL;CERKL;CERKL;CERKL;CERKL;CERKL;CERKL | Body;Body;Body;Body;Body;Body;Body | -0.0192322 | 2.487683 | -5.974525 | 5.91e-05 | 0.381132 | 1.2321443 |
cg25073705 | chr11 | 1008290 |
|
chr11:1007921-1008343 | Island | AP2A2 | Body | -0.0287487 | 4.987648 | -5.970697 | 5.95e-05 | 0.381132 | 1.2258627 |
cg10014923 | chr9 | 131597992 |
|
OpenSea | CCBL1;CCBL1;CCBL1;CCBL1;CCBL1 | Body;Body;Body;Body;Body | -0.0205366 | 3.575841 | -5.946456 | 6.18e-05 | 0.381132 | 1.1860281 | |
cg25349621 | chr10 | 65185619 |
|
OpenSea | JMJD1C | Body | -0.0219793 | 2.924361 | -5.926093 | 6.38e-05 | 0.381132 | 1.1525032 | |
cg24796554 | chr11 | 128565519 |
|
chr11:128562671-128565011 | S_Shore | FLI1;FLI1 | Body;5’UTR | -0.0258670 | -4.685528 | -5.901892 | 6.62e-05 | 0.381132 | 1.1125874 |
cg02609271 | chr15 | 92398726 |
|
chr15:92396013-92397682 | S_Shore | SLCO3A1;SLCO3A1 | Body;Body | -0.0194659 | 2.966990 | -5.866407 | 7.01e-05 | 0.381132 | 1.0539133 |
cg02576920 | chr4 | 76996888 |
|
OpenSea | ART3;ART3;ART3 | 5’UTR;5’UTR;5’UTR | -0.0263779 | 2.264277 | -5.840509 | 7.30e-05 | 0.381132 | 1.0109838 | |
cg03034673 | chr7 | 106670287 |
|
OpenSea | -0.0214507 | 2.281965 | -5.811119 | 7.65e-05 | 0.381132 | 0.9621551 | |||
cg24793746 | chr8 | 1252864 |
|
OpenSea | -0.0186354 | 4.729247 | -5.792388 | 7.88e-05 | 0.381132 | 0.9309724 | |||
cg10125291 | chr4 | 4139916 |
|
OpenSea | -0.0385878 | 2.929353 | -5.780874 | 8.02e-05 | 0.381132 | 0.9117822 | |||
cg22011526 | chr6 | 36857605 |
|
chr6:36853590-36853927 | S_Shelf | C6orf89 | Body | -0.0370114 | 2.015564 | -5.749296 | 8.44e-05 | 0.381132 | 0.8590557 |
cg05303408 | chr6 | 20534748 |
|
OpenSea | CDKAL1;CDKAL1 | 1stExon;5’UTR | 0.0236652 | -4.661956 | 5.731876 | 8.67e-05 | 0.381132 | 0.8299123 | |
cg26817186 | chr1 | 188340817 |
|
OpenSea | -0.0238569 | 2.750575 | -5.720987 | 8.83e-05 | 0.381132 | 0.8116734 | |||
cg19963546 | chr6 | 148449297 |
|
OpenSea | -0.0198382 | 3.362010 | -5.710127 | 8.98e-05 | 0.381132 | 0.7934669 | |||
cg12066726 | chr1 | 35297677 |
|
OpenSea | -0.0170382 | 3.595962 | -5.681247 | 9.41e-05 | 0.381132 | 0.7449733 | |||
cg01424561 | chr7 | 106481485 |
|
OpenSea | -0.0214755 | 4.455325 | -5.675229 | 9.50e-05 | 0.381132 | 0.7348527 | |||
cg12173308 | chr7 | 47390824 |
|
OpenSea | TNS3 | Body | -0.0237873 | 3.260284 | -5.669683 | 9.58e-05 | 0.381132 | 0.7255228 |
#iiq:0,1.326967e-05
design_tw <- model.matrix(~ Twin_Group + iiq )
fit_tw <- lmFit(mvals, design_tw)
fit2_tw <- eBayes(fit_tw)
summary(decideTests(fit2_tw))
## (Intercept) Twin_Group2 Twin_Group3 Twin_Group4 Twin_Group6 Twin_Group7
## Down 248598 10008 12858 11360 5968 8335
## NotSig 32816 771176 782303 777593 784202 789527
## Up 521233 21463 7486 13694 12477 4785
## Twin_Group8 Twin_Group12 Twin_Group13 iiq
## Down 6657 41852 158158 97403
## NotSig 784214 747025 624450 690484
## Up 11776 13770 20039 14760
top <- topTable(fit2_tw,coef="iiq",num=Inf, sort.by = "P")
head(top)
## logFC AveExpr t P.Value adj.P.Val B
## cg04468444 -0.9134611 1.823403 -9.471934 3.478678e-07 0.03696148 6.265245
## cg24575266 -0.7229819 1.090382 -8.890445 7.133129e-07 0.03696148 5.717139
## cg23438384 -0.6267848 0.159518 -8.656717 9.614420e-07 0.03696148 5.484546
## cg02894209 -0.6930069 -3.599365 -8.651787 9.675755e-07 0.03696148 5.479562
## cg22557012 -0.7919297 1.045933 -8.614486 1.015359e-06 0.03696148 5.441740
## cg17257934 0.5566920 2.853856 8.214053 1.720148e-06 0.03696148 5.023644
nsig <- sum(top$adj.P.Val < 0.05)
sum(top$P.Value< 0.05)
## [1] 265932
output <-merge(ann_sub,top,by.x="Name",by.y="row.names")
output <- output[order(output$P.Value),]
write.csv(output,file="limma_blood_iIQ.csv",row.names=FALSE)
head(output,30) %>% kbl(caption="inverse IQ") %>% kable_paper("hover", full_width = F)
Name | chr | pos | strand | Islands_Name | Relation_to_Island | UCSC_RefGene_Name | UCSC_RefGene_Group | logFC | AveExpr | t | P.Value | adj.P.Val | B |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cg04468444 | chr3 | 124354566 |
|
OpenSea | KALRN;KALRN | Body;Body | -0.9134611 | 1.8234031 | -9.471934 | 3.0e-07 | 0.0369615 | 6.265245 | |
cg24575266 | chr5 | 38559733 |
|
chr5:38556222-38557563 | S_Shelf | LIFR-AS1;LIFR;LIFR-AS1 | Body;5’UTR;Body | -0.7229819 | 1.0903824 | -8.890446 | 7.0e-07 | 0.0369615 | 5.717139 |
cg23438384 | chr6 | 12050022 |
|
OpenSea | HIVEP1 | Body | -0.6267848 | 0.1595180 | -8.656717 | 1.0e-06 | 0.0369615 | 5.484546 | |
cg02894209 | chr15 | 43028463 |
|
chr15:43028413-43029346 | Island | CDAN1 | Body | -0.6930069 | -3.5993655 | -8.651787 | 1.0e-06 | 0.0369615 | 5.479562 |
cg22557012 | chr17 | 67138792 |
|
OpenSea | ABCA6 | TSS1500 | -0.7919297 | 1.0459327 | -8.614486 | 1.0e-06 | 0.0369615 | 5.441740 | |
cg17257934 | chr12 | 131690459 |
|
OpenSea | LINC01257 | Body | 0.5566920 | 2.8538564 | 8.214053 | 1.7e-06 | 0.0369615 | 5.023644 | |
cg14552672 | chr2 | 111752564 |
|
OpenSea | ACOXL | Body | -0.7051687 | 0.9782751 | -8.208317 | 1.7e-06 | 0.0369615 | 5.017492 | |
cg21250898 | chr8 | 12652814 |
|
OpenSea | LOC340357;LINC00681 | Body;Body | -0.7957907 | 1.4895465 | -8.152590 | 1.9e-06 | 0.0369615 | 4.957473 | |
cg06250511 | chr8 | 126231813 |
|
OpenSea | NSMCE2 | Body | -0.7063101 | 0.6481511 | -7.889909 | 2.7e-06 | 0.0369615 | 4.668501 | |
cg22222965 | chr14 | 91948818 |
|
OpenSea | PPP4R3A;PPP4R3A | Body;Body | -0.9378657 | 0.9602483 | -7.883407 | 2.7e-06 | 0.0369615 | 4.661219 | |
cg17312424 | chr4 | 95517497 |
|
OpenSea | PDLIM5;PDLIM5;PDLIM5;PDLIM5;PDLIM5;PDLIM5 | Body;5’UTR;Body;Body;Body;Body | -0.8858171 | 1.3814562 | -7.856026 | 2.8e-06 | 0.0369615 | 4.630487 | |
cg12443616 | chr12 | 7959662 |
|
OpenSea | 0.5282220 | -4.9272362 | 7.848517 | 2.8e-06 | 0.0369615 | 4.622041 | |||
cg07250516 | chr18 | 52275086 |
|
OpenSea | -0.5992332 | 2.8193183 | -7.834423 | 2.9e-06 | 0.0369615 | 4.606163 | |||
cg26286934 | chr3 | 181417051 |
|
chr3:181413014-181414022 | S_Shelf | SOX2-OT;SOX2-OT;SOX2-OT;SOX2-OT;SOX2-OT;SOX2-OT | Body;Body;Body;Body;Body;Body | -0.6359582 | 1.6015191 | -7.817897 | 3.0e-06 | 0.0369615 | 4.587507 |
cg08568736 | chr20 | 1757780 |
|
chr20:1757779-1758134 | Island | -0.5132923 | -3.8137235 | -7.686918 | 3.5e-06 | 0.0369615 | 4.438201 | ||
cg08341589 | chr15 | 59971009 |
|
chr15:59968889-59969096 | S_Shore | BNIP2 | Body | -0.7603199 | 0.0753735 | -7.681287 | 3.6e-06 | 0.0369615 | 4.431725 |
cg24837026 | chr3 | 155607265 |
|
OpenSea | GMPS | Body | -0.5741611 | 4.3566518 | -7.669545 | 3.6e-06 | 0.0369615 | 4.418204 | |
cg27608402 | chr3 | 152787564 |
|
OpenSea | -0.8036066 | 0.6518530 | -7.649644 | 3.7e-06 | 0.0369615 | 4.395239 | |||
cg25104558 | chr1 | 21872684 |
|
OpenSea | ALPL;ALPL;ALPL | 5’UTR;5’UTR;5’UTR | -0.8786846 | 0.8985256 | -7.575218 | 4.1e-06 | 0.0369615 | 4.308819 | |
cg19889859 | chr1 | 67672609 |
|
OpenSea | IL23R;IL23R | ExonBnd;Body | -0.5604408 | 2.9833920 | -7.569380 | 4.2e-06 | 0.0369615 | 4.302005 | |
cg19561774 | chr6 | 160679690 |
|
chr6:160679377-160679701 | Island | SLC22A2 | 1stExon | -0.4301370 | 4.0257152 | -7.516633 | 4.5e-06 | 0.0369615 | 4.240197 |
cg01068931 | chr17 | 70460238 |
|
OpenSea | LINC00673 | Body | 0.4933991 | 2.7541635 | 7.495424 | 4.6e-06 | 0.0369615 | 4.215223 | |
cg19178585 | chr12 | 109971145 |
|
OpenSea | UBE3B;UBE3B | Body;Body | -0.5313279 | 2.8843057 | -7.475270 | 4.8e-06 | 0.0369615 | 4.191427 | |
cg05434396 | chr8 | 12652932 |
|
OpenSea | LOC340357;LINC00681 | Body;Body | -0.7076171 | 1.8078986 | -7.421156 | 5.2e-06 | 0.0369615 | 4.127224 | |
cg16253870 | chr12 | 68959172 |
|
OpenSea | -0.7887365 | 1.7549876 | -7.383071 | 5.5e-06 | 0.0369615 | 4.081764 | |||
cg14551152 | chr1 | 246271438 |
|
OpenSea | SMYD3;SMYD3 | Body;Body | -0.8289026 | 0.8391214 | -7.380123 | 5.5e-06 | 0.0369615 | 4.078236 | |
cg21602651 | chr1 | 220397618 |
|
OpenSea | RAB3GAP2 | Body | -0.6727089 | 1.0222872 | -7.349104 | 5.7e-06 | 0.0369615 | 4.041029 | |
cg12058390 | chr7 | 4885521 |
|
OpenSea | RADIL | Body | -0.4618408 | -2.9685392 | -7.327176 | 5.9e-06 | 0.0369615 | 4.014634 | |
cg12667941 | chr1 | 8450904 |
|
OpenSea | RERE;RERE;RERE | 5’UTR;Body;Body | -0.7574051 | 0.2086911 | -7.326099 | 5.9e-06 | 0.0369615 | 4.013336 | |
cg02438517 | chr1 | 167523547 |
|
chr1:167522469-167523070 | S_Shore | CREG1 | TSS1500 | -0.4740406 | -2.8724274 | -7.310770 | 6.1e-06 | 0.0369615 | 3.994838 |
#ilanguage:0,9.149182e-08
design_tw <- model.matrix(~ Twin_Group + ilanguage )
fit_tw <- lmFit(mvals, design_tw)
fit2_tw <- eBayes(fit_tw)
summary(decideTests(fit2_tw))
## (Intercept) Twin_Group2 Twin_Group3 Twin_Group4 Twin_Group6 Twin_Group7
## Down 249393 15379 20367 15499 6781 8973
## NotSig 31334 757149 770300 767557 781353 788514
## Up 521920 30119 11980 19591 14513 5160
## Twin_Group8 Twin_Group12 Twin_Group13 ilanguage
## Down 8683 106282 94082 140108
## NotSig 776403 669094 694176 635625
## Up 17561 27271 14389 26914
top <- topTable(fit2_tw,coef="ilanguage",num=Inf, sort.by = "P")
head(top)
## logFC AveExpr t P.Value adj.P.Val B
## cg16452467 -0.7352017 1.981872 -11.027956 5.632419e-08 0.01611082 8.073587
## cg19797280 -0.6465954 2.690812 -9.816791 2.200096e-07 0.01611082 6.996977
## cg23802117 -0.6488990 3.721327 -9.683595 2.576273e-07 0.01611082 6.868711
## cg04924454 -0.5897079 1.658075 -9.389367 3.673146e-07 0.01611082 6.577938
## cg00317081 -0.6541627 1.151801 -9.342842 3.888068e-07 0.01611082 6.531003
## cg08441285 -0.7674833 2.256906 -9.303528 4.080133e-07 0.01611082 6.491137
nsig <- sum(top$adj.P.Val < 0.05)
sum(top$P.Value< 0.05)
## [1] 289985
output <-merge(ann_sub,top,by.x="Name",by.y="row.names")
output <- output[order(output$P.Value),]
write.csv(output,file="limma_blood_ilanguage.csv",row.names=FALSE)
head(output,30) %>% kbl(caption="inverse language") %>% kable_paper("hover", full_width = F)
Name | chr | pos | strand | Islands_Name | Relation_to_Island | UCSC_RefGene_Name | UCSC_RefGene_Group | logFC | AveExpr | t | P.Value | adj.P.Val | B |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cg16452467 | chr1 | 46509145 |
|
OpenSea | PIK3R3;PIK3R3;PIK3R3;PIK3R3;PIK3R3 | 3’UTR;3’UTR;3’UTR;3’UTR;3’UTR | -0.7352017 | 1.981872 | -11.027956 | 1.0e-07 | 0.0161108 | 8.073587 | |
cg19797280 | chr5 | 132009731 |
|
OpenSea | IL4;IL4;IL4;IL4 | 5’UTR;5’UTR;1stExon;1stExon | -0.6465954 | 2.690812 | -9.816791 | 2.0e-07 | 0.0161108 | 6.996977 | |
cg23802117 | chr1 | 26625392 |
|
OpenSea | UBXN11;UBXN11;UBXN11 | Body;Body;Body | -0.6488990 | 3.721327 | -9.683595 | 3.0e-07 | 0.0161108 | 6.868711 | |
cg04924454 | chr7 | 26327799 |
|
chr7:26331463-26331944 | N_Shelf | -0.5897079 | 1.658075 | -9.389367 | 4.0e-07 | 0.0161108 | 6.577938 | ||
cg00317081 | chr7 | 38182566 |
|
OpenSea | -0.6541627 | 1.151801 | -9.342842 | 4.0e-07 | 0.0161108 | 6.531003 | |||
cg08441285 | chr7 | 37741388 |
|
OpenSea | -0.7674833 | 2.256906 | -9.303528 | 4.0e-07 | 0.0161108 | 6.491137 | |||
cg25926652 | chr2 | 201810588 |
|
OpenSea | ORC2L | Body | -0.7397377 | 2.450556 | -9.259294 | 4.0e-07 | 0.0161108 | 6.446052 | |
cg04765650 | chr10 | 50717412 |
|
OpenSea | ERCC6 | Body | -1.0424272 | 1.979610 | -9.222028 | 5.0e-07 | 0.0161108 | 6.407882 | |
cg22171706 | chr15 | 91158378 |
|
OpenSea | CRTC3;CRTC3 | Body;Body | -0.7518183 | 2.613924 | -9.149102 | 5.0e-07 | 0.0161108 | 6.332685 | |
cg21550248 | chr12 | 123011757 |
|
chr12:123011261-123011765 | Island | RSRC2;KNTC1;RSRC2;RSRC2 | TSS1500;TSS200;TSS1500;TSS1500 | -0.8617833 | -4.224074 | -9.140566 | 5.0e-07 | 0.0161108 | 6.323839 |
cg07958316 | chr17 | 67853145 |
|
OpenSea | LINC01483;LINC01483 | Body;Body | 0.5905435 | 2.416168 | 9.093584 | 5.0e-07 | 0.0161108 | 6.274991 | |
cg17312424 | chr4 | 95517497 |
|
OpenSea | PDLIM5;PDLIM5;PDLIM5;PDLIM5;PDLIM5;PDLIM5 | Body;5’UTR;Body;Body;Body;Body | -0.8755778 | 1.381456 | -8.895919 | 7.0e-07 | 0.0161108 | 6.066393 | |
cg12108564 | chr4 | 104454891 |
|
OpenSea | -0.6682651 | 3.100187 | -8.864030 | 7.0e-07 | 0.0161108 | 6.032269 | |||
cg04468444 | chr3 | 124354566 |
|
OpenSea | KALRN;KALRN | Body;Body | -0.8759047 | 1.823403 | -8.739686 | 8.0e-07 | 0.0161108 | 5.897941 | |
cg22611504 | chr10 | 52750754 |
|
chr10:52750956-52751765 | N_Shore | PRKG1 | TSS200 | -0.5961863 | -3.929255 | -8.725293 | 8.0e-07 | 0.0161108 | 5.882262 |
cg23452498 | chr5 | 144889607 |
|
OpenSea | -0.5558488 | 3.506532 | -8.620379 | 1.0e-06 | 0.0161108 | 5.767137 | |||
cg02873783 | chr11 | 110225729 |
|
OpenSea | -0.5898812 | 2.203426 | -8.602360 | 1.0e-06 | 0.0161108 | 5.747217 | |||
cg09399225 | chr9 | 123007911 |
|
OpenSea | MIR147 | TSS1500 | 0.4759751 | 2.301524 | 8.594000 | 1.0e-06 | 0.0161108 | 5.737960 | |
cg02595886 | chr6 | 37270436 |
|
OpenSea | TBC1D22B;TBC1D22B | Body;Body | -0.8495480 | 2.512721 | -8.579342 | 1.0e-06 | 0.0161108 | 5.721706 | |
cg15027446 | chr4 | 56484062 |
|
OpenSea | NMU;NMU;NMU;NMU | Body;Body;Body;Body | 0.5092146 | 1.967602 | 8.511648 | 1.1e-06 | 0.0161108 | 5.646267 | |
cg10409831 | chr8 | 30469883 |
|
OpenSea | GTF2E2 | Body | -0.6877905 | 4.251862 | -8.510512 | 1.1e-06 | 0.0161108 | 5.644996 | |
cg23412299 | chr11 | 127813919 |
|
OpenSea | 0.5737846 | 1.719428 | 8.498057 | 1.1e-06 | 0.0161108 | 5.631046 | |||
cg24485437 | chr6 | 139265331 |
|
OpenSea | REPS1;REPS1;REPS1;REPS1 | Body;Body;Body;Body | -0.9074396 | 1.984342 | -8.477866 | 1.2e-06 | 0.0161108 | 5.608388 | |
cg21639114 | chr6 | 130687884 |
|
chr6:130686414-130687736 | S_Shore | -0.7108508 | -2.495998 | -8.373044 | 1.3e-06 | 0.0161108 | 5.489862 | ||
cg21486250 | chr6 | 147478688 |
|
OpenSea | STXBP5-AS1 | Body | -0.5010170 | 2.716102 | -8.330417 | 1.4e-06 | 0.0161108 | 5.441230 | |
cg07453055 | chr1 | 11786594 |
|
OpenSea | -0.5922369 | 2.107664 | -8.327145 | 1.4e-06 | 0.0161108 | 5.437486 | |||
cg25684961 | chr10 | 75761004 |
|
chr10:75757484-75758227 | S_Shelf | VCL;VCL | Body;Body | -0.5727379 | 3.359333 | -8.283647 | 1.5e-06 | 0.0161108 | 5.387580 |
cg07426802 | chr8 | 60885377 |
|
OpenSea | 0.5294140 | 1.173708 | 8.283313 | 1.5e-06 | 0.0161108 | 5.387196 | |||
cg25291613 | chr6 | 145569051 |
|
OpenSea | 0.5217365 | 1.685947 | 8.275394 | 1.5e-06 | 0.0161108 | 5.378082 | |||
cg19178585 | chr12 | 109971145 |
|
OpenSea | UBE3B;UBE3B | Body;Body | -0.5236255 | 2.884306 | -8.265678 | 1.5e-06 | 0.0161108 | 5.366888 |
bDat = ilogit2(mvals)
bDat_new = getBeta(gmset_flt)
#View(bDat)
write.csv(bDat,file="ASD_blood_beta_onADOS_withintw_Nov27.csv",row.names=TRUE)
res <- read.csv("limma_blood_ADOS.csv")
TOPPROBES <- head(res$Name,9)
effect_plot <- function(PROBE) {
GENE <- res[which(res$Name==PROBE),"UCSC_RefGene_Name"]
GENE <- paste0(unique(unlist(strsplit(GENE,";"))),collapse=";")
HEADER=paste(GENE,PROBE)
BETAS <- ilogit2(mvals[rownames(mvals) == PROBE,])
plot(BETAS, ADOS, main = HEADER, ylab = "ADOS", xlab = "Beta Value")
regl5 <- lm(ADOS ~ BETAS)
SLOPE=signif(regl5$coefficients[2],3)
abline(regl5)
mycor <- cor.test(ADOS, BETAS, method = "pearson")
mycor_stat <- signif(mycor$estimate,3)
mycor_p <- signif(mycor$p.value,3)
SUBHEAD <- paste("R=",mycor_stat," p=",mycor_p," slope=",SLOPE, sep="")
mtext(SUBHEAD,cex=0.6)
}
par(mfrow=c(3,3))
sapply(TOPPROBES,effect_plot)
## $cg07655025
## NULL
##
## $cg18253799
## NULL
##
## $cg25032595
## NULL
##
## $cg16956665
## NULL
##
## $cg06705930
## NULL
##
## $cg18845598
## NULL
##
## $cg13069346
## NULL
##
## $cg12322146
## NULL
##
## $cg11568374
## NULL
pdf("effect_blood.pdf")
par(mfrow=c(3,3))
sapply(TOPPROBES,effect_plot)
## $cg07655025
## NULL
##
## $cg18253799
## NULL
##
## $cg25032595
## NULL
##
## $cg16956665
## NULL
##
## $cg06705930
## NULL
##
## $cg18845598
## NULL
##
## $cg13069346
## NULL
##
## $cg12322146
## NULL
##
## $cg11568374
## NULL
dev.off()
## png
## 2
par(mfrow=c(1,1))
Gene Ontology analysis (gometh): top 1000 probes (limma data).
sigCpGs_1k = res$Name[1:1000]
sigCpGs_1k = as.character(sigCpGs_1k)
all = res$Name
length(all)
# kegg
gometh_kegg <- gometh(sig.cpg = sigCpGs_1k, all.cpg = all, collection = "KEGG", prior.prob=TRUE)
gometh_kegg <- subset(gometh_kegg,DE>2)
gometh_kegg$FDR <- p.adjust(gometh_kegg$P.DE)
gometh_kegg <- gometh_kegg[order(gometh_kegg$P.DE),]
head( gometh_kegg , 20)
# GO terms
gometh_go <- gometh(sig.cpg = sigCpGs_1k, all.cpg = all, collection = "GO" , prior.prob=TRUE)
gometh_go <- subset(gometh_go,DE>2)
gometh_go$FDR <- p.adjust(gometh_go$P.DE)
gometh_go <- gometh_go[order(gometh_go$P.DE),]
head( gometh_go , 20)
Now specifically analyse hypermethylated probes
res2 <- subset(res,logFC>0)
sigCpGs_1k = res2$Name[1:1000]
sigCpGs_1k = as.character(sigCpGs_1k)
# kegg
gometh_kegg <- gometh(sig.cpg = sigCpGs_1k, all.cpg = all, collection = "KEGG", prior.prob=TRUE)
gometh_kegg <- subset(gometh_kegg,DE>2)
gometh_kegg$FDR <- p.adjust(gometh_kegg$P.DE)
gometh_kegg <- gometh_kegg[order(gometh_kegg$P.DE),]
head( gometh_kegg , 20)
# GO terms
gometh_go <- gometh(sig.cpg = sigCpGs_1k, all.cpg = all, collection = "GO" , prior.prob=TRUE)
gometh_go <- subset(gometh_go,DE>2)
gometh_go$FDR <- p.adjust(gometh_go$P.DE)
gometh_go <- gometh_go[order(gometh_go$P.DE),]
head( gometh_go , 20)
Now specifically analyse hypomethylated probes
res2 <- subset(res,logFC<0)
sigCpGs_1k = res2$Name[1:1000]
sigCpGs_1k = as.character(sigCpGs_1k)
# kegg
gometh_kegg <- gometh(sig.cpg = sigCpGs_1k, all.cpg = all, collection = "KEGG", prior.prob=TRUE)
gometh_kegg <- subset(gometh_kegg,DE>2)
gometh_kegg$FDR <- p.adjust(gometh_kegg$P.DE)
gometh_kegg <- gometh_kegg[order(gometh_kegg$P.DE),]
head( gometh_kegg , 20)
# GO terms
gometh_go <- gometh(sig.cpg = sigCpGs_1k, all.cpg = all, collection = "GO" , prior.prob=TRUE)
gometh_go <- subset(gometh_go,DE>2)
gometh_go$FDR <- p.adjust(gometh_go$P.DE)
gometh_go <- gometh_go[order(gometh_go$P.DE),]
head( gometh_go , 20)
#design matrix in regression
design_tw <- model.matrix(~ADOS+Twin_Group)
design_tw_dmrc <- model.matrix(~ADOS)
#myannotation <- cpg.annotate("array", mDat, analysis.type="differential", design=design_tw, coef=2, fdr=1)
myannotation <- cpg.annotate("array", mvals, what = "M",
arraytype = "EPIC", analysis.type="differential", design_tw, coef=2)
## Your contrast returned no individually significant probes. Try increasing the fdr. Alternatively, set pcutoff manually in dmrcate() to return DMRs, but be warned there is an increased risk of Type I errors.
dmrcoutput <- dmrcate(myannotation, lambda=1000, C=2, pcutoff=0.001)
## 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!
results.ranges <- data.frame(extractRanges(dmrcoutput, genome = "hg19") )
## snapshotDate(): 2022-10-31
## see ?DMRcatedata and browseVignettes('DMRcatedata') for documentation
## loading from cache
head(results.ranges, 20)
## seqnames start end width strand no.cpgs min_smoothed_fdr Stouffer
## 1 chr7 143746413 143746594 182 * 2 0.0003779910 0.9491839
## 2 chr11 125479352 125479362 11 * 2 0.0003779910 0.9491839
## 3 chr13 66437490 66437506 17 * 2 0.0008880616 0.9491839
## 4 chr1 4794912 4795114 203 * 3 0.0003779910 0.9775130
## 5 chr6 28945189 28945507 319 * 7 0.0003779910 0.9994569
## 6 chr19 12834767 12835206 440 * 8 0.0003779910 0.9999513
## HMFDR Fisher maxdiff meandiff overlapping.genes
## 1 0.8764716 0.9707790 -0.005090061 -0.003658126 <NA>
## 2 0.8764716 0.9707790 0.008347445 0.001441863 STT3A
## 3 0.8764716 0.9707790 -0.006440248 -0.004821590 <NA>
## 4 0.8764716 0.9923100 -0.009478235 -0.005155469 AJAP1
## 5 0.8869317 0.9999725 -0.006123642 -0.003685261 RN7SL471P
## 6 0.9017439 0.9999975 -0.007879880 -0.001744387 TNPO2
write.csv(results.ranges, file = "dmrcoutput.csv", row.names = TRUE)
sessionInfo()
## R version 4.2.2 Patched (2022-11-10 r83330)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.2 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
##
## attached base packages:
## [1] parallel stats4 stats graphics grDevices utils datasets
## [8] methods base
##
## other attached packages:
## [1] DMRcatedata_2.16.0
## [2] IlluminaHumanMethylation450kmanifest_0.4.0
## [3] IlluminaHumanMethylationEPICmanifest_0.3.0
## [4] kableExtra_1.3.4
## [5] mitch_1.10.0
## [6] FlowSorted.Blood.EPIC_2.2.0
## [7] ExperimentHub_2.6.0
## [8] AnnotationHub_3.6.0
## [9] BiocFileCache_2.6.0
## [10] dbplyr_2.3.1
## [11] DMRcate_2.12.0
## [12] ggplot2_3.4.1
## [13] reshape2_1.4.4
## [14] FlowSorted.Blood.450k_1.36.0
## [15] WGCNA_1.72-1
## [16] fastcluster_1.2.3
## [17] dynamicTreeCut_1.63-1
## [18] gplots_3.1.3
## [19] RColorBrewer_1.1-3
## [20] ruv_0.9.7.1
## [21] IlluminaHumanMethylationEPICanno.ilm10b2.hg19_0.6.0
## [22] limma_3.54.0
## [23] missMethyl_1.32.0
## [24] IlluminaHumanMethylationEPICanno.ilm10b4.hg19_0.6.0
## [25] IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.1
## [26] minfi_1.44.0
## [27] bumphunter_1.40.0
## [28] locfit_1.5-9.7
## [29] iterators_1.0.14
## [30] foreach_1.5.2
## [31] Biostrings_2.66.0
## [32] XVector_0.38.0
## [33] SummarizedExperiment_1.28.0
## [34] Biobase_2.58.0
## [35] MatrixGenerics_1.10.0
## [36] matrixStats_0.63.0
## [37] GenomicRanges_1.50.2
## [38] GenomeInfoDb_1.34.6
## [39] IRanges_2.32.0
## [40] S4Vectors_0.36.1
## [41] BiocGenerics_0.44.0
##
## loaded via a namespace (and not attached):
## [1] rappdirs_0.3.3 rtracklayer_1.58.0
## [3] GGally_2.1.2 R.methodsS3_1.8.2
## [5] tidyr_1.3.0 bit64_4.0.5
## [7] knitr_1.42 DelayedArray_0.24.0
## [9] R.utils_2.12.2 data.table_1.14.8
## [11] rpart_4.1.19 KEGGREST_1.38.0
## [13] RCurl_1.98-1.10 GEOquery_2.66.0
## [15] AnnotationFilter_1.22.0 doParallel_1.0.17
## [17] generics_0.1.3 GenomicFeatures_1.50.3
## [19] preprocessCore_1.60.2 RSQLite_2.3.0
## [21] bit_4.0.5 tzdb_0.3.0
## [23] webshot_0.5.4 xml2_1.3.3
## [25] httpuv_1.6.9 xfun_0.37
## [27] hms_1.1.2 jquerylib_0.1.4
## [29] evaluate_0.20 promises_1.2.0.1
## [31] fansi_1.0.4 restfulr_0.0.15
## [33] scrime_1.3.5 progress_1.2.2
## [35] readxl_1.4.2 caTools_1.18.2
## [37] DBI_1.1.3 htmlwidgets_1.6.1
## [39] reshape_0.8.9 purrr_1.0.1
## [41] ellipsis_0.3.2 dplyr_1.1.0
## [43] backports_1.4.1 permute_0.9-7
## [45] annotate_1.76.0 biomaRt_2.54.0
## [47] deldir_1.0-6 sparseMatrixStats_1.10.0
## [49] vctrs_0.6.0 ensembldb_2.22.0
## [51] cachem_1.0.7 withr_2.5.0
## [53] Gviz_1.42.0 BSgenome_1.66.2
## [55] checkmate_2.1.0 GenomicAlignments_1.34.0
## [57] prettyunits_1.1.1 mclust_6.0.0
## [59] svglite_2.1.1 cluster_2.1.4
## [61] lazyeval_0.2.2 crayon_1.5.2
## [63] genefilter_1.80.3 labeling_0.4.2
## [65] edgeR_3.40.2 pkgconfig_2.0.3
## [67] nlme_3.1-162 ProtGenerics_1.30.0
## [69] nnet_7.3-18 rlang_1.1.0
## [71] lifecycle_1.0.3 filelock_1.0.2
## [73] dichromat_2.0-0.1 cellranger_1.1.0
## [75] rngtools_1.5.2 base64_2.0.1
## [77] Matrix_1.5-3 Rhdf5lib_1.20.0
## [79] base64enc_0.1-3 beeswarm_0.4.0
## [81] viridisLite_0.4.1 png_0.1-8
## [83] rjson_0.2.21 bitops_1.0-7
## [85] R.oo_1.25.0 KernSmooth_2.23-20
## [87] rhdf5filters_1.10.0 blob_1.2.3
## [89] DelayedMatrixStats_1.20.0 doRNG_1.8.6
## [91] stringr_1.5.0 nor1mix_1.3-0
## [93] readr_2.1.4 jpeg_0.1-10
## [95] scales_1.2.1 memoise_2.0.1
## [97] magrittr_2.0.3 plyr_1.8.8
## [99] zlibbioc_1.44.0 compiler_4.2.2
## [101] BiocIO_1.8.0 illuminaio_0.40.0
## [103] Rsamtools_2.14.0 cli_3.6.0
## [105] DSS_2.46.0 htmlTable_2.4.1
## [107] Formula_1.2-5 MASS_7.3-58.3
## [109] tidyselect_1.2.0 stringi_1.7.12
## [111] highr_0.10 yaml_2.3.7
## [113] askpass_1.1 latticeExtra_0.6-30
## [115] grid_4.2.2 sass_0.4.5
## [117] VariantAnnotation_1.44.0 tools_4.2.2
## [119] rstudioapi_0.14 foreign_0.8-84
## [121] bsseq_1.34.0 gridExtra_2.3
## [123] farver_2.1.1 digest_0.6.31
## [125] BiocManager_1.30.20 shiny_1.7.4
## [127] quadprog_1.5-8 Rcpp_1.0.10
## [129] siggenes_1.72.0 BiocVersion_3.16.0
## [131] later_1.3.0 org.Hs.eg.db_3.16.0
## [133] httr_1.4.5 AnnotationDbi_1.60.0
## [135] biovizBase_1.46.0 colorspace_2.1-0
## [137] rvest_1.0.3 XML_3.99-0.13
## [139] splines_4.2.2 statmod_1.5.0
## [141] multtest_2.54.0 systemfonts_1.0.4
## [143] xtable_1.8-4 jsonlite_1.8.4
## [145] R6_2.5.1 echarts4r_0.4.4
## [147] Hmisc_5.0-1 pillar_1.8.1
## [149] htmltools_0.5.4 mime_0.12
## [151] glue_1.6.2 fastmap_1.1.1
## [153] BiocParallel_1.32.5 interactiveDisplayBase_1.36.0
## [155] beanplot_1.3.1 codetools_0.2-19
## [157] utf8_1.2.3 lattice_0.20-45
## [159] bslib_0.4.2 tibble_3.2.0
## [161] curl_5.0.0 gtools_3.9.4
## [163] GO.db_3.16.0 openssl_2.0.6
## [165] interp_1.1-3 survival_3.5-5
## [167] rmarkdown_2.20 munsell_0.5.0
## [169] rhdf5_2.42.0 GenomeInfoDbData_1.2.9
## [171] HDF5Array_1.26.0 impute_1.72.3
## [173] gtable_0.3.1