用于处理映射的hi-c数据的cli工具

pairtools的Python项目详细描述


pairtools

文档状态构建状态.在https://gitter.im/mirnylab/distiller加入聊天doi

用pairtools处理hi-c对

pairtools是一个简单快速的命令行框架,用于处理排序 来自HI-C实验的数据。

pairtools处理对端序列对齐并执行以下操作 操作:

  • 在hi-c dna分子的成对末端序列中检测连接(又称hi-c对)。
  • 用于下游分析的sort.pairs文件
  • 检测、标记并移除PCR/光学复制品
  • 生成HI-C数据集的广泛统计信息
  • 根据灵活定义的标准选择HI-C对
  • 从HI-C对恢复.sam对齐

开始:

  • 请看一个快速示例
  • 查看详细的文档

数据格式

pairtools生成和操作与 。对 由4D核子体联盟定义的格式。所有 pairtools正确管理文件头并跟踪数据 处理历史。

此外,pairtools定义.pairsam格式,它是.pairs的扩展,包括sam对齐 一个已测序的hi-c分子。.pairsam符合.pairs格式,可以由任何 操作.pairs文件。

安装

要求:

  • python 3.x
  • python包cythonnumpy单击
  • 命令行实用程序sort(UNIX版本)、bgzip(随tabix提供)和samtools。如果可用,pairtools可以使用pbgziplz4压缩输出。

强烈建议使用condapackage manager安装pairtools及其所有依赖项。要获得它,您可以安装完整的python发行版,也可以只安装独立的conda包管理器。

使用conda,您可以从bioconda频道安装pairtools及其所有依赖项。

$ conda install -c conda-forge -c bioconda pairtools

或者,安装lpairtools并且只有pypi中使用pip的python依赖项:

$ pip install pairtools

快速示例

设置一个新的测试文件夹并下载一个映射到SACCER3基因组的小型HI-C数据集:

$ mkdir /tmp/test-pairtools
$ cd /tmp/test-pairtools
$ wget https://github.com/mirnylab/distiller-test-data/raw/master/bam/MATalpha_R1.bam

此外,我们还需要一个.chromsizes文件,一个用制表符分隔的纯文本表,描述映射期间使用的基因组集合中染色体的名称、大小和顺序:

$ wget https://raw.githubusercontent.com/mirnylab/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

管道

  • 我们在/examples/中提供了一个映射bash管道的简单工作示例。
  • 蒸馏器功能强大 HI-C数据分析工作流程,基于pairtoolsnextflow

工具

  • 解析:读取bwa生成的.sam文件并形成hi-c对

    • 通过报告最外面的映射位置和链形成hi-c对 在每个分子的两边;
    • 报告未映射/多重映射(不明确的对齐)/嵌合对齐为 染色体"!",位置0,链"-";
    • 单结扎hi-c产生的染色体排列的识别与修复 一侧有顺序连接的分子;
    • 对hi-c分子的两侧进行上三角翻转 使第一侧的排序索引低于第二侧;
    • 形成混合pairsam输出,其中每一行包含所有可用数据 对于一个hi-c分子(最外面的映射位置在两边, 读取每个对齐的id、pair type和.sam条目);
    • 将.sam头打印为文件开头的注释行。
  • 排序:排序对文件(染色体的字典顺序, 位置的数字顺序,成对类型的字典顺序。

  • 合并:合并排序的.pairs文件

    • 合并sort.pairs;
    • 合并所有输入文件中的.pairs头;
    • 检查每个.pairs文件是否映射到相同的参考基因组索引 (通过检查@sq sam报头行的标识)。
  • 选择:根据指定的条件选择对

    • 根据提供的条件选择pairs条目。可编程的 接口允许对特定的对类型进行任意复杂的查询, 染色体,位置,链,读取ID(包括匹配到 通配符/regexp/list)。
    • 可以选择将不匹配的条目打印到单独的文件中。
  • 重复数据消除:从已排序的triu flipped.pairs文件中删除PCR重复数据

    • 通过找到两边都映射的条目对来删除PCR重复项 到相似的基因组位置(+/-n bp);
    • 可选地将PCR重复项输出到单独的文件中。
    • 注意:为了删除所有PCR重复项,输入必须包含*all* 从单个实验复制映射读取对;
  • maskasdup:将pairsam中的所有对标记为hi-c副本

    • 将字段对类型更改为dd;
    • 更改所有sam对齐的pair_type标记(yt:z:);
    • 为所有sam对齐设置pcr duplicate binary标志(0x400)。
  • 拆分:将.pairsam文件拆分为.pairs和.sam。

  • 统计信息:计算.pairs文件的各种统计信息

  • restrict:确定形成hi-c连接的限制片段的范围

贡献

欢迎提出拉取请求。

D<D使用-e选项以"可编辑"(即开发)模式进行开发、克隆和安装。这样,您还可以随时进行更改。

$ git clone https://github.com/mirnylab/pairtools.git
$ cd pairtools
$ pip install -e .

许可证

麻省理工学院< /P>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JAVA Tictoe Minimax算法不断引发异常   java弹性时间计算器字符串开关   java从表单post操作中检索值   java Selenium webdriver无法在youtube上找到元素   java如何自动填写XFA(PDF)表单?   java为什么我的秒表程序不能运行?   raspberry pi禁用java中的其他声音   java如何配置web。xml,glassfishweb。JSF的xml文件?   使用浏览器运行自动测试时出现java错误。如何运行它?   java如何阻止Swing程序在每次向JTextArea添加文本时调整组件的大小   javajavax。注射注射无效   java如何改进Solaris服务器配置   java如何在elasticsearch后端脱机时处理Hibernate搜索启动   java TCPsocket的延迟很差,除非持续流式传输