很全的路由器默认初始密码集合.txt_UpSet——集合关系可视化神器

5f54e0b26bfa5d4429c161e90f9149e3.gif

学习更多生信小技巧,点上方蓝字关注我们

5f54e0b26bfa5d4429c161e90f9149e3.gif

分析背景

01

      提到集合的可视化,大家第一时间想到的是用Venn图来展示,在前期的推文中,小编也给大家分享了venn图的绘制方法。然而,值得一提的是,小编分享的方法是基于R语言,并将根据项目经验,将常规的代码语句进行封装,对于刚入门的小白来说,只需要整理好自己的数据,将数据传入到函数中,即可得到高质量的Venn图,方面快捷,省时省力。但是,当集合数多比如 7个以上的时候那就会看的眼花缭乱了。 

      针对上面这种情况,小编今天给大家编写了一个用于多个集合数据可视化小程序——集合图并且小编已经将其封装成函数,小伙伴们只需将自己的数据传入到函数中,即可做出高质量的图片,保存下来,AI编辑一下,就可以插入到自己的论文写作中,话不多说,直接上脚本!

69dc71e0501af68293bac71b9912a363.png

分析方法

02

# 安装R包if (!requireNamespace("UpSetR", quietly = TRUE))  install.packages("UpSetR",repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")if (!requireNamespace("RColorBrewer", quietly = TRUE))  install.packages("RColorBrewer",repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")if (!requireNamespace("data.table", quietly = TRUE))  install.packages("data.table",repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/") # 自定义函数## 快速读入数据readFlie=function(input,type,row=T,header=T){  # input 为读入文件的路径,type为读入文件的类型,格式为‘.txt’或‘.csv’,row=T,将文件的第一列设置为列名  library(data.table,quietly = TRUE)  if(type=='txt'){    dat = fread(input,header = header,sep='\t',stringsAsFactors = F,check.names = F)    if(row){      dat = as.data.frame(dat,stringsAsFactors = F)      rownames(dat) = dat[,1]      dat = dat[,-1]    }else{      dat = as.data.frame(dat,stringsAsFactors = F)    }  }else{    dat = fread(input,header = header,sep=',',stringsAsFactors = F,check.names = F)    if(row){      dat = as.data.frame(dat,stringsAsFactors = F)      rownames(dat) = dat[,1]      dat = dat[,-1]    }else{      dat = as.data.frame(dat,stringsAsFactors = F)    }  }  return(dat)}## 绘制集合图wn_upset=function(list,bar_cor='lightblue2',point_cor = 'blue',keep.order=F,order.by=c("freq","degree")){    # list 传入数据为一个list    # bar_cor 上方条形图的填充颜色    # point_cor 共有集合点阵图的颜色    # keep.order 根据list中的向量顺序展示样本,默认为FALSE,此时按照样本中物种数量由多至少顺序展示    # order.by是否按照频数和度进行排序,默认矩阵先按度,然后按频率排序    # 定义颜色体系    require(RColorBrewer,quietly = T,warn.conflicts =F)    corlor = c(brewer.pal(12,'Set3'),brewer.pal(12,'Paired'),brewer.pal(11,'Spectral'))    require(UpSetR,quietly = T,warn.conflicts =F)    g=upset(fromList(list), nsets = length(list),sets=names(list),keep.order=keep.order,            number.angles = 30, point.size = 2.5, line.size = 0.20,mb.ratio = c(0.55, 0.45),            text.scale = c(1.5,1, 1.5, 1, 1,1),            # 上方条形图的填充颜色            main.bar.color=bar_cor,mainbar.y.label = "Intersection Size",            # 下方条形图的填充颜色            sets.bar.color=corlor[1:length(list)],            matrix.color=point_cor,            sets.x.label = "Set Size",            order.by = order.by,shade.color = brewer.pal(9,'BuPu')[2], shade.alpha = 0.70, matrix.dot.alpha = 0.85)  return(g)}

实战演练

03

df = readFlie('./upset.txt',type = 'txt',row = F)# 抽取数据,制造测试数据set.seed(1234)df_list = list('Symbol1'=sample(df$symbol,180),'Symbol2'=sample(df$symbol,200),               'Symbol3'=sample(df$symbol,220),'Symbol4'=sample(df$symbol,240),               'Symbol5'=sample(df$symbol,260),'Symbol6'=sample(df$symbol,280),               'Symbol7'=sample(df$symbol,300),'Symbol8'=sample(df$symbol,310),               'Symbol9'=sample(df$symbol,150))# 绘制集合图# 4维集合图wn_upset(df_list[1:4])# 6维集合图wn_upset(df_list[1:6])# 9维集合图wn_upset(df_list)# 保存图片pdf('./up_set.pdf',height = 9,width = 16)# 8维集合图wn_upset(df_list[1:8]) dev.off()
关注微信公众号,回复关键词“upset”,获取脚本源码和测试数据。

参考文献

04

Lex, A., Gehlenborg, N. Sets and intersections. Nat Methods 11, 779 (2014).

A. Lex, N. Gehlenborg, H. Strobelt, R. Vuillemot and H. Pfister, "UpSet: Visualization of Intersecting Sets," in IEEE Transactions on Visualization and Computer Graphics, vol. 20, no. 12, pp. 1983-1992, 31 Dec. 2014.

Conway J R, Lex A, Gehlenborg N. UpSetR: an R package for the visualization of intersecting sets and their properties[J]. Bioinformatics, 2017, 33(18): 2938-2940.

fd36244b452ccb309a40867a0f8b493e.png

微信号:mimazilab

生物信息学实操 实验操作技能

科研绘图技巧  行业动态播报

-这里只有干货 扫码关注我们-

关注我们,了解更多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489575.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

imp-00017 oracle2298,急,imp怪異問題,請高手協助

我原有系統平台是:window2003 32位oracle9.0 32位版本,現exp導出dmp文件后,想倒入到linux 64位 oracle10。2.0.4 64位平台上,但倒了幾次老提示以下錯誤。請高手協助,謝謝。IMP-00041: 警告:創建的對象帶有編譯警告&quo…

自动驾驶的摩尔定律:无人驾驶的最终实现时间或在2035年丨厚势汽车

来源:厚势汽车 无人驾驶的真正落地时间的预测,近两年从非常乐观迅速转向谨慎甚至悲观。真正的无人驾驶到底还需要多久,无人驾驶初创公司 May Mobility 的 CEO Edwin Olson,针对这个问题,结合已有的数据做了一个推理。他…

电脑屏保海底世界_世界上最后一个深海实验室,隐藏了人类未来的秘密

如果世界末日来了,人类站在荒废的土地上,仓皇奔往未来的逃生门,我们应该往哪去?有人说,是太空。有人说,是海洋。现在有一个地方,正把两者结合起来——Aquarius Reef Base 深海实验室。这个处于海…

oracle 怎么备份sqlserver数据库,Oracle和sqlserver数据库的备份与恢复

Oracle 数据库的备份与恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数…

Android——检查网络是否已经链接

新建一个项目testNet 添加一个button layout.xml&#xff1a; <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"android:layou…

自学python在家怎么上班_【经验分享】转行如何自学Python并且找到工作,分享自己心得...

目前信息化产业发展势头很好&#xff0c;互联网就成为了很多普通人想要涉及的行业&#xff0c;因为相比于传统行业&#xff0c;互联网行业涨薪幅度大&#xff0c;机会也多&#xff0c;所以就会大批的人想要转行来学习Python开发。零基础学习Python必须明确的几点&#xff1a;1.…

moment 时间戳_【通知】2020 CATTI 考试准考证打印时间

2020年CATTI考试时间为11月14、15日&#xff0c;11月起将陆续开始打印准考证。建议尽早打印&#xff0c;可以多打印几份备用。各省市准考证打印时间一切信息以考试报名系统为准。重庆&#xff1a;11月6日至13日湖北&#xff1a;11月9日9:00至11月15日13:30四川&#xff1a;11月…

less

编译器koala注释 /**///变量&#xff1a; variable_width&#xff1a;500px&#xff1b;混合&#xff08;mixin&#xff09; .border{border:1px solid red; } .box{.border;width:150px;height:150px;background: blue; } .border_02(border_width){border:solid #fff border_…

PANS:智力以外的特质,会影响长期成就

来源&#xff1a;中国生物技术网美国宾夕法尼亚大学的亚裔心理学家Angela Duckworth经常会被人问道&#xff1a;是什么因素预示着成功&#xff1f;鉴于Duckworth在“Grit&#xff08;坚毅&#xff09;”研究领域所做的开拓性工作&#xff0c;这是一个可以理解的现象。坚毅这一性…

linux80端口检查,Linux下基于端口的服务检查脚本

Linux下基于端口的服务检查脚本#!/bin/bash#program:Usingtostudythe[if...then...fi]program#dsk2007/10/83:00#content:Iwillusingthisprogramtoshowyousevices#1.printtheprogramsworkinyourscreenecho "Now,the service of your Linux system will be detect!"ec…

截取字符串的函数_常用的Excel函数

1.条件判断&#xff1a;IF函数应用数据目的&#xff1a;判断成绩所属的等级方法&#xff1a;在目标单元格中输入公式&#xff1a;IF(C2>90,"优秀",IF(C2>80,"良好",IF(C2>60,"及格","不及格")))&#xff0c;双击小加号填充语…

爱思助手安卓能用吗_专业的苹果越狱工具:爱思助手!

本文由绿盒下载站原创(www.42xz.com)欢迎关注微信公众号“绿盒下载站”爱思助手是一款专业的苹果刷机助手&#xff0c;里面包含了苹果软件、热门游戏、苹果铃声、高清壁纸等多功能&#xff0c;能帮用户轻松管理文件、照片、视频等&#xff0c;爱思助手除了能支持一切苹果手机版…

jsp fmt标签详解

详见&#xff1a;http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt326 JSTL标签提供了对国际化&#xff08;I18N&#xff09;的支持&#xff0c;它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N…

linux 内核模块开发,Linux内核模块开发(笔记)

Linux内核模块开发(笔记)作者&#xff1a;扶凯 来源: 扶凯 时间&#xff1a;2011-11-21 00:21:11 人气&#xff1a;249 评论&#xff1a;0标签&#xff1a; 内核个人笔记。。在不放过来都快找不到了。有空还得好好整理一下了。调试方法printk() 是用来调试内核最常用的一种技术…

《麻省理工科技评论》发布2019年全球十大突破性技术!

来源&#xff1a;钱塘大数据《麻省理工科技评论》每年都会评选出当年的“十大突破性技术”&#xff0c;这份在全球科技领域举足轻重的榜单&#xff0c;曾精准预测了脑机接口、智能手表、癌症基因疗法、深度学习等诸多热门技术的崛起。正如比尔盖茨所说&#xff0c;看过这些突破…

猿辅导python编程老师面试_猿辅导辅导老师面试过程➕感受

一个周前拿到了猿辅导的offer&#xff0c;看到很多知有在问猿辅导的面试&#xff0c;碰巧又是秋招季&#xff0c;就在这里给大家谈一下我的面试过程和感受。先放一张我的的offer我在之前的文章中介绍过自己&#xff0c;因为是二本财务专业毕业&#xff0c;工作比较难找&#xf…

给排水规范大全2020_住宅电气、给排水、消防安装工程的质量通病分析

“住宅项目机电安装工程”质量通病分析&#xff0c;从电气工程、给排水工程、消防工程3方面案例分析&#xff0c;各中案例非常值得各施工企业学习。01.电气工程施工质量通病02.给排水工程施工质量通病03.消防工程施工质量通病上述所列质量通病并不是全部&#xff0c;质量通病是…

oracle 实现ID自增

CREATE TABLE testTable1 ( ID INT NOT NULL, NAME VARCHAR2(4000) NOT NULL, PRIMARY KEY(ID) ) TABLESPACE MYDB;--创建自增ID&#xff0c;名称为&#xff1a;表名_字段名_SEQ CREATE SEQUENCE testTable1_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE…

从ACT-R探讨认知智能

来源&#xff1a; 人机与认知实验室【ACT—R模型最大的不足在于缺乏意向性与形式化的有机结合&#xff0c;这也是AI的瓶颈之一】哈耶克在默知识的基础上发展出了一整套体系&#xff0c;他说&#xff1a;“因为默知识不可表达&#xff0c;所以不可记录&#xff0c;所以不可集中&…

python 轨迹预测_CVPR 2019轨迹预测竞赛冠军方法总结

背景CVPR 2019 是机器视觉方向最重要的学术会议&#xff0c;本届大会共吸引了来自全世界各地共计 5160 篇论文&#xff0c;共接收 1294 篇论文&#xff0c;投稿数量和接受数量都创下了历史新高&#xff0c;其中与自动驾驶相关的论文、项目和展商也是扎堆亮相&#xff0c;成为本…