Hi-C 数据分析(番外篇一)

HiC主要写三篇相关文章:
(一)HiC的起源与发展
(二)HiC的重要应用
(三)HiC的展望

上一篇已经讲过HiC的起源与发展,这期主要讲Hi-C的实验以及数据分析。

这期主要讲Hi-C数据分析(protocol)
1. 数据过滤(质量筛选,NGS必做^_^)
2.分析HiC数据,得到自己设定分辨率(例如100kb)的热图(由于这部分需要下载基因组,网速较慢,下期介绍)
3.Hi-C数据可视化以及Find Topologically Associating Domains
(1)需要数据:Hi-C交互矩阵:N * N 的矩阵
由第二步得到的Hi-C数据是这样的格式(中间以tab分割)

#tab
chrT_001 chrT_002 chrT_003 chrT_004
chrT_001 629 164 88 105
chrT_002 164 612 175 110
chrT_003 88 175 437 105
chrT_004 105 110 105 278

(2)软件包:tadbit
https://github.com/zilhua/tadbit
官方网站:http://3dgenomes.github.io/TADbit/
(3)计算代码:
View Code PYTHON

| #!/user/bin/python
# -- coding:UTF-8 --
‘’’ Created on ${date} @author: www.zilhua.com ‘’’

from pytadbit import Chromosome
# initiate a chromosome object that will store all Hi-C data and analysis
#设置环境,初始化
_my_chrom = Chromosome(name=’chr19’, centromere_search=True, species=’Homo sapiens’, assembly=’NCBI36’)
###mychrom
‘’’ Chromosome chr19: 0 experiment loaded: 0 alignment loaded: species : Homo sapiens assembly version: NCBI36 ‘’’

#加载数据以BingRen的数据为例
# load Hi-C data
mychrom.add_experiment(‘k562’, cell_type=’wild type’, exp_type=’Hi-C’,
identifier=’k562’, project=’TADbit tutorial’,
hic_data=”scripts/sample_data/HIC_k562_chr19_chr19_100000_obs.txt”
, resolution=100000)

my_chrom.add_experiment(‘gm06690’,cell_type=’cancer’, exp_type=’Hi-C’,
identifier=’gm06690’, project=’TADbit tutorial’,
hic_data=”scripts/sample_data/HIC_gm06690_chr19_chr19_100000_obs.txt”, resolution=100000)
#参数解释:k562 样本名;
celltype:细胞类型#exp_type:实验类型;
hic_data:HiC数据;#resolution:分辨率

_
#对两个样本分别可视化
_my_chrom.experiments[“k562”].view()
my_chrom.experiments[“gm06690”].view() | | —- |

3D基因组之HI-C数据分析 - 图1
3D基因组之HI-C数据分析 - 图2

_#如果这两个样本是对照实验,则可以这样exp = my_chrom.experiments[“k562”] + my_chrom.experiments[“gm06690”]
_my_chrom.add_experiment(exp)
my_chrom.visualize([(‘k562’, ‘gm06690’), ‘k562+gm06690’])

3D基因组之HI-C数据分析 - 图3

#Find Topologically Associating Domains
my_chrom.find_tad(‘k562’, n_cpus=4)
_my_chrom.find_tad(‘gm06690’, n_cpus=4)
#参数解释:
函数findtad第一个参数k652样本名; n_cpus线程数,个人电脑一般是1—4,服务器看配置#获取计算结果
my_chrom.experiments[“k562”].tads
my_chrom.experiments[“gm06690”].tads
#将数组转换成txt文本
my_chrom.experiments[“k562”].write_tad_borders()
#结果中,第一列就是TAD的编号,
#第二列第三列分别是TAD的起始和终止位置#第四列打分
#将TAD的边界在热图上显示
_my_chrom.visualize(‘k562’, paint_tads=True)

3D基因组之HI-C数据分析 - 图4

#如果需要对比两个样本的TAD情况
my_chrom.visualize([(‘k562’, ‘gm06690’)], _paint_tads=True, focus=(490,620), normalized=True)
#参数解释:painttads是否描述TAD边界;
#focus 显示染色体位置;normalized是否标准化

3D基因组之HI-C数据分析 - 图5

#TAD density
my_chrom.tad_density_plot(‘k562’)

3D基因组之HI-C数据分析 - 图6

| #保存和重载数据
my_chrom.save_chromosome(“some_path.tdb”, force=True)

from pytadbit import load_chromosome
my_chrom = load_chromosome(“some_path.tdb”)
print my_chrom.experiments | | —- |