首页
/ 3DGenomes/TADbit入门教程:Hi-C数据分析与TAD识别指南

3DGenomes/TADbit入门教程:Hi-C数据分析与TAD识别指南

2025-06-24 00:34:46作者:宣海椒Queenly

什么是3DGenomes/TADbit

3DGenomes/TADbit是一个用于分析染色体三维结构和识别拓扑关联域(TAD)的Python工具包。它专门设计用于处理Hi-C数据,能够从原始交互矩阵中识别染色体上的功能区域边界,帮助研究人员理解基因组的三维组织结构。

Hi-C数据格式基础

Hi-C数据通常以对称矩阵的形式存储,矩阵中的每个值代表两个基因组区域之间的交互频率。典型的Hi-C数据格式如下:

chrT_001      chrT_002        chrT_003        chrT_004        chrT_005        chrT_006
chrT_001      629     164     88      105     10      35
chrT_002      86      612     175     110     40      29
chrT_003      159     216     437     105     43      73

数据加载方法

在TADbit中,我们可以通过以下方式加载Hi-C数据:

from pytadbit import Chromosome

# 创建染色体对象
my_chrom = Chromosome(name='chr19', centromere_search=True, 
                      species='Homo sapiens', assembly='NCBI36')

# 加载Hi-C实验数据
my_chrom.add_experiment('k562', cell_type='wild type', exp_type='Hi-C', 
                        hic_data="sample_data/HIC_k562_chr19_100000_obs.txt", 
                        resolution=100000)

注意事项

  1. TADbit默认假设Hi-C矩阵从染色体位置1开始
  2. 如果矩阵不包含完整的染色体长度,缺失的行列应填充为零
  3. 支持直接读取gzip压缩文件

实验对象操作

实验对象基础

加载的实验数据存储在特殊的实验列表中,可以通过名称或索引访问:

# 访问实验对象
exp1 = my_chrom.experiments[0]
exp2 = my_chrom.experiments["k562"]

实验数据合并

两个Hi-C实验可以相加合并,但建议先进行归一化处理:

# 合并两个实验
combined_exp = my_chrom.experiments["k562"] + my_chrom.experiments["gm06690"]
my_chrom.add_experiment(combined_exp)

注意:合并前应先进行归一化,以避免偏向交互计数更多的实验。

Hi-C数据可视化

TADbit提供了直观的可视化功能,可以快速查看交互矩阵:

# 单个实验可视化
exp1.view()

# 多实验对比可视化
my_chrom.visualize([('k562', 'gm06690'), 'k562+gm06690'])

可视化支持对数转换后的交互计数显示,便于观察不同区域间的相互作用强度。

TAD识别与分析

基本TAD识别

使用TADbit的核心功能识别拓扑关联域:

# 识别TAD
my_chrom.find_tad('k562', n_cpus=8)
my_chrom.find_tad('gm06690', n_cpus=8)

识别结果存储在实验对象的tads属性中,包含每个TAD的起始、结束位置和置信度评分。

TAD结果输出

TAD边界信息可以输出到文件或直接查看:

# 输出TAD边界
exp1.write_tad_borders()

TAD可视化

TAD边界可以在交互矩阵上直观显示:

# 在矩阵上显示TAD边界
my_chrom.visualize(exp1.name, paint_tads=True)

线宽与TAD边界的置信度评分成正比,便于评估边界可靠性。

密度图分析

TADbit还提供密度图来总结TAD特征:

# 生成TAD密度图
my_chrom.tad_density_plot('k562')

图中灰色弧代表TAD,高度反映相对交互量;彩色三角形标记边界,颜色从蓝到红表示置信度。

高级功能

多实验联合分析

TADbit支持基于多个Hi-C实验联合识别TAD:

# 批量模式识别TAD
my_chrom.find_tad(['k562', 'gm06690'], batch_mode=True, n_cpus=8)

限制区域处理

可以设置TAD的最大尺寸限制和中心粒区域处理:

# 设置TAD最大尺寸
my_chrom.set_max_tad_size(3000000)

# 自动识别中心粒区域(创建染色体对象时设置)
my_chrom = Chromosome(..., centromere_search=True)

数据保存与加载

分析结果可以保存以便后续使用:

# 保存染色体对象
my_chrom.save_chromosome("analysis_results.tdb")

# 加载保存的分析
from pytadbit import load_chromosome
loaded_chrom = load_chromosome("analysis_results.tdb")

注意:为节省空间,保存时不包括原始Hi-C数据,需要时重新加载。

总结

3DGenomes/TADbit提供了一套完整的工具链,从Hi-C数据加载、预处理到TAD识别和可视化分析。通过本教程,用户可以掌握基本操作流程,为进一步的3D基因组学研究奠定基础。特别值得注意的是其多实验联合分析能力和灵活的可视化功能,为比较不同条件下的染色体结构变化提供了强大支持。

登录后查看全文
热门项目推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
139
1.91 K
kernelkernel
deepin linux kernel
C
22
6
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
273
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
923
551
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
421
392
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
145
189
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
74
64
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.3 K
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
36
8