RNA-seq 差异分析的细节详解 (7)

简介: RNA-seq 差异分析的细节详解 (7)

引言

本系列 将开展全新的转录组分析专栏,主要针对使用 DESeq2 时可能出现的问题和方法进行展开描述。想要学习更多内容可以添加文末的学习交流群或客服QQ。

在任何数据分析中,评估数据质量并进行质量控制(也就是剔除质量不达标的那部分数据)是关键环节。一般而言,这些环节应在开始分析新数据集时尽早开展,要么是在差异表达测试之前,要么是与之同步进行。

我们所说的“质量”,是指数据是否符合我们的研究目的。我们的研究目标是找出差异表达的基因,尤其关注那些因实验处理过程中出现异常情况,导致从这些样本中获取的数据对我们研究目的产生负面影响的样本。

计数矩阵的热图展示

要深入了解计数矩阵,将其以热图的形式呈现往往能带来不少洞见。接下来,我们会介绍如何针对数据的不同转换方式来制作相应的热图。

library("pheatmap")
select <- order(rowMeans(counts(dds,normalized=TRUE)),
                decreasing=TRUE)[1:20]
df <- as.data.frame(colData(dds)[,c("condition","type")])
pheatmap(assay(ntd)[select,], cluster_rows=FALSE, show_rownames=FALSE,
         cluster_cols=FALSE, annotation_col=df)

pheatmap(assay(vsd)[select,], cluster_rows=FALSE, show_rownames=FALSE,
         cluster_cols=FALSE, annotation_col=df)

pheatmap(assay(rld)[select,], cluster_rows=FALSE, show_rownames=FALSE,
         cluster_cols=FALSE, annotation_col=df)

样本间距离的热图展示

转换后的数据还可以用于进行样本聚类分析。具体操作是,把 dist 函数用在转换后计数矩阵的转置上,从而计算出各样本之间的距离。

sampleDists <- dist(t(assay(vsd)))

通过绘制该距离矩阵的热图,我们可以直观地了解不同样本间的相似之处与差异所在。在使用热图函数时,需要依据样本间的距离来提供一个层次聚类 hc,若不这么做,热图函数就会依据距离矩阵中行与列之间的距离自行进行聚类分析。

library("RColorBrewer")
sampleDistMatrix <- as.matrix(sampleDists)
rownames(sampleDistMatrix) <- paste(vsd$condition, vsd$type, sep="-")
colnames(sampleDistMatrix) <- NULL
colors <- colorRampPalette( rev(brewer.pal(9, "Blues")) )(255)
pheatmap(sampleDistMatrix,
         clustering_distance_rows=sampleDists,
         clustering_distance_cols=sampleDists,
         col=colors)

样本主成分分析图的绘制

与距离矩阵紧密相连的是主成分分析(PCA)图,它将样本映射在由前两个主成分构成的二维平面上。利用这种图表,我们可以直观地观察实验协变量以及批次效应所产生的整体影响。

plotPCA(vsd, intgroup=c("condition", "type"))

还可以使用 ggplot 函数自定义 PCA 图。

pcaData <- plotPCA(vsd, intgroup=c("condition", "type"), returnData=TRUE)
percentVar <- round(100 * attr(pcaData, "percentVar"))
ggplot(pcaData, aes(PC1, PC2, color=condition, shape=type)) +
  geom_point(size=3) +
  xlab(paste0("PC1: ",percentVar[1],"% variance")) +
  ylab(paste0("PC2: ",percentVar[2],"% variance")) + 
  coord_fixed()

相关文章
|
2月前
|
数据可视化 数据挖掘
RNA-seq 差异分析的细节详解 (6)
RNA-seq 差异分析的细节详解 (6)
116 38
RNA-seq 差异分析的细节详解 (6)
|
4月前
|
数据可视化 C++
RNA-seq 差异分析的点点滴滴(3)
RNA-seq 差异分析的点点滴滴(3)
87 27
RNA-seq 差异分析的点点滴滴(3)
|
3月前
|
存储 数据可视化 项目管理
RNA-seq 差异分析的细节详解 (5)
RNA-seq 差异分析的细节详解 (5)
109 4
RNA-seq 差异分析的细节详解 (5)
|
3月前
|
并行计算 数据可视化 开发者
RNA-seq 差异分析的点点滴滴(4)
RNA-seq 差异分析的点点滴滴(4)
100 3
RNA-seq 差异分析的点点滴滴(4)
|
4月前
|
Python
RNA-seq 差异分析的点点滴滴(2)
RNA-seq 差异分析的点点滴滴(2)
80 10
RNA-seq 差异分析的点点滴滴(2)
|
4月前
|
存储
RNA-seq 差异分析的点点滴滴(1)
RNA-seq 差异分析的点点滴滴(1)
72 1
RNA-seq 差异分析的点点滴滴(1)
|
10月前
|
存储 数据可视化 数据挖掘
单细胞分析(Signac): PBMC scATAC-seq 基因组区域可视化
单细胞分析(Signac): PBMC scATAC-seq 基因组区域可视化
89 0
|
9月前
|
Perl
技术笔记:samtools统计重测序数据深度depth、depth
技术笔记:samtools统计重测序数据深度depth、depth
390 0
|
10月前
|
机器学习/深度学习 数据可视化
数据分享|R语言生存分析模型因果分析:非参数估计、IP加权风险模型、结构嵌套加速失效(AFT)模型分析流行病学随访研究数据
数据分享|R语言生存分析模型因果分析:非参数估计、IP加权风险模型、结构嵌套加速失效(AFT)模型分析流行病学随访研究数据
|
10月前
R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程