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

相关推荐

  • Skype for Business会议故障的示例分析

    技术Skype for Business会议故障的示例分析这篇文章主要介绍了Skype for Business会议故障的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编

    攻略 2021年11月25日
  • Linux网桥ping虚拟网卡不通的原因是什么

    技术Linux网桥ping虚拟网卡不通的原因是什么本篇文章为大家展示了Linux网桥ping虚拟网卡不通的原因是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。解释一下为什么

    攻略 2021年10月22日
  • openwrt可以用主路由器吗(openwrt怎样连接网络)

    技术OpenWRT如何连上路由器这篇文章将为大家详细讲解有关OpenWRT如何连上路由器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。连上路由器 刚刚刷好 OpenWRT 的

    攻略 2021年12月18日
  • 描写青春的词语,形容正值青春的成语有哪些

    技术描写青春的词语,形容正值青春的成语有哪些形容正值青春的成语有:风华正茂描写青春的词语,二八年华,红颜绿鬓,软玉娇香,朱颜绿发 1,风华正茂[fēng  huá  zhèng  mào]: 正是青春焕发、风采动人和才华

    生活 2021年10月23日
  • kcl方程,基尔霍夫解光的电磁波方程

    技术kcl方程,基尔霍夫解光的电磁波方程1、假设各支路电流正方向及回路的绕行方向kcl方程。
    2、应用KCL列出节点的电流方程。对于有n个节点的电路,只能选取n-1个节点列方程。
    3、应用KVL列出回路的电压方程。对于有

    生活 2021年10月19日
  • python中如何计算个数(python怎么求球的体积)

    技术Python怎么计算球的个数这篇文章主要讲解了“Python怎么计算球的个数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么计算球的个数”吧!代码如下:

    攻略 2021年12月17日