TCGA_10

写在前面:本文为微信公众号:生信星球数据挖掘线上班的随堂笔记,感谢小洁老师的付出!

作业

今天先写作业,不然往后拖又不写作业了。

1. idmap annoGene geoChina
  • 对基因名进行注释/转换等的函数,出自jmzeng的annoprobe包。

如果前期没有进行对表达矩阵进行log处理,则图如下。


3.1 添加Entrezid列。

  • ENTREID适合做富集分析,因此需要转换↓。
  • 记得改种属!!
#4.【种属!】加ENTREZID列,用于富集分析(symbol转entrezid,然后inner_join)
library(ggplot2)
library(clusterProfiler)
library(org.Hs.eg.db)
s2e <- bitr(deg$symbol, 
            fromType = "SYMBOL",
            toType = "ENTREZID",
            OrgDb = org.Hs.eg.db)#人类!!如果不是人一定要改
#其他物种http://bioconductor.org/packages/release/BiocViews.html#___OrgDb
deg <- inner_join(deg,s2e,by=c("symbol"="SYMBOL"))

save(group_list,deg,logFC_t,P.Value_t,file = "step4output.Rdata")

4.绘制差异基因火山图/热图

  • 复杂的热图:ComplexHeatmap包
rm(list = ls()) 
load(file = "step1output.Rdata")
load(file = "step4output.Rdata")
#1.火山图----
library(dplyr)
library(ggplot2)
dat  = deg
for_label <- dat%>% 
  filter(abs(logFC)>logFC_t & P.Value < P.Value_t) %>%
  head(10)#取差异基因的前十个标上名字
p <- ggplot(data = dat, 
            aes(x = logFC, 
                y = -log10(P.Value))) +
  geom_point(alpha=0.4, size=3.5, 
             aes(color=change)) +
  ylab("-log10(Pvalue)")+
  scale_color_manual(values=c("blue", "grey","red"))+
  geom_vline(xintercept=c(-logFC_t,logFC_t),lty=4,col="black",lwd=0.8) +
  geom_hline(yintercept = -log10(P.Value_t),lty=4,col="black",lwd=0.8) +
  theme_bw()
p
#添加图片上的文字信息
volcano_plot <- p +
  geom_point(size = 3, shape = 1, data = for_label) +
  ggrepel::geom_label_repel(
    aes(label = symbol),
    data = for_label,
    color="black"
  )
volcano_plot
ggsave(plot = volcano_plot,filename = paste0(gse,"volcano.png"))
#2.差异基因热图----
load(file = 'step2output.Rdata')
x=deg$logFC 
names(x)=deg$probe_id 
#以下那行是根据logfc选取上下调30名的差异基因热图
#cg=c(names(head(sort(x),30)),names(tail(sort(x),30)))
#以下为对所有差异基因做热图
cg = deg$probe_id[deg$change !="stable"]#先根据列值$选出逻辑值,然后用列$来取
n=exp[cg,]
dim(n)
#作热图
library(pheatmap)
annotation_col=data.frame(group=group_list)
rownames(annotation_col)=colnames(n) 
library(ggplotify)
heatmap_plot <- as.ggplot(pheatmap(n,show_colnames =F,
                          show_rownames = F,
                          scale = "row",
                          #cluster_cols = F, 
                          annotation_col=annotation_col)) 
heatmap_plot
ggsave(heatmap_plot,filename = paste0(gse,"heatmap.png"))
load("pca_plot.Rdata")
library(patchwork)
(pca_plot + volcano_plot +heatmap_plot)+ plot_annotation(tag_levels = "A")
  • 挑选几个指定基因进行标注_更改for_label参数:
    filter(symbol %in% c(“基因1”,“基因2”,“基因3”。。。))

#代码----可以折叠

  • browseVignettes(“clusterProfiler”)找到Y叔写的关于GSEA的包包说明。

5. 绘制富集分析图


复杂数据分析

1. 配对数据:

  • 如GSE5109
    差异分析代码:


  • 绘制热图:有序因子


    热图
  • 使用ggpubr绘制差异基因的箱线图(需定义group)


2. 多分组数据

  • 策略1 :选出一个对照,其他分组分别与对照进行差异分析(需要向量/矩阵取子集)
  • 策略2: 两两对比
  • 策略3:wgca分析更多分组

3. 多个series联合

考虑批次效应:
1)选择来自同一芯片平台的series
2)需要处理批次效应Batch effect


蛋白互作

  1. 生成输入string的数据。
#制作string的输入数据
load("step4output.Rdata")
gene_up= deg[deg$change == 'up','symbol'] 
gene_down=deg[deg$change == 'down','symbol'] 
write.table(gene_up,
            file="upgene.txt",
            row.names = F,
            col.names = F,
            quote = F)
write.table(gene_down,
            file="downgene.txt",
            row.names = F,
            col.names = F,
            quote = F)
write.table(deg$symbol[1:200],
            file="diffgene.txt",
            row.names = F,
            col.names = F,
            quote = F)
  1. STRING网站:使用gene symbol。
  2. 在string生成的文件里下载tsv格式的文件。
    3.导入R
  3. 在R中导出绘制网络图的两个数据。
  4. 使用cytoscape重新绘制网络图。
  • 寻找hub核心基因:插件cytohHubba。
  • 寻找子网络:插件MCODE
#准备cytoscape的输入文件,把差异基因拿出来做蛋白质互作网络图
tsv = read.table("string_interactionsdiff.tsv",comment.char = "!",header = T)
tsv2 = tsv[,c(1,2,ncol(tsv))]
head(tsv2)
write.table(tsv2,
            file = "cyto.txt",
            sep = "\t",
            quote = F,
            row.names = F)

p = deg[deg$change != "stable",c("symbol","logFC","P.Value")]
head(p)
write.table(p,
            file = "deg.txt",
            sep = "\t",
            quote = F,
            row.names = F)

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

推荐阅读更多精彩内容