目录
- 写在前面
- 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.png
和normedAPA.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
网友评论