复盘总结(四)

特异性分析

#设定工作路径
setwd("D:/DMP_mk_")
#加载需要的R包
#rm(list=ls())
library(reshape2)
library(dplyr)

#加载需要的数据
rm(list = ls())
#单个甲基化位点
meth <- read.table("meth_1.txt")#改动的地方
exprset <- read.table("exprset.txt")
#启动子区域平均甲基化
meth_prom <- read.table("meth_prom_250updown.txt")#改动的地方
meth_spm <- read.table("meth_1.txt.spm") #改动的地方
#表达矩阵
exprset_spm <- read.table("exprset.txt.spm")
meth_prom_spm <- read.table("meth_prom_250updown.txt.spm")#改动的地方
#甲基化位点注释信息
load(file = "anno_1.Rdata")#改动的地方

#生成已经添加行名和列名的长数据
meth_prom_L <- cbind(rep(rownames(meth_prom),ncol(meth_prom)),melt(meth_prom))
colnames(meth_prom_L) <- c("gene","tissue","rate")
meth_prom_spm_L <- cbind(rep(rownames(meth_prom),ncol(meth_prom_spm)),melt(meth_prom_spm))
colnames(meth_prom_spm_L) <- c("gene","tissue","spm")
exprset_L <- cbind(rep(rownames(exprset),ncol(exprset)),melt(exprset))
colnames(exprset_L) <- c("gene","tissue","value")
exprset_spm_L <- cbind(rep(rownames(exprset),ncol(exprset_spm)),melt(exprset_spm))
colnames(exprset_spm_L) <- c("gene","tissue","spm")

meth_L <- melt(meth)
meth_spm_L <- melt(meth_spm)

#启动子甲基化与基因表达的关系
vs <- read.csv(file="vs.csv")
table(meth_prom_L[,1] %in% vs[,1])
gene_symbol <- vs[match(meth_prom_L[,1],vs[,1]),2]
tmp <- transform(meth_prom_L,gene = gene_symbol)
merge_1 <- merge(exprset_L,tmp,by = c("gene","tissue"))
length(merge_1)
png(file="correlation.png", bg="transparent")
plot(merge_1$rate,merge_1$value)
dev.off()
cor.test(merge_1$value, merge_1$rate,method = c("pearson"))

#组织特异性甲基化区域与组织特异性表达的关系
meth_prom_plus <- merge(meth_prom_L,meth_prom_spm_L,by = c("gene","tissue"))
exprset_plus <- merge(exprset_L,exprset_spm_L,by = c("gene","tissue"))
methpromspec <- filter(meth_prom_plus,spm>0.6)
exprsetspec <- filter(exprset_plus,spm>0.9)
vs <- read.csv(file="vs.csv")
table(methpromspec[,1] %in% vs[,1])
gene_symbol_1 <- vs[match(methpromspec[,1],vs[,1]),2]
tmp_1 <- transform(methpromspec,gene = gene_symbol_1)
merge_2 <- merge(tmp_1,exprsetspec,by = c("gene","tissue"))
nrow(methpromspec)
nrow(exprsetspec)
nrow(merge_2)

#组织特异性甲基化位点与组织特异性表达的关系
meth_spm_L <- filter(meth_spm_L,variable != "DPM")
meth_plus <- cbind(meth_L,meth_spm_L$value)
colnames(meth_plus) <- c("tissue","rate","spm")
meth_plus <- cbind(anno_1,meth_plus)#改动的地方
methspec <- filter(meth_plus,spm>0.9)
merge_3 <- merge(methspec,exprsetspec,by.x = "gene_symbol",by.y = "gene")
nrow(methspec)
nrow(merge_3)

得到1495个组织特异性的启动子甲基化区域。(由12118个启动子甲基化区域得到)
不重复的基因只有1392个,有一些基因在不只一个组织中,也有的基因在组织中重复出现。可能是多个ucsc name对应到了一个gene symbol上。
12059个组织特异性基因。(由36598个基因得到)
overlap数目为24个。(0.01605351)
32312个组织特异性的甲基化位点。(由715765个位点得到)
overlap数目为5455个。( 0.1688227)

1.相关性分析结果

> cor.test(merge_1$value, merge_1$rate,method = c("pearson"))

    Pearson's product-moment correlation

data:  merge_1$value and merge_1$rate
t = -5.1149, df = 143011, p-value = 3.142e-07
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.018705797 -0.008342175
sample estimates:
        cor 
-0.01352435 

2.epigenome association analysis

load(file = "united_data_1.Rdata")#改动的地方
coordinate <- data.frame(meth_1$chr,meth_1$start,meth_1$strand)#改动的地方
coordinate <- coordinate[rep(1:nrow(meth_1),times=ncol(meth)),]
meth_plus_ <- cbind(meth_plus,coordinate)
#筛选出特异性的甲基化位点
methspec <- filter(meth_plus_,spm>0.8)
#得到染色体位置对应的探针,做表观关联分析
colnames(methspec)[11] <- "chr"
colnames(methspec)[12] <- "pos"
colnames(methspec)[13] <- "strand"
library(IlluminaHumanMethylation450kanno.ilmn12.hg19)
 data(Locations)#含有染色体位置和探针信息
Locations <- data.frame(transform(Locations,"probe"=rownames(Locations)))
specific_probe <- data.frame(merge(Locations,methspec,
                                   by=c("chr","pos","strand")))
for (i in 1:13)
{
  assign(paste0(unique(specific_probe$tissue)[i]),
         unique(specific_probe[specific_probe$tissue==
                                 unique(specific_probe$tissue)[i],4]))
  filename=paste0(unique(specific_probe$tissue)[i],".txt")
  write.table(get(paste0(unique(specific_probe$tissue)[i])),
                  file = filename,quote = F,row.names = F,col.names = F)
}
#验证是否只在一个组织中特异
library(tidyfst)
methspec %>% count_dt(chr,pos,strand) -> count_methspec

使用工具:https://bigd.big.ac.cn/ewas/toolkit

3.对组织特异性的位点进行描述性统计

高甲基化or低甲基化;

> dim(methspec)
[1] 32312    10
> sum(methspec$rate<20)
[1] 26438
> sum(methspec$rate>70)
[1] 162

在基因的哪个区域;

 sum(methspec$prom==1)
[1] 14252
> sum(methspec$exon==1)
[1] 11419
> sum(methspec$intron==1)
[1] 14457
> sum(methspec$CpGi==1 | methspec$shores==1)
[1] 30196
> sum(methspec$CpGi==1)
[1] 28110
> sum(methspec$shores==1)
[1] 2086

在哪些组织;

4.组织特异性基因go和KEGG富集分析

setwd("D:/genes")
#加载包
library(clusterProfiler)
library(topGO)
library(DO.db)
library(pathview)
library(DOSE)
library(org.Hs.eg.db)
library(Rgraphviz)

i=5

  #得到gene_symbol
  unique(exprsetspec$tissue)[i]
  assign(paste0("x",i),unique(exprsetspec[exprsetspec$tissue==
                                         unique(exprsetspec$tissue)[i],1]))
  #id转换
  eg <- bitr( get(paste0("x",i)), fromType="SYMBOL", toType=c("ENTREZID"), 
              OrgDb="org.Hs.eg.db")
  head(eg)
  assign(paste0("genelist",i),eg[,2])
  #GO富集分析
  go <- enrichGO( get(paste0("genelist",i)), OrgDb = org.Hs.eg.db, ont='ALL',
                  pAdjustMethod = 'BH',
                  pvalueCutoff = 0.05, qvalueCutoff = 0.2,keyType = 'ENTREZID')
  #查看主要富集到哪条通路
  dim(go)
  dim(go[go$ONTOLOGY=='BP',])
  dim(go[go$ONTOLOGY=='CC',])
  dim(go[go$ONTOLOGY=='MF',])
  #简单的可视化
  filename=paste0("GObarplot_",unique(exprsetspec$tissue)[i],".png")
  png(file=filename, bg="transparent",height = 480,width = 700)
  barplot(go,showCategory=20,drop=T)
  dev.off()
  
  filename=paste0("GOdotplot_",unique(exprsetspec$tissue)[i],".png")
  png(file=filename, bg="transparent",height = 480,width = 700)
  dotplot(go,showCategory=20,orderBy = "x")
  dev.off()
  
  
  #KEGG富集分析
  if(F)
  {
    kegg <- enrichKEGG(
      get(paste0("genelist",i)),
      organism = "hsa",
      keyType = "kegg",
      pvalueCutoff = 0.05,
      pAdjustMethod = "BH",
      minGSSize = 10,
      maxGSSize = 500,
      qvalueCutoff = 0.2,
      use_internal_data = FALSE
    )
    head(kegg)
    dim(kegg)
    
    filename=paste0("kegg_",unique(exprsetspec$tissue)[i],".png")
    png(file=filename, bg="transparent")
    dotplot(kegg, showCategory=30,orderBy = "x")
    dev.off()
    
    
    
  }
  
  #疾病通路富集分析
  DO <- enrichDO(
    get(paste0("genelist",i)),
    ont = "DO",
    pvalueCutoff = 0.05,
    pAdjustMethod = "BH",
    minGSSize = 10,
    maxGSSize = 500,
    qvalueCutoff = 0.2,
    readable = FALSE
  )
  dim(DO)
  
  filename=paste0("DO_",unique(exprsetspec$tissue)[i],".png")
  png(file= filename, bg="transparent",height = 480,width = 480,)
  dotplot(DO, showCategory=20,orderBy = "x")
  dev.off()  
  i=i+1

不知道为什么循环运行之后图片就都显示不出来,没有找到具体的原因,所以只好手动。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容