导读

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图相关推荐

  1. python画龙猫_手把手教你画龙猫,详细到每一条线!

    宫崎骏老爷爷的画功简直就是美术生心中的神仙呐 今天小胖要教大家画宫崎骏笔下的龙猫! 手把手教你画龙猫,详细到每一条线! 快学起来吧~ 第一步: 在纸张的左上角画一把小伞 手把手教你画龙猫,详细到每一条 ...

  2. python画人口迁徙图_echarts 手把手教你画迁徙图(城市内部级别+百度地图支持)2...

    最近要做一个上海的迁徙图,搜到的都是 echarts 和mapv一样,有自己的API说明和demo 形式上非常相近,而且看起来功能比mapv更加完善. 另外是滴滴的一个蝌蚪迁徙图,看起来是真实轨迹的模 ...

  3. 折线图_手把手教你用ECharts画折线图

    导读:折线图是一种基础图表,适合表示数据的变化趋势,常用于时间序列数据的表示. 作者:王大伟 来源:华章科技 在正式学习之前,先来了解一个ECharts官网提供的很好用的功能.该功能可以实时显示代码的 ...

  4. python进行数据预测_手把手教你用Python进行时间序列分解和预测

    原标题:手把手教你用Python进行时间序列分解和预测 作者:Mohit Sharma 翻译:数据派THU-王闯(Chuck) 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列 ...

  5. python k线合成_手把手教你写一个Python版的K线合成函数

    手把手教你写一个Python版的K线合成函数 在编写.使用策略时,经常会使用一些不常用的K线周期数据.然而交易所.数据源又没有提供这些周期的数据.只能通过使用已有周期的数据进行合成.合成算法已经有一个 ...

  6. python数据预测代码_手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码...

    原标题:手把手教你用Python玩转时序数据,从采样.预测到聚类丨代码 原作 Arnaud Zinflou 郭一璞 编译 时序数据,也就是时间序列的数据. 像股票价格.每日天气.体重变化这一类,都是时 ...

  7. python 词云手把手_手把手教你生成炫酷的词云

    前言: 话说,在这个大数据时代,获取信息显得极为容易,可正是如此,我们想要对信息进行直观地了解难度就大了.Excel是一个很好的数据可视化方法,不过有时候我们的数据来源可能并不是一张或者多张Excel ...

  8. python爬虫如何连接数据库_手把手教你如何在Navicat中如何新建连接数据库及相关报错解决方法...

    前几天给大家分享了如何安装Navicat,没有来得及上车的小伙伴可以戳这篇文章:手把手教你安装Navicat--靠谱的Navicat安装教程.今天给大家分享一下Navicat的简单使用教程,具体的教程 ...

  9. python远程桌面控制_手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤

    配置说明 使用Pycharm 2020.1.1 professional 专业版.(据说只有专业版可以远程连接)如果不是专业的伙伴,可以用校园邮箱注册一个专业版,免费的哦! 步骤 1. 设置Conne ...

最新文章

  1. 修改html时webpack热更新,webpack学习之路(二)webpack-dev-server实现热更新
  2. 如何在“首选项”摘要中显示Android首选项的当前值?
  3. shell查看并修复网络连接
  4. 树莓派-格式化硬盘(U盘)为ext4格式并挂载
  5. Android中集成Jpush实现推送消息通知与根据别名指定推送附示例代码下载
  6. java实训手册_java实训项目用户手册
  7. Sum in the tree
  8. JDBC连接MySQL数据库:建立SSL连接出现警告信息
  9. PyTorch实现CNN
  10. usbcan系列便携式can分析仪
  11. AWS携手光环云助力2019第三届“中信建投证券杯”世界智能围棋公开赛
  12. 2022强网杯web方向wp
  13. Labview_QMH模板解析
  14. linux date 4 2,JZ2440 linux-3.4.2内核启动报错:Verifying Checksum ... Bad Data CRC(示例代码)...
  15. error An unexpected error occurred: “https://registry.npmjs.org/axios
  16. ESXI 6.7全面系统教程~win10显卡直通
  17. win10更新后D盘变成CD驱动器
  18. 手机风波(二)の惊喜篇
  19. 31、通信卫士--拦截黑名单电话
  20. 微信支付回调到底回调了什么?

热门文章

  1. 一篇文章讲透控制反转和依赖注入
  2. wso2_WSO2注册表安装简介
  3. Apache-WebLogic plub-in插件的安装
  4. 从轻盈奶茶到拉普山鲜奶茶,罗曼林实现品类突围
  5. 一个C语言编写的坦克大战游戏
  6. 谷歌浏览器网页翻译失效的解决方案
  7. WARNING: too many parse errors
  8. ios是什么?ios有什么特点?
  9. win7 按修改时间范围文件搜索
  10. JAVA中级二 输入输出流,常见文件操作