如何使用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)

相关推荐

  • 将来时态的5种句型,写出五个将来时和过去时的句子

    技术将来时态的5种句型,写出五个将来时和过去时的句子首先厘清时态的概念将来时态的5种句型,时和态是分开的。时,分为现在,过去,将来,过去将来。一共四个时。态,分为一般,进行,完成,完成进行。一共四个态。
    虚拟语气的本质就

    生活 2021年10月20日
  • 手机闹钟怎么设置闹铃,苹果手机闹铃声音在哪里设置

    技术手机闹钟怎么设置闹铃,苹果手机闹铃声音在哪里设置苹果手机闹铃声音的设置方法:打开苹果手机时钟,点击“加号”,滑动数字设置闹钟时间,打开“重复”,勾选一周里要使用闹钟的日期,点击“返回”;选择“铃声”,找到喜欢的铃声并

    生活 2021年10月29日
  • 什么是php curl

    技术什么是php curl这篇文章主要讲解了“什么是php curl”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是php curl”吧!

    攻略 2021年11月8日
  • geth、web3.js、JSON RPC、truffle之间是什么关系?

    技术geth, web3.js, JSON RPC, truffle之间的关系是什么geth, web3.js, JSON RPC, truffle之间的关系是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希

    攻略 2021年12月14日
  • mysql小数可用的类型有哪些

    技术mysql小数可用的类型有哪些小编给大家分享一下mysql小数可用的类型有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月1日
  • 怎么使用数据泵的parfile

    技术怎么使用数据泵的parfile本篇内容介绍了“怎么使用数据泵的parfile”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年11月9日