引言
本系列 将开展全新的转录组分析专栏,主要针对使用 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()
更多内容,欢迎关注!
动动您发财的小手点个赞吧!欢迎转发!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。