Hi-C数据可视化-组装角度

这里讨论HiC的可视化是从组装角度出发,也就是如何展示contig和contig之间的关系

Hi-C数据可视化(我所知)有下面几个

  • Juicerbox: 可视化图形工具,需要.hic作为输入。
  • HiTC: R包工具
  • HiCPlotter: Python工具
  • HiCExplorer: Python工具
  • HiGlass: 网页浏览器

无论是何种分析工具,最核心的步骤就是提供它们需要的输入数据,也就是将fastq转成所需要的输入形式。虽然本质上都是对contact matrix进行展示,但问题在于部分工具定义了其特有的存放格式,需要进行一些格式转换。

基于上述考虑,我在数据预处理上选择使用HiC-Pro,因为HiC-Pro本身就能够将其结果转成fithic,juicebox的输入,此外HiCExplorer提供了hicCovertFormat,能够将Hic-Pro转成cool/mcool/h5/homer/ginteractions等格式。

后续假定HiC-Pro输出的文件为三个文件

  • input_20000.matrix: 原始上三角矩阵
  • input_20000_abs.bed: 坐标信息
  • input_20000_iced.matrix: ICE normalization的矩阵

HiTC

HiTC是R包,能够直接读取HiC-pro的输出结果,对应的函数是importC

# BiocManager::install("HiTC")
library(HiTC)
## Load Hi-C data
x <- importC("input_20000.matrix", xgi.bed = "input_20000_abs.bed")
show(x)

由于读取这一步时,它会创建NXN个 Map,如果有1,000个contig, 那么最终会得到1,000,000个map,这是一个非常可怕的计算量,R语言会因此而崩溃。因此对于contig级别的基因组而言,不应该用这个工具进行展示。

在可视化方面方面,主要是mapC,它接受一个HTClist作为输入

sset <- reduce(x, chr=c("chr5","chr6","chr7"))
x90_500 <- HTClist(mclapply(sset, binningC,
binsize=500000, bin.adjust=FALSE, method="sum", step=1))
mapC(imr90_500)

考虑到矩阵以对角线对称,实际上只需要展示上三角即可

hox <- extractRegion(x$chr6chr6, chr="chr6", from=50e6, to=58e6)
plot(hox, maxrange=50, col.pos=c("white", "orange", "red", "black"))

更多参考: https://bioconductor.org/packages/release/bioc/vignettes/HiTC/inst/doc/HiC_analysis.pdf

HiCPlotter

HiCPlotter依赖Python2.7和对应的Numpy, Scipy,Matplotlib, 由于两年没有更新,因此GitHub里提到的版本都比较古老,经测试,Numpy=1.15.1,Scipy=1.1.0, Matplotlib=2.2.3 能够正常运行。

它支持HiC-pro的输出,无需做格式转换。

举个例子

python HiCPlotter.py \-f input_20000_iced.matrix \-o Exemple \-wg 1-r 20000 \-tri 1 \-bed input_20000_abs.bed \-n Test -chr chrX -ptr 1
# -r: 分辨率
# -f 输入矩阵
# -tri: HiC-Pro输入要设置为1
# -bed: HiC-Pro输入要指定bed
# -wg: 全基因组的交互
# -ptr: 绘制三角还是全部

HiCPlotter只能单个染色体或者从起始染色体到指定染色体的全基因组互作,并不能绘制给定任意多个染色体的互作关系,功能比较简单。

HiCExplorer可视化

HiCExplorer开发deeptools的团队推出的HiC处理工具,包括格式转换,HiC矩阵质控和可视化。在功能上和性能上,HiCExplorer都比之前提及的工具强,但是如果只用需要的功能,它并不会很复杂。

HiCExplorer要求contact matrix以h5格式存放,因此需要对HiC-Pro的结果进行转换

hicConvertFormat \-m input_20000_iced.matrix \-o input_20000 \--bedFileHicpro input_20000_abs.bed \--inputFormat hicpro --outputFormat h5

输出的是input_20000.h5文件,该h5文件便是后续分析的矩阵输入文件

使用hicPlotMatrix绘制热图展示HiC数据

# 绘制单条染色体
hicPlotMatrix --matrix input_20000.h5 -out chrX_chrY \--region chrX
# chrX和chrY的交互
hicPlotMatrix --matrix input_20000.h5 -out chrX_chrY \--region chrX \--region2 chrY
# 展示指定的2个染色体
hicPlotMatrix --matrix input_20000.h5 -out chrXchrY \--chromosomeOrder chrX chrY

更多信息参考: https://hicexplorer.readthedocs.io/en/latest/content/tools/hicPlotMatrix.html

Hi-C数据可视化-组装角度相关推荐

  1. 用python画肖战_从python爬虫以及数据可视化的角度来为大家呈现“227事件”后,肖战粉丝的数据图...

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取t.cn ...

  2. 《Excel数据可视化:一样的数据不一样的图表》——导读

    前 言 Excel不仅是实现数据记录.整理.分析的办公自动化软件,还是数据可视化的工具.在 Excel的强大功能中,图表可算是"三大元老"之最,它最丰富多彩.最直观简略.最通俗易懂 ...

  3. python与excel做数据可视化-我在工作中是怎么玩数据的—数据可视化系列教程—Python篇...

    一. 为什么是Python? Python现在已经成为数据科学的语言!基于 Python 代码实现批量化,流程化的数据探索与汇报!按照地产大佬***的话讲--就是重复性的工作直接用Python搞定就可 ...

  4. 本周开课 | 第 17 期高级转录组分析和R数据可视化火热报名中!!!

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年4月15-17 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时 ...

  5. 第16期高级转录组分析和R数据可视化培训(2022年1月)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年1月14-16 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时 ...

  6. 8000 字深度长文!B端数据可视化设计指南(信息图表篇)

    作者:核糖Bro(转载已取得作者授权) 在如今的工作中(尤其是 B 端)越来越多的会开始出现数据可视化的身影,对于一部分小伙伴来说这个概念是较为陌生的,面对这道无形之中提升的"门槛" ...

  7. 相约2023 | 第 20 期高级转录组分析和R数据可视化火热报名中!!!

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2023年02月17-19 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实 ...

  8. 高级转录组分析和R数据可视化技术研讨会(2023.2)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2023年2月17线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时互动,并 ...

  9. 经典升级,长直播,马上开课 | 第 20 期高级转录组分析和R数据可视化火热报名中!!!...

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2032年02月17-19 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实 ...

最新文章

  1. Matplotlib实例教程(十四)误差条形图
  2. android广告页白屏_android 白屏
  3. 使用redis的发布订阅模式实现消息队列
  4. 判断 JS 中对象的类型
  5. 英文书《用unreal来学习c++》_用机器学习来概括《哈利波特》,四句话总结一场戏...
  6. 关于android各种双卡手机获取imei,imsi的处置(mtk,展讯,高通等)
  7. java表达式的类型_java – 此表达式的目标类型必须是功能界面
  8. reportng定制修改
  9. Modis数据下载及后处理
  10. CCSK云计算安全认证
  11. 有趣的23000词根
  12. 2023计算机毕业设计SSM最新选题之java中药城药材销售管理系统eah41
  13. 手机**##,试试看
  14. 对一些时间处理的总结
  15. Vue实例详解与生命周期
  16. IOS开发协议使用之──非正式协议和正式协议
  17. esp32 wifi 连接
  18. [最短路-Floyd][并查集]SSL P2344 刻录光盘
  19. CentOS7开机进入紧急模式EmergencyMode的解决办法
  20. 点亮LED灯驱动编写过程

热门文章

  1. 动态内存的分配与释放
  2. 动态内存申请(malloc, calloc, new)之分配虚拟内存空间和物理内存空间
  3. 图神经网络(一):综述
  4. bzoj 1503 (权值线段树)
  5. Ubuntu下安装 rust和urdf-viz
  6. 群发邮件 (20 分)
  7. 网盘修复版新增qq支付仿城通网盘115网盘源码下载
  8. ( 285 => 347)JQ的继承方法
  9. Pyecharts--第一个培训数据dashboard(不太完美)
  10. 学生签到系统c代码_C语言学生管理系统源码分享