首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ChIP-seq数据分析学习笔记

ChIP-seq数据分析学习笔记

因为有朋友看了这两天发的笔记。私信我说有些看不出来,为什么一个搞生物的要做数据分析。所以我决定打乱一下进程,先将后面的在生物领域的应用分享给大家。

我就以SRA数据库中一个癌细胞的ChIP-seq数据做展示。

ChIP-seq的数据是以read的方式存储的。一个数据集大约翰几百万个read。对于ChIP-seq数据的分析主要应用到包GAlignments,这个包要调用python下的Bioconductor

至于怎么用这个包将Raw数据转化成可以操作的read我在今后会分享给大家,如果感兴趣的也可以一些生物信息学论坛找人交流。

我们先看看一个可以分析的ChIP-seq数据长什么样子

start(reads)[1]#查看第一个read的位置

end(reads)[length(reads)] #查看最后一个read的位置

coverage(reads) #查看测序的覆盖度

在测序完成之后read是散在分布在基因组上的,但是呢。如果是结合了蛋白质的基因片段,在建库是就会被富集。被富集的片段,在测序中会被多次测,产生多个重叠的信号。而在将read比对到基因组的时候。会引起read覆盖基因组时引起coverage产生一个峰值(Peaks)。这些峰值有两个关键的参数,一个是峰的强度,一个是峰在基因组上的坐标。

一个Peak数据大概长这样

可以看到刚才说的两个重要的参数就是强度:score,位置ranges

max_idx

当我们找到了这个最强的峰的位置怎么锁定他在基因组上的位置呢?我们这时候可以用两个函数chrom(),rangs()分别锁定其在染色体上的位置和在染色体上的区段

max_peak_chrom

max_peak_range

我们可以看一下输出:

但是呢,我们只是选了最高的峰,那么在一个测序结果里往往会有多个峰。即一个蛋白会有很多个DNA结合位点,特别是一些很重要参与很复杂调控的转录因子,其他峰同样重要。那么有那么多峰我们难道要一个个列出来查看么?当然不是,我们可以将数据可视化。

如果用直方图,一个转录因子的结合位点可能覆盖多个染色。这样子每个染色体做一张图显然会很占地方。而且信息的传递效率不高,所以在这。我用read的读数对基因做热图

group

heatmap(sample_cor, ColSideColors = group, RowSideColors = group,

cexCol = 0.75, cexRow = 0.75, symm = TRUE)

heatmap(read_counts, ColSideColors = group, labRow = "", cexCol = 0.75)

做个热图大概长这样吧(做图水平有点糙,不要介意)

可能上述的代码大家都不是很理解,和这个图的含义。不过没关系,以后随着笔记的深入我想大家会逐渐有一个清晰的认识。

通过将数据整理我们可以创建一个列表用于存放出现峰的基因(潜在转录因子结合位点)在这个癌症数据集中,上传者表示这是一个抗肿瘤治疗的细胞系ChIP-seq结果。

所以呢,在这里我将数据简单的分成两个列表

ar_set #是原始的在抗肿瘤细胞系和对照(非抗治疗)中出现峰的所有基因

ab_sets #利用对照(不抗治疗肿瘤)筛选过存在差异的结合位点

通过upset()函数我们可以将差异化的结合位点找到并用图形表示

通过这个图,我们可以看到在对比抗治疗癌细胞系和正常细胞系中存在三个差异显著的某转录因子结合位点。其中高度代表他们cvg的峰值。第二列那个基因在不抗治疗癌细胞被这个转录因子。第一列基因在抗治疗癌细胞中被这个转录因子结合。第三个基因似乎在抗和不抗的癌细胞中都被这个转录因子结合。

那么这就是一条很重要的线索。

据此我们可以提出问题:

(1) 这个转录因子结合的两个基因分别与抗性表型存在什么联系,涉及什么信号通路,如何调控(上下游)?

(2) 这种调控重要性如何,是否可以利用这种现象开发药物?

所以这就是数据分析在生物领域一个重要的应用。

PS:最后再说一下个人的一些感悟。

(1)不知道大家发现没有,我省略的步骤都是数据的整理过程。最后的展示过程,其实很简单。其实是这样子,因为数据分析70%的时间都花在数据整理上。如何整理去除垃圾数据,如何找到关键数据,如何构建整理数据结构。所以这些都是基本功,很重要的。

(2)我觉得信息化手段给生物学家提供了一个更广阔的视野和更高的维度看待生物学问题。这使我们可以发现一些之前不能发现的问题,使我们能够以更深的角度看待一个生物学问题。这一句话有两层意思。

首先,它可以让我们观察到尚未观察到的现象,就比如冥王星的发现,起初并不是直接观测到,而是通过模型拟合预测它的存在。我以前听过我们学校信息院一名博士生的报告:他通过整合个体接受一种感冒药之后的炎症因子数据、基因表达数据构建了一个模型,再通过将疾病的炎症因子数据,基因表达加入模型中,观察他们的拟合程度。发现似乎银屑病(一种皮肤病)的数据和这个模型拟合的很好。然后在动物身上验证,发现这种感冒药真的可以治疗银屑病。我当时就震惊了!!感冒药和皮肤病,这两个毫不相干的东西。通过数据驱动(Data Driven)联系在了一起。我们常常听某个科学家犯了什么错误无意中发现了什么现象。虽然这是一个很美丽的故事,但是这种概率有多大的。而信息化的手段,可以让我们在大量的信息中找出这种微弱的联系。

其次,就是看看待生物学问题的深度问题。随着我们对生命现象探索的深入,生物的复杂程度可以说真的超乎想象。并不是简单的一两个实验可以完美解释的。而信息化的手段,沟通了世界各地各个实验室产生的数据,虽然在沟通的过程中存在标准化的问题,使现在沟通并不那么自由。但是总会有一条,会有某种标准化方法,使得在不同条件不同时间的实验数据可以在某个层面进行沟通(比较)。这时候,我们一定可以从整体,量化的角度对某一个现象进行解释。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181023G1LK0A00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券