一行代码绘制高分SCI火山图
一、概述
在近半年中,我读了很多的高分SCI文章,很多文章中都有多种不同的火山图,包括「普通的火山图、渐变火山图、以及包含GO通路信息的火山图」!
经过一段时间的文献阅读和资料查询,终于找到了一个好用而且简单的包——ggVolcano, 它是一个基于R语言和ggplot2绘图包开发的生物信息学数据可视化工具。它可以用于绘制火山图(Volcano plot),帮助研究者分析高通量实验数据,如基因表达谱或蛋白质组学数据,以识别差异表达或差异富集的基因或蛋白质。
二、数据集
1. 安装及使用
由于无法直接安装ggVolcano,我们需要下载devtools,通过devtools直接从github下载,代码如下:
# 下载器
install.packages("devtools")
library(devtools)
# 火山图
devtools::install_github("BioSenior/ggvolcano")
library(ggvolcano)
# 拼图
install.packages("patchwork")
library(patchwork)
# 渐变色色彩修改
install.packages("RColorBrewer")
library(RColorBrewer)
2. 读取数据
首先,我们需要读取aSAH数据集,查看数据集信息
data(deg_data)
head(deg_data,3)
数据集展示
row baseMean log2FoldChange lfcSE stat pvalue padj
GCR1 GCR1 7201.5782 2.244064 0.2004959 11.19256 4.434241e-29 2.153711e-25
OPI10 OPI10 1009.4171 -2.257454 0.2096469 -10.76789 4.880607e-27 1.185255e-23
AGA2 AGA2 249.1173 3.829474 0.3623263 10.56913 4.143136e-26 6.707736e-23
三、基础用法
ggVolcano绘制的火山图可以根据指定的差异表达或统计显著性阈值,将基因或蛋白质标记为显著差异的或富集的(例如p值小于0.05或fold change大于2),并且根据其差异表达或显著性水平值的高低,用颜色或大小进行编码。此外,它还支持在图中显示用户自定义的标注、注释或基因集富集分析结果,以帮助观察者更好地理解和解释结果。该包主要配置了三个函数:
1. 普通火山图:ggvolcano
- 方法参数解释:
result: DEG结果数据。 x: 对应于x轴的列名,默认为“log2FoldChange”。 y: 对应于y轴的列名,默认为“padj”。 pointSize: 点的大小。 pointShape: 点的形状。 fills: 包含点的填充颜色的向量。 colors: 包含点的画笔颜色的向量。 x_lab: x轴的标签。 y_lab: y轴的标签。 legend_title: 图例的标题。 legend_position: 图例的位置。您可以从“UL”–左上,“UR”–右上,“DL”–左下和“DR”–右下中选择一个位置。 log2FC_cut: log2FC的截止值。 FDR_cut: FDR的截止值。 add_line: 一个逻辑值,表示是否添加虚线,默认值为TRUE。 add_label: 一个逻辑值,表示是否添加基因标签,默认值为TRUE。 label: 对应于标签的列名。 label_number: 您想在图中显示多少基因标签。 custom_label: 包含您感兴趣的基因名称的向量,您想要添加到图中。 output: 一个逻辑值,表示是否保存图片,默认值为TRUE。 filename: 如果output=TRUE,请设置一个文件名。 - 代码演示
data <- add_regulate(deg_data, log2FC_name="log2FoldChange",fdr_name = "padj",log2FC = 1, fdr = 0.05) ggvolcano(data, x = "log2FoldChange", y = "padj",label = "row", label_number = 10, output = FALSE)
- 火山图样式修改
p1 <- ggvolcano(data, x = "log2FoldChange", y = "padj",fills = c("red","green","blue"),colors = c("red","green","blue"),label = "row", label_number = 8, output = FALSE)p2 <- ggvolcano(data, x = "log2FoldChange", y = "padj",label = "row", label_number = 8, output = FALSE,legend_position="DR")+ggsci::scale_color_aaas()+ggsci::scale_fill_aaas()
p1|p2

2. 渐变色火山图:gradual_volcano
- 方法参数解释:
result: DEG结果数据。 x: 对应于x轴的列名,默认为“log2FoldChange”。 y: 对应于y轴的列名,默认为“padj”。 pointSize: 点的大小。 pointShape: 点的形状。 fills: 包含点的填充颜色的向量。 colors: 包含点的画笔颜色的向量。 x_lab: x轴的标签。 y_lab: y轴的标签。 legend_title: 图例的标题。 legend_position: 图例的位置。您可以从“UL”–左上,“UR”–右上,“DL”–左下和“DR”–右下中选择一个位置。 log2FC_cut: log2FC的截止值。 FDR_cut: FDR的截止值。 add_line: 一个逻辑值,表示是否添加虚线,默认值为TRUE。 add_label: 一个逻辑值,表示是否添加基因标签,默认值为TRUE。 label: 对应于标签的列名。 label_number: 您想在图中显示多少基因标签。 custom_label: 包含您感兴趣的基因名称的向量,您想要添加到图中。 output: 一个逻辑值,表示是否保存图片,默认值为TRUE。 filename: 如果output=TRUE,请设置一个文件名。 - 代码演示
gradual_volcano(deg_data, x = "log2FoldChange", y = "padj",label = "row", label_number = 10, output = FALSE,legend_title="")

- 火山图样式修改
这里不能直接修改颜色了,需要引入RColorBrewer包,用来调整色彩。
p1 <- gradual_volcano(data, x = "log2FoldChange", y = "padj",fills = brewer.pal(5, "RdYlBu"),colors = brewer.pal(10, "RdYlBu"),label = "row", label_number = 10, output = FALSE,legend_title="")p2 <- gradual_volcano(data, x = "log2FoldChange", y = "padj",label = "row", label_number = 10, output = FALSE,legend_title="")+ggsci::scale_color_gsea()+ggsci::scale_fill_gsea()
p1|p2

3. GO通路火山图:term_volcano
参数和样式修改方法和上述两个方法类似,不再赘述,接下来展示基础使用方法:
data("term_data")term_volcano(deg_data, term_data,x = "log2FoldChange", y = "padj",label = "row", label_number = 10, output = FALSE,legend_background_fill = "green")

本文由博客一文多发平台 OpenWrite 发布!
相关文章:
一行代码绘制高分SCI火山图
一、概述 在近半年中,我读了很多的高分SCI文章,很多文章中都有多种不同的火山图,包括「普通的火山图、渐变火山图、以及包含GO通路信息的火山图」! 经过一段时间的文献阅读和资料查询,终于找到了一个好用而且简单的包…...
chmod是什么?cron是什么?
chmod 和 cron 是 Unix 和类 Unix 系统(如 Linux)的常用命令。 chmod:这是一个命令行工具,用于更改文件或目录的权限。在 Unix 和类 Unix 系统中,每个文件和目录都有一个访问权限集,该集定义了哪些用户可以…...
励志长篇小说《周兴和》书连载之三 十五岁时做父亲
十五岁时做父亲 周兴和的父亲一天天更衰老了。 他母亲身体也越来越是消瘦。近一两年来,她常常感到全身无力、胸口发堵、心慌气紧、吞咽困难,做什么事都力不从心了。 这时,他母亲不知是心血来潮,还是她预感到了什么,出…...
文件一直处于修改状态 git checkout 无法还原的问题解决方法
问题描述 最近在 RT-Thread 时,使用 Git 回退版本验证问题,后来 git pull 拉取最新代码后,发现里面有几个文件,一直为【修改】状态,并且无法还原,git checkout xxx git reset --hard 都用了,依旧…...
Julia入门-3、Julia包管理工具
文章目录 0、Julia 的包管理工具是Pkg1、使用Julia包管理工具过慢 0、Julia 的包管理工具是Pkg Julia 的包管理工具是Pkg,可以用于安装、更新、卸载和管理 Julia 中的软件包。以下是一些常用的 Pkg命令: Pkg.add("Package"):安装一…...
选择正确的 Azure 存储服务
Azure Storage 是 Microsoft 基于云的存储解决方案,提供了全面的现代存储服务。在本文中,我们将探讨各种可用的服务及其特定用例,使您能够选择最适合您需求的服务。 Azure Blob 存储 Azure Blob 存储是一项功能强大且可缩放的存储服务&…...
隐语团队研究成果再创佳绩,两篇论文分别被USENIX ATC‘23和IJCAI‘23接收!
“USENIX ATC年度技术会议”(USENIX ATC,USENIX Annual Technical Conference)是计算机系统领域的顶级学术会议之一。本年度 USENIX ATC’23将于7月10日至12日在美国波士顿召开。本次会议共投稿353篇论文,接收65篇,…...
美团数据指标体系搭建实战
在美团商家版中,美团为商家搭建的数据指标体系,很好的指导了商家的经营发展方向以及提供经营状况概览。 本文通过体验美团商家版经营数据子功能,对美团商家版数据指标体系搭建的情况做出一个概述。 美团商家版的店铺子功能下,…...
prometheus实战之五:飞书通知告警
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 《prometheus实战》系列链接 prometheus实战之一:用ansible部署prometheus实战之二:使用常见指标prometheus实战之三:告警…...
【华为OD机试真题】不含101的数(python版)100%通过率 超详细代码注释 代码解读
【华为OD机试真题 2022&2023】真题目录 @点这里@ 【华为OD机试真题】信号发射和接收 &试读& @点这里@ 【华为OD机试真题】租车骑绿道 &试读& @点这里@ 不含101的数 时间限制:1s空间限制:256MB限定语言:不限 题目描述: 小明在学习二进制时,发现了一…...
基于AT89C52单片机的交通信号灯设计
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87772657 源码获取 主要内容: 本次设计所提出的一种基于单片机技术的简易计算器的方案,能更好的解决计算机计算的问题,随着数字生活的到来&…...
chatGPT4.0-基于Python+Appium的APPUI关键字驱动自动化测试框架demo
以下是一个简单的UI关键字驱动+数据驱动的自动化测试框架代码示例,使用Python和Appium进行移动应用测试。我们将使用openpyxl库读取Excel数据,使用Appium-Python-Client库进行UI自动化测试。 首先,请确保已安装以下库: pip install openpyxl pip install Appium-Python-C…...
C++模板进阶
一、非类型模板参数 模板参数分为:类型形参、非类型形参 类型形参:class与typename都是参数类型 非类型形参:用一个常量作为模板的一个参数,一般是整型常量 #include<iostream> #include<array> using namespace …...
【人力资源管理】第4集 免费开源ERP: Odoo 16 Appraisal员工绩效评估 构建一体化企业人力资源管理
文章目录 前言一、概览二、主要功能1.设置定期的员工评估2.构建正确的评估3.设计您自己的调查4.自动评估过程 总结 前言 在员工工作中创建评估。同时审查员工表现。 一、概览 员工评价 评估内容 目标制定 评价指标 评价分析 二、主要功能 1.设置定期的员工评估 强化贵公司的…...
「AI 孙燕姿」翻唱华语乐坛歌曲爆红全网,AI 翻唱将带来哪些影响?是否会有版权等问题?
在某视频平台上,“AI孙燕姿”成了新网红,它翻唱过周杰伦的《发如雪》、翻唱过郭顶的《水星记》、翻唱过赵雷的《我记得》,受到了网友的追捧,甚至有网友宣布“这是2023年最火的声音”。 网上除了AI孙燕姿,还有AI周杰伦…...
路径规划算法:基于灰狼优化的路径规划算法- 附代码
路径规划算法:基于灰狼优化的路径规划算法- 附代码 文章目录 路径规划算法:基于灰狼优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法灰狼…...
推荐系统综述
目录 推荐系统架构1、传统推荐方式1.1 基于内容推荐(Content-Based recommendation,CB)1.2 协同过滤推荐(Collaborative Filtering recommendation, CF)1.2.0 UserCF举例:1. 2. 1 基于内存的推荐…...
SQLIST数据库编程
目录 数据库简介 1.常用数据库 2. SQLite基础 3.创建SQLite数据库 虚拟中sqlite3安装 基础SQL语句使用 sqlite3编程 数据库简介 1.常用数据库 大型数据库 :Oracle 中型数据库 :Server是微软开发的数据库产品,主要支持windows平台 小型数据库…...
vue2中操作对象的方法
在 Vue2 中,我们可以使用以下方法来操作对象: Vue.set(object, key, value):用于在 Vue 实例中添加响应式属性。它会确保添加的属性是响应式的,并触发视图更新。 Vue.delete(object, key):用于从 Vue 实例中删除属性。…...
左值引用、右值引用,std::move() 的汇编解释
1:左值引用 引用其实还是指针,但回避了指针这个名字。由编译器完成从地址中取值。以vs2019反汇编: 如图,指针和引用的汇编代码完全一样。但引用在高级语言层面更友好,对人脑。比如可以少写一个 * 号和 -> 。 &…...
2026年HR招聘偏好白皮书:这5项附加技能出现频率暴涨
2026 年的招聘市场,正在从“看你会什么岗位技能”,转向“看你能不能把岗位做得更智能”。HR筛简历时,越来越关注候选人的AI应用能力、数据化思维和业务落地能力。人社部近年发布的新职业中,已经出现生成式人工智能系统应用员、人工…...
鸿蒙系统微博应用锁常见问题解答
为微博设置应用锁后,不少用户会有各种疑问:忘记密码怎么办?会不会影响消息推送?能不能只锁定某些功能?应用锁耗电吗?本文将针对这些高频问题逐一解答,帮助您更好地使用鸿蒙系统(Harm…...
FeHelper前端助手:30+开发工具集,让你的浏览器变身效率神器
FeHelper前端助手:30开发工具集,让你的浏览器变身效率神器 【免费下载链接】FeHelper 😍FeHelper--Web前端助手(Awesome!Chrome & Firefox & MS-Edge Extension, All in one Toolbox!) 项目地址:…...
半导体元件(二极管/三极管/MOS管/IC)损坏诊断全解
半导体元件(二极管、三极管、MOS 管、集成电路)是 PCB 的核心功能单元,对过压、过流、ESD、高温极度敏感,损坏后直接导致电路功能失效、短路烧板。很多工程师维修时盲目更换芯片,不仅成本高,还易误判。一…...
股票买卖最佳时机:LeetCode121题解
题目LeetCode121给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取…...
Unity UI交互进阶:手把手教你打造一个支持单击、双击、长按的万能按钮组件
Unity UI交互进阶:手把手教你打造一个支持单击、双击、长按的万能按钮组件在游戏开发中,UI交互的流畅性和多样性直接影响玩家的游戏体验。想象一下,当你在开发一个RPG游戏的背包系统时,需要实现道具的单击查看详情、双击快速使用、…...
WarcraftHelper终极指南:魔兽争霸3兼容性问题一站式解决方案
WarcraftHelper终极指南:魔兽争霸3兼容性问题一站式解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为《魔兽争霸3》在现代电…...
通过用量看板分析团队大模型API消耗发现优化调用策略的机会
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过用量看板分析团队大模型API消耗发现优化调用策略的机会 作为团队的技术负责人,确保大模型API调用在满足业务需求的…...
免费抓包工具选型指南:Wireshark、Fiddler、mitmproxy、Charles实战对比
1. 抓包工具不是“黑科技”,而是网络世界的显微镜很多人第一次听说“抓包”,脑子里立刻浮现出黑客电影里满屏滚动的绿色代码、键盘敲得噼啪作响、三秒破解银行防火墙的画面。其实完全不是这样——抓包(Packet Capture)本质上就是把…...
招行+工行:ReAct(Reasoning + Acting) 讲清楚,并结合 金融场景(含自进化智能体) 给出可直接用的案例
下面我把 ReAct(Reasoning Acting) 讲清楚,并结合 ** 金融场景(含自进化智能体)** 给出可直接用的案例与话术,适合分享 / 汇报。一、ReAct 是什么(一句话)ReAct 推理(T…...
