2022/4/8 9:46:01 阅读:532 发布者:chichi77
之前我们讲述单细胞流程的时候采用的是一篇cell文章,在那个文章里发现了一个R包Scillus,因为文章中有些图也是利用这个包做的,所以看了下。这个包其实是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一样,查看下数据情况,并进行质控。需要指控的指标还是需要看线粒体基因的表达,nCount,nFeature等等。
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基因可视化,差异基因筛选,GO、GSEA分析。总之分析还是比较多的,出图质量也是比较高的,可以试试。
如有侵权,请联系本站删除!