三维基因组|Hi-C 数据格式

简介: 三维基因组|Hi-C 数据格式

简介

为了更好地处理、存储以及可视化高分辨率的 Hi-C 数据,开发出了高效的数据格式。其中,只保存非零值的稀疏矩阵格式得到了广泛应用,成为了行业标准。此外,“zoomable”矩阵风格也受到了青睐,它可以在一个文件里存储不同分辨率的数据,方便进行交互式可视化。本文主要介绍了像 .hic.mcool 这样的最新矩阵文件格式,以及 SAM/BAM 和可随机访问的接触列表等其他中间格式。

引言

原位 Hi-C 技术的出现,使得 Hi-C 图谱的分辨率从兆碱基对提升到了千碱基对级别。随着数据规模的大幅增加,人们迫切需要开发出更高效的格式来应对。

举例来说,一个千碱基对分辨率的全基因组相互作用矩阵,会包含数百亿个元素,而且需要处理多达数十亿对基因组位置。 .hic 矩阵格式和其他中间格式,最早是在 Lieberman-Aiden 实验室与 JuicerJuicebox 这两款用于处理原位 Hi-C 数据的软件程序一同开发出来的。

随后,.pairs.gz.cool.mcool 等其他格式,由 4D Nucleome 数据协调与整合中心(4DN DCIC)开发并提出,目的是建立一个更灵活、更易读的可共享标准。这些格式已经在 NIH 资助的网络中被用于统一处理 Hi-C 数据,该网络的目标是理解基因组三维构象的动态变化。

在本文,我们会更详细地探讨这些最新的格式,以及在 Hi-C 数据处理过程中使用的其他现有标准和自定义格式。

数据预处理

Hi-C 原始数据通常是用 FASTQ 格式生成的,这是一种广泛用于存储原始测序数据的标准格式。FASTQ 是一种文本格式,最早是在 Wellcome Trust Sanger 研究所开发出来的,用于存储原始测序读取以及它们的质量分数。原始序列会先与参考基因组序列进行比对,比对结果一般会存储在序列比对图(SAM)或二进制比对图(BAM)格式中,这两种格式最初是为 1000 基因组计划开发的。

SAM/BAM 文件中的比对结果会被进一步处理成一个接触列表文件,这个文件记录了所有代表有效相互作用位点的比对位置对。这种文件通常被称为“pairs”文件,比如 Juicer 生成的 merged_nodups.txt 文件,还有 4DN 使用的 PAIRS(.pairs.gz)文件。

接触列表文件中的条目会被聚合到基因组 bin 中,从而创建出一个接触矩阵文件。矩阵的 bin 或分辨率可以是千碱基对到兆碱基对长,也可能对应于限制性片段。像 .hic.mcool 这样的最新格式能够携带多分辨率的矩阵,这样在使用交互式可视化工具(如 Juicebox、Juicebox.js 或 HiGlass)进行放大或缩小时,就可以快速切换分辨率了。.hic.cool.mcool 格式还包含了预计算的归一化向量以及原始矩阵,方便快速检索归一化矩阵。归一化可以控制由各种因素引起的偏差,比如限制性位点的不均匀分布、可比对性和 G+C 含量。最新的矩阵格式被设计成可以存储通过矩阵平衡计算出的乘法或除法向量,从而确保行和列的总和大致相等,而不是采用显式的偏差建模方法。

比对

SAM/BAM 是存储比对结果时常用的格式。SAM 是一种文本格式,BAM 则是 SAM 的压缩二进制版本。我们可以通过 Samtools 软件程序在 SAM 和 BAM 格式之间进行转换。像 BWA 和 Bowtie这样流行的短读比对器,能够生成 SAM 格式的输出,然后可以将其转换为 BAM 格式,从而实现更高效的存储。

在存储 Hi-C 数据的比对层面时,通常会考虑两个关键因素。第一是嵌合比对的记录,第二是两个末端的独立比对。

Hi-C 数据一般是配对末端的形式,两个末端分别代表两个相互作用的位点。在大多数情况下,连接点位于两个测序末端之间,此时两个末端会与参考基因组进行全长比对。不过,在大约 20 - 30% 的情况下,连接点会出现在两个测序末端中的一个内部,这就导致读段被分成两个不同的基因组位点。这些嵌合读段通常会在确认其有效性后被恢复,比如比对结果与单一真实的连接事件相符,尽管在定义有效性的标准上有所不同。通过这种方式,可以增加进入接触矩阵的有用读段数量。SAM/BAM 格式允许以剪切比对的形式来存储与嵌合读段比对相关的信息。

那些为通用测序数据开发的比对工具,通常会把一对读段看作是基因组中一段连续区域的两端。比如,BWA MEM在默认参数下,如果一对读段中的一个末端与参考基因组比对得很好,它可能会强行让另一个比对效果不好的末端也进行比对。然而,对于 Hi-C 数据来说,这种假设可能并不成立。为了避免这种情况,人们通常采用一种方法来比对 Hi-C 数据,即把两个末端分别当作独立的单末端数据来进行比对,然后再以某种方式把它们合并起来。不过,这种方法也有缺点,它往往会生成一个不完整或者不符合标准的 SAM/BAM 格式,与配对信息相关的字段和标志要么缺失,要么没有正确标注。4DN DCIC 提出了一个解决方案,即用参数 -SP5M 来运行 BWA MEM,从而创建一个 BAM 文件。这样,一对读段中的两个配对端在比对时会被独立对待,但输出的文件会被正确地格式化为一个配对末端的 BAM 文件。4DN Hi-C 数据处理流程就采用了这种方法。

相关文章
|
安全 Java API
精通 Java 后台开发:案例分析与实践
【4月更文挑战第5天】本文旨在帮助读者掌握 Java 后台开发,通过电子商务系统案例探讨数据库设计、RESTful API、安全性和性能优化。使用 Spring 框架简化开发,Spring Security 保障安全,缓存技术提升性能。实践部分强调版本控制、单元测试、CI/CD 和代码规范的重要性,助力开发者提升技能,应对挑战。
361 11
|
JSON 监控 关系型数据库
Docker 容器日志分析
Docker 容器日志分析
862 0
|
11月前
|
移动开发 编解码 数据挖掘
空间转录组:从R导入数据
空间转录组:从R导入数据
空间转录组:从R导入数据
|
数据可视化
R语言绘图教程丨Nature论文都在用的多组比较箱线图,自动计算显著性并标注,附带误差线
R语言绘图教程丨Nature论文都在用的多组比较箱线图,自动计算显著性并标注,附带误差线
|
编解码 数据可视化 Java
三维基因组: TAD差异分析-HiCCUPS (2)
三维基因组: TAD差异分析-HiCCUPS (2)
1205 17
三维基因组: TAD差异分析-HiCCUPS (2)
|
11月前
|
存储 编解码 数据可视化
三维基因组: 结构文件格式
三维基因组: 结构文件格式
三维基因组: 结构文件格式
|
数据处理
CUT&Tag 分析教程 | 完结撒花
CUT&Tag 分析教程 | 完结撒花
CUT&Tag 分析教程 | 完结撒花
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
1129 143
linux命令—tree
|
数据可视化 数据挖掘
ingest和BBKNN进行单细胞整合(1)
ingest和BBKNN进行单细胞整合(1)
ingest和BBKNN进行单细胞整合(1)
|
数据可视化
Signac R|如何合并多个 Seurat 对象 (2)
Signac R|如何合并多个 Seurat 对象 (2)
691 11
Signac R|如何合并多个 Seurat 对象 (2)