投稿问答最小化  关闭

万维书刊APP下载

单细胞番外---单细胞数据分析及可视化集成R包Scillus(上)

2022/4/8 9:46:01  阅读:532 发布者:chichi77

之前我们讲述单细胞流程的时候采用的是一篇cell文章,在那个文章里发现了一个RScillus,因为文章中有些图也是利用这个包做的,所以看了下。这个包其实是Seurat的集合体,可以进行数据分析,更能进行个性化可视,都是集成函数,值得借鉴学习。

Scillus包地址:https://github.com/xmc811/Scillus

我们利用它的示例数据进行演示,读取数据并添加metadata信息。

1.  #安装  

2.  if (!require(devtools)) {install.packages("devtools")}  

3.  devtools::install_github("xmc811/Scillus", ref = "development")  

4.  library(Scillus)  

5.  #设置数据信息  

6.  llibrary(tidyverse)  

7.  setwd("F:/生物信息学/Scillus单细胞分析可视化包")  

8.  #metadata  

9.  a <- list.files("F:/生物信息学/Scillus单细胞分析可视化包", full.names = TRUE)  

10.  m <- tibble(file = a,   

11.              sample = stringr::str_remove(basename(a), ".csv.gz"),  

12.              group =c(rep("CTCL",5),rep("Normal", 4)),  

13.              stage = rep(c("CTCL1","CTCL2","CTCL3","CTCL4","CTCL5","Nor1","Nor2","Nor3","Nor4"),each=1),  

14.              sex = rep(c("F","F","M","M","F","M","F","M","F"),each=1))

下一步和经典的Seurat一样,查看下数据情况,并进行质控。需要指控的指标还是需要看线粒体基因的表达,nCountnFeature等等。

1.  library(Scillus)  

2.  library(tidyverse)  

3.  library(Seurat)  

4.  library(magrittr)  

5.  scRNA <- load_scfile(m)  #加载数据列表

6.  length(scRNA)  

7.  plot_qc(scRNA, metrics = "percent.mt")  

8.  plot_qc(scRNA, metrics = "nFeature_RNA")  

9.  plot_qc(scRNA, metrics = "nCount_RNA")

然后进行质控,指控后会自动显示QC前后细胞数的变化。这一点挺好的,不用在QC之前列公式计算,QC后计算,最后还需要做柱状图,大大简化了工作。

1.  scRNAdata <- filter_scdata(scRNA, subset = nFeature_RNA > 500 & percent.mt < 10& nFeature_RNA < 5000)

接下来就是Seurat的标准流程了,对数据进行合并,降维聚类。这里使用UMAP进行降维。看整个流程,其实就是对seurat流程的一个集中化。

1.  #seurat标准流程  

2.  scRNAdata %<>%   

3.    purrr::map(.f = NormalizeData) %>%  

4.    purrr::map(.f = FindVariableFeatures) %>%  

5.    purrr::map(.f = CellCycleScoring,   

6.               s.features = cc.genes$s.genes,   

7.               g2m.features = cc.genes$g2m.genes)  

8.    

9.  scRNAdata <- IntegrateData(anchorset = FindIntegrationAnchors(object.list = scRNAdata, dims = 1:30,  k.filter = 30),dims = 1:30)  

10.  scRNAdata <- ScaleData(object=scRNAdata, vars.to.regress = c("nCount_RNA", "percent.mt", "S.Score", "G2M.Score"))  

11.  scRNAdata <- RunPCA(object=scRNAdata, npcs = 50, verbose = TRUE)  

12.  scRNAdata %<>%  

13.    RunUMAP(reduction = "pca", dims = 1:30, n.neighbors = 30) %>%  

14.    FindNeighbors(reduction = "pca", dims = 1:30) %>%  

15.    FindClusters(resolution = 0.4)  

整理好数据后就可以进行可视化了,如果是已经整理好的seurat对象,也是可以直接用来作图的。我们以之前做的单细胞seurat数据进行可视化。

先看下降维聚类,只需要一个函数:

plot_scdata(immune)

细胞比例也无需繁琐代码:

plot_stat(immune, plot_type = "prop_fill", group_by = "group")+coord_flip()

整体的比例有些细胞类型看不清,可以显示单独的每组比例:

plot_stat(immune,

          plot_type = "prop_multi",

          group_by = "group",

          text_size = 8)

以上图形的配色都是可以修改的,自行定义。下节我们继续说说其他的可视化。包括marker基因可视化,差异基因筛选,GOGSEA分析。总之分析还是比较多的,出图质量也是比较高的,可以试试。

如有侵权,请联系本站删除!

  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com