Hi-C数据可视化-组装角度
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数据可视化-组装角度相关推荐
- 用python画肖战_从python爬虫以及数据可视化的角度来为大家呈现“227事件”后,肖战粉丝的数据图...
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取t.cn ...
- 《Excel数据可视化:一样的数据不一样的图表》——导读
前 言 Excel不仅是实现数据记录.整理.分析的办公自动化软件,还是数据可视化的工具.在 Excel的强大功能中,图表可算是"三大元老"之最,它最丰富多彩.最直观简略.最通俗易懂 ...
- python与excel做数据可视化-我在工作中是怎么玩数据的—数据可视化系列教程—Python篇...
一. 为什么是Python? Python现在已经成为数据科学的语言!基于 Python 代码实现批量化,流程化的数据探索与汇报!按照地产大佬***的话讲--就是重复性的工作直接用Python搞定就可 ...
- 本周开课 | 第 17 期高级转录组分析和R数据可视化火热报名中!!!
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年4月15-17 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时 ...
- 第16期高级转录组分析和R数据可视化培训(2022年1月)
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年1月14-16 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时 ...
- 8000 字深度长文!B端数据可视化设计指南(信息图表篇)
作者:核糖Bro(转载已取得作者授权) 在如今的工作中(尤其是 B 端)越来越多的会开始出现数据可视化的身影,对于一部分小伙伴来说这个概念是较为陌生的,面对这道无形之中提升的"门槛" ...
- 相约2023 | 第 20 期高级转录组分析和R数据可视化火热报名中!!!
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2023年02月17-19 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实 ...
- 高级转录组分析和R数据可视化技术研讨会(2023.2)
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2023年2月17线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时互动,并 ...
- 经典升级,长直播,马上开课 | 第 20 期高级转录组分析和R数据可视化火热报名中!!!...
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2032年02月17-19 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实 ...
最新文章
- Matplotlib实例教程(十四)误差条形图
- android广告页白屏_android 白屏
- 使用redis的发布订阅模式实现消息队列
- 判断 JS 中对象的类型
- 英文书《用unreal来学习c++》_用机器学习来概括《哈利波特》,四句话总结一场戏...
- 关于android各种双卡手机获取imei,imsi的处置(mtk,展讯,高通等)
- java表达式的类型_java – 此表达式的目标类型必须是功能界面
- reportng定制修改
- Modis数据下载及后处理
- CCSK云计算安全认证
- 有趣的23000词根
- 2023计算机毕业设计SSM最新选题之java中药城药材销售管理系统eah41
- 手机**##,试试看
- 对一些时间处理的总结
- Vue实例详解与生命周期
- IOS开发协议使用之──非正式协议和正式协议
- esp32 wifi 连接
- [最短路-Floyd][并查集]SSL P2344 刻录光盘
- CentOS7开机进入紧急模式EmergencyMode的解决办法
- 点亮LED灯驱动编写过程