美文网首页小教程收藏
「生信」Juicer —— For Hi-C Data Proc

「生信」Juicer —— For Hi-C Data Proc

作者: bioinfo_boy | 来源:发表于2019-07-05 16:13 被阅读7次

目录

  • 写在前面
  • juicer_tools.jar使用说明
  • straw介绍

写在前面

  • 承接上一遍, 拿到.hic文件之后
  • 尽量把能用到的下游脚本记录一下

juicer_tools.jar使用说明

概述

Juicer_tools
  • juicer_tools.jar工具的下载, Download, 就是个java包, 直接命令行运行就可以
  • 工具支持URL链接, 有些数据无序下载
  • command line
    java -jar juicer_tools.jar (command...) [flags...] <parameters...>
    
  • 对于没有非GPU的版本, 命令行运行HiCCUPS(方法一)
    java -Xms512m -Xmx2048m -Djava.library.path=path/to/natives/ -jar juicer_tools.jar hiccups [flags...] <parameters...>
    
  • juicer_tools.jar 功能介绍
    • arrowhead 注释TAD
    • hiccups 注释loop
    • motigs 定位CTCF元件
    • hiccupsdiff 从多个loos文件中找到不同的loop
    • apa 聚合峰的分析
    • pearsons 计算皮尔森相关系数
    • eigenvector 计算特征向量的皮尔森相关系数?
    • dump .hic文件互作矩阵提取
    • pre 非juicer数据转.hic文件

工具的使用 → juicer_tools.jar

Arrowhead

链接: Arrowhead

  • 参数介绍
arrowhead [-c chromosome(s)] [-m matrix size] [-r resolution] 
        [-k normalization (NONE/VC/VC_SQRT/KR)] <HiC file> 
        <output_file> [feature_list] [control_list]
参数 描述
必须参数 ---
<HiC file> Juicer生成的.hic文件
<output_file> contact domain文件, 可导入Juicebox 通过2D annotation进行可视化
可选参数 ---
-c 染色体, 多个染色体写法chr1,chr2,chr3, 或者是1,2,3
-m 沿着对角线移动的窗口, 必须为偶数,移动步距是m/2, 默认为2000
-r 查找的分辨率, 默认为10k, 设置值取决于.hic文件
-k 选择标准化的方式, <NONE/VC/VC_SQRT/KR>, 通常选KR
  • 输出格式
chromosome1    x1    x2    chromosome2    y1    y2    color    corner_score    Uvar    Lvar    Usign    Lsign
  • x1 = y1, x2 = y2
  • corner_score, contact domain 是边缘bin的可能性, 值越大, 可能性越高
  • Uvar, 上三角形的方差
  • Lvar, 下三角形的方差
  • Usign, 上三角形sign of the entries的总和
  • Lsign, 下三角形sign of the entries的总和

HiCCUPS(方法二)

这里介绍'阉割CPU版本, 链接: CPU-HiCCUPS

  • 阉割版和GPU版本的区别
    • 不能设定搜索范围, 默认范围为8M, 有文献支持98%的loop范围在小于2M区域(简单理解为阉割版找到的loop变少了)
    • FDR的计算有细微的差异
    • 通过 --cpu参数限定版本, 同时可以使用GPU版本--restrict来比较两者的差异
  • 如果命令行只提交必须参数, 软件会根据.hic文件包含的信息进行calling操作
  • 参数介绍
hiccups [-m matrixSize] [-c chromosome(s)] [-r resolution(s)] 
        [-k normalization (NONE/VC/VC_SQRT/KR)] [-f fdr] 
        [-p peak width] [-i window] [-t thresholds] 
        [-d centroid distances] <HiC file> <outputDirectory> [specified_loop_list]
参数 描述
必须参数 ---
--cpu CPU版本必选
<HiC file> MAPQ>30的.hic文件
<outputDirectory> 计算的结果文件和中间文件
可选参数 ---
--restrict 使用GPU版本跑CPU版本的参数信息, 用于比较两者的差异
[specified_loop_list] 位置的可选参数, 对应于merge的loop文件, 用于返回特定loop
-m 我理解为GPU并行的线程数, 不会影响结果, 数值越大, 速度越快, 独显可设置500, 100 或2048, 集成选卡最好不要超过100
-c 染色体, 多个染色体写法chr1,chr2,chr3或者1,2,3
-r 分辨率, 多个分辨率用','隔开, 不同的分辨率再设置其他参数时也需用','隔开
-k 选择标准化的方式, <NONE/VC/VC_SQRT/KR>, 通常选KR
-f FDRvalues
-p 峰的宽度
-i 窗口的宽度
-d Distances used for merging nearby pixels to a centroid
-t 四个用逗号隔开的参数, 用于不同分辨率的loop合并的门槛

MotifFinder

  • 链接 MotifFinder
  • 需要ChiP-seq数据, 等有数据了再补充

Hiccupsdiff

  • 参数介绍
hiccupsdiff [-m matrixSize] [-k normalization (NONE/VC/VC_SQRT/KR)] [-c chromosome(s)] [-f fdr] [-p peak width] [-i window] [-t thresholds] [-d centroid distances] <firstHicFile> <secondHicFile> <firstLoopList> <secondLoopList> <outputDirectory>
  • 前部分参数与hiccups相同, 该部分调用了hiccups
  • <firstHicFile> <secondHicFile> 相比较的两个.hic文件
  • <firstLoopList> <secondLoopList> 相比较的两个merged_loops文件
  • <outputDirectory> 中会有两个differentialLoopList1/2, 分别是两个map的差异loop

APA

  • Juicer是在Rao, Huntley et al. Cell 2014文章中发表的, 关于算法和逻辑的理论一定要读这篇文章
  • 当选择-u参数时, gw目录下 measures.txt 中P2LL显著高于1, 且ZscoreLL显著高于0表明enrichment, 关于结果的跟你更多介绍详见Description of Results
  • 当选择-u参数时, 每个目录下有四种基于不同算法的APA文件
  • 当选择-u参数时, 四个APA文件中, APA.pngnormedAPA.png是文章中用到的两种算法的结果文件, 剩余两个APA文件为替代版本
  • 每个图的四角都有一个值是中心像素对四角黑框中所有像素测算的丰富度, 左下角是APA值的数字
  • 以上表达的有些让人难以理解, 更多介绍详见Description of Results
  • 参数介绍
apa [-n minval] [-x maxval] [-w window] [-r resolution(s)] [-c chromosomes]
        [-k NONE/VC/VC_SQRT/KR] [-q corner_width] [-e include_inter_chr] [-u     
save_all_data]
        <hicFile(s)> <PeaksFile> <SaveFolder>
参数 描述
必须参数 ---
<hicFile(s)> .hic文件
<PeaksFile> loop文件
<SaveFolder 保存的目录
可选参数 ---
-n 对角线上peaks的最小距离, 用于过滤距离近的峰, 跟提供的分辨率有关系, 例如: -n 30, 分辨率5Kb, 筛选条件为 30*(5000/sqit(2))
-x 对角线上peaks的最大距离, 用于过滤距离近的峰, 跟提供的分辨率有关系, 例如: -n 30, 分辨率5Kb, 筛选条件为 30*(5000/sqit(2))
-w 特殊loop聚合的窗口宽度
-r 分辨率, 多重分辨率可以写成5000,10000
-c APA分析的染色体, 多个染色体写法chr1,chr2,chr3或者1,2,3
-k 选择标准化的方式, <NONE/VC/VC_SQRT/KR>, 通常选KR
-q 对应于-r, 在各分辨率下边角区域的宽度
-e 用于计算染色体间的APA, 作者表示, 文献中APA不是对染色体间设计的, 使用需谨慎
-u 对每条染色体保存plots
  • 默认参数推荐
-n 30 
-x (infinity) 
-w 10 
-r 25000,10000,5000
-q 6,6,3
-c (all chromosomes) 
-k KR

Pearsons

  • 计算染色体内互作的Observed/Expected皮尔斯相关系数
  • 参数介绍
pearsons <NONE/VC/VC_SQRT/KR> <hicFile(s)> <chr> <BP/FRAG> <binsize> [outfile]  
  • 运行
java -jar juicer_tools.jar pearsons NONE HIC001.hic X BP 25000 pearsons_25Kb.txt

Eigenvector

  • eigenvector是皮尔斯矩阵的第一主成分
  • 参数介绍
eigenvector <NONE/VC/VC_SQRT/KR> <hicFile(s)> <chr> <BP/FRAG> <binsize> [outfile]
  • 运行
java -jar juicer_tools.jar eigenvector VC HIC001.hic X BP 5000 eigen.txt

Dump

是Juicebox的命令行提取工具, 如果使用Python, R或C++, 可以通过straw
模块处理.hic文件

  • 参数介绍
juicebox dump <observed/oe> <NONE/VC/VC_SQRT/KR> <hicFile(s)> <chr1>[:x1:x2] <chr2>[:y1:y2] <BP/FRAG> <binsize> [outfile]
         dump <norm/expected> <NONE/VC/VC_SQRT/KR> <hicFile(s)> <chr> <BP/FRAG> <binsize> [outfile]
         dump <loops/domains> <hicFile URL> [outfile]
  • <observed/oe> 提取observed或者observed/expected的矩阵数据
  • <NONE/VC/VC_SQRT/KR> 三种不同的标准化算法
  • <hicFile(s)> 一个或多个.hic文件
  • <chr1>[:x1:x2] <chr2>[:y1:y2] 想要提取的两染色体互作位点, 不加位置时默认提取两条染色体的全部信息
  • <BP/FRAG> 分辨率模式: bp或者是fragment
  • <binsize> 分辨率
  • <norm/expected> 这一部分提取的信息好比 hicpro 中的 .matrix.biases 文件
  • <loops/domains> loop和TAD的提取必须用包含这部分信息的.hic文件, CPU版本得到的.hic是没有这部分信息的
  • -d 很重要 用于生成常用的矩阵文件, 可以通过这个文件与hicplotter连接

Pre

  • 可以转换非juicer互作结果文件为.hic

straw介绍

是各平台接口

Python

  • 安装
python3 -m pip install hic-straw
  • 使用方法见help(straw) or Examples

C++&R

~

相关文章

网友评论

    本文标题:「生信」Juicer —— For Hi-C Data Proc

    本文链接:https://www.haomeiwen.com/subject/welrcctx.html