首页 > 其他分享 >是时候用Circos震撼全场了

是时候用Circos震撼全场了

时间:2025-01-20 13:58:19浏览次数:3  
标签:全场 sector Circos color 震撼 chr row circos

Circos图是一种采用圆形布局展示数据的可视化图表,这种独特的圆形设计特别适合用来探索不同对象之间或位置之间的关系。如果你的数据涉及某种关联性,或者需要展示多层次、多尺度的注释信息,Circos图将是一个非常理想的选择。

Circos图无论是基因组学研究、迁徙模式分析,还是数学艺术创作等领域,Circos图都能通过清晰、直观的方式将复杂的数据关系展现出来,帮助人们更好地理解和分析数据。

本文内容包含:

  • circos案例分享
  • Python实现circos图

circos案例分享

看一些案CNS、NAR等顶刊中的案例,

 


Python实现circos图

利用matplotlib结合pycirclize可轻松实现circos图。利用“3.2.16 circos 数据集”,构建一个五层 Circos 图,依次展示 hg38 基因组上的 Cytoband 信息、染色体区域的数值分布(包括散点图、柱状图和折线图),以及不同染色体区域之间的关联关系(和弦图),以直观演示 PyCirclize 的基本用法。

  • 数据准备
chr_bed_file = "matplotlib_data/pycircos_data/hg38_chr.bed"  # 染色体信息
cytoband_file = "matplotlib_data/pycircos_data/hg38_cytoband.tsv"  # Cytoband数据
link_file = "matplotlib_data/pycircos_data/hg38_genomic_link.tsv"  # 基因组链接数据
link_data = pd.read_csv(link_file, sep="\t", header=None)
  • circos图绘制
# 定义绘图配色
ColorCycler.set_cmap("Accent")  # 设置调色板
chr_names = [s.name for s in circos.sectors]  # 获取染色体名称
colors = ColorCycler.get_color_list(len(chr_names))  # 生成颜色列表
chr_name2color = {name: color for name, color in zip(chr_names, colors)}

# 绘图
circos = Circos.initialize_from_bed(chr_bed_file,
                                    start=0,
                                    end=360,
                                    space=2,
                                    endspace=True)  # 初始化Circos图

# 添加Cytoband(最外层)
circos.add_cytoband_tracks((95, 100), cytoband_file)
for sector in circos.sectors:
    sector.text(sector.name.replace("chr", "Chr"),
                r=120,
                size=10,
                color="black")  # 显示染色体名称
    sector.get_track("cytoband").xticks_by_interval(
        50000000,  # 每隔50000000bp添加刻度
        label_size=8,
        label_orientation="vertical",
        label_formatter=lambda v: f"{v / 1000000:.0f} Mb",  # 刻度标签格式化为Mb
    )

for sector in circos.sectors:
    # 为每条染色体区域(sector)生成示例数据(一般使用场景为,区域的基因表达水平、突变频率或覆盖度等信息)
    step = 8000000  # 数据间隔
    x = np.arange(sector.start + (step / 2), sector.end - (step / 2),
                  step)  # X轴数据
    y = np.random.randint(0, 100, size=len(x))  # Y轴数据

    # 添加散点图(第2层)
    track1 = sector.add_track((80, 90), r_pad_ratio=0.1)
    track1.axis()
    track1.scatter(x, y, vmax=100, s=10, color="g")

    # 添加柱状图(第3层)
    track2 = sector.add_track((65, 75), r_pad_ratio=0.1)
    track2.axis()
    track2.bar(x, y, vmax=100, width=step * 0.7, color="r")

    # 添加折线图(第4层)
    track3 = sector.add_track((50, 60), r_pad_ratio=0.1)
    track3.axis()
    track3.line(x, y, vmax=100, color="b")

# 添加Chord图(第5层)
for index, row in link_data.sample(n=2500, random_state=42).iterrows():
    region1 = (row[0], row[1], row[2])  # 第一个基因组区域
    region2 = (row[3], row[4], row[5])  # 第二个基因组区域
    color = chr_name2color.get(row[0], "gray")  # 连接颜色
    circos.link(region1, region2, color=color)

# 添加标题和个性化设置
circos.text("Circos图", deg=320, r=145, size=20, color="red")  # 添加标题
fig = circos.plotfig(dpi=500)  # 绘制图像,设置分辨率
fig.subplots_adjust()  # 调整子图布局
fig.set_edgecolor("gray")
fig.set_linewidth(0.8)
fig.show()

 Circos 图从外到里共5层,每一层的含义见代码中。

推荐阅读:

请查收,保姆级matplotlib教程:详细目录

请查收,保姆级seaborn教程:详细目录

标签:全场,sector,Circos,color,震撼,chr,row,circos
From: https://blog.csdn.net/qq_21478261/article/details/145247428

相关文章

  • 震撼!借助模版或 AI,轻松快速创建自己的智能体,智能体的多种创建方式
    1、通过模板搭建智能体模板是扣子平台中公开配置的智能体、工作流、图像流等资源。可以复制一份和模板配置完全一样的智能体,然后把复制的智能体改造为更适合自己的应用。操作也非常简单,大家和涛涛老师一起看下吧。1.1 单击此处访问扣子模板库。1.2注意区分模版的类型和是......
  • 震撼!首个开源的交互式全模态大语言模型,GPT-4o realtime的开源实现。
    OpenAI的realtime多模态大模型,大家是不是已经体验过了,国内也有几家大厂做了类似的多模态视觉、语音交互大模型。项目简介:VITA-1.5是一款开源的交互式多模态大型语言模型,实现接近实时的视觉和语音交互体验。相较于之前的VITA-1.0版本,VITA-1.5在多个方面取得了显著进步。VIT......
  • 非常有特色的桌面时钟屏保 视觉效果震撼到你了吗?
    今天向大家推荐一款非常实用且有特色切美观的电脑屏保——芝麻时钟。这款屏保具有高颜值、个性化、功能丰富、操作简便等特点,让你的电脑屏幕焕发出独特的光彩。桌面时钟和屏保预览效果首先,芝麻时钟的颜值非常高,无论是罗盘时钟、太极八卦时辰、彩色圆圈时钟、经典时钟还是......
  • 《大语言模型》:人工智能时代的知识盛宴,大模型中文书籍震撼发售!
    你是否读过大语言模型综述文章_ASurveyofLargeLanguageModels_?这是学术界首篇系统介绍大语言模型技术的综述性文章,成为了很多人入门大模型的必读论文,目前引用次数已经突破3700次,获得了学术界的广泛关注。其中绘制的模型演进图、技术统计表被广泛传播、使用。为了进一......
  • DeepSeek-V3震撼登场
      每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://......
  • MIT、OpenAI等震撼力作:AI首次自主发现人工生命!人类窥见上帝造物
    就在刚刚,由Transformer八子创立的SakanaAI,联合来自MIT、OpenAI、瑞士AI实验室IDSIA等机构的研究人员,提出了「自动搜索人工生命」的新算法!论文地址:https://arxiv.org/abs/2412.17799言归正传,ALife,即「人工生命」,是一门跨学科研究,旨在通过模拟生命的行为、特性和演化过程来理解......
  • OpenAI o3模型震撼发布:编程界的革命性突破,程序员的未来将何去何从?
    当人工智能踏足编程领域,生产力的提升让人瞠目结舌。就在近日,OpenAI发布了全新的o3模型,其强大的代码生成能力和上下文理解能力,将编程带入了一个全新的时代。是机遇还是挑战?程序员们将如何面对这场技术风暴? o3模型究竟有何与众不同之处?它的发布会对程序员和整个软件行业产生怎......
  • 震撼!冬至物流高峰下,哪些办公软件可增强部门联动?
    一、前言冬至期间,物流行业迎来汹涌的业务高峰,运输规划的高效性成为物流企业成功应对挑战的关键因素。在这个特殊时期,合适的可视化团队协作办公软件能够显著优化运输流程,提升整体运营效率。本文将从J人物流公司的视角出发,详细盘点6款此类办公软件,其中板栗看板将作为重点深入剖......
  • 全场景一站式2024最新vmware环境下安装win7并且破解QTP
    目录VMwareVMware和Ubuntu下载链接下载Win7系统各个操作系统网站激活码是什么查看是否激活激活操作vmware下安装ubuntu创建虚拟机下载VMtool灰色灰色按键点击不了下载提示有问题原因文件传递共享文件借助外界U盘有了VMTool就可以直接拖拽!!!!有了VMTool就可以全屏化——倒数第四个按......
  • 扬帆起航!《航海王壮志雄心》12月19日震撼上线,福利玩法全解析
    12月19日,航海王壮志雄心即将公测上线,这款游戏不仅重现了原作中的经典角色和情节,还融入了全新的玩法机制,今天就给大家抢先介绍一下首发内容!一、首发福利活动1.登录即送豪华礼包:在活动期间登录游戏,即可领取包含稀有角色碎片、高级装备、海量金币等在内的豪华新手礼包,帮助我们......