首页
学习
活动
专区
工具
TVP
发布

Garnett

作者头像
生信编程日常
发布2020-06-16 14:54:37
5440
发布2020-06-16 14:54:37
举报

Garnett工作流包含两个主要部分: 训练/获取分类器:下载现有分类器,或训练自己的分类器。为了训练分类器,Garnett解析一个marker文件,选择一组训练细胞,然后训练一个多项式分类器来区分细胞类型。 对细胞进行分类:接下来,Garnett将分类器应用于待测组细胞,以分配细胞类型。Garnett可以选择将分类扩展到相似的细胞,以得到同一种细胞的亚型。

1.准备分类器

1.1使用预先训练的分类器

下载已有的分类器,并读入。

classifier <- readRDS("path/to/classifier.RDS")
1.2建立自己的分类器

如果针对您的组织类型不存在分类器,或者您的数据中不包含预期的细胞类型,则您需要生成自己的分类器。

image.png

导入数据

训练分类器的第一步是加载单细胞数据。 因为Garnett建立在Monocle上,所以Garnett的数据保存在 CellDataSet (CDS)该类的对象中。Monocle 在此处提供有关如何生成输入CDS的详细文档 。

例如,以PBMC数据为例

library(garnett)


# load in the data
# NOTE: the 'system.file' file name is only necessary to read in
# included package data
#
mat <- Matrix::readMM(system.file("extdata", "exprs_sparse.mtx", package = "garnett"))

fdata <- read.table(system.file("extdata", "fdata.txt", package = "garnett"))
pdata <- read.table(system.file("extdata", "pdata.txt", package = "garnett"),
                    sep="\t")
row.names(mat) <- row.names(fdata)
colnames(mat) <- row.names(pdata)

# create a new CDS object
pd <- new("AnnotatedDataFrame", data = pdata)
fd <- new("AnnotatedDataFrame", data = fdata)
pbmc_cds <- newCellDataSet(as(mat, "dgCMatrix"),
                             phenoData = pd,
                             featureData = fd)

# generate size factors for normalization later
pbmc_cds <- estimateSizeFactors(pbmc_cds)

构造标记文件

除了表达式数据外,需要的第二个主要输入是标记文件。每个细胞类型定义均以 “>”符号和单元格类型名称开头,后接一系列带有定义信息的行。定义行以关键字和“:”开头,条目之间用逗号分隔。 如:

image.png

除了CDS对象和标记文件的路径外,还有一些要添加的参数:

  • dbdb是用于转换基因ID的Bioconductor AnnotationDb类包的必需参数。例如,对于人类使用 org.Hs.eg.db。请参阅Bioconductor网站上的可用软件包 。使用加载您选择的数据库library(db)。如果您的物种没有AnnotationDb类包,请参见 此处
  • cds_gene_id_type:此参数告诉Garnett CDS对象中基因ID的格式。它应该是中的值之一columns(db)。默认值为“ ENSEMBL”。
  • marker_file_gene_id_type:与上述类似,此参数告诉Garnett标记文件中基因ID的格式。

生成marker_check data.frame之后,可以使用的内置绘图功能 plot_markers来查看结果。

library(org.Hs.eg.db)
marker_file_path <- system.file("extdata", "pbmc_bad_markers.txt",
                                package = "garnett")
marker_check <- check_markers(pbmc_cds, marker_file_path,
                              db=org.Hs.eg.db,
                              cds_gene_id_type = "SYMBOL",
                              marker_file_gene_id_type = "SYMBOL")

plot_markers(marker_check)

image.png

训练分类器

现在是时候训练分类器了。

library(org.Hs.eg.db)
set.seed(260)

marker_file_path <- system.file("extdata", "pbmc_test.txt",
                                package = "garnett")
pbmc_classifier <- train_cell_classifier(cds = pbmc_cds,
                                         marker_file = marker_file_path,
                                         db=org.Hs.eg.db,
                                         cds_gene_id_type = "SYMBOL",
                                         num_unknown = 50,
                                         marker_file_gene_id_type = "SYMBOL")
head(pData(pbmc_cds))
查看分类基因
feature_genes <- get_feature_genes(pbmc_classifier,
                                   node = "root",
                                   db = org.Hs.eg.db)
head(feature_genes)

查看参考

上面 我们说明了如何在标记文件中包含有关如何选择标记的文档。为了获得这些信息-查看如何为已经训练有素的分类器选择标记-使用此功能get_classifier_references。除分类器外,还有一个名为的附加可选参数cell_type。如果传递细胞类型的名称,则只会打印该细胞类型的引用,否则将全部打印。

get_classifier_references(pbmc_class)

2.对细胞进行分类

未完待续

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.准备分类器
    • 导入数据
      • 构造标记文件
        • 查看参考
        • 2.对细胞进行分类
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档