目录

  • 1. 设置阈值来显示对应的基因名
  • 2. 指定基因名展示

写在前面——之前写的RNA-seq(一到四)是根据别人文章中提到的数据进行一系列分析的,但是找公司做的单细胞测序,一般不需要自己进行数据清洗之类的操作,公司会直接给个clean_data,以及所有的你需要的文件,或者一个云系统的账号。所以我们最终要做的就是根据这些数据,来绘制达到文章发表级别的图,来说明我们实验想表达的事情。
注:本文虽然是RNA-seq——五,但与前几个使用的并不是同一个数据集,本文数据集是私有数据集。

参考:
给火山图上标记基因名字
火山图|给你geneList,帮我标到火山图上
多种方法在火山图上标记感兴趣基因(差异基因,或者通路)

1. 设置阈值来显示对应的基因名

library(readxl)
library(ggrepel)# 读取差异基因数据集
exprSet <- read_xlsx("allgene.xlsx")
colnames(exprSet) <- c("Gene ID", "Gene Symbol", "Type", "log2FC", "Pvalue", "Qvalue")# 设置阈值,整理数据
# 阈值不同,结果不同
cut_off_qvalue = 0.01
cut_off_logFC = 2
exprSet$Sig <- ifelse(exprSet$Qvalue < cut_off_qvalue & abs(exprSet$log2FC) >= cut_off_logFC, ifelse(exprSet$log2FC > cut_off_logFC ,'Up','Down'),'no-DEGs')exprSet <- data.frame(exprSet)
# tmp <- tmp %>% drop_na(Sig)
table(exprSet$Sig)ggplot(exprSet, aes(x = log2FC, y = -log10(Qvalue), colour=Sig)) +geom_point(alpha=0.4, size=3.5) +scale_color_manual(values=c("#546de5", "#d2dae2","#ff4757")) + xlim(c(-16, 16)) + # 辅助线geom_vline(xintercept=c(-cut_off_logFC,cut_off_logFC),lty=4,col="black",lwd=0.8) +geom_hline(yintercept = -log10(cut_off_qvalue),lty=4,col="black",lwd=0.8) +# 坐标轴labs(x="Fold Change", y="-log10 (Q-value)") +# 主题theme_bw() +# 标题ggtitle("Q-value vs Fold Change") +# 图例theme(plot.title = element_text(hjust = 0.5), legend.position="right", legend.title = element_blank() ) +  # 给点标上基因名geom_text_repel(# 可以设置跟上面不同的阈值,用数值替换即可data = subset(exprSet, exprSet$Qvalue < cut_off_qvalue & abs(exprSet$log2FC) >= cut_off_logFC),aes(label = Gene.Symbol), size = 3,box.padding = unit(0.5, "lines"),point.padding = unit(0.8, "lines"), segment.color = "black", show.legend = FALSE )




可以看到,有一千八百多个基因名无法显示,这里我们可以把qvalue和flod change设置的再严格一些,或者直接指定一些基因来标注。

2. 指定基因名展示

library(dplyr)
library(ggrepel)# 将geneList中的基因全部标注
# my_label <- label_1
# gene <- my_label$`Gene Symbol`
# gene <- data.frame(gene)
# gene$geneList <- gene$gene
# tmp <- exprSet %>% left_join(gene,by = c("Gene.Symbol" = "gene"))# 简单粗暴的标注
gene_tmp <- c("'cfd'", "'c9'", "'fga'", "'c3a.1'", "'fgg'","'il2rga'", "'ccl25b'", "'cxcl8b.3'", "'xcr1b.2'", "'ccl20a.3'","'mhc2dab'", "'col1a2'", "'gna14'", "'akt1'", "'fcer1g'","'ptgdsb'", "'ptgdsb.2'", "'ggt1a'", "'pla2g12b'", "'ptges'", "'ptgs2a'","'il1b'")
gene_tmp <- data.frame(gene_tmp)
gene_tmp$geneList <- gene_tmp$gene_tmptmp <- exprSet %>% left_join(gene_tmp,by = c("Gene.Symbol" = "gene_tmp"))ggplot(tmp, aes(x = log2FC, y = -log10(Qvalue), colour=Sig)) +geom_point(alpha=0.4, size=3.5) +scale_color_manual(values=c("#546de5", "#d2dae2","#ff4757")) + xlim(c(-16, 16)) + # 辅助线geom_vline(xintercept=c(-cut_off_logFC,cut_off_logFC),lty=4,col="black",lwd=0.8) +geom_hline(yintercept = -log10(cut_off_qvalue),lty=4,col="black",lwd=0.8) +# 坐标轴labs(x="Fold Change",y="-log10 (Q-value)")+theme_bw()+ggtitle("Q-value vs Fold Change")+# 图例theme(plot.title = element_text(hjust = 0.5), legend.position="right", legend.title = element_blank() ) +  geom_label_repel(aes(label=geneList), fontface="bold",color="grey50", box.padding=unit(0.35, "lines"),point.padding=unit(0.5, "lines"), segment.colour = "grey50")



竟然有几个不显示,估计字体设置的太大了,挤不下。方法掌握,之后就可以自己慢慢的去调数值了。

RNA-seq——五、根据差异基因画火山图、在火山图上标记基因名相关推荐

  1. RNA-seq结果图片如何解读(火山图、韦恩图、聚类热图和折线图)

    在RNA-seq项目中,常见的结果包括:火山图.韦恩图.聚类热图.log2(ratios)折线图.有向无环图.散点图.代谢通路图.蛋白互作图等.今天我们先来一起学习火山图.韦恩图.聚类热图和折线图的解 ...

  2. BIC无代码绘制差异基因火山图

    无代码绘制差异基因火山图 Volcano plot | 别再问我这为什么是火山图 一文解释了火山图如何解读.不太难看懂,而一旦看懂了,图也就知道怎么绘制了. 假设我们已经有了一个差异基因鉴定后的表格文 ...

  3. ImageGP/BIC无代码绘制差异基因火山图

    无代码绘制差异基因火山图 Volcano plot | 别再问我这为什么是火山图 一文解释了火山图如何解读.不太难看懂,而一旦看懂了,图也就知道怎么绘制了. 假设我们已经有了一个差异基因鉴定后的表格文 ...

  4. NBIS单细胞教程:差异基因(五)

    Seurat_StepV_DEG 此文章是通过学习瑞典国家生物信息学基础设施(NBIS) 所开放的单细胞分析教程加上网上所查找的资料,自身的理解所形成的,可能会有不足之处.该部分是对不同集群之间的差异 ...

  5. 0055-【生物数据库】-如何进行RNA差异基因KEGG注释分析-kobas在线分析

    1. 有参物种使用gene ID的方法 1. 差异基因文件准备 只需要用到两列 ENTREZ_GENE_ID logFC geneNames ENTREZ_GENE_ID normalAve tumo ...

  6. edgeR/limma/DESeq2差异基因分析→ggplot2作火山图→biomaRt转换ID并注释

    请一定看这里:写下来只是为了记录一些自己的实践,当然如果能对你有所帮助那就更好了,欢迎大家和我交流 三者区别 三者区别 差异分析流程: 1 初始数据 2 标准化(normalization):DESe ...

  7. python基因差异分析_TCGA的差异基因分析

    在分析TCGA数据库里的RNA-seq数据之前,先了解一下TCGA样本的id名称里的小秘密:参考文章:TCGA的样本id里藏着分组信息 根据文章里的内容,我查看了前一篇文章里我下载的count文件(利 ...

  8. python基因差异分析_玉米RNA-seq测序数据差异基因分析

    原标题:玉米RNA-seq测序数据差异基因分析 huanying今天给大家分享一个非常棒的玉米转录组的流程分析.原文作者是cxge,首发于omicshare论坛,阅读原文可跳转至本文的帖子哦~ 软件及 ...

  9. 送书|高通量数据中批次效应的鉴定和处理(四)- 在差异基因鉴定过程中移除批次效应...

    生物信息学习的正确姿势 NGS系列文章包括NGS基础.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞测序分析  ...

  10. 一文掌握RNA seq,RNA seq课程大汇总

    RNA测序(RNA-seq)在过往十年里逐渐成为全转录组水平分析差异基因表达和研究mRNA差异剪接必不可少的工具.RNA-seq帮助大家对RNA生物学的理解会越来越全面:从转录本在何时何地转录到RNA ...

最新文章

  1. 转Redis性能测试
  2. 联想笔记本计算机服务在哪里,北京联想电脑服务站都在哪里?我在宣武门应当到哪里去修电脑呢?(高额悬赏 )...
  3. 获取商品列表(Feign)
  4. 解决Java版CKFinder无法显示缩略图问题
  5. UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figur
  6. 【视频码率==文件传输大小等通用计算】
  7. C#中结构体排序方法(Array.sort() + ICompare)
  8. java局部内部类_Java 局部内部类、匿名内部类详解
  9. 超实用的JavaScript技巧及最佳实践(下)
  10. cgroup学习(六)——attach task
  11. 康拓电梯卡延期与通楼修改教程
  12. Vue 3 中文文档来啦!
  13. 闪讯(NetKeeper)——OpenWrt安装闪讯(NetKeeper)插件(校园网电信宽带闪讯(NetKeeper)认证解决方案)
  14. 推荐几个很实用的编程网站
  15. 2022芒果TV算法赛_用户下一个观看视频预测_baseline_CF召回YoutubeDNN
  16. 百度快照不更新是什么原因导致的
  17. windows性能监控Perfmon
  18. iOS-QQ分享功能实现
  19. 神级:程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结
  20. java kdj macd_MACD、BOLL、KDJ 三大组合精准把握趋势与买卖!

热门文章

  1. 串口调试助手和网络调试助手
  2. javascript实现根据汉字获取拼音或者获取拼音首字母
  3. ARM嵌入式开发,高通MSM8937核心板h
  4. 计算机修改WINDOWS版本,Windows OEM修改器
  5. C语言运算符优先级(超详细)
  6. LayUI树形表格treetable使用详解
  7. 老男孩python最新_老男孩Python高级运维自动化实战 老男孩Python高级运维开发10期 全套Python视频教程...
  8. PWM波的原理和应用
  9. 【JVM】JVM基础
  10. arctanx麦克劳林公式推导过程_经典卢瑟福散射公式的初等推导