生信人

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

0

收听

12

听众

279

主题
发表于 2022-8-2 21:47:41 | 查看: 605| 回复: 0
一、读入数据
       软件支持多种方式的数据读入,可以直接读入 10x genomics 官方软件 Cell Ranger 的结果,也可以使用 Seurat 质控过后的结果,还可以单独读入矩阵,细胞信息,基因信息文件。还可以处理一些较大类型的稀疏矩阵对象。
读入的数据为一个 cell_data_set 类,这个类继承自 SingleCellExperiment 类,基本操作也是类似的。主要包含三部分,
       expression_matrix :表达矩阵,行为基因,列为细胞 barcode;
       cell_metadata:是一个数据框,行为细胞,列是细胞的属性,比如细胞类型、培养环境、培养时间等,可以包含很多行,后面注释信息也可以添加到新行里。
       gene_metadata:同样是一个数据框,行为feature信息,也就是基因名,基因名可以是GeneID,symbols 等。要注意基因 ID 类型;列是基因属性这个数据框中必须有这么一列:`gene_short_name`,其中保存基因名。

二、读入 10x genomics 数据
       Monocle3 提供 load_cellranger_data 函数,可以直接读取 10x 数据,读取 Cell Ranger 分析结果目录,注意目录结构不要修改,可以删除一些不要的数据。也可以使用 load_mm_data函数分析读取每个文件。
  1. #10x 数据目录 :
  2. 10x_data/outs/filtered_feature_bc_matrix/{features.tsv.gz,barcodes.tsv.gz,matr
  3. ix.mtx.gz}
复制代码
      读取文件。
  1. #设置工作目录;
  2. rm(list = ls())
  3. #方法一:直接读取 10x 目录
  4. cds <- load_cellranger_data("10xdata/")
  5. #方法二:分别读取三个文件
  6. path10x <- "run_count_1kpbmcs/outs/filtered_feature_bc_matrix/"
  7. cds <- load_mm_data(mat_path = paste0(path10x,"matrix.mtx.gz"),
  8. feature_anno_path = paste0(path10x,"features.tsv.gz"),
  9. cell_anno_path = paste0(path10x,"barcodes.tsv.gz"))
复制代码

三、分别读取
       如果有矩阵,细胞信息,基因信息三个文件,也可以直接读取,生成 cell_data_set (CDS) 对象。
  1. #方法三:创建cell_data_set
  2. # Load the data
  3. getwd()
  4. expression_matrix <- readRDS("monocle3/celegans/cao_l2_expression.rds")
  5. cell_metadata <- readRDS("monocle3/celegans/cao_l2_colData.rds")
  6. gene_annotation <- readRDS("monocle3/celegans/cao_l2_rowData.rds")


  7. # Make the CDS object
  8. cds <- new_cell_data_set(expression_matrix,
  9.                          cell_metadata = cell_metadata,
  10.                          gene_metadata = gene_annotation)
复制代码

四、读取 Seurat 结果
       如果是 Seurat,可以直接导入 Seurat 中进行分析,需要从 Seurat 对象分别提取出矩阵,细胞和 cell 三个文件,然后创建 new_cell_data 对象。
  1. library(SeuratObject)
  2. pbmc <- readRDS("../pbmc3k.rds")
  3. class(pbmc)
  4. expression_matrix <- GetAssayData(pbmc, assay ='RNA', slot = 'counts')
  5. cell_metadata <- pbmc@meta.data
  6. gene_annotation <-data.frame(gene_short_name = rownames(expression_matrix))
  7. rownames(gene_annotation) <-rownames(expression_matrix)
  8. cds <- new_cell_data_set(expression_matrix,cell_metadata =cell_metadata, gene_metadata =gene_annotation)
复制代码


您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|小黑屋|生信人

GMT+8, 2024-5-4 16:42 , Processed in 0.050869 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表