scRNA-seq的SCE对象

2020-02-05  本文已影响0人  新欣enjoy

单细胞转录组对象SCE,是单细胞数据分析的基础,很多相应的R包都基于SCE对象展开的,而且SCE对象的很多函数值得学习。在此记录SCE对象的基本结构,及利用mapID将基因Ensemble ID转换为Symbol name方法学习。

SCE对象概览
SCE,SingleCellExperiment,基本结构如下图。主要包括四个部分:assay,其中列表示样本,行表示基因,存储基因表达量;rowData,存储基因的metaData,包括基因各种ID,基因长度信息等,也可以自行添加必要的注释内容;colData,存储样本的metaData,包括细胞ID,批次,细胞类型等;reducedDims,存储降维后的细胞所属主成分信息。

SCE对象包含的信息

参考:详细的SCE对象各板块组成及操作

mapIds 基因转换
借助mapIds函数,及相应物种的注释数据库,可以将基因Ensembl ID 转换为Symbol name。

library(org.Mm.eg.db) ##小鼠注释包
symb <- mapIds(org.Mm.eg.db, keys=rownames(sce), keytype="ENSEMBL", column="SYMBOL")

# 看看数据类型
> head(symb)
ENSMUSG00000102693 ENSMUSG00000064842 ENSMUSG00000051951 ENSMUSG00000102851 
                NA                 NA             "Xkr4"                 NA 
ENSMUSG00000103377 ENSMUSG00000104017 
                NA                 NA 

# 检测一下它们的Ensembl ID是否一样
> identical(names(symb),rownames(sce))
[1] TRUE

rowData(sce)$SYMBOL <- symb
rowData(sce)$ENSEMBL <- rownames(sce)

> head(rowData(sce))
DataFrame with 6 rows and 3 columns
                   GeneLength            ENSEMBL      SYMBOL
                    <integer>        <character> <character>
ENSMUSG00000102693       1070 ENSMUSG00000102693          NA
ENSMUSG00000064842        110 ENSMUSG00000064842          NA
ENSMUSG00000051951       6094 ENSMUSG00000051951        Xkr4
ENSMUSG00000102851        480 ENSMUSG00000102851          NA
ENSMUSG00000103377       2819 ENSMUSG00000103377          NA
ENSMUSG00000104017       2233 ENSMUSG00000104017          NA

以上的转换结果中看到,有些基因不能找到对应的SYMBOL而用NA代替,或者出现重复的SYMBOL,那么就需要对以上结果进行整合或者去重,这就需要借助scater包函数uniquifyFeatureNames() 。

该函数思想:如果有symbol name的,它会将Ensembl ID替换为symbol name,没有name的仍然使用ID;如果name相同、ID不同(即两个Ensembl ID对应同一个Symbol name),它会将ID与name组合保证特异性(详见?uniquifyFeatureNames)

library(scater)
## 参数很简单,第一个是ID,第二是names
rownames(sce) <- uniquifyFeatureNames(rowData(sce)$ENSEMBL, rowData(sce)$SYMBOL)

head(rownames(sce))
## [1] "ENSMUSG00000102693" "ENSMUSG00000064842" "Xkr4"              
## [4] "ENSMUSG00000102851" "ENSMUSG00000103377" "ENSMUSG00000104017"

参考:mapIds转换ID

上一篇下一篇

猜你喜欢

热点阅读