生信人

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

0

收听

12

听众

318

主题
发表于 2022-8-4 10:56:41 | 查看: 2137| 回复: 0
       文档:https://cole-trapnell-lab.github.io/monocle3/docs/clustering/
一、读入数据
  1. #1 读入数据
  2. expression_matrix <- readRDS("monocle3/celegans/cao_l2_expression.rds")
  3. cell_metadata <- readRDS("monocle3/celegans/cao_l2_colData.rds")
  4. gene_annotation <- readRDS("monocle3/celegans/cao_l2_rowData.rds")

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

二、数据处理
       数据处理包括表达数据标准化和批次效应的去除,对数据进行标准化使用 preprocess_cds函数,相当于 seurat 中 NormalizeData+ScaleData+RunPCA。
  1. cds <- preprocess_cds(cds, num_dim = 100)
复制代码
      num_dim 是降维的维数,默认为 100,这里是根据各组成部分解释的差异散点趋势图,也可以自己调整,建议安装默认维数进行降维。
  1. plot_pc_variance_explained(cds)
复制代码
      
       monocle3 数据处理

三、降维以及可视化
3.1 UMAP 方法

  1. cds <- reduce_dimension(cds)
  2. plot_cells(cds)
  3. plot_cells(cds, color_cells_by="cao_cell_type")

  4. #绘制特定基因在细胞中表达
  5. plot_cells(cds, genes=c("cpna-2", "egl-21", "ram-2", "inos-1"))
复制代码
  1. #可以使用多线程,前面读取好cds数据重新preprocess
  2. cds <- preprocess_cds(cds, num_dim = 100)
  3. cds <- reduce_dimension(cds, cores = 12)
  4. plot_cells(cds, color_cells_by="cao_cell_type")
  5. #和单线程的结果看起来差别不大,但是提醒是有差别的。
复制代码
3.2 tSNE 方法
  1. cds <- reduce_dimension(cds, reduction_method="tSNE")
  2. plot_cells(cds, reduction_method="tSNE", color_cells_by="cao_cell_type", group_label_size=3.5,cell_size = 0.8)
复制代码
3.3 去除批次效应

  1. plot_cells(cds, color_cells_by="plate", label_cell_groups=FALSE)
  2. cds <- align_cds(cds, num_dim = 100, alignment_group = "plate")
  3. cds <- reduce_dimension(cds)
  4. plot_cells(cds, color_cells_by="plate", label_cell_groups=FALSE)
复制代码
3.4 细胞聚类
  1. cds <- cluster_cells(cds, resolution=1e-5)
  2. plot_cells(cds)
复制代码
  1. #使用PAGA算法进行聚类
  2. plot_cells(cds, color_cells_by="partition", group_cells_by="partition")

  3. #根据细胞类型进行涂色
  4. plot_cells(cds, color_cells_by="cao_cell_type")

  5. #更改细胞标注策略,不对聚类的进行标注。
  6. plot_cells(cds, color_cells_by="cao_cell_type", label_groups_by_cluster=FALSE)
复制代码


四、 寻找 marker 基因

  1. #寻找每个cluster的marker基因
  2. marker_test_res <- top_markers(cds, group_cells_by="partition",
  3.                                reference_cells=1000, cores=8)


  4. #根据pseudo_R2方法对标记基因进行排序,取出每个cluster排名最高的基因
  5. library(dplyr)
  6. top_specific_markers <- marker_test_res %>% filter(fraction_expressing >= 0.10) %>% group_by(cell_group) %>% top_n(1, pseudo_R2)
  7. top_specific_marker_ids <- unique(top_specific_markers %>% pull(gene_id))

  8. #绘制每个cluster中不同marker基因的表达量
  9. plot_genes_by_group(cds, top_specific_marker_ids, group_cells_by="partition",
  10.                     ordering_type="maximal_on_diag",max.size=3)

  11. #选取更多marker基因进行绘图
  12. top_specific_markers <- marker_test_res %>%  filter(fraction_expressing >= 0.10) %>% group_by(cell_group) %>%  top_n(3, pseudo_R2)
  13. top_specific_marker_ids <- unique(top_specific_markers %>% pull(gene_id))
  14. plot_genes_by_group(cds,top_specific_marker_ids,group_cells_by="partition", ordering_type="cluster_row_col", max.size=3)
复制代码


五、 对细胞进行注释
  1. #根据marker基因对细胞进行鉴定。
  2. colData(cds)$assigned_cell_type <- as.character(partitions(cds))
  3. #为每个cluster重新命名。
  4. colData(cds)$assigned_cell_type <- dplyr::recode(colData(cds)$assigned_cell_type,
  5.                                                  "1"="Body wall muscle",
  6.                                                  "2"="Germline",
  7.                                                  "3"="Motor neurons",
  8.                                                  "4"="Seam cells",
  9.                                                  "5"="Sex myoblasts",
  10.                                                  "6"="Socket cells",
  11.                                                  "7"="Marginal_cell",
  12.                                                  "8"="Coelomocyte",
  13.                                                  "9"="Am/PH sheath cells",
  14.                                                  "10"="Ciliated neurons",
  15.                                                  "11"="Intestinal/rectal muscle",
  16.                                                  "12"="Excretory gland",
  17.                                                  "13"="Chemosensory neurons",
  18.                                                  "14"="Interneurons",
  19.                                                  "15"="Unclassified eurons",
  20.                                                  "16"="Ciliated neurons",
  21.                                                  "17"="Pharyngeal gland cells",
  22.                                                  "18"="Unclassified neurons",
  23.                                                  "19"="Chemosensory neurons",
  24.                                                  "20"="Ciliated neurons",
  25.                                                  "21"="Ciliated neurons",
  26.                                                  "22"="Inner labial neuron",
  27.                                                  "23"="Ciliated neurons",
  28.                                                  "24"="Ciliated neurons",
  29.                                                  "25"="Ciliated neurons",
  30.                                                  "26"="Hypodermal cells",
  31.                                                  "27"="Mesodermal cells",
  32.                                                  "28"="Motor neurons",
  33.                                                  "29"="Pharyngeal gland cells",
  34.                                                  "30"="Ciliated neurons",
  35.                                                  "31"="Excretory cells",
  36.                                                  "32"="Amphid neuron",
  37.                                                  "33"="Pharyngeal muscle")
  38. #重新绘图
  39. plot_cells(cds, group_cells_by="partition", color_cells_by="assigned_cell_type")
复制代码
      
       每个 cluster 重新命名之后进行绘图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

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

QQ|Archiver|手机版|小黑屋|生信人 ( 萌ICP备20244422号 )

GMT+8, 2024-11-22 01:27 , Processed in 0.087533 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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