当韦恩图和upset都不能满足我的可视化

专业治疗白癜风医院 https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E4%B8%AD%E7%A7%91%E7%99%BD%E7%99%9C%E9%A3%8E%E5%8C%BB%E9%99%A2/9728824?fr=aladdin

1

类韦恩图绘制

我们经常的需求是不同对象之间做韦恩图来查看不同组OTU共有和特有情况。这项功能我们使用VennDiagram包就可以解决。其次upset也为我们带来了全新的解决方式,可以再分组数量超过5组还可以很详细和清晰的带给我们庞大的信息。实际上以上两种图都充斥的大量的信息,反而展现共有和特有的otu,让我们感觉感觉更加利索。ven图展示:upset图形展示:类韦恩图展示:

2

类韦恩图实战

如果你就是想做一张类韦恩图的话,下面这几条就足够了。(为避免占用资源,出图函数我已经放到推送的末尾,大家复制粘贴即可。)flower_plot函数中几个有意义的参数设置:sample:设置特有环的标签;value:设置特有环的数量信息;start:设置旋转角度,90即可;a:设置椭圆宽度;b:设置标签外围大小;cer_label:设置中心圆标签;col_c:设置中心园标签颜色;ellipse_col:设置椭圆颜色;circle_col:设置中心圆颜色;circle_text_cex:设置中心圆标签字体大小。

sinID=paste("A",1:10,sep="_")sin_num=1:10pdf("filenamecs.pdf",width=6,height=6)flower_plot(sinID,sin_num,ellipse_col=mi[6],circle_col=mi[2],90,0.4,2,cer_label=paste("all",":",all_num,sep=""),col_c=mi[1])dev.off()

3

微生物-生态学等组学中运用

简单的图形我们熟悉了用法和基本调参,这里我们将其运用到基因丰都,这些基因可以是我们扩增子得到细菌真菌群落矩阵,可以是不同功能基因的矩阵等,这里大家各展所长。phyloseq已经免试好几年了,作为封装微生物组下有分析数据的优秀工具,我已经大部分整合在扩增子流程中了,如果不够了解,大家可以查看之前的推送。补充一下基础知识。因为下面的开始我直接使用的是封装好的ps文件来进行输入,这样大家可以避免输入多个文件造成不一致或者输入错误。整体归一也将更加简单方便。

完整的分析脚本和测试数据都已经存到github上了,大家可以自行下载。后台回复:类韦恩图

library("phyloseq")library(tidyverse)library(reshape2)导入和提取数据

ps=readRDS("./ps_OTU_.ps")mapping=as.data.frame(sample_data(ps))ps1=psps1vegan_otu-function(physeq){OTU-otu_table(physeq)if(taxa_are_rows(OTU)){OTU-t(OTU)}return(as(OTU,"matrix"))}aa=vegan_otu(ps1)otu_table=as.data.frame(t(aa))count=aacountA=countdim(count)sub_design-as.data.frame(sample_data(ps1))#levels(sub_designSampleType)[1]#name1=paste("name",levels(sub_designSampleType)[1],sep="")sub_designSampleTypelevels(sub_designSampleType)数据转化为0和1,方便提取共有和特有成分

##########这里的操作为提取三个分组pick_val_num-num*2/3count[count0]-1###这个函数只能用于0,1的数据,所以我这么转换count2=as.data.frame(count)library("tibble")#数据分组iris.split-split(count2,as.factor(sub_designSampleType))#数据分组计算平均值iris.apply-lapply(iris.split,function(x)colSums(x[]))#组合结果iris.



转载请注明地址:http://www.sanbaicaoasb.com/scls/7221.html
  • 上一篇文章:
  • 下一篇文章:
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章