昨天在使用plotpup.py 画 hic 的热图时遇到问题,反复试了两个多小时. 报错如下:
plotpup.py --input_pups no_chr_T19.mcool-5.0K_over_T7_O_10-shifts.clpy --output T19_hic_T7_O.pdf
xxx/lib/python3.9/site-packages/coolpuppy/lib/numutils.py:79: RuntimeWarning: Mean of empty slice
return np.nanmean(amap[c - n // 2 : c + n // 2 + 1, c - n // 2 : c + n // 2 + 1])
Traceback (most recent call last):
File "xxx/.conda/envs/coolpup/bin/plotpup.py", line 8, in <module>
sys.exit(main())
File "xxx/.conda/envs/coolpup/lib/python3.9/site-packages/coolpuppy/plotpuppy_CLI.py", line 369, in main
fg = plot(
File "xxx/.conda/envs/coolpup/lib/python3.9/site-packages/coolpuppy/plotpup.py", line 735, in plot
vmin, vmax = get_min_max(pupsdf["data"].values, vmin, vmax, sym=sym, scale=scale)
File "xxx/.conda/envs/coolpup/lib/python3.9/site-packages/coolpuppy/plotpup.py", line 83, in get_min_max
raise ValueError("Data only contains NaNs or zeros")
ValueError: Data only contains NaNs or zeros
百思不得其解.
后面意识到这个软件对格式都有严格的要求. 例如bedpe文件就必须以 .bedpe结尾,bed文件也一样.
在计算时,命令行是这样的
coolpup.py ./no_chr_T19.mcool::resolutions/5000 ./T7_O.bedpe --clr_weight_name "" --flank 30000
我检查bedpe文件的时候发现,物理位置小的区间在后面,大的反倒在前面.
调整之后发现一切正常了. 😂
真是一场酣畅淋漓的调试啊!!!