FeaturePlot可视化及常用参数浅析

学术   2024-11-06 17:16   湖南  

写在开头

从八月份开始整理单细胞中,不同方式可视化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.cutoffmax.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,而且还需要有基本的生物信息学基础,也可以看看我们的生物信息学马拉松授课,你的生物信息学入门课。


单细胞天地
对应生信技能树论坛›研究热点›单细胞测序版块,力求全方位收集整理分享单细胞测序数据的应用,涵盖多种组学,多种疾病,发育机理,药物开发等等
 最新文章