处理映射Hi-C数据的命令行工具
项目描述
pairtools
使用pairtools处理Hi-C配对
pairtools
是一个简单快速的命令行框架,用于处理Hi-C实验的测序数据。
pairtools
处理末端配对序列比对,并执行以下操作
- 在Hi-C DNA分子的末端配对序列中检测连接接头(即Hi-C配对)
- 对下游分析排序.pairs文件
- 检测、标记并删除PCR/光学重复
- 生成Hi-C数据集的详细统计数据
- 根据灵活定义的标准选择Hi-C配对
- 从Hi-C配对恢复.sam比对
- 注释限制酶消化位点
- 获取Hi-C配对中的突变位置
入门
- 访问pairtools教程,
- 查看快速示例,
- 查看详细的文档。
数据格式
pairtools
用于生成和处理符合由 .pairs 格式定义的制表符分隔文件,该格式由 4D Nucleome 合作组织 定义。所有 pairtools 都能正确处理文件头并跟踪数据处理历史。
此外,pairtools
定义了 .pairsam 格式,这是 .pairs 的扩展,包括测序 Hi-C 分子的 SAM 对齐。.pairsam 符合 .pairs 格式,可以被任何操作 .pairs 文件的工具处理。
pairtools
生成一组额外的列,描述对齐、相、突变、限制和复杂路径的特性。可能的额外列的完整列表可以在 pairtools
格式规范 中找到。
安装
需求
- Python 3.x
- Python 包
cython
、pysam
、bioframe
、pyyaml
、numpy
、scipy
、pandas
和click
。 - 命令行工具
sort
(Unix 版本)、bgzip
(与samtools
一起提供)和samtools
。如果可用,pairtools
可以使用pbgzip
和lz4
压缩输出。
有关完整推荐版本列表,请参阅 GitHub 仓库中的需求。
我们强烈建议使用 conda
包管理器来安装 pairtools
及其所有依赖项。您可以通过安装完整的 Anaconda Python 发行版或仅安装独立的 conda 包管理器来获取它。
使用 conda
,您可以从 bioconda 通道安装 pairtools
及其所有依赖项。
$ conda install -c conda-forge -c bioconda pairtools
或者,使用 pip 从 PyPI 安装非 Python 依赖项和仅 Python 依赖项的 pairtools
。
$ pip install numpy pysam cython
$ pip install pairtools
快速示例
设置一个新的测试文件夹并下载一个映射到 sacCer3 基因组的 Hi-C 数据集
$ mkdir /tmp/test-pairtools
$ cd /tmp/test-pairtools
$ wget https://github.com/open2c/distiller-test-data/raw/master/bam/MATalpha_R1.bam
此外,我们还需要一个 .chromsizes 文件,这是一个描述在映射过程中使用的基因组组装中染色体名称、大小和顺序的制表符分隔纯文本表
$ wget https://raw.githubusercontent.com/open2c/distiller-test-data/master/genome/sacCer3.reduced.chrom.sizes
使用 pairtools parse
,我们可以将存储在 .sam/.bam 格式中的配对端序列对齐转换为 .pairs,这是一个 Hi-C 连接接点的制表符分隔表
$ pairtools parse -c sacCer3.reduced.chrom.sizes -o MATalpha_R1.pairs.gz --drop-sam MATalpha_R1.bam
检查结果表
$ less MATalpha_R1.pairs.gz
管道
工具
-
parse
:读取 bwa 生成的 .sam/.bam 文件并形成 Hi-C 对- 通过报告每个分子两侧的外侧映射位置和序列方向来形成 Hi-C 对;
- 报告未映射/多重映射(模糊对齐)/嵌合对齐为染色体 "!"、位置 0、序列方向 "-";
- 执行 Hi-C 分子两侧的上三角翻转,使得第一侧的排序索引低于第二侧;
- 形成混合 pairsam 输出,其中每行包含一个 Hi-C 分子的所有可用数据(两侧的外侧映射位置、读取 ID、对类型和每个对齐的 .sam 条目);
- 报告对齐的 .sam 标签或突变;
- 在文件开头打印 .sam 头部作为 #-注释行。
-
parse2
:读取带有长配对端或单端读取的 .sam/.bam 文件,并从复杂路径形成 Hi-C 对- 识别并恢复由带有测序连接接点的单侧的单链 Hi-C 分子产生的嵌合对齐;
- 使用限制片段注释嵌合比对,并报告真实接头和跳跃(基于单读的相互作用注释,ORBITA);
- 当一侧的读取通过另一侧的DNA读取时,执行配对数据的分子内去重;
- 报告复杂路径中配对的索引;
- 对来自同一路径的配对进行组合展开;
-
排序
:排序配对文件(染色体按字典序,位置按数字序,配对类型按字典序)。 -
合并
:合并排序后的.pairs文件;- 合并排序.pairs;
- 组合所有输入文件的.pairs文件头;
- 检查每个.pairs文件是否映射到相同的参考基因组索引(通过检查@SQ sam头行的身份)。
-
选择
:根据指定标准选择配对;- 根据提供的条件选择配对条目。一个可编程接口允许对特定配对类型、染色体、位置、链、读取ID(包括匹配通配符/regexp/列表)进行任意复杂的查询。
- 可选地将不匹配的条目打印到单独的文件中。
-
去重
:从排序后的翻转三联.pairs文件中移除PCR重复;- 通过查找两侧都映射到相似基因组位置的条目对来移除PCR重复(+/- N bp);
- 可选地将PCR重复条目输出到单独的文件中;
- 从原始Illumina读取ID中检测光学重复;
- 结合去重应用配对的各种属性(MAPQ;方向;距离)进行过滤;
- 将yaml或方便的tsv去重统计数据输出到文本文件。
- 注意:为了删除所有PCR重复,输入必须包含单个实验复制的所有映射读取对;
-
maskasdup
:将pairsam中的所有配对标记为Hi-C重复;- 将pair_type字段更改为DD;
- 更改所有sam比对中的pair_type标签(Yt:Z:);
- 为所有sam比对设置PCR重复二进制标志(0x400)。
-
分割
:将.pairsam文件分割成.pairs和.sam; -
翻转
:翻转配对以获得上三角矩阵; -
头部
:操作.pairs/.pairsam头部;- 为无头.pairs文件生成新头;
- 将一个.pairs文件的头转移到另一个;
- 为.pairs文件设置列名;
- 验证头部是否与.pairs文件中存储的信息相对应;
-
统计
:计算.pairs文件的多种统计数据; -
限制
:识别形成Hi-C接头的限制片段的范围; -
相
:对映射到二倍体基因组中的配对进行相;
贡献
欢迎提交拉取请求。
为了开发,使用-e
选项以可编辑(即开发)模式克隆和安装。这样您还可以实时拉取更改。
$ git clone https://github.com/open2c/pairtools.git
$ cd pairtools
$ pip install -e .
引用pairtools
Open2C*,Nezar Abdennur,Geoffrey Fudenberg,Ilya M. Flyamer,Aleksandra A. Galitsyna*,Anton Goloborodko*,Maxim Imakaev,Sergey V. Venev。“Pairtools:从测序数据到染色体接触”bioRxiv,2023年2月13日;doi:https://doi.org/10.1101/2023.02.13.528389
许可
MIT
项目详情
下载文件
下载适用于您平台的应用程序。如果您不确定要选择哪个,请了解更多关于安装包的信息。