python画circos图_手把手教你画Circos图
导读
Circos是一个由加拿大科学家Martin Krzywinski利用perl语言开发的用于描述关系型数据和可视化多维度数据的软件。Circos凭借输入简单,不需要太多的数据处理技巧就能调整到要求的输入格式,输出美观、快捷等特点在比较基因组学和基因组绘图中非常受欢迎。下面用自己敲出来的小数据展示Circos基本绘图方法。
软件:Circos
文献:Circos: An information aesthetic for comparative genomics
杂志:Genome Research 2009
引用:~5000
官网:http://circos.ca/
下载:http://circos.ca/software/download/
下载安装后,查看依赖perl模块:
circos -modules
# 全部OK就能用circos画图了。
ok 1.36 Carp
ok 0.38 Clone
ok 2.63 Config::General
ok 3.56 Cwd
ok 2.173 Data::Dumper
ok 2.55 Digest::MD5
ok 2.85 File::Basename
ok 3.56 File::Spec::Functions
ok 0.2304 File::Temp
ok 1.51 FindBin
ok 0.39 Font::TTF::Font
ok 2.71 GD
ok 0.2 GD::Polyline
ok 2.45 Getopt::Long
ok 1.16 IO::File
ok 0.428 List::MoreUtils
ok 1.41 List::Util
ok 0.01 Math::Bezier
ok 1.9997 Math::BigFloat
ok 0.07 Math::Round
ok 0.08 Math::VecStat
ok 1.03 Memoize
ok 1.53_01 POSIX
ok 1.29 Params::Validate
ok 1.64 Pod::Usage
ok 2.05 Readonly
ok 2017060201 Regexp::Common
ok 2.84 SVG
ok 1.19 Set::IntSpan
ok 1.6611 Statistics::Basic
ok 2.53_01 Storable
ok 1.20 Sys::Hostname
ok 2.03 Text::Balanced
ok 0.61 Text::Format
ok 1.9726 Time::HiRes
第一圈:染色体
底料:file.karyotype
#chr bar contig rank start end col
chr - one 1 1 10 purple
chr - two 2 1 10 purple
chr - three 3 1 10 purple
# 可以根据最后一列的信息给染色体上色
模具:circos.conf
<> # 导入配置文件:颜色
<> ## 导入管家参数
<>
karyotype = file.karyotype # 指定文件:染色体
chromosomes_units = 100000 # 指定距离单位u
chromosomes_display_default = yes # 显示所有的染色体(no的话需要自己指定)
# 1. 第一圈:染色体
default = 0.005r
# 设置圈图中染色体之间的空隙大小,我们设置为0.005r的意思是每个染色体之间的空
radius = 1r # 初始圈半径
thickness = 40p # 圈厚度
fill = yes # 圈颜色,使用指定颜色
stroke_color = 160,32,240 #染色体外边框轮廓颜色,十进制RGB
stroke_thickness=2p #轮廓厚度
塑型:circos
mkdir Figure
circos-0.69-9/bin/circos -conf circos.conf --outputdir Figure -outputfile 1
成品:染色体
1.png
第二圈:高亮
新材料:file.highlight
# chr start end label
one 1 5 nothing
two 1 5 nothing
three 1 5 nothing
模具:【追加到】circos.conf
# 2. 第二圈:高亮
z = 0
file = file.highlight # 高亮
fill_color = 0,0,0 # RGB指定高亮颜色
r0 = 0.90r # 内径
r1 = 0.95r # 外径
塑型:circos
circos-0.69-9/bin/circos -conf circos.conf --outputdir Figure -outputfile 2
成品:染色体+高亮
2.png
第三圈:散点
新材料:file.scatter
# chr start end label
one 1 5 nothing
two 1 5 nothing
three 1 5 nothing
模具:【追加】其中的【到】circos.conf
thickness = 1p
# 3. 第三圈:形状色块
show = yes
type = scatter # 类型:scatter/line/histogram/heatmap
file = file.scatter # 指定文件
r0 = 0.80r
r1 = 0.85r
max = 1.0
min = 0.0
glyph = triangle # 散点形状:circle/triangle/rectangle
glyph_size = 60 # 散点大小
fill_color = 0,0,255 # 填充色:红色
stroke_color = 0,0,255 # 边框色:红色
stroke_thickness = 1
塑型:circos
circos-0.69-9/bin/circos -conf circos.conf --outputdir Figure -outputfile 3
成品:染色体+高亮+散点
3.png
第四圈:柱状图
新材料A:file.histogram.in
# chr start end size
one 4 5 1
one 3 4 0.5
one 2 3 0.1
two 4 5 1
two 3 4 0.5
two 2 3 0.1
three 4 5 1
three 3 4 0.5
three 2 3 0.1
新材料B:file.histogram.out
# chr start end size
one 1 2 1
one 2 3 0.5
one 3 4 0.1
two 1 2 1
two 2 3 0.5
two 3 4 0.1
three 1 2 1
three 2 3 0.5
three 3 4 0.1
模具:【追加】新的【到】circos.conf中的
type = histogram
z = 2
max_gap = 0u
file = file.histogram.out # 柱状图
color = red # 上色
fill_color = 255,0,0
r0 = 0.70r
r1 = 0.75r
orientation = out # 方向:朝外
type = histogram
z = 2
max_gap = 0u
file = file.histogram.in # 柱状图
color = blue # 上色
fill_color = 0,0,255
r0 = 0.65r
r1 = 0.70r
orientation = in # 方向:朝圆心
塑型:circos
circos-0.69-9/bin/circos -conf circos.conf --outputdir Figure -outputfile 4
成品:染色体+高亮+散点+柱形图
4.png
结束语:
利用以上方法,可对宏基因组Bin的数据进行Circos绘图,能得到下面的结果:
bin.png
python画circos图_手把手教你画Circos图相关推荐
- python画龙猫_手把手教你画龙猫,详细到每一条线!
宫崎骏老爷爷的画功简直就是美术生心中的神仙呐 今天小胖要教大家画宫崎骏笔下的龙猫! 手把手教你画龙猫,详细到每一条线! 快学起来吧~ 第一步: 在纸张的左上角画一把小伞 手把手教你画龙猫,详细到每一条 ...
- python画人口迁徙图_echarts 手把手教你画迁徙图(城市内部级别+百度地图支持)2...
最近要做一个上海的迁徙图,搜到的都是 echarts 和mapv一样,有自己的API说明和demo 形式上非常相近,而且看起来功能比mapv更加完善. 另外是滴滴的一个蝌蚪迁徙图,看起来是真实轨迹的模 ...
- 折线图_手把手教你用ECharts画折线图
导读:折线图是一种基础图表,适合表示数据的变化趋势,常用于时间序列数据的表示. 作者:王大伟 来源:华章科技 在正式学习之前,先来了解一个ECharts官网提供的很好用的功能.该功能可以实时显示代码的 ...
- python进行数据预测_手把手教你用Python进行时间序列分解和预测
原标题:手把手教你用Python进行时间序列分解和预测 作者:Mohit Sharma 翻译:数据派THU-王闯(Chuck) 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列 ...
- python k线合成_手把手教你写一个Python版的K线合成函数
手把手教你写一个Python版的K线合成函数 在编写.使用策略时,经常会使用一些不常用的K线周期数据.然而交易所.数据源又没有提供这些周期的数据.只能通过使用已有周期的数据进行合成.合成算法已经有一个 ...
- python数据预测代码_手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码...
原标题:手把手教你用Python玩转时序数据,从采样.预测到聚类丨代码 原作 Arnaud Zinflou 郭一璞 编译 时序数据,也就是时间序列的数据. 像股票价格.每日天气.体重变化这一类,都是时 ...
- python 词云手把手_手把手教你生成炫酷的词云
前言: 话说,在这个大数据时代,获取信息显得极为容易,可正是如此,我们想要对信息进行直观地了解难度就大了.Excel是一个很好的数据可视化方法,不过有时候我们的数据来源可能并不是一张或者多张Excel ...
- python爬虫如何连接数据库_手把手教你如何在Navicat中如何新建连接数据库及相关报错解决方法...
前几天给大家分享了如何安装Navicat,没有来得及上车的小伙伴可以戳这篇文章:手把手教你安装Navicat--靠谱的Navicat安装教程.今天给大家分享一下Navicat的简单使用教程,具体的教程 ...
- python远程桌面控制_手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
配置说明 使用Pycharm 2020.1.1 professional 专业版.(据说只有专业版可以远程连接)如果不是专业的伙伴,可以用校园邮箱注册一个专业版,免费的哦! 步骤 1. 设置Conne ...
最新文章
- 修改html时webpack热更新,webpack学习之路(二)webpack-dev-server实现热更新
- 如何在“首选项”摘要中显示Android首选项的当前值?
- shell查看并修复网络连接
- 树莓派-格式化硬盘(U盘)为ext4格式并挂载
- Android中集成Jpush实现推送消息通知与根据别名指定推送附示例代码下载
- java实训手册_java实训项目用户手册
- Sum in the tree
- JDBC连接MySQL数据库:建立SSL连接出现警告信息
- PyTorch实现CNN
- usbcan系列便携式can分析仪
- AWS携手光环云助力2019第三届“中信建投证券杯”世界智能围棋公开赛
- 2022强网杯web方向wp
- Labview_QMH模板解析
- linux date 4 2,JZ2440 linux-3.4.2内核启动报错:Verifying Checksum ... Bad Data CRC(示例代码)...
- error An unexpected error occurred: “https://registry.npmjs.org/axios
- ESXI 6.7全面系统教程~win10显卡直通
- win10更新后D盘变成CD驱动器
- 手机风波(二)の惊喜篇
- 31、通信卫士--拦截黑名单电话
- 微信支付回调到底回调了什么?