生信分析必备圈图教你如何直观展示数

大家好!小鹿前几期介绍了hdWGCNA分析,7大生信工具、云平台趋势分析等一系列生信分析干货,点击链接可查看具体详情哦~

今天将向大家介绍一个有趣且实用的数据可视化工具——圈图(circos)。圈图是一种直观而美观的数据展示方式,可以帮助我们更好地理解数据之间的关联性和相互作用。它在基因表达、比较基因组学、蛋白组学、代谢组学等领域有着广泛的应用。

基因表达数据分析:在生物学研究中,圈图在基因表达上具有方便比较、易于理解和提供上下文信息等用途。圈图是一种有效的数据可视化工具,可以帮助研究人员更好地理解和分析基因表达数据,从而揭示基因间的相互调控关系。

PART1

圈图在基因表达上的用途

01

识别差异表达基因

通过将不同样品或条件下的基因表达数据绘制在圈图上,可以直观地看到差异表达的基因。这些差异表达基因通常在特定条件下表现出显著的高表达或低表达,因此在圈图中会呈现出明显的大小或颜色变化。

02

比较不同条件下的基因表达模式

通过在不同条件下绘制圈图,可以比较不同条件下的基因表达模式。通过观察圈图中基因的位置和表达水平变化,可以了解基因在不同条件下的表达差异和相互作用关系。

03

发现基因集富集分析

通过圈图可以发现特定基因集的富集情况,即某些基因在特定条件下呈现出高富集度或低富集度。这种方法可以帮助识别与特定生物学过程相关的重要基因集,并提供深入了解基因功能和生物过程的新视角。

04

探索基因共表达网络

圈图也可以用于探索基因共表达网络,即识别在转录水平上具有显著相互关联的基因。通过圈图中的基因之间的连接和相对位置,可以识别出共表达基因模块,从而深入了解基因之间的协同作用和功能关联。

PLoSONE,11(9):e

05

蛋白质互作网络研究

在蛋白质组学中,圈图被广泛用于展示蛋白质之间的相互作用关系。通过圈图,圈图在蛋白质互作网络研究中是一种有效的数据可视化工具,可以展示网络结构、揭示核心蛋白质和发现蛋白质模块,从而帮助研究人员更好地理解和分析蛋白质之间的相互作用关系。

PART2

圈图在蛋白质互作网络研究中的用途

01

展示蛋白质互作网络

圈图可以用来展示蛋白质互作网络,其中每个圆圈代表一个蛋白质,圆圈之间的连线表示两个蛋白质之间的相互作用。通过圈图,可以直观地看到蛋白质之间的相互作用关系,从而更好地理解蛋白质组学的复杂性。

02

揭示核心蛋白质

圈图还可以用来揭示互作网络中的核心蛋白质。通常,核心蛋白质在网络中具有更高的度数和更大的介数,因此在圈图中通常会被突出显示。通过分析核心蛋白质,可以更好地理解其在网络中的重要性和功能。

03

发现蛋白质模块

圈图也可以用来发现蛋白质模块,即在网络中形成紧密相互作用的蛋白质群组。通过圈图,可以更容易地识别和分离蛋白质模块,从而更好地理解蛋白质之间的协同作用和功能关联。

PLoSPathogens,18(9):e

04

比较基因组学

圈图在可以比较不同物种或个体之间的基因组序列、识别基因家族和揭示基因重复和删除事件,从而帮助研究人员更好地理解和分析基因组的演化和发展过程。

PART3

圈图在比较基因组学研究中的用途

01

比较基因组序列

圈图可以用来比较不同物种或个体之间的基因组序列。通过将不同物种或个体的基因组序列绘制在同一个圈图上,可以直观地看到基因组序列的差异和相似性,从而更好地理解基因组序列的演化和发展过程。

02

识别基因家族

圈图可以用来识别基因家族,即一组共享相同祖先的基因。通过将不同物种的基因组序列绘制在同一个圈图上,可以容易地识别出基因家族,并分析它们在物种演化中的角色和功能。

03

揭示基因重复和删除事件

圈图还可以用来揭示基因重复和删除事件。在圈图中,重复的基因通常会在同一个位置出现多个,而删除的基因则会在相应位置上缺失。通过圈图,可以容易地识别出这些基因重复和删除事件,并分析它们对物种演化和社会适应性的影响。

BMCGenomics,18:

04

代谢组学

圈图在代谢组学研究中是一种有效的数据可视化工具,可以展示代谢物之间的相互关系、识别关键代谢物和比较不同条件下的代谢网络,从而帮助研究人员更好地理解和分析代谢网络的复杂性和功能。

PART4

圈图在代谢组学研究中的用途

01

展示代谢物之间的相互关系

圈图可以用来展示代谢物之间的相互关系。每个圆圈代表一个代谢物,圆圈之间的连线表示两个代谢物之间的化学反应或相互作用。通过圈图,可以直观地看到代谢物之间的联系和转化关系,从而更好地理解代谢网络的复杂性和功能。

02

识别关键代谢物

圈图还可以用来识别关键代谢物。在圈图中,关键代谢物通常具有更高的度数和更大的介数,因此会被突出显示。通过分析关键代谢物,可以更好地理解其在代谢网络中的重要性和功能。

03

比较不同条件下的代谢网络

圈图还可以用来比较不同条件下的代谢网络。通过在不同条件下绘制圈图,可以直观地看到条件对代谢网络的影响,从而更好地理解代谢网络在不同条件下的变化和适应性。

ScientifcReports,11:

现在,让我们来引出今天的重点——绘制相关性圈图。相关性圈图是圈图的一种特殊形式,它用于展示数据中各个元素之间的相关性程度,特别适用于探索基因、样本或指标之间的相关性关系。

PART5

R语言绘制圈图

我们将使用R语言中强大的circlize包来绘制相关性圈图。跟着我一起操作,我们来实践一遍吧!

它提供了许多绘图参数和功能,让我们能够根据数据的需求和个性化的要求创建精美的圈图。

01

安装和加载circlize包

首先,确保你已经安装了circlize包。如果没有安装,可以使用以下命令进行安装:

install.packages("circlize")

然后,加载circlize包:

library(circlize)

02

绘图参数的使用

circlize包提供了很多参数来控制圈图的外观和样式。以下是一些常用的绘图参数:

gap.degree:控制每个元素之间的空隙角度。

start.degree:圈图的起始角度,用于控制第一个元素的起始位置。

track.height:指定绘图区域的高度,用于控制圈图的大小和密度。

col:指定颜色向量,用于设定圈图的颜色。

bg.col:设置背景颜色。

bg.border:设置背景边框颜色。

bg.lty:设置背景边框线条类型。

除了这些参数,circlize包还支持更多个性化设置,例如标签、注释、刻度线、连接线等。你可以根据绘图需求自由调整这些参数。

03

绘制示例圈图

下面我们来绘制一些示例圈图,以展示circlize包的强大功能。我们将使用示例数据来创建相关性圈图和基因调控网络。

首先,我们需要准备一些示例数据。这里使用corrplot包提供的iris数据集:

#绘制相关性圈图par(mar=c(1,1,1,1))#设置边距,确保绘图不被截断circos.par(gap.degree=2)#设置间隔角度chordDiagram(rt,transparency=0.5,preAllocateTracks=1)#绘制圈图

以上代码将绘制一个简单相关性圈图,每个元素表示数据中的一个特征(例如花萼长度、花瓣长度等),而弦的宽度和颜色表示它们之间的相关性程度。

接下来,我们替换成代谢组中的相关性数据并读取它。请将你的相关性数据保存在一个名为input.txt的文件中,并确保数据格式与下面的一致。

Input.txt格式如下(表头为样本名称,列名为代谢物名称):

#设置输入文件和工作目录inputFile-"input.txt"#设置输入文件的名称为"input.txt"#设置工作目录为"pathway",请替换为你的工作目录setwd("pathway")#读取输入文件:从"input.txt"文件读取数据并存储在名为`rt`的数据框中rt-read.table(inputFile,sep="  ",header=T,check.names=F,row.names=1)#转置数据框,将行和列交换,为了后续计算相关系数做准备rt-t(rt)#计算相关系数,结果保存在`cor1`变量中cor1-cor(rt)#设置图形颜色:定义颜色向量`col`,包含红色和绿色渐变的颜色值col-c(rgb(1,0,0,seq(1,0,length=32)),rgb(0,1,0,seq(0,1,length=32)))#将相关性系数矩阵中所有值为1的元素设置为0,去除相关性=1的项,因为这部分信息对绘图没有意义cor1[cor1==1]-0#根据相关系数的值计算对应的颜色,正相关使用红色渐变,负相关使用绿色渐变,颜色的深浅程度由相关系数的绝对值决定c1-ifelse(c(cor1)=0,rgb(1,0,0,abs(cor1)),rgb(0,1,0,abs(cor1)))#将颜色向量`c1`转换为颜色矩阵`col1`,用于后续绘制相关性圈图col1-matrix(c1,nc=ncol(rt))#绘制圈图pdf("circos.pdf",width=7,height=7)#创建一个7x7英寸大小的PDF文件,用于保存绘制的相关性圈图#设置绘图参数,包括四个边界的边距par(mar=c(2,2,2,4))#设置相关性圈图的参数,包括分割线间隔和起始角度circos.par(gap.degree=c(3,rep(2,nrow(cor1)-1)),start.degree=)#绘制相关性圈图chordDiagram(cor1,grid.col=rainbow(ncol(rt)),col=col1,transparency=0.5,symmetric=T)#允许超出绘图区域的元素绘制par(xpd=T)#绘制颜色图例,用于解释颜色与相关性值的对应关系colorlegend(col,vertical=T,labels=c(1,0,-1),xlim=c(1.1,1.3),ylim=c(-0.4,0.4))#关闭绘图设备,保存绘制的相关性圈图dev.off()#清除相关性圈图的设置circos.clear()

现在,我们已经成功绘制了相关性圈图,并将结果保存在circos.pdf中。让我们来欣赏一下这个美丽的圈图吧!

如果你对绘制相关性圈图感兴趣,并想了解更多关于Circos软件的信息,可以参考circlize包的学习文档(bilibili

转载请注明:http://www.abuoumao.com/hyfz/8499.html

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

    当前时间: 冀ICP备19029570号-7