写在开头
从八月份开始整理单细胞中,不同方式可视化marker基因的系列推文,目前已经整理过了Doheatmap、DotPlot以及VlnPlot常见参数及其美化
接下来会基于FeaturePlot可视化及美化,那一起来了解一下FeaturePlot可视化及常用参数叭!
用到的数据,还是seurat官网pbmc-3k的示例数据
走完基本的降维聚类分群,然后使用FindAllMarkers
分析获取全部亚群的marker基因,然后选择top5的marker基因进行可视化
pbmc.markers <- FindAllMarkers(pbmc, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25, verbose = FALSE)
top5 = pbmc.markers %>% group_by(cluster) %>% top_n(n = 5, wt = avg_log2FC)
g = unique(top5$gene)
FeaturePlot可视化
FeaturePlot——Visualize 'features' on a dimensional reduction plot
Colors single cells on a dimensional reduction plot according to a 'feature' (i.e. gene expression, PC scores, number of genes detected, etc.)
FeaturePlot绘图可以根据“特征”(即基因表达、PC分数、检测到的基因数量等)在降维图上给单个细胞上色。
1. 基因表达可视化
FeaturePlot(pbmc, features = g[1:4])
FeaturePlot
函数用于在Seurat
对象的降维空间(如UMAP)中绘制特定基因的表达情况。每个特征的表达水平通过颜色的深浅来表示,颜色条显示了表达水平的范围。
UMAP坐标轴:图的x轴和y轴代表UMAP的两个维度(umap_1和umap_2),是高维数据降维后的结果,用于展示细胞之间的相似性。
颜色表示表达水平:
每个点代表一个细胞,颜色的深浅表示该细胞中特定基因的表达水平。 颜色条显示了表达水平的范围,从低表达(通常是颜色条的起始颜色)到高表达(颜色条的结束颜色)。 通过观察不同特征的表达模式,可以识别出不同的细胞群体。
2. PC维度可视化
p1 <- FeaturePlot(pbmc, features = 'PC_1')
p2 <- DimPlot(pbmc, reduction = "umap", label = TRUE, repel = T,pt.size = 0.5) + NoLegend()
p1+p2
在之前整理PCA结果推文中——单细胞PCA降维结果理解中就看过不同PC维度基因对分群的影响
print(pbmc[["pca"]], dims = 1:5, nfeatures = 10)
所以根据PC_1(主成分1)的表达情况在UMAP的二维空间中可视化,可以看到主要是髓系相关的基因高亮
FeaturePlot参数浅析
一些默认常用参数:
object
:一个Seurat
对象,包含了要可视化的单细胞数据。features
:要绘制的特征向量。这些特征可以是基因名称、元数据列(如线粒体百分比)或降维对象中的列名(如PC1得分)。dims
:要绘制的维度,必须是一个包含两个数值的向量,指定x和y维度。cells
:要绘制的细胞向量(默认是所有细胞)。pt.size
:调整绘图点的大小。alpha
:绘图的透明度值(默认为1)。order
:布尔值,确定是否根据表达水平对细胞进行排序。keep.scale
:如何处理多个图表的颜色尺度。选项有“feature”(默认;按行/特征缩放)、“all”(通用缩放)和“none”(无缩放)。slot
:从哪个slot中提取表达数据。
可调节参数
blend参数可视化两个基因
blend
:缩放和混合表达值以可视化两个特征的共表达。blend.threshold
:从弱信号到强信号的颜色截止值;范围从0到1。cols
:用于形成渐变的两种颜色。提供为字符串向量,第一个颜色对应低值,第二个对应高值。也可以接受Brewer颜色尺度或颜色向量。注意:这将根据提供的颜色数量对数据进行分箱。当blend
为TRUE时,可以接受1-3种颜色。
FeaturePlot(pbmc, features = c('S100A9','S100A8'),
cols = c("lightgrey", "green", "orange"),
blend=T,blend.threshold=0)
Featureplot还可以通过 blend参数把两个基因画在同一个图中,通过右上角的颜色值可以发现黄色越深的地方两个基因叠加越多:
设定图例最大和最小阈值
通过修改cutoff参数来调整颜色(表达水平)的对比度,这样可以更清楚地区分表达水平的高低。
min.cutoff
、max.cutoff
:每个特征的最小和最大截止值向量,可以指定为分位数(例如'q1', 'q10')。
在没有设置 min.cutoff 和 max.cutoff 的情况下,FeaturePlot 默认使用整个表达数据范围来映射颜色,这可能会导致表达水平较低的细胞在可视化中不够明显。
FeaturePlot(pbmc, features = g[1:4],min.cutoff = "q10", max.cutoff = "q90")
min.cutoff = "q10":设置表达水平的最小截止值为第10百分位数(即10th percentile),表示在绘图时,只有表达水平高于数据集中10%的细胞的特征会被考虑,低于这个百分位数的表达水平将不会被显示。
max.cutoff = "q90":设置表达水平的最大截止值为第90百分位数(即90th percentile),表示在绘图时,只有表达水平低于数据集中90%的细胞的特征会被考虑,高于这个百分位数的表达水平将不会被显示。
选择降维可视化方式
reduction
:使用哪种降维方法。如果没有指定,首先搜索UMAP,然后是t-SNE,最后是PCA。
FeaturePlot(pbmc, features = g[1:4],reduction = "tsne",pt.size = 0.5)
分组展示或者改变性状
split.by
:在对象元数据中的一个因子,用于分割图表,传递'ident'以按细胞身份分割。 (pbmc示例数据就一个分组,所以就不展示啦)shape.by
:如果为NULL,则所有点都是圆形(默认)。可以指定任何细胞属性(可以使用FetchData
获取),允许对细胞进行不同的颜色和形状标记。仅在raster = FALSE
时适用。
FeaturePlot(pbmc, features = 'S100A9' ,pt.size = 1,
shape.by = 'celltype')
如果shape.by设置为NULL(默认值),那么所有的点都将是圆形的。 如果指定了一个细胞属性,那么这个属性的不同值将对应不同的形状,从而在图中为细胞着色的同时,也根据这个属性赋予细胞不同的形状。 使用shape.by参数时,可以指定的属性包括但不限于细胞的身份(如细胞类型)、细胞的活性状态、或者其他任何在Seurat对象的元数据中定义的属性,因此可以在图中提供额外的维度信息,使得图表更加丰富和信息量大。
结尾小结
以上简单整理了FeaturePlot可视化及常用参数,后续推文会根据FeaturePlot进行结果的美化,以及结合文章中的图进行学习绘制
如果你也想做单细胞转录组数据分析,最好是有自己的计算机资源哦,比如我们的2024的共享服务器交个朋友福利价仍然是800,而且还需要有基本的生物信息学基础,也可以看看我们的生物信息学马拉松授课,你的生物信息学入门课。