如何使用R语言包circlize可视化展示blast双序列比对结果

技术如何使用R语言包circlize可视化展示blast双序列比对结果如何使用R语言包circlize可视化展示blast双序列比对结果,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题

如何用R语言包circlize实现blast双序列比对结果的可视化显示,针对这个问题,本文详细介绍了相应的分析和解答,希望能帮助更多想要解决这个问题的朋友找到更简单易行的方法。

Circlize是一个功能强大的包,用R语言画圆图非常方便。

今天,本文记录了用circlize画一个圆图来显示blast双序列比对结果的代码。

关于植物线粒体基因组的文章通常分析细胞器和基因组之间的基因转移,基本的分析方法是blast比较。可视化可以用这个圆形图来完成。

首先,使用blast构建数据库比较。

makebstdb-inmt . fasta-dbtypenucl-out mt

blastn-querycp . fasta-dbmt-outmt6 output . txt

然后准备好数据,画出最外面的圆来显示这两个序列。

df-data.frame(chr=c(rep('叶绿体',2),rep('线粒体',2)),

x=c(1,131478,1,444567),

y=c(0,1,0,1))

df

chrxy

1叶绿体10

2叶绿体1314781

3线粒体10

4线粒体4445671

然后读取blast的输出。

df1-read.csv('output6.txt ',stringsAsFactors=F,header=F,sep='\t ')

用于映射的代码

库(循环)

图书馆

库(复杂热图)

col-rcolorbrewr : brewer . pal(6,‘配对’)

circos.par('start.degree'=130)

circos . initialize(factors=df $ chr,x=df$x)

circos . trackplotRegion(factors=df $ chr,y=df$y,

panel.fun=function(x,y){ 0

circos.axis()

},轨道.高度=0.1)

highlight.sector(sector.index = "chloroplast",col=col[1])
highlight.sector(sector.index = "mitochondrial",col=col[2])
circos.text(x=70000,y=0.5,
            labels = "chloroplast",
            sector.index = "chloroplast")
circos.text(x=220000,y=0.5,
            labels = "mitochondrial",
            sector.index = "mitochondrial",
            facing = "outside")
col_fun = colorRamp2(c(70,90,100),
                     c("green", "yellow", "red"))
for (i in 1:13){
  x<-sort(c(df1[i,8],df1[i,7]))
  y<-sort(c(df1[i,10],df1[i,9]))
  z<-df1[i,3]
  circos.link("chloroplast",x,"mitochondrial",y,
              col=add_transparency(col_fun(z)))
}
circos.clear()
lgd_links = Legend(at = c(70, 80, 90, 100), 
                   col_fun = col_fun, 
                   title_position = "topleft",
                   title = "identity(%)")
lgd_list_vertical = packLegend(lgd_links)

draw(lgd_list_vertical, x = unit(10, "mm"), 
     y = unit(10, "mm"), just = c("left", "bottom"))

 

如何使用R语言包circlize可视化展示blast双序列比对结果
image.png

 新学到的两个知识点

调整整体的角度

circos.par("start.degree" = 130)

 

调整用来表示染色体的外圈粗细

circos.trackPlotRegion(factors = df$chr,y=df$y,
                       panel.fun = function(x,y){
                         circos.axis()
                       },track.height = 0.1)

 

画图的时候可以加一个track.height参数

 遇到的问题是

调整外圈的刻度,现在展示的有点多,我想增大间隔,减少展示的数字,暂时不知道如何实现。

关于如何使用R语言包circlize可视化展示blast双序列比对结果问题的解答就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/78660.html

(0)

相关推荐

  • 如何理解Solidity的Bytecode和Opcode

    技术如何理解Solidity的Bytecode和Opcode本篇文章为大家展示了如何理解Solidity的Bytecode和Opcode,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收

    攻略 2021年11月23日
  • 安装rac时需要注意的问题有哪些

    技术安装rac时需要注意的问题有哪些这篇文章将为大家详细讲解有关安装rac时需要注意的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。安装rac时需要注意的问题1.虚拟机添加共

    攻略 2021年11月10日
  • 使用kettle工具统计数据(kettle生成excel报表)

    技术如何分析Kettle报表自动化这期内容当中小编将会给大家带来有关如何分析Kettle报表自动化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Kettle报表自动化1.2.把相应的变

    攻略 2021年12月24日
  • sqlserver手动执行计划(sqlserver的执行计划)

    技术怎样浅析SQL Server中执行计划的相关机制以及常见问题怎样浅析SQL Server中执行计划的相关机制以及常见问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能

    攻略 2021年12月20日
  • RabbitMQ集群高可用原理及实战部署是怎样的

    技术RabbitMQ集群高可用原理及实战部署是怎样的这篇文章将为大家详细讲解有关RabbitMQ集群高可用原理及实战部署是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了

    攻略 2021年12月3日
  • 2021年1月-第02阶段-前端基础-HTML+CSS进阶-VS Code 软件

    技术2021年1月-第02阶段-前端基础-HTML+CSS进阶-VS Code 软件 2021年1月-第02阶段-前端基础-HTML+CSS进阶-VS Code 软件Visual Studio Code

    礼包 2021年10月19日