CUT&Tag 分析教程 | 完结撒花

简介: CUT&Tag 分析教程 | 完结撒花

引言

本系列讲解 CUT&Tag 数据处理和分析教程 教程,持续更新,欢迎关注,转发!

CUT&Tag 数据处理和分析教程(9)

CUT&Tag 数据处理和分析教程(8)

CUT&Tag 数据处理和分析教程(7)

CUT&Tag 数据处理和分析教程(6)

CUT&Tag 数据处理和分析教程(5)

CUT&Tag 数据处理和分析教程(4)

CUT&Tag 数据处理和分析教程(3)

CUT&Tag 数据处理和分析教程(2)

CUT&Tag 数据处理和分析教程(1)

差异分析

  • DESeq2:通过 DESeq2 对 RNA-seq 数据进行差异分析,适度估算基因表达的倍数变化和离散度

在高通量测序实验中,分析计数数据的方差与均值之间的关系,并利用负二项分布模型来检测基因表达的差异。

构建样本矩阵

一般来说,差异分析主要是比较同一组蛋白修饰在不同条件下的表达情况。由于本教程使用的数据有限,只能通过比较 H3K27me3 和 H3K4me3 的两组重复样本来进行差异分析的演示。这里以 DESeq2为例。

  • 生成一个主峰列表,整合所有样本所检测到的峰。
##=== R command ===## 
mPeak = GRanges()
## overlap with bam file to get count
for(hist in histL){
  for(rep in repL){
    peakRes = read.table(paste0(projPath, "/peakCalling/SEACR/", hist, "_", rep, "_seacr_control.peaks.stringent.bed"), header = FALSE, fill = TRUE)
    mPeak = GRanges(seqnames = peakRes$V1, IRanges(start = peakRes$V2, end = peakRes$V3), strand = "*") %>% append(mPeak, .)
  }
}
masterPeak = reduce(mPeak)
  • 统计主峰列表中每个峰的片段数量。
##=== R command ===## 
library(DESeq2)
bamDir = paste0(projPath, "/alignment/bam")
countMat = matrix(NA, length(masterPeak), length(histL)*length(repL))
## overlap with bam file to get count
i = 1
for(hist in histL){
  for(rep in repL){

    bamFile = paste0(bamDir, "/", hist, "_", rep, "_bowtie2.mapped.bam")
    fragment_counts <- getCounts(bamFile, masterPeak, paired = TRUE, by_rg = FALSE, format = "bam")
    countMat[, i] = counts(fragment_counts)[,1]
    i = i + 1
  }
}
colnames(countMat) = paste(rep(histL, 2), rep(repL, each = 2), sep = "_")
  • 测序深度标准化与差异富集峰的检测
##=== R command ===## 
selectR = which(rowSums(countMat) > 5) ## remove low count genes
dataS = countMat[selectR,]
condition = factor(rep(histL, each = length(repL)))
dds = DESeqDataSetFromMatrix(countData = dataS,
                              colData = DataFrame(condition),
                              design = ~ condition)
DDS = DESeq(dds)
normDDS = counts(DDS, normalized = TRUE) ## normalization with respect to the sequencing depth
colnames(normDDS) = paste0(colnames(normDDS), "_norm")
res = results(DDS, independentFiltering = FALSE, altHypothesis = "greaterAbs")

countMatDiff = cbind(dataS, normDDS, res)
head(countMatDiff)

  • DESeq2 要求输入的矩阵为未经标准化的测序读长计数或估计计数。

  • DESeq2 模型会自动校正文库大小。

  • countMatDiff 汇总了差异分析的结果:

    • 前 4 列:过滤掉低计数峰区域后的原始读长计数。
    • 接下来的 4 列:经过标准化处理的读长计数,消除了文库大小的影响。
    • 剩余列:差异检测的结果。
相关文章
|
C++
如何使用MACS进行peak calling
MACS2是peak calling最常用的工具。 callpeak用法 这是MACS2的主要功能,因为MACS2的目的就是找peak,其他功能都是可有可无,唯独callpeak不可取代。
5182 0
|
数据可视化 数据处理
CUT&Tag 数据处理和分析教程(8)
CUT&Tag 数据处理和分析教程(8)
1348 12
|
数据可视化 数据处理
CUT&Tag 数据处理和分析教程(9)
CUT&Tag 数据处理和分析教程(9)
819 15
CUT&Tag 数据处理和分析教程(9)
|
数据可视化 算法 数据挖掘
HiChIP 数据分析: 分析简介
HiChIP 数据分析: 分析简介
HiChIP 数据分析: 分析简介
|
11月前
|
存储 算法 数据挖掘
HiChIP 数据分析: 鉴定 Loops
HiChIP 数据分析: 鉴定 Loops
|
数据采集 存储 索引
转录组分析丨一套完整的操作流程简单案例(上)
转录组分析丨一套完整的操作流程简单案例
|
人工智能 Linux 文件存储
旧台式电脑的 10 种用途
旧台式电脑的 10 种用途
1376 14
|
机器学习/深度学习 人工智能 自然语言处理
【深度学习】探讨最新的深度学习算法、模型创新以及在图像识别、自然语言处理等领域的应用进展
深度学习作为人工智能领域的重要分支,近年来在算法、模型以及应用领域都取得了显著的进展。以下将探讨最新的深度学习算法与模型创新,以及它们在图像识别、自然语言处理(NLP)等领域的应用进展。
977 6
|
Java 数据挖掘 Go
JCR一区7.7分|单细胞联合bulk-seq的线粒体自噬,分析方法都挺好
这篇文章介绍了研究者通过分析单细胞和Bulk RNA测序数据,鉴定出18个与胃癌(GC)进展相关的线粒体自噬相关基因(MRG),并建立了基于这些基因的预后模型。研究发现GABARAPL2和CDC37可能是GC的预后标志物和潜在治疗靶点。此外,分析揭示了细胞间通讯模式和免疫浸润状态,暗示MRG可能影响GC的免疫治疗响应。整体而言,这项工作为GC的诊断和治疗提供了新见解。
701 0
|
数据可视化 数据挖掘 Python

热门文章

最新文章