广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >R语言学习之火山图的绘制详解
  • 187
分享到

R语言学习之火山图的绘制详解

2024-04-02 19:04:59 187人浏览 泡泡鱼
摘要

目录火山图输入数据格式使用significant列绘制火山图自动计算significant列绘制火山图火山图中标记基因的名字火山图 火山图用于展示基因表达差异的分布,横轴为Log2

火山图

火山图用于展示基因表达差异的分布,横轴为Log2 Fold Change,越偏离中心差异倍数越大;纵轴为(-1)*Log10 P_adjust,值越大差异越显著。一般横轴越偏离中心的点其纵轴值也会比较大,因此呈现火山喷发的形状。

一步绘制火山图

输入数据格式

火山图需要的数据格式如下 (本文用到的数据文件名为volcano.txt,文末有下载链接,此处截取一部分作为例子,也可用来画图,只是数据少,效果不明显)

  • id: 不是必须的,但一般的软件输出结果中都会包含,表示基因名字。
  • log2FoldChange: 差异倍数的对数,一般的差异分析输出结果中也会给出对数处理的值, 因此程序没有提供这一步的计算操作。
  • padj: 多重假设检验矫正过的差异显著性P值;一般的差异分析输出结果为原始值,程序提供一个参数对其求取负对数。
  • significant: 可选列,标记哪些基因是上调、下调、无差异;若无此列或未在参数中指定此列,默认程序会根据padj列和log2FoldChange列根据给定的阈值自动计算差异基因,并作出不同颜色的标记。
  • label: 可选列,一般用于在图中标记出感兴趣的基因的名字。非-行的字符串都会标记在图上。
id	log2FoldChange	padj	significant	label
E00007	4.28238	0	EHBio_UP	A
E00008	-1.1036	0.476466843393901	Unchanged	-
E00009	-0.274368	1	Unchanged	-
E00010	4.62347	7.37606076333335e-103	EHBIO_UP	-
E00012	0.973987	0.482982440163204	Unchanged	-
E00017	-1.30205	0.000555693857439792	Baodian_UP	B
E00024	0.617636	2.78047837287061e-13	Unchanged	-
E00033	1.48669	2.56000581595275e-60	EHBIO_UP	-
E00034	-0.783716	0.00341521725291801	Unchanged	-
E00036	2.01592	6.03136656016401e-06	EHBIO_UP	C
E00040	-1.89657	4.73663890849056e-21	Baodian_UP	-
E00041	-0.268168	0.563429434558031	Unchanged	-
E00042	0.0861048	0.367700939634328	Unchanged	-
E00043	-1.19328	1.42673872027352e-153	Baodian_UP	-
E00044	-0.887981	2.43067804654905e-26	Unchanged	-
E00047	-0.610941	5.51696648645932e-57	Unchanged	-

使用significant列绘制火山图

# -f: 指定输入文件,格式如上
# -x: 指定横轴变量,值为输入文件中与取过对数的变化倍数相关的列的名字
# -y: 指定纵轴变量,值为输入文件中与P-value
#     (也可能是p-adj,是否取过对数都可以)相关的列的名字
# -P: 若为TRUE,则表示对<-y>指定的列进行-log10转换
# -L: 指定图例的位置
# -s: 指定差异基因列
# -S: 指定差异基因列不同的标签出现的顺序
sp_volcano.sh -f volcano.txt -x log2FoldChange -y padj -s significant -S "'EHBIO_UP', 'Baodian_UP', 'Unchanged'" -P TRUE -L top

这个图看上去还可以,没有太大的问题。但有部分点与最顶端的线重合了,这些点的pvalue为0,取负对数后为负无穷。另外在一些情况下,会存在部分基因的pvalue极小,使得整张图呈现一个压缩的趋势,大部分点偏安于图的下方,中间大段空白,最上面零星几个点。为了避免这种情况,程序设置了参数-M用于设定pvalue的最大的负对数,所有大于给定值的数,都会视为给定值。

# -M 10: 指定P-value(也可能是p-adj);若小于10^(-10),则为10^(-10)
#        用于部分p-value存在异常值,导致整个图都被压缩在最底部
p_volcano.sh -f volcano.txt -x log2FoldChange -y padj -s significant -S "'EHBIO_UP', 'Baodian_UP', 'Unchanged'" -P TRUE -L top -M 10

注意看纵轴的变化,和最上面排成一条线的一堆点。

自动计算significant列绘制火山图

若不存在significant列,程序会根据-F指定的参数计算并标记差异基因。-F的默认值为"0.05,1"(引号是必须的), 第一个数表示pvalue或padj,对应于<-y>列;第二个数表示对数转换的差异倍数,对应于<-x>列。

# <-F "0.05,1">, 默认值,故命令行中未写,引号是必须的
sp_volcano.sh -f volcano.txt -x log2FoldChange -y padj -P TRUE -L top

# -M 10: 与之前相同
sp_volcano.sh -f volcano.txt -x log2FoldChange -y padj -P TRUE -L top -M 10

火山图中标记基因的名字

# -l: label,在图中标记部分基因的名字;
# label为含有待标记基因名字的列名,此列中非<->的非空字符都会视为基因名字
sp_volcano.sh -f volcano.txt -x log2FoldChange -y padj -P TRUE -L top -M 10 -l label

label列中非-的值都会标记在图上。

今天先到这,前天提到的富集分析图,今天的火山图都是散点图的一种,后续介绍散点图时再对用到的R代码进行解读。需要绘图脚本的,还是请帮助转发下,谢谢。

数据文件链接 https://pan.baidu.com/s/1I3hi8Lr9IxTgNFJoN4zbag . 提取码:1234

到此这篇关于R语言学习之火山图的绘制详解的文章就介绍到这了,更多相关R语言绘制火山图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: R语言学习之火山图的绘制详解

本文链接: https://www.lsjlt.com/news/140931.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • R语言学习之火山图的绘制详解
    目录火山图输入数据格式使用significant列绘制火山图自动计算significant列绘制火山图火山图中标记基因的名字火山图 火山图用于展示基因表达差异的分布,横轴为Log2 ...
    99+
    2022-11-13
  • R语言学习之线图的绘制详解
    目录线图单线图多线图横轴文本线图线图 线图是反映趋势变化的一种方式,其输入数据一般也是一个矩阵。 单线图 假设有这么一个矩阵,第一列为转录起始位点及其上下游5 kb的区域,第二列为H...
    99+
    2022-11-13
  • R语言学习之基础绘图详解
    目录散点图曲线图条形图饼图R语言内置了一些基础的绘图函数,主要包括 散点图曲线图条形图饼图plotcurvebarplotpie 这些绘图函数参数各异,但有个别参数相对来说比较通用,...
    99+
    2023-03-22
    R语言基础绘图 R语言绘图
  • R语言绘图学习教程VennDiagram绘制venn
    目录导读一、模拟输入二、venn基础图三、个性化参数调整四、保存导读 使用VennDiagram函数包中的venn.diagram函数绘制三数据集venn图。 安装依赖包: # ve...
    99+
    2022-11-13
  • R语言学习ggplot2绘制统计图形包全面详解
    目录一、序二、ggplot2是什么?三、ggplot2能画出什么样的图?四、组装机器五、设计图纸六、机器的零件1. 零件——散点图1) 变换颜色2) 拟合曲线3) 变换大小4) 修改...
    99+
    2022-11-12
  • R语言作图之直方图histogram绘制过程详解
    先给大家介绍下R语言入门:直方图histogram的绘制,具体内容如下所示: 直方图和条形图最大的不同则是直方图可以用于显示出一个数据的频数,具有统计的作用,我们下面来看一一看直方图...
    99+
    2022-11-11
  • R语言学习VennDiagram包绘制韦恩图示例
    目录引言一 需要安装和导入的包二 使用函数及参数三 知道各个数据集的个数以及重叠(交叉)的个数2.1 两个已知数据集的韦恩图2.2 三个已知数据集的韦恩图四 根据数据集合绘制韦恩图4...
    99+
    2022-11-13
  • R语言编程学习绘制动态图实现示例
    在讨论级数时,可能需要比对前 n n n项和的变化情况,而随着 n n n的递增,通过动态图来反映这种变化会更加直观,而通过R语言绘制动态图也算是一门不那么初级的技术,所以在此添加一...
    99+
    2022-11-12
  • R语言绘制line plot线图示例详解
    目录Step1. 绘图数据的准备Step2. 绘图数据的读取Step3. 绘图所需package的安装、调用Step4. 绘图最近小仙同学在Nature Cell Biology上看...
    99+
    2022-11-13
  • R语言绘制维恩图ggvenn示例详解
    目录引言1.安装2.基础用法3.图形美化4.提取交集部分并输出引言 韦恩图,Venn diagram,常用图的一种,用来展示集合之间的特异性和共同性。现在有很多在线的网站都可以绘制,...
    99+
    2022-11-13
  • R语言学习笔记之lm函数详解
    在使用lm函数做一元线性回归时,发现lm(y~x+1)和lm(y~x)的结果是一致的,一直没找到两者之间的区别,经过大神们的讨论和测试,才发现其中的差别,测试如下: -------...
    99+
    2022-11-11
  • R语言绘制双坐标图的案例详解
    之前推送了一系列关于使用ggplot2包绘制统计图形的文章,有网友询问是否可以绘制双轴的统计图形。很抱歉,Hradly在设计ggplot2包时就没有将双轴图形功能考虑进来。难道R语言...
    99+
    2023-01-07
    R语言绘制双坐标图 R语言绘制坐标图
  • R语言利用ggplot2绘制QQ图和箱线图详解
    目录绘制qq图函数介绍例子绘制boxplot函数介绍例子利用分位点绘制箱线图将QQ图和箱线图进行融合函数介绍参数介绍注意事项例子绘制qq图 在ggplot2中绘制qq图需要两步,ge...
    99+
    2022-11-13
  • R语言数据可视化学习之图形参数修改详解
    1、图形参数的修改par()函数 我们可以通过使用par()函数来修改图形的参数,其调用格式为par(optionname=name, optionname=name,…)。当par...
    99+
    2022-11-11
  • Python可视化学习之seaborn绘制矩阵图详解
    目录本文内容速览1、绘图数据准备2、seaborn.pairplot加上分类变量修改调色盘x,y轴方向选取相同子集 x,y轴方向选取不同子集非对角线散点图加趋势线 ...
    99+
    2022-11-13
  • R语言学习之字符串和时间格式化详解
    目录字符串格式化转义字符时间格式化字符串函数字符串格式化 R语言字符串可用单引号' '或双引号" "来表示,二者唯一的区别是,单引号字符串不含单引...
    99+
    2023-03-21
    R语言字符串 时间格式化 R语言字符串 R语言 时间格式化
  • Go语言实战学习之流程控制详解
    目录1. 前言2. if分支3. for及for-range循环4. switch-case-fallthrough分支5. goto6. break和continue7. 跳出嵌套...
    99+
    2022-11-11
  • R语言绘制corrplot相关热图分析美化示例及详细图解
    目录介绍1.加载包2.加载数据3.绘图4.个性化设置聚类方法5.个性化添加矩阵6.颜色设置介绍 R corrplot包 提供了一个在相关矩阵上的可视化探索工具,该工具支持自动变量重新...
    99+
    2022-11-13
  • Unreal学习之简单三角形的绘制详解
    目录1. 概述2. 详论2.1 代码实现2.2 解析:Component2.3 解析:材质2.4 解析:包围盒2.5 解析:Section3. 其他1. 概述 之所以写这个绘制简单三...
    99+
    2023-02-02
    Unreal绘制三角形 Unreal绘制图像 Unreal 三角形
  • Go语言学习之指针的用法详解
    目录引言一、定义结构体1. 语法格式2. 示例二、访问结构体成员三、结构体作为函数参数四、结构体指针总结引言 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作