美文网首页
单细胞之计算细胞周期

单细胞之计算细胞周期

作者: 可能性之兽 | 来源:发表于2022-11-26 23:21 被阅读0次
image.png image.png
image.png

使用scan

###基因转换
library(clusterProfiler)
library(org.Hs.eg.db)
library(scran)
hs.pairs <- readRDS(system.file("exdata", "human_cycle_markers.rds", package="scran"))
# mm.pairs <- readRDS(system.file("exdata", "mouse_cycle_markers.rds", package="scran"))
str(hs.pairs)
head(hs.pairs$G1)

不知道为什么scan记录的ID都是ENSEMBL ID,所以要转换,有两种方式

转换方法2:转换hs.pairs里面的名字
单细胞专题 | 10.细胞周期分析 (qq.com)

# x <- names(mm.pairs)[1]
htrs <- lapply(names(hs.pairs), function(x){
  df <- hs.pairs[[x]]
  first <- bitr(hs.pairs[[x]][,1],
                fromType= "ENSEMBL", toType="SYMBOL",
                OrgDb="org.Hs.eg.db")

  second <- bitr(hs.pairs[[x]][,2],
                 fromType= "ENSEMBL", toType="SYMBOL",
                 OrgDb="org.Hs.eg.db")
  df <- df[first$ENSEMBL %in% df$first,]
  df <- df[second$ENSEMBL %in% df$second,]

  df$first <-  lapply(df$first, function(x){
    first[first$ENSEMBL == x,2][1] 
  })  %>% unlist()

  df$second <-  lapply(df$second, function(x){
    second[second$ENSEMBL == x,2][1] 
  })  %>% unlist()

  return(df)
})
names(htrs) <- names(hs.pairs)

library(scran)
assigndata <- cyclone(S1_seurat@assays[["RNA"]]@data, pairs=htrs)
table(assigned$phases)
# head(assigned$scores)
# assigned$name<-factor(S1_seurat@meta.data$orig.ident)
S1_seurat@meta.data$scan_phase<-assigned[["phases"]]
S1_seurat@meta.data$scan_phase2<-assigndata[["phases"]]

转换方法2:转换自己的Seurat对象的基因名

ensembl <- mapIds(org.Hs.eg.db, keys=rownames(S1_seurat), 
                  keytype="SYMBOL", column="ENSEMBL")
 head(ensembl)
assigned <- cyclone(S1_seurat@assays[["RNA"]]@data, pairs=hs.pairs, gene.names=ensembl)

虽然都是scan,但是这两种转换方式最终计算的结果是不完全一致的!!!至于选择哪种,我个人倾向于第一种,因为第二种有些ID是转换不过来的,第一种我粗略的看了一下,基本都转换过来了

使用Seurat

2016年的数据集

S1_seurat <- CellCycleScoring(
  object = S1_seurat,
  g2m.features = cc.genes$g2m.genes,
  s.features = cc.genes$s.genes
)
head(x = S1_seurat@meta.data)

2019年的数据集

s.genes <- cc.genes.updated.2019$s.genes
g2m.genes <- cc.genes.updated.2019$g2m.genes

srat <- CellCycleScoring(S1_seurat, s.features = s.genes, g2m.features = g2m.genes)

虽然都是Seurat,但是这两个的结果还是有区别的,这个选择哪个,得看数据集的原文

Scran和Seurat的结果更是差别巨大!!!最终选择哪种,我个人的原则是去看一下这些原文的数据集是来自什么细胞。哪种和自己细胞相近用哪个,如果都不相近,选多的那个。

相关文章

网友评论

      本文标题:单细胞之计算细胞周期

      本文链接:https://www.haomeiwen.com/subject/oxkhfdtx.html