又色又爽又黄美女裸体 肺腺癌单细胞数据集GSE189357复现(三):基因可视化

图片又色又爽又黄美女裸体又色又爽又黄美女裸体
引子Hello小伙伴们世界好,我是生信技能树的小学徒”我才不吃蛋黄“。今天是肺腺癌单细胞数据集GSE189357复现系列第三期。第二期咱们对细胞亚群进行了庄重(肺腺癌单细胞数据集GSE189357复现(二):细胞庄重)。
本期,咱们将使用多种可视化轨范,绘制FeaturePlot,ggplot,DoHeatmap图。
1.配景先容在胃癌系列推文中,我提到绘好意思瞻念图需要审好意思智力强。本色上,绘制智力也能很好的反馈咱们的科研修养。绘制智力与科研智力之间的关系非常紧密,因为有用的可视化在科学操办中饰演着至关紧迫的变装。绘制不仅是展示操办着力的妙技,更是交融复杂数据、发现新常识以及向同业明晰传达信息的中枢器具。在单细胞数据可视化中,咱们大部分情况下王人是充任“调包侠”,使用各式R包绘制各式图形。
R讲话是一种平庸使用的统计分析和图形默示讲话,它在数据可视化方面有着弘远的功能,然而也有其污点。
R讲话可视化的优点有许多:
丰富的图形库:R领有大批的图形库,如ggplot2、lattice、base plots等,这些库提供了丰富的图形类型和定制选项。
高度可定制:R的图形不错高度定制,从形势、局势到布局,用户不错精采适度图形的每一个方面。
数据操作智力强:R是一种弘远的数据分析器具,它不错在绘制之前对数据进行复杂的处理和分析。
集成统计分析:R讲话在统计分析方面非常弘远,不错凯旋在绘制中集成统计测试和模子扫尾。
动态诠释:R的可视化不错放松地集成到动态诠释中,如R Markdown和Shiny,这使得扫尾不错交互式地呈现。
社区复旧:R有一个活跃的社区,用户不错从中得到大批的教程、论坛盘问和包更新。
开源免费:R是开源软件,不错免费使用和修改,这使得它在学术界和数据科学规模非常受迎接。
跨平台:R不错在多种操作系统上启动,包括Windows、macOS和Linux。
R讲话污点:
学习弧线:关于入门者来说,R的学习弧线可能比较笔陡,尤其是关于那些莫得编程配景的用户。
性能问题:天然R在数据处理和可视化方面阐述出色,但它在处理非常大的数据集时可能会变慢。
图形更新:在R中更新图形可能需要重新启动悉数这个词剧本,这在迭代经由中可能会显得繁琐。
3D可视化有限:天然R不错创建3D图形,但与一些故意的软件比拟,它的3D可视化智力相对有限。
用户界面:R的默许用户界面(RStudio以外)可能不如一些集成蛊卦环境(IDE)友好。
依赖治理:R的包依赖治理未必可能会导致版块打破,需要用户手动措置。
专科图形制作:天然R不错制作高质料的图形,但与专科的图形瞎想软件比拟,它在制作出书级别的图形方面可能不够直不雅。
交互性:天然R不错通过Shiny等器具创建交互式图形,但这些交互性可能不如故意的交互式可视化器具(如Tableau)直不雅和弘远。
R绘制最紧迫的小数是无法像PS相通搪塞改造图形,只可在参数终了规模内修改治疗。因此,要想把图作念的好意思瞻念,就要袭取安妥的绘制函数,并握住的调参。是以说,交融函数是R绘制的基础。
2.可视化率先加载R包,创建新的文献夹,读取细胞庄重后的Seurat数据:
rm(list=ls())library(Seurat)library(ggplot2)library(clustree)library(cowplot)library(dplyr)library(SingleR)library(celldex)#BiocManager::install("celldex")# library(devtools)# install_github("arc85/singleseqgset")library(singleseqgset)library(devtools)library(grid)library(gridExtra)getwd()dir.create("4-plot")setwd('4-plot/')sce.all=readRDS( "../3-Celltype/sce_celltype.rds")sce.all#Idents(sce.all)2.1 Featureplot可视化基因#EPCAM,NKG7,LYZ,CD79A,CLDN5,DCNmarker <- c('EPCAM','NKG7','LYZ','CD79A','CLDN5','DCN')gene = markerFeaturePlot(sce.all,features = marker,cols = c("lightgrey" ,"#DE1F1F"),ncol=3,raster=FALSE)ggsave('FeaturePlot_marker.pdf',width = 12,height = 8)图片
咱们不错看到,上图各个基因的形势阈值规模不一致,咱们不错调参,使其保执一致:
p1 <- FeaturePlot(sce.all, features = marker, combine = FALSE,ncol=3,raster=FALSE )#colours = c('lightgrey', "#DE1F1F")fix.sc <- scale_color_gradientn( colours = c('lightgrey', "#DE1F1F"), limits = c(0, 6))#+NoLegend()+NoAxes()p2 <- lapply(p1, function (x) x + fix.sc)CombinePlots(p2)批量画基因,防卫图例的规模不同:
FeaturePlot(sce.all, features =marker, cols = c("lightgrey", 'red'), ncol = 3 ) & NoLegend() & NoAxes() & theme( panel.border = element_rect(color = "black", size = 1) )图片
Featureplot还不错把两个基因画在消失个图中,看右上角不错发现黄色越深的场所两个基因叠加越多:
FeaturePlot(sce.all, features = c('S100A9','S100A8'), cols = c("lightgrey", "green", "orange"), blend=T,blend.threshold=0)图片
讨好ggplot函数,咱们还不错把三个基因画在消失个图中:
索取tsne坐标,并索取基因抒发数据并与tsne坐标合并:
tsne_df <- as.data.frame(sce.all@reductions$umap@cell.embeddings)tsne_df$cluster <- as.factor(sce.all$celltype)head(tsne_df)gene_df <- as.data.frame(GetAssayData(object = sce.all, slot = "data")[c('S100A9','S100A8','CXCL8'), ])ggplot绘制图形:
library(ggnewscale)merged_df <- merge(t(gene_df), tsne_df, by = 0, all = TRUE)head(merged_df)colnames(merged_df)ggplot(merged_df, vars = c("umap_1", "umap_2", 'S100A9','S100A8','CXCL8'), aes(x = umap_1, y = umap_2, colour = S100A9)) + geom_point(size=0.3, alpha=1) + scale_colour_gradientn(colours = c("lightgrey", "green"), limits = c(0, 0.3), oob = scales::squish) + new_scale_color() + geom_point(aes(colour = S100A8), size=0.3, alpha=0.7) + scale_colour_gradientn(colours = c("lightgrey", "blue"), limits = c(0.1, 0.2), oob = scales::squish) + new_scale_color() + geom_point(aes(colour = CXCL8), size=0.3, alpha=0.1) + scale_colour_gradientn(colours = c("lightgrey", "red"), limits = c(0, 0.3), oob = scales::squish)+ theme_classic()图片
上头的图花里胡梢,盘算推算是什么?个东谈主合计,可视化的主要盘算推算是明晰的呈现数据的特征并揭示生物学预料。使用FeaturePlot将多个基因的抒发绘制在消失个图中,咱们不错比较这不同基因在细胞中的共抒发模式,以及探索它们在特定细胞类型或亚群中的潜在生物学关系性。
2.2 DoHeatmap绘制热图DoHeatmap 在单细胞 RNA 测序数据分析顶用于可视化细胞群体或类型的基因抒发模式,其盘算推算包括展示相反抒发基因、识别细胞亚群、展示记号基因、比较基因抒发模式、分析细胞类型的群体特征以及探索潜在的功能和通路。这种可视化器具是阐述注解单细胞数据、交融细胞异质性以及揭示潜在生物学机制的弘远妙技。
运用DoHeatmap函数绘制热图,不错展示不同细胞类型的top5 maker:
别急!在微信里,悄悄地藏着几个“贴心的小家伙”,专门用来应对这种烦恼。今日就为您揭开这些隐匿的神奇功能,操作起来,十分简单,仅用一个手指头便可完成。学完这些之后,您家孩子定会惊讶道:“妈您比我还时尚啊!”
人在有闲的时候才最像是一个人。手脚相当闲,头脑才能相当地忙起来。----梁实秋 《四宜轩杂记·闲暇》
Idents(sce.all)table(sce.all$celltype)Idents(sce.all) = sce.all$celltypesce1 = sce.all[, sce.all$celltype %in% c( 'B', 'Endothelial','Epithelial', 'Fibro','Myeloid' ,'T&NK' )]if (!file.exists('sce.markers.csv')) { sce.markers <- FindAllMarkers(object = sce1, only.pos = TRUE, min.pct = 0.25, thresh.use = 0.25) write.csv(sce.markers,file='sce.markers.csv')} else { sce.markers = read.csv('sce.markers.csv',row.names = 1)}library(dplyr) top5 <- sce.markers%>% group_by(cluster) %>% top_n(5, avg_log2FC)为了靡烂数据量太大不好出图,这里在每个亚群索取出来100个:
sce.Scale <- ScaleData(subset(sce1,downsample=100), features = top5$gene )DoHeatmap(sce.Scale, features = top5$gene , # group.by = "celltype", assay = 'RNA', label = T)+ scale_fill_gradientn(colors = c("white","grey","firebrick3"))ggsave('markers_heatmap.pdf',width = 10,height = 7)图片
2.3 DotPlot绘制气泡图top5_dotplot <- DotPlot(sce.all, features = top5$gene)+ theme(axis.text.x = element_text(angle = 90, vjust = 1, hjust = 1))top5_dotplotggsave('markers_top5_dotplot.pdf',width = 10,height = 7)setwd('../')图片
3.参数领路本期单细胞基因可视化用到的三种函数分裂为FeaturePlot()、DoHeatmap()和DotPlot()。代码参数及领路如下:
FeaturePlot():
FeaturePlot(object, #Seurat对象,包含要进行可视化的数据集。features, #字符向量,指定要在图中展示的特征(举例基因或元数据列名)。dims = c(1, 2), #数字向量,长度为2,指定要用于绘制的降维空间的维度(举例c(1, 2)默示第一和第二维度)。cells = NULL, #可选的,指定要在图中展示的细胞的向量。默许是悉数细胞。cols = if (blend) { c("lightgrey", "#ff0000", "#00ff00") } else {c("lightgrey", "blue") },pt.size = NULL,order = FALSE,min.cutoff = NA,max.cutoff = NA,reduction = NULL,split.by = NULL,shape.by = NULL,slot = "data",blend = FALSE,blend.threshold = 0.5,label = FALSE,label.size = 4,repel = FALSE,ncol = NULL,coord.fixed = FALSE,by.col = TRUE,sort.cell = NULL,interactive = FALSE,combine = TRUE)FeaturePlot函数参数领路:
object: Seurat对象,包含要进行可视化的数据集。
features: 字符向量,指定要在图中展示的特征(举例基因或元数据列名)。
dims: 数字向量,长度为2,指定要用于绘制的降维空间的维度(举例c(1, 2)默示第一和第二维度)。
cells: 可选的,指定要在图中展示的细胞的向量。默许是悉数细胞。
cols: 字符向量或形势向量,用于界说绘制中使用的形势渐变。
pt.size: 点的大小。
order: 逻辑值,指定是否证据特征抒发量的规章绘制细胞,不错匡助凸起抒发某特征的细胞。
min.cutoff, max.cutoff: 用于指定每个特征的抒发值截止的向量。不错使用百分位数来指定截止点(举例,'q1', 'q99'默示1%和99%分位数)。
reduction: 指定要使用的降维本领,举例"umap"、"tsne"或"pca"。若是未指定,FeaturePlot会按序查找"umap"、"tsne"、"pca"中可用的扫尾。
split.by: 字符串,指定元数据中的一个变量,用于按该变量的不同类别拆分并分裂绘制图形。
shape.by: 可选的,允许证据某个细胞属性改造点的局势。
slot: 指定从哪个Seurat对象的槽中索取抒发数据进行可视化。
blend: 逻辑值,指定是否夹杂两个特征的抒发值来同期可视化它们。
blend.threshold: 确立用于夹杂特征抒发的阈值,规模从0到1。
label: 是否在图上记号群组。
label.size: 标签笔墨的大小。
repel: 逻辑值,指定是否使用标签打消机制,以幸免标签之间的重迭。
ncol: 数字,指定在使用split.by时,合并到一个图中的列数。
coord.fixed: 逻辑值,指定是否使用固定的纵横比绘制坐标系。
by.col: 逻辑值,指定在分列展示时是否按列而非按行展示特征图。
interactive: 逻辑值,指定是否启用交互式FeaturePlot。
combine: 逻辑值,指定是否将多个特征图合并为单个绘制对象。若是为FALSE,则复返一个包含多个ggplot对象的列表。
DoHeatmap()
DoHeatmap(object,features = NULL,cells = NULL,group.by = "ident",group.bar = TRUE,group.colors = NULL,disp.min = -2.5,disp.max = NULL,slot = "scale.data",assay = NULL,label = TRUE,size = 5.5,hjust = 0,angle = 45,raster = TRUE,draw.lines = TRUE,lines.width = NULL,group.bar.height = 0.02,combine = TRUE)
DoHeatmap()函数参数领路:
object : 一个Seurat对象,包含要进行可视化的数据集。
features : 要打印的特征向量,默许为variableffeatures(object=object)
cells : 要绘制的细胞向量
group.by : 一种变量向量,用于按单位格分组;将“ident”传递给按单位格分组的象征类
group.bar : 添加涌现单位格组现象的形势栏
group.colors : 要用于形势栏的形势
disp.min : 最小涌现值(以下悉数值均被剪裁)
disp.max : 最大涌现值(以上悉数值均被剪裁);若是插槽为'比例数据,不然为6
slot : 要使用的数据槽,从'原始数据'、'数据'或'比例数据'
assay : 从中索取
label : 在形势栏上方记号单位格象征
size : 形势栏上方文本的大小
hjust : 形势栏上方文本的水平对正
angle : 形势栏上方文本的角度
raster : 若是为真,则使用//oraprdnt绘制,不然使用available。//oraprdnt在某些检察应用设施(如预览)上,由于光栅是如何插值的,因此可能会显得迷糊。若是遭遇该问题,请将其确立为false(请防卫,打印可能需要更长的时候来生成/渲染)。
draw.lines : 包括分隔组的白线
lines.width : 整数,用于疗营养隔白色的宽度行。对应每个组之间的“细胞”数目。
group.bar.height : 缩放形势栏的高度
combine : 将绘制合并到单个PatchworkedgPlot对象中。若是为FALSE,则复返ggplot对象的列表
DotPlot()
DotPlot(object,assay = NULL,features,cols = c("lightgrey", "blue"),col.min = -2.5,col.max = 2.5,dot.min = 0,dot.scale = 6,idents = NULL,group.by = NULL,split.by = NULL,cluster.idents = FALSE,scale = TRUE,scale.by = "radius",scale.min = NA,scale.max = NA)DotPlot()函数参数领路:
object : 一个Seurat对象,包含要进行可视化的数据集。
assay : 要使用的分析称号,默许为算作分析
features : 特征的输入向量,或特征向量的定名列表若是需要特征分组面板(复制旧SplitDotPlotGG的功能)
cols : 要打印的形势:来自rcolorbrewer:的调色板的称号:布鲁尔.pal.info,一双界说渐变的形势,或3+个界说多个渐变的形势(若是拆分口头(已确立)
col.min : 最小缩放平均抒发式阈值(everythingsmaller将确立为该值)
col.max : 最大缩放平均抒发式阈值(悉数较大的值王人将确立为该值)
dot.min : 绘制最小点的单位格分数(默许值为0)。悉数抒发givengene的细胞组王人莫得画点。
dot.scale : 缩放点的大小,雷同于cex
idents : 要包含在绘制中的象征类(默许为all)
group.by : 将细胞分组的因子
split.by : 用于拆分组的因子(复制旧的SplitDotPlotGG的功能);关联详备信息,请参阅FetchData
cluster.idents : 是否证据给定的特征按线索聚类对象征进行排序,默许值为FALSE
scale : 笃定数据是否缩放,默许为TRUE
scale.by : 按“大小”或“半径”缩放点的大小
scale.min : 确立缩放下限,默许使用NA
scale.max : 确立缩放上限,默许使用NA
结语本期,咱们使用多种可视化轨范,绘制DimPlot,FeaturePlot,ggplot,DoHeatmap图,展示了不同细胞类型基因的抒发。单细胞数据分析可视化的轨范远不啻以上几种,新的绘制R包层见错出,各式好意思瞻念的图形让咱们目不暇接。在握住的学习代码之余,咱们还要明晰的意志到,可视化的主要盘算推算是明晰的呈现数据的特征并揭示生物学预料。是以,咱们依然要握住的看课本、看文献、学统计,握住的想考。任重而谈远,咱们仍需发愤。下一期,咱们将在此基础上,绘制饼图、堆积柱状图、箱线图、气泡图等,比较不同分组之间细胞比例相反。干货满满,迎接世界执续追更,谢谢!
图片
本站仅提供存储就业,悉数内容均由用户发布,如发现存害或侵权内容,请点击举报。- 上一篇:熱火出征「十」拿九穩
- 下一篇:“一家东说念主的建水”5条旅居极品澄莹发布
-
2025-12-24“一家东说念主的建水”5条旅居极品澄莹发布
-
2025-12-22又色又爽又黄美女裸体 肺腺癌单细胞数据集GSE189357复
-
2025-12-11熱火出征「十」拿九穩