01

简介

BiocManager是生物信息分析必不可少的R包之一,主要用来分析基因相关的各种问题,但是通常再R上安装这个程序包都挺麻烦的,搜索引擎上有非常多的关于如何安装的,因此这里只给个建议,R和RStudio都升级到最新包,目前R为4.0版本,具体的安装操作在下方官网中也有。

http://bioconductor.org/

1.1、程序包安装

采用RStudio进行分析

安装过程中会同步安装几十上百个需要用到的其他的包,安装时间较长,并且经常报错!!!

if (!requireNamespace("BiocManager", quietly = TRUE))    install.packages("BiocManager")BiocManager::install()BiocManager::install(c("GenomicFeatures", "AnnotationDbi"))BiocManager::install(c("DOSE","topGO","clusterProfiler","DBI"))BiocManager::install(c("org.Hs.eg.db","pathview"))

1.2、调用程序

library(DOSE)library(org.Hs.eg.db)library(topGO)#画GO图library(clusterProfiler)#富集分析library(pathview)#看KEGG pathwaylibrary(xlsx)library(ggplot2)

1.3、加载数据

数据格式,一列Uniprot号或者基因名或者酶的名称都可以:

# 导入数据datadata$Uniprot 

1.4、将基因名称进行互相转换

# 转换基因名keytypes(org.Hs.eg.db)#查看org.Hs.eg.db中含有的一些格式,共有26种ID = bitr(data$Uniprot,  fromType="UNIPROT",#现有数据的格式  toType=c("ENSEMBL", "ENTREZID","SYMBOL","UNIGENE","GENENAME","ENZYME"),#转化的目标格式  OrgDb="org.Hs.eg.db")#利用org.Hs.eg.db库进行转化write.csv(ID,file="基因转化结果.csv")head(ID,10)#展示转化后的前10行结果

org.Hs.eg.db中含有的一些格式:

转换结束后会提示有些会转换失败

结果保存

02

GO注释

GO分为三大类,也就是从三个方面对基因进行分类注释:

BP:Biological Process,  生物过程

MF:Molecular Function, 分子功能

CC:Cellular Component, 细胞组分

代码如下:

# 创建文件夹,文件夹名位GOdir.create("GO")# GO_CC 注释CC $ENTREZID,CC pdf(file="./GO/GO_CC.pdf",bg="transparent")#bg为背景色dotplot(CC,showCategory=12,colorBy="pvalue",font.size=8, title="GO_CC")# + theme(axis.text.y = element_text(angle = 45))barplot(CC,showCategory=12,title="GO_CC",font.size=8)plotGOgraph(CC)#GO分析画成树形图dev.off()write.table(as.data.frame(CC@result), file="./GO/GO_CC.xls", sep="\t", row.names=F)# GO_MF注释MF $ENTREZID, MF pdf(file="./GO/GO_MF.pdf", bg="transparent")dotplot(MF, showCategory=12, color="pvalue", font.size=8, title="GO_MF") # + theme(axis.text.y = element_text(angle = 45))barplot(MF, showCategory=12, title="GO_MF", font.size=8)plotGOgraph(MF)dev.off()write.table(as.data.frame(MF@result), file="./GO/GO_MF.xls", sep="\t", row.names=F)# GO_BP注释BP $ENTREZID, BP pdf(file="./GO/GO_BP.pdf", bg="transparent")dotplot(BP, showCategory=12, colorBy="pvalue", font.size=8, title="GO_BP") # + theme(axis.text.y = element_text(angle = 45))barplot(BP, showCategory=12, title="GO_BP", font.size=8)plotGOgraph(BP)dev.off()write.table(as.data.frame(BP@result), file="./GO/GO_BP.xls", sep="\t", row.names=F)#散点图绘制,以 GO_BP的结果绘制排名前20的write.table(as.data.frame(BP@result), file="./GO/GO_BP.txt", sep="\t", row.names=F)#保存为txt文件GO_BP"./GO/GO_BP.txt",header=T)GO_BP20 1:windowsFonts(Times=windowsFont("Times New Roman"))#字体options(digits=2)#设置数据未2位小数ggplot(GO_BP20,aes(x=Count,y=Description,colour=p.adjust,size=20))+#设置横纵坐标对应的数据  scale_colour_gradient(low="green",high="red")+#选择绘制的颜色带  theme(axis.text.x=element_text(color="black",size=rel(1)))+#设置坐标轴上标签的颜色及字体大小  theme(axis.text.y=element_text(color="black",size=rel(1)))+  theme(axis.title.x=element_text(color="blue",size=rel(1)))+  theme(axis.title.y=element_text(color="blue",size=rel(1)))+  theme(axis.line=element_line(colour="black",size=0.8))+#显示坐标轴线及线条粗细  theme(panel.grid.major.x=element_blank(),panel.grid.minor.x=element_blank())+#隐藏横网格线  theme(panel.grid.major.y=element_line(colour="white",linetype="dashed",size=0.2),        panel.grid.minor.y=element_line(colour="white",linetype="dashed",size=0.2))+#绘制Y轴上横线  theme(panel.background=element_rect(fill="white"))+#图背景颜色修改  ggtitle("GO_BP20")+#标题名称theme(plot.title=element_text(color="darkred",size=rel(1),hjust=0.5))+#大标题颜色,字体,大小,hjust=0.5横向坐标0.5(即居中),vjust表示纵向  theme(legend.position="right",legend.justification="center")+#移动图例至右下角坐标(1,0)  guides(size=FALSE)+#仅移除size图例  labs(x="Count",y="Pathways")+#设置坐标轴标题  theme(text=element_text(family="Times"))+#设置整个图片的字体  geom_point(alpha = 1,stroke=0,shape=20)#设置点透明度、形状ggsave(file="./GO/GO_BP20.png",dpi=600)#保存png,也可以pdf

运行结束后可获得如下结果文件

03

KEGG注释

代码及解释如下

# 创建文件夹,文件夹名位KEGGdir.create("KEGG")# KEGG 注释kegg "hsa",pvalueCutoff=kegg "ENTREZID")pdf(file="./KEGG/KEGG.pdf", bg="transparent")dotplot(kegg, showCategory=12, color="pvalue", font.size=8, title="KEGG")barplot(kegg, showCategory=12, title="KEGG", font.size=8)dev.off()write.table(as.data.frame(kegg@result), file="./KEGG/kegg.xls", sep="\t", row.names=F)dir.create("./KEGG/MAP")#创建文件夹#获取通路图kegg_df = as.data.frame(kegg)for(i in kegg_df$ID){  pathview(gene.data=ID$ENTREZID,           pathway.id=i,           species="hsa",           kegg.native=TRUE,           kegg.dir="./KEGG/MAP")}#散点图绘制write.table(as.data.frame(BP@result), file="./KEGG/kegg.txt", sep="\t", row.names=F)#保存为txt文件KEGG"./KEGG/kegg.txt",header=T)KEGG20 1:windowsFonts(Times=windowsFont("Times New Roman"))#字体options(digits=2)#设置数据未2位小数ggplot(KEGG20,aes(x=GeneRatio,y=Description,colour=p.adjust,size=Count))+#设置横纵坐标对应的数据  scale_colour_gradient(low="green",high="red")+#选择绘制的颜色带  theme(axis.text.x=element_text(color="black",size=rel(1)))+#设置坐标轴上标签的颜色及字体大小  theme(axis.text.y=element_text(color="black",size=rel(1)))+  theme(axis.title.x=element_text(color="blue",size=rel(1)))+  theme(axis.title.y=element_text(color="blue",size=rel(1)))+  theme(axis.line=element_line(colour="black",size=0.8))+#显示坐标轴线及线条粗细  theme(panel.grid.major.x=element_blank(),panel.grid.minor.x=element_blank())+#隐藏横网格线  theme(panel.grid.major.y=element_line(colour="white",linetype="dashed",size=0.2),        panel.grid.minor.y=element_line(colour="white",linetype="dashed",size=0.2))+#绘制Y轴上横线  theme(panel.background=element_rect(fill="white"))+#图背景颜色修改  ggtitle("KEGG20")+#标题名称  theme(plot.title=element_text(color="darkred",size=rel(1),hjust=0.5))+#大标题颜色,字体,大小  theme(legend.position="right",legend.justification="center")+  guides(size=FALSE)+#仅移除size图例  labs(x="Count",y="Pathways")+  theme(text=element_text(family="Times"))+#设置整个图片的字体  geom_point(alpha = 1,stroke=0,shape=20)#设置点透明度、形状ggsave(file="./KEGG/KEGG.png",dpi=600)#保存png,也可以pdf

运行结果

04

原始数据获取

后台回复:富集分析

R plot图片背景设置为透明_R语言数据可视化基因名称转换及KEGG/GO富集分析相关推荐

  1. R plot图片背景设置为透明_R语言绘图:使用主题提高图片的美感

    作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...

  2. R plot图片背景设置为透明_R语言入门第十二讲:基础绘图(二)------plot与par函数(1)...

    上一次给大家简单展示了plot函数的用法,以及par函数的使用.今天我们继续应用这两个函数,看看它的其他功能. 下面这个图是数据的一部分[1].我一直认为,作图简单,但关键是要知道数据在数据库中的格式 ...

  3. R plot图片背景设置为透明_R语言实战 牛国庆

    [toc] 第一章 1.3.2 R中帮助函数 R中用于管理R工作空间的函数 函数setwd()不会自动创建一个不存在的目录.如果必要的话,可以使用函数dir.create()来创建新目录,然后使用se ...

  4. R plot图片背景设置为透明_一文学会网络分析——Cooccurrence网络图在R中的实现...

    作者:陈亮  单位:中科院微生物所 编者按:在菌群月坛,在军科院听取王军组陈亮博士分享网络分析的经验,不仅使我对网络的背景知识有了更全面的认识,更使我手上一个关于菌根的课题有极大的启示.这么好的知识, ...

  5. R plot图片背景设置为透明_学习健明老师发布的R语言练习题的学习笔记(一)...

    学习者:骆栢维 题目来源:生信基石之R语言 初级10 个题目:http://www.bio-info-trainee.com/3793.html 备注:本文为笔者学习健明老师GitHub答案代码的学习 ...

  6. R plot图片背景设置为透明_数据科学06 | R语言程序设计模拟和R分析器

    模拟simulation ➢概率函数 概率函数通常用来生成特征已知的模拟数据,以及在统计函数中计算概率值. 对于任意分布有四种基本函数: 前缀 作用 d 产生随机数 r 估计概率分布的密度 p 估计累 ...

  7. R plot图片背景设置为透明_matplotlib设置颜色、标记、线条,让你的图像更加丰富...

    今天是数据处理专题的第11篇文章,我们继续来介绍matplotlib这个包的使用方法. 在上一篇文章当中我们介绍了matplotlib当中subplot的概念以及用法,今天我们将会来介绍matplot ...

  8. ggplot2设置坐标轴范围_R语言数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()...

    [R语言]高维数据可视化| ggplot2中会"分身术"的facet_wrap()与facet_grid()姐妹花​mp.weixin.qq.com facet_grid()形成由 ...

  9. Photoshop简单案例(7)——利用对象选择工具将图片背景设置为透明

    目录 一.项目介绍 二.基本流程 三.效果演示 四.拓展 一.项目介绍 工具栏中第四个工具包括三个工具:对象选择工具.快速选择工具和魔棒工具.这三个工具主要用于智能抠图,而本文中的将图片背景设置为透明 ...

最新文章

  1. C++知识点21——使用C++标准库(再谈string——string的搜索和数值转化)
  2. Gil Zilberfeld问答:敏捷产品的规划与管理
  3. java 信号量 countdown_Java计数器之CountDownLatch、CyclicBarrier、Semaphore
  4. python panda apply_python – Pandas – 关于apply函数缓慢的解释
  5. 5G NR 频率 带宽 栅格
  6. SQLlite在安卓中的基本详解和简单使用
  7. 20个优秀的前端css框架
  8. 深入浅出 eBPF: (Linux/Kernel/XDP/BCC/BPFTrace/Cillium)
  9. 汽车编程都是用matlab,MATLAB编程与汽车仿真应用
  10. ps打开闪退_PS教程派 | 水花四溅的草莓切块效果,如此简单!
  11. java 线性的排序算法_数据结构之排序算法Java实现(9)—— 线性排序之 基数排序算法...
  12. 雪花算法详解及存在问题
  13. 小规模45万免税,免的是增值税,没有企业所得税!
  14. 电子元器件选型——二极管
  15. 身份认证是计算机网络系统的用户,计算机网络知识:网络认证技术之身份认证技术...
  16. 【雅思大作文考官范文】——第六篇: 'parenting course' essay
  17. originPro2021(4)origin导出图片且去除demo水印
  18. GO语言基础-08-内建函数-delete(删除map的成员)
  19. android高级开发强化实战,高级Android开发强化实战[PDF][215.59MB]
  20. 去除chrome自动填充黄底样式

热门文章

  1. 161116、springmvc自己实现防止表单重复提交(基于注解)
  2. 计算机附录的相关文件,计算机化系统附录与计算机文件编制验证实际操作2.pptx...
  3. web开源框架大汇总
  4. 鸿蒙应用开发 | 文本框(Text)和编辑框(TextField)的功能与用法
  5. 【工作】python识别不同国家语言类型
  6. Springboot整合邮箱报错502解决方法
  7. Puppeteer + Nodejs 通用全屏网页截图方案(二)常用参数实现
  8. 【论文阅读】RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving
  9. html教程wap,HTML教程 WAP2.0的定义与XHTML MP
  10. 看不懂这些,你可能已经落伍了 | 经济学人早报精选20210913