以最简单的形式生成和处理hi-c数据的通用工具。
hicstuff的Python项目详细描述
打嗝
一个轻量级库,可以生成和处理与较酷兼容的2dbedGraph或instagraal格式的hi-c联系人地图。它本质上是yahcp管道、hicsuff库和其他功能的合并,如ow">3c教程和dade管道,都打包在一起,以获得额外的便利。
目标是使hi-c矩阵的生成和操作尽可能简单,并适用于任何生物体。
目录
安装
要安装稳定版本:
pip3 install -U hicstuff
或者,对于最新的发展版本锡安:
pip3 install -e git+https://github.com/koszullab/hicstuff.git@master#egg=hicstuff
外部依赖性
管道实用程序需要bowtie2和/或minimap2以及samtools。
您可以通过Conda软件包管理器安装它们:
conda install -c bioconda minimap2 bowtie2 samtools
或者,在ubuntu上,你也可以通过apt:
apt-get install samtools bowtie2 minimap2 libbz2-dev liblzma-dev
Docker安装
DockerHub上提供了一个预构建的Docker映像,可以使用以下命令运行:
docker run koszullab/hicstuff
用法
全管道
可以使用hicsuff pipeline
命令同时运行管道的所有组件。这允许从单个命令中的读取生成接触矩阵。默认情况下,输出稀疏矩阵是graal格式,但如果需要,它可以是2d bedgraph文件。更多详细的文档可以在readthedocs网站上找到:https://hicstuff.readthedocs.io/en/latest/index.html" rel="nofollow">https://hicstuff.readthedocs.io/en/latest/index.html
usage:
pipeline [--quality-min=INT] [--size=INT] [--no-cleanup] [--start-stage=STAGE]
[--threads=INT] [--aligner=bowtie2] [--matfmt=FMT] [--prefix=PREFIX]
[--tmpdir=DIR] [--iterative] [--outdir=DIR] [--filter] [--enzyme=ENZ]
[--plot] [--circular] [--distance_law] [--duplicates]
[--centromeres=FILE] --genome=FILE <input1> [<input2>]
arguments:
input1: Forward fastq file, if start_stage is "fastq", bam
file for aligned forward reads if start_stage is
"bam", or a .pairs file if start_stage is "pairs".
input2: Reverse fastq file, if start_stage is "fastq", bam
file for aligned reverse reads if start_stage is
"bam", or nothing if start_stage is "pairs".
例如,使用8个线程运行minimap2的管道,并在目录out
:
hicstuff pipeline -t 8 -a minimap2 -e DpnII -o out/ -g genome.fa reads_for.fq reads_rev.fq
管道也可以从python运行,使用hicstuff.pipeline
子模块。例如,这将使用迭代对齐使用bowtie2(默认)运行管道,并保留所有中间文件。
fromhicstuffimportpipelineashpihpi.full_pipeline('genome.fa','end1.fq','end2.fq',no_cleanup=Trueiterative=Trueout_dir='out',enzyme="DpnII")
管道的一般步骤如下:
单个部件
对于更高级的用法,可以在命令行上独立使用不同的脚本来执行管道的各个部分。本自述包含快速描述和示例用法。要获取有关任何子命令的详细说明,可以使用hicstuff<;subcommon>;--help
迭代对齐
将fastq文件中的读取截短到20个基对,并迭代扩展和重新对齐未映射的读取,以优化3c库中唯一对齐的读取的比例。
usage:
iteralign [--aligner=bowtie2] [--threads=1] [--min_len=20]
[--tempdir DIR] --out_sam=FILE --genome=FILE <reads.fq>
基因组的消化
基于限制性内切酶或 固定块大小。在目标目录中生成两个输出文件 命名为"info\u contigs.txt"和"fragments\u list.txt"
pip3 install -U hicstuff0
例如,用maeii和hinfi消化酵母基因组并显示片段长度直方图:
Hictuff摘要--绘图--outdir输出目录--酶maeii,Hinfi SC_ref.fa
过滤3c事件
根据默认情况下自动从库中估计的最小距离阈值,从库中过滤虚假的3C事件,例如循环和未切割。也可以绘制3C库统计数据。此模块接受一个包含9列的pairs文件作为输入(readid、chr1、pos1、chr2、pos2、strand1、strand2、frag1、frag2),并对其进行过滤。
pip3 install -U hicstuff1
查看联系人地图
将hi-c矩阵文件可视化为接触频率的热图。允许通过组合和规范化矩阵来优化可视化,并将输出图像保存到磁盘。如果未指定输出,则以交互方式显示输出。如果提供了两个接触图,将显示第一个图除以第二个图的对数比。
pip3 install -U hicstuff2
例如,要从在10KB重新构建的全基因组HI-C矩阵中查看1号染色体的1MB区域:
pip3 install -U hicstuff3
库
hicstuff程序的所有组件都可以用作python模块。请参阅reathedocs上的文档。库的预期联系人映射格式是一个简单的csv文件,库处理的对象是简单的numpy
数组。hicstuff的各个子模块包含各种实用程序。
pip3 install -U hicstuff4
连接模块
当runni运行时,这里描述的所有步骤都将自动处理nghicstuff管道
。但是,如果要手动连接不同的模块,则必须使用light python脚本处理中间输入和输出文件。
对齐读数
您可以使用自己喜爱的读取映射软件独立生成sam文件,使用命令行实用程序hicsuff iteralign
,或使用子模块hicsuff.pipeline
中的助手函数align_reads
。例如,要使用minimap2(默认情况下不是bowtie2)执行迭代对齐:
使用python函数:
pip3 install -U hicstuff5
使用命令行工具:
pip3 install -U hicstuff6
从校准中提取触点
hicstuff iteralign的输出是一个sam文件。为了检索hi-c对,您需要对两个fastq文件分别运行iteralign,并使用hicstuff的管道
子模块将结果对齐文件处理为按名称排序的bam文件,如下所示。
pip3 install -U hicstuff7
这将生成一个"pairs"文件,其中包含所有读取对,其中两个读取已对齐,映射质量至少为30。
将每个读操作归因于一个限制片段
为了构建一个接触矩阵,我们需要将每个读到的数据都归属于基因组中的一个片段。这是通过对基因组中限制性位点列表的每个读取位置执行二进制搜索来实现的。
pip3 install -U hicstuff8
过滤对
然后,可以使用hicstuff filter
命令在命令行中筛选生成的pairs文件,或者使用hicstuff.filter
子模块在python中筛选生成的pairs文件。否则,矩阵可以直接从未过滤对中生成。
在命令行上筛选:
pip3 install -U hicstuff9
在python中过滤:
pip3 install -e git+https://github.com/koszullab/hicstuff.git@master#egg=hicstuff
0
注意,命令和python函数都有各种选项来生成图或调整过滤阈值。这些选项可以使用 然后可以使用python子模块hicstuff.pipeline生成hi-c稀疏接触矩阵。矩阵可以以Graal格式生成,也可以以BedGraph2(WIP)格式生成,以获得较低的兼容性。hicstuff filter-h显示
矩阵生成
pip3 install -e git+https://github.com/koszullab/hicstuff.git@master#egg=hicstuff
1
文件格式
hicstuff filter
使用。它是一种以空格分隔的格式,保存有关HI-C对的信息。它有一个由4D核子体数据协调与集成中心定义的官方规范。cooler load-f bg2<;chrom.sizes>;:<;binsize>;in.bg2.gz out.cool
其中chrom.sizes是以制表符分隔的文件,每行上有染色体名称和长度,binsize是矩阵中的bin大小。 pip3 install -e git+https://github.com/koszullab/hicstuff.git@master#egg=hicstuff
2
pip3 install -e git+https://github.com/koszullab/hicstuff.git@master#egg=hicstuff
3
pip3 install -e git+https://github.com/koszullab/hicstuff.git@master#egg=hicstuff
4
推荐PyPI第三方库