HiC学习记录(二)——HiCPlotter
因为很久没用HiCPlotter,而且之前软件也进行过更新,在再次运行相关命令时,提示以下错误:
ImportError: No module named functools_lru_cache
于是就重新安装 matplotlib:pip2 install matplotlib
之后提示,已经成功安装,版本 2.2.4;其中模块 backports.functools-lru-cache 也已经成功安装,版本 1.5
模块都在,不知错哪?于是百度求助,查到一个帖子链接如下,其中提出了多种解决方式:
python 2.7 functools_lru_cache does not import although installed
尝试了两种方式,其中有一种对我有帮助
1、matplotlib的版本问题,将版本退回到2.0.2 ,$ pip install matplotlib==2.0.2
此方式可以解决我遇到的麻烦
2、帖子中提到,不需要降低 matplotlib 的版本,可以通过先卸载 backports.functools-lru-cache模块,然后再重新安装的方法,来解决问题。这个我也试了试,不过对我并没有帮助
解决好问题,使用HiCPlotter画图
需要用到HiC-Pro结果文件中的
HiC互作区间文件:matrix——raw文件夹中的 .bed文件;文件具体内容如下:(前三列分别是染色体及起始位置,第四列是这个区间的编号,在矩阵文件中应用)
chr1 0 1000000 1
chr1 1000000 2000000 2
chr1 2000000 3000000 3
chr1 3000000 4000000 4
HiC互作矩阵文件:matrix——raw文件夹中的 .matrix文件;文件具体内容如下:(每个数字代表的每个100Kb的区间,和bed文件对应)
1 1 678.6580801
2 324.6154051
3 156.8161281
4 135.7309751
那么对于HiCPlotter输出结果最简单的出图运行命令:
python /home/wangyahao/HiC-Pro/HiCPlotter.py -f /media/wangyahao/wyahao/HiC-Pro_out-ym/outfile/hic_results/matrix/sample1/raw/40000/sample1_40000.matrix -tri 1 -bed /media/wangyahao/wyahao/HiC-Pro_out-ym/outfile/hic_results/matrix/sample1/raw/40000/sample1_40000_abs.bed -chr chr12 -o E -r 40000 -n chr12
-f 输入matrix文件
-tri 默认是0,改为“1”指定HiC-Pro文件
-bed 输入bed文件
-n 图的名称
-chr 指定染色体
-wg 是否画整条染色体,默认0,改为“1”激活
-r 分辨率
-o 输出文件前缀
-ptr 是否画三角形热图,默认0,改为“1”激活
-trh 改变三角形高度,默认是5
-ext 输出文件类型,默认 jpeg
-dpi 输出图片分辨率,默认200
其余参数的具体含义、及其他参数的设置可参考HiCPlotter官方manual:About HiCPlotter
还可以参考以下文章: