## An object of class Seurat ## 13714 features across 2638 samples within 1 assay ## Active assay: RNA (13714 features, 2000 variable features) ## 2 dimensional reductions calculated: pca, umap
marker基因可视化的5种方法
# Ridge plots - from ggridges. Visualize single cell expression distributions in each cluster RidgePlot(pbmc3k.final, features = features, ncol = 2) # Violin plot - Visualize single cell expression distributions in each cluster VlnPlot(pbmc3k.final, features = features) # Feature plot - visualize feature expression in low-dimensional space FeaturePlot(pbmc3k.final, features = features) # Dot plots - the size of the dot corresponds to the percentage of cells expressing the feature # in each cluster. The color represents the average expression level DotPlot(pbmc3k.final, features = features) + RotatedAxis() # Single cell heatmap of feature expression DoHeatmap(subset(pbmc3k.final, downsample = 100), features = features, size = 3)
FeaturePlot新增功能
# Plot a legend to map colors to expression levels FeaturePlot(pbmc3k.final, features = "MS4A1") # Adjust the contrast in the plot FeaturePlot(pbmc3k.final, features = "MS4A1", min.cutoff = 1, max.cutoff = 3) # Calculate feature-specific contrast levels based on quantiles of non-zero expression. # Particularly useful when plotting multiple markers FeaturePlot(pbmc3k.final, features = c("MS4A1", "PTPRCAP"), min.cutoff = "q10", max.cutoff = "q90") # Visualize co-expression of two features simultaneously FeaturePlot(pbmc3k.final, features = c("MS4A1", "CD79A"), blend = TRUE) # Split visualization to view expression by groups (replaces FeatureHeatmap) FeaturePlot(pbmc3k.final, features = c("MS4A1", "CD79A"), split.by = "groups")
FeaturePlot()可视化功能更新和扩展
除了更改之外,其他几个绘图功能也已更新和扩展,具有新功能,并接管了现已废弃的函数的功能
# Violin plots can also be split on some variable. Simply add the splitting variable to object # metadata and pass it to the split.by argument VlnPlot(pbmc3k.final, features = "percent.mt", split.by = "groups") # SplitDotPlotGG has been replaced with the `split.by` parameter for DotPlot DotPlot(pbmc3k.final, features = features, split.by = "groups") + RotatedAxis() # DimPlot replaces TSNEPlot, PCAPlot, etc. In addition, it will plot either 'umap', 'tsne', or # 'pca' by default, in that order DimPlot(pbmc3k.final) pbmc3k.final.no.umap <- pbmc3k.final pbmc3k.final.no.umap[["umap"]] <- NULL DimPlot(pbmc3k.final.no.umap) + RotatedAxis() # DoHeatmap now shows a grouping bar, splitting the heatmap into groups or clusters. This can be # changed with the `group.by` parameter DoHeatmap(pbmc3k.final, features = VariableFeatures(pbmc3k.final)[1:100], cells = 1:500, size = 4, angle = 90) + NoLegend()
baseplot <- DimPlot(pbmc3k.final, reduction = "umap") # Add custom labels and titles baseplot + labs(title = "Clustering of 2,700 PBMCs") # Use community-created themes, overwriting the default Seurat-applied theme Install ggmin with # remotes::install_github('sjessa/ggmin') baseplot + ggmin::theme_powerpoint() # Seurat also provides several built-in themes, such as DarkTheme; for more details see # ?SeuratTheme baseplot + DarkTheme() # Chain themes together baseplot + FontSize(x.title = 20, y.title = 20) + NoLegend()
交互式绘图功能
Seurat利用 R 的绘图库创建交互式绘图。此交互式绘图功能适用于任何基于 ggplot2 的散点图。要使用,只需制作基于 ggplot2 的散点图,并将生成的绘图传递给绘图函数geom_pointDimPlot() FeaturePlot() HoverLocator()等
# Include additional data to display alongside cell names by passing in a data frame of # information Works well when using FetchData plot <- FeaturePlot(pbmc3k.final, features = "MS4A1") HoverLocator(plot = plot, information = FetchData(pbmc3k.final, vars = c("ident", "PC_1", "nFeature_RNA")))
# Now, we find markers that are specific to the new cells, and find clear DC markers newcells.markers <- FindMarkers(pbmc3k.final, ident.1 = "NewCells", ident.2 = "CD14+ Mono", min.diff.pct = 0.3, only.pos = TRUE) head(newcells.markers) ## p_val avg_log2FC pct.1 pct.2 p_val_adj ## FCER1A 3.239004e-69 3.7008561 0.800 0.017 4.441970e-65 ## SERPINF1 7.761413e-36 1.5737896 0.457 0.013 1.064400e-31 ## HLA-DQB2 1.721094e-34 0.9685974 0.429 0.010 2.360309e-30 ## CD1C 2.304106e-33 1.7785158 0.514 0.025 3.159851e-29 ## ENHO 5.099765e-32 1.3734708 0.400 0.010 6.993818e-28 ## ITM2C 4.299994e-29 1.5590007 0.371 0.010 5.897012e-25
绘图配件
随着新功能为绘图添加交互式功能,Seurat 还提供新的配件功能来操纵和组合图片。
# LabelClusters and LabelPoints will label clusters (a coloring variable) or individual points # on a ggplot2-based scatter plot plot <- DimPlot(pbmc3k.final, reduction = "pca") + NoLegend() LabelClusters(plot = plot, id = "ident") # Both functions support `repel`, which will intelligently stagger labels and draw connecting # lines from the labels to the points or clusters LabelPoints(plot = plot, points = TopCells(object = pbmc3k.final[["pca"]]), repel = TRUE)