ChIP-seq 分析:Differential Peaks(15)
创始人
2025-06-01 20:43:08
0

动动发财的小手,点个赞吧!

1. 寻找差异区域

然而,识别特定于细胞系或条件的峰并不能捕获表观遗传事件的全部变化。

为了识别表观遗传事件的差异,我们可以尝试量化 IP 样本中非冗余峰组中片段丰度的变化。

alt

我们首先必须建立一组区域,在这些区域中量化 IP ed 片段。

一种成熟的技术是产生一组非冗余峰,这些峰出现在至少一个被评估的实验条件的大多数中。

在这里,我们确定了在 Mel 或 Ch12 细胞系的两个重复中出现的峰。

HC_Peaks <- allPeaksSet_nR[rowSums(as.data.frame(mcols(allPeaksSet_nR)[, c("ch12_1",
    "ch12_2")])) >= 2 | rowSums(as.data.frame(mcols(allPeaksSet_nR)[, c("Mel_1",
    "Mel_2")])) >= 2]
HC_Peaks
HC_Peaks
HC_Peaks
export.bed(HC_Peaks, "HC_Peaks.bed")
HC_Peaks
HC_Peaks

2. 计数区域

我们将从对齐的 BAM 文件中计数以量化 IP 片段。

正如我们之前所见,我们可以使用 BamFileList() 函数来指定要计数的 BAM,重要的是,为了控制内存,我们使用 yield() 参数指定一次要保存在内存中的读取次数。

library(Rsamtools)

bams <- c("~/Projects/Results/chipseq/testRun/BAMs/Sorted_Myc_Ch12_1.bam", "~/Projects/Results/chipseq/testRun/BAMs/Sorted_Myc_Ch12_2.bam",
    "~/Projects/Results/chipseq/testRun/BAMs/Sorted_Myc_Mel_1.bam", "~/Projects/Results/chipseq/testRun/BAMs/Sorted_Myc_Mel_2.bam")
bamFL <- BamFileList(bams, yieldSize = 5e+06)
bamFL

我们可以使用 summarizeOverlaps 函数计算与峰重叠的片段数。由于 ChIPseq 是无链的,我们将 ignore.strand 参数设置为 TRUE。

返回的对象是一个熟悉的 RangedSummarizedExperiment,其中包含我们的非冗余峰的 GRanges 以及我们 BAM 文件在这些区域中的计数。

library(GenomicAlignments)
myMycCounts <- summarizeOverlaps(HC_Peaks, reads = bamFL, ignore.strand = TRUE)
class(myMycCounts)
save(myMycCounts, file = "data/MycCounts.RData")
myMycCounts
myMycCounts

3. DESeq2

为了评估跨细胞系的 ChIPseq 信号变化,我们将使用 DESeq2 包。

DESeq2 包包含一个工作流程,用于评估复制条件之间片段/读取丰度的局部变化。此工作流程包括标准化、方差估计、离群值移除/替换以及适用于高通量测序数据(即整数计数)的显着性测试。

要使用 DESeq2 工作流程,我们必须首先创建一个感兴趣条件的 data.frame,并将行名设置为我们的 BAM 文件名。

metaDataFrame <- data.frame(CellLine = c("Ch12", "Ch12", "Mel", "Mel"))
rownames(metaDataFrame) <- colnames(myMycCounts)
metaDataFrame
metaDataFrame
metaDataFrame

我们可以使用 DESeqDataSetFromMatrix() 函数来创建 DESeq2 对象。

我们必须将我们的计数矩阵提供给 countData 参数,我们的元数据 data.frame 提供给 colData 参数,并且我们在 rowRanges 的可选参数中包含我们可以依靠的非冗余峰值集。

最后,我们在我们希望测试设计参数的元数据 data.frame 中提供列的名称。

library(DESeq2)
deseqMyc <- DESeqDataSetFromMatrix(countData = assay(myMycCounts), colData = metaDataFrame,
    design = ~CellLine, rowRanges = HC_Peaks)

我们现在可以使用 DESeq() 函数在我们的 DESeq2 对象上运行 DESeq2 工作流程。

deseqMyc <- DESeq(deseqMyc)
deseqMyc
deseqMyc

我们的 DESeq2 对象已更新,以包含有用的统计信息,例如我们的标准化值和每个非冗余峰调用中的信号方差。

deseqMyc
deseqMyc
deseqMyc

我们可以使用 results() 函数提取差异区域的信息。

我们向 results() 函数提供 DESeq2 对象、对对比参数感兴趣的比较以及返回格式参数的输出类型。

与对比参数的比较作为长度为 3 的向量提供,包括感兴趣的元数据列和要测试的组。

我们可以使用 order() 函数按 pvalue 对结果进行排序,以按最显着的变化进行排名。

MelMinusCh12 <- results(deseqMyc, contrast = c("CellLine", "Mel", "Ch12"), format = "GRanges")
MelMinusCh12 <- MelMinusCh12[order(MelMinusCh12$pvalue), ]
class(MelMinusCh12)
MelMinusCh12
MelMinusCh12

GRanges 对象包含有关在 DESeq2 中进行的比较的信息。

最有用的是它包含 IP 信号的差异,如 log2FoldChange 中的 log2 倍变化、pvalue 列中变化的重要性以及调整后的 p 值以解决 padj 列中的多重校正。

MelMinusCh12[1, ]
MelMinusCh12
MelMinusCh12

我们现在可以通过过滤 log2FoldChange 和 padj(针对多重校正调整的 p 值)小于 0.05,将我们的非冗余峰过滤为 Mel 或 Ch12 细胞系中信号明显更多的峰。

MelMinusCh12Filt <- MelMinusCh12[!is.na(MelMinusCh12$pvalue) | !is.na(MelMinusCh12$padj)]
UpinMel <- MelMinusCh12[MelMinusCh12$padj < 0.05 & MelMinusCh12$log2FoldChange >
    0]
DowninMel <- MelMinusCh12[MelMinusCh12$padj < 0.05 & MelMinusCh12$log2FoldChange <
    0]
export.bed(UpinMel, "UpinMel.bed")
export.bed(DowninMel, "DowninMel.bed")
DowninMel
DowninMel

最后,我们可以使用 tracktables 包让我们在 IGV 中审查站点更容易一些。

tracktables 包的 makebedtable() 函数接受一个 GRanges 对象并编写一个包含 IGV 链接的 HTML 报告。

library(tracktables)
myReport <- makebedtable(MelMinusCh12Filt, "MelMinusCh12.html", basedirectory = getwd())

browseURL(myReport)

本文由 mdnice 多平台发布

相关内容

热门资讯

日常等车时看到的行业细节 干了五年户外广告投放,养成了一个职业病:但凡路过公交候车亭,总会多看两眼——不是看广告好不好看,而是...
黄金回收行业标准制定有哪些核心... 贵金属回购市场的需求背景 近年来随着黄金投资和消费市场的发展,黄金回收相关需求持续攀升。不同群体的诉...
全球黑色星期二!AI交易“崩盘... 【导读】AI交易为何“崩盘”? 中国基金报记者 泰勒 大家,你们今天还好吗?! AI交易在全球范围内...
原创 6... 年初抢金条的人还在站岗,如今金店柜台前冷冷清清 黄金又跌了。 6月23日,伦敦现货黄金价格日内急跌逾...
狂融294亿美元!SK海力士冲... 韩国股市再度迎来重磅消息。 周三,韩国存储芯片龙头SK海力士宣布,计划在7月10日登陆纳斯达克,通过...
比特币跌破6万!AI吸走资金、... 比特币正在为机构化转型付出代价。散户买盘萎缩、ETF资金持续外流、企业持仓者潜在抛售压力上升,加之A...
原创 默... 欧洲近期试图复刻1985年广场协议的剧本,德国总理默茨呼吁欧盟27国联合行动,要求中国签订类似协议以...
怎么选 泛娱乐赛道直播公司孵化... 泛娱乐直播创业的行业发展背景 近年来泛娱乐直播赛道持续保持增长态势,据公开数据资料显示,2024年国...
原创 腰... 最近黄金市场凉得彻底。各大品牌足金饰品克价跌破1300元关口,北京菜百6月21日报价已经掉到1260...
ST中装:公司主要银行账户已全... 证券之星消息,ST中装(002822)06月24日在投资者关系平台上答复投资者关心的问题。 投资者提...
2026年开窗机行业趋势与战略... 一、开篇引言:市场格局重塑下的选择逻辑 步入2026年,全球建筑智能化与绿色节能政策的叠加驱动,使开...
资金全面转向科技,传统消费企业... 近期 A 股出现明显风格切换,老牌消费资金持续流出,机构与传统上市公司纷纷加码半导体、算力赛道。 先...
合肥保利翡翠天奕具体交房时间是... 对于众多购房者而言,“合肥保利翡翠天奕具体交房时间是什么时候?能按时交房吗?”是心中最关切的问题。根...
港股风向标|恒指连续杀跌后企稳... 财联社6月24日讯(编辑 冯轶)今日港股短线企稳,三大指数集体收涨。截至收盘,恒生指数涨0.33%,...
瑞众人寿达州中支被罚17万,涉... 蓝鲸新闻6月24日讯,近日,国家金融监督管理总局达州监管分局发布行政处罚决定书,剑指瑞众人寿保险有限...
美国最担心的事还是来了,中国加... 最近这段时间,国际金融圈子里有一笔账,算得各家央行心里都不太踏实。 截至2026年春季,美国国债总规...
马斯克,不是万亿富豪了 资产历史性超过万亿美元不到两周,特斯拉、SpaceX掌门人埃隆·马斯克的身价近日快速下跌。 据中新经...
突发!金价跌破4000美元,近... 每经记者:杜宇 记者|杜宇 编辑|何小桃 杜恒峰 校对|金冥羽 金银价格大跳水。 6月24日晚,现货...
粗粮吃越多越好?很多糖友吃错升... 控糖圈一直流传多吃粗粮稳血糖,不少糖友直接三餐全吃粗粮、顿顿杂粮,不仅胃胀消化不良,餐后血糖反而不降...
持续大跌!刚刚,黄金跌破400... 潮新闻客户端 记者 吴恩慧 6月24日,贵金属再次大跌。 截至发稿时,现货黄金大跌近3%,跌破400...