SARS3(monocle)

# ## 安装所需要的R包
# chooseCRANmirror(graphics=FALSE)
# install.packages('Seurat')
# install.packages("tidyverse")
# install.packages("ggpubr")
# install.packages("cowplot")
# install.packages("dplyr")
# install.packages("ggplot2")
# install.packages("tidyr")
# install.packages("msigdbr")
# 
# if (!requireNamespace("BiocManager", quietly = TRUE))
#   install.packages("BiocManager")
# BiocManager::install("piano")
# BiocManager::install("HSMMSingleCell")
# BiocManager::install("monocle")


## 载入R包
library(Seurat)
library(tidyverse)
library(ggpubr)
library(cowplot)
library(dplyr)
library(ggplot2)
library(tidyr)
library(piano)
library(msigdbr)
library(monocle)
#设置镜像
#options(repos="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")
#options(BioC_mirror="http://mirrors.tuna.tsinghua.edu.cn/bioconductor/")

##载入巨噬细胞
setwd("~/Rdata/sars_scRNA/")
MP <- readRDS("GSE171828_Seurat_object_monocyte_macrophage_DC.Rds")
## define cell cluster name 
MP$Annotation <- as.character(MP$Annotation)
MP$Annotation_2 <- as.character(MP$Annotation)

MP$Annotation[MP$Annotation_2 == "APOE pos FABP4 high tissue M2"] <- "APOE+ tissue macrophage"
MP$Annotation[MP$Annotation_2 == "SPP1 high fibrogenic M2"] <- "SPP1hi CHIT1int profibrogenic M2"
MP$Annotation[MP$Annotation_2 == "Transitional M1"] <- "Weakly activated M1"
MP$Annotation[MP$Annotation_2 == "Interferon stimulated M1"] <- "Highly activated M1"
MP$Annotation[MP$Annotation_2 == "Infiltrating macrophage"] <- "Monocyte-derived infiltrating macrophage"
#MP$Annotation[MP$Annotation_2 == "APOE pos FABP4 high tissue M2"] <- "APOE+ tissue macrophage"

## Fig5 b

#伪时序分析计算

SO.traj1 <- MP[,MP$Annotation %in% c("Monocyte-derived infiltrating macrophage", "Weakly activated M1", "Highly activated M1")]
pd <- new('AnnotatedDataFrame', data = SO.traj1@meta.data)
fd <- new('AnnotatedDataFrame', data = data.frame(gene_short_name = row.names(SO.traj1), row.names = row.names(SO.traj1)))
data <- as(as.matrix(SO.traj1@assays$SCT@data), 'sparseMatrix')
cds <- newCellDataSet(data, phenoData = pd, featureData = fd, expressionFamily = negbinomial.size())
#cds <- newCellDataSet(as(SO.traj1@assays$SCT@data, "matrix"), phenoData = pd, featureData = fd, expressionFamily = negbinomial.size())
cds$clusters <- SO.traj1$Annotation

#估计规模因素和离散度
cds <- estimateSizeFactors(cds)
cds <- estimateDispersions(cds)

#过滤低质量的细胞
set.seed(123)
cds <- detectGenes(cds, min_expr = 0.1)
markers <- FindAllMarkers(object = SO.traj1, min.pct = 0.25, thresh.use = 0.25)
markers <- subset(markers, p_val_adj < 0.05)
order.genes <- unique(as.character(markers$gene))

#构建单细胞轨迹
cds <- setOrderingFilter(cds, order.genes)
cds <- reduceDimension(cds = cds, max_components = 3,method = 'DDRTree')
cds <- orderCells(cds)
pdf("Fig5d.MP_M1_pseudotime_trajectory.pdf", 400/72,200/72)
plot_cell_trajectory(cds, color_by = "clusters", show_branch_points = F, cell_size = 0.5) + scale_x_reverse()
dev.off()
#构建单细胞UMAP轨迹
head(MP@reductions$umap@cell.embeddings)
head(cds@phenoData@data)
> head(MP@reductions$umap@cell.embeddings)
                             UMAP_1     UMAP_2
Ctrl-2:AAACCCACAATAGTAGx -4.5643387   4.824413
Ctrl-2:AAACCCACACCAGCTGx -5.9036785   3.614603
Ctrl-2:AAACCCACATGACTGTx  3.2230615 -11.148943
Ctrl-2:AAACCCAGTAGAGATTx  0.8020717   1.683502
Ctrl-2:AAACCCAGTCATAAAGx  3.4056079   4.289331
Ctrl-2:AAACCCATCAAGGACGx -5.1570769   4.094346
> head(cds@phenoData@data)
                            orig.ident nCount_RNA nFeature_RNA Sample_name Experimental_group nCount_SCT
Ctrl-2:AAACCCAGTCATAAAGx SeuratProject   7550.153         2237      Ctrl-2                 Ct       8394
Ctrl-2:AAAGTGAAGAAGTGTTx SeuratProject   7832.050         2136      Ctrl-2                 Ct       8429
Ctrl-2:AACAAGAAGTTGAAGTx SeuratProject   2246.858          991      Ctrl-2                 Ct       7883
Ctrl-2:AACAGGGCATATCTCTx SeuratProject  12854.146         3141      Ctrl-2                 Ct       9512
Ctrl-2:AACGAAACAAGACCTTx SeuratProject   4119.166         1723      Ctrl-2                 Ct       7721
Ctrl-2:AAGAACAGTGAGTGACx SeuratProject   6715.242         1945      Ctrl-2                 Ct       8183
                         nFeature_SCT SCT_snn_res.0.3 seurat_clusters SCT_snn_res.0.5 SCT_snn_res.0.4
Ctrl-2:AAACCCAGTCATAAAGx         2225               2               9               8               4
Ctrl-2:AAAGTGAAGAAGTGTTx         2135               2               9               8               4
Ctrl-2:AACAAGAAGTTGAAGTx         1552               5               8               6               4
Ctrl-2:AACAGGGCATATCTCTx         3106               2               9               8               0
Ctrl-2:AACGAAACAAGACCTTx         1813               2               8               6               4
Ctrl-2:AAGAACAGTGAGTGACx         1945               5               8               6               4
                                                       Annotation SCT_snn_res.1 SCT_snn_res.0.6
Ctrl-2:AAACCCAGTCATAAAGx Monocyte-derived infiltrating macrophage            10               9
Ctrl-2:AAAGTGAAGAAGTGTTx Monocyte-derived infiltrating macrophage             5               9
Ctrl-2:AACAAGAAGTTGAAGTx                      Weakly activated M1             9               8
Ctrl-2:AACAGGGCATATCTCTx Monocyte-derived infiltrating macrophage            16               9
Ctrl-2:AACGAAACAAGACCTTx                      Weakly activated M1             9               8
Ctrl-2:AAGAACAGTGAGTGACx                      Weakly activated M1             9               8
                                    Annotation_2 Size_Factor                                 clusters
Ctrl-2:AAACCCAGTCATAAAGx Infiltrating macrophage   1.0953478 Monocyte-derived infiltrating macrophage
Ctrl-2:AAAGTGAAGAAGTGTTx Infiltrating macrophage   1.0700055 Monocyte-derived infiltrating macrophage
Ctrl-2:AACAAGAAGTTGAAGTx         Transitional M1   0.8270419                      Weakly activated M1
Ctrl-2:AACAGGGCATATCTCTx Infiltrating macrophage   1.4714588 Monocyte-derived infiltrating macrophage
Ctrl-2:AACGAAACAAGACCTTx         Transitional M1   0.9654185                      Weakly activated M1
Ctrl-2:AAGAACAGTGAGTGACx         Transitional M1   1.0523062                      Weakly activated M1
                         num_genes_expressed Pseudotime State
Ctrl-2:AAACCCAGTCATAAAGx                2225   28.72614     5
Ctrl-2:AAAGTGAAGAAGTGTTx                2135   27.32175     5
Ctrl-2:AACAAGAAGTTGAAGTx                1552   16.39644     5
Ctrl-2:AACAGGGCATATCTCTx                3106   31.99751     5
Ctrl-2:AACGAAACAAGACCTTx                1813   26.84087     5
Ctrl-2:AAGAACAGTGAGTGACx                1945   27.36084     5


MP@meta.data<-MP@meta.data[rownames(cds@phenoData@data),]
MP@meta.data$Pseudotime <- cds@phenoData@data$Pseudotime
head(MP@meta.data)
 head(MP@meta.data)
                            orig.ident nCount_RNA nFeature_RNA Sample_name Experimental_group nCount_SCT
Ctrl-2:AAACCCAGTCATAAAGx SeuratProject   7550.153         2237      Ctrl-2                 Ct       8394
Ctrl-2:AAAGTGAAGAAGTGTTx SeuratProject   7832.050         2136      Ctrl-2                 Ct       8429
Ctrl-2:AACAAGAAGTTGAAGTx SeuratProject   2246.858          991      Ctrl-2                 Ct       7883
Ctrl-2:AACAGGGCATATCTCTx SeuratProject  12854.146         3141      Ctrl-2                 Ct       9512
Ctrl-2:AACGAAACAAGACCTTx SeuratProject   4119.166         1723      Ctrl-2                 Ct       7721
Ctrl-2:AAGAACAGTGAGTGACx SeuratProject   6715.242         1945      Ctrl-2                 Ct       8183
                         nFeature_SCT SCT_snn_res.0.3 seurat_clusters SCT_snn_res.0.5 SCT_snn_res.0.4
Ctrl-2:AAACCCAGTCATAAAGx         2225               2               9               8               4
Ctrl-2:AAAGTGAAGAAGTGTTx         2135               2               9               8               4
Ctrl-2:AACAAGAAGTTGAAGTx         1552               5               8               6               4
Ctrl-2:AACAGGGCATATCTCTx         3106               2               9               8               0
Ctrl-2:AACGAAACAAGACCTTx         1813               2               8               6               4
Ctrl-2:AAGAACAGTGAGTGACx         1945               5               8               6               4
                                                       Annotation SCT_snn_res.1 SCT_snn_res.0.6
Ctrl-2:AAACCCAGTCATAAAGx Monocyte-derived infiltrating macrophage            10               9
Ctrl-2:AAAGTGAAGAAGTGTTx Monocyte-derived infiltrating macrophage             5               9
Ctrl-2:AACAAGAAGTTGAAGTx                      Weakly activated M1             9               8
Ctrl-2:AACAGGGCATATCTCTx Monocyte-derived infiltrating macrophage            16               9
Ctrl-2:AACGAAACAAGACCTTx                      Weakly activated M1             9               8
Ctrl-2:AAGAACAGTGAGTGACx                      Weakly activated M1             9               8
                                    Annotation_2 Pseudotime
Ctrl-2:AAACCCAGTCATAAAGx Infiltrating macrophage   28.72614
Ctrl-2:AAAGTGAAGAAGTGTTx Infiltrating macrophage   27.32175
Ctrl-2:AACAAGAAGTTGAAGTx         Transitional M1   16.39644
Ctrl-2:AACAGGGCATATCTCTx Infiltrating macrophage   31.99751
Ctrl-2:AACGAAACAAGACCTTx         Transitional M1   26.84087
Ctrl-2:AAGAACAGTGAGTGACx         Transitional M1   27.36084


mydata<- FetchData(MP,vars = c("UMAP_1","UMAP_2","Pseudotime"))

p <- ggplot(mydata,aes(x = UMAP_1,y =UMAP_2,colour = Pseudotime))+
  geom_point(size = 1)+
  scale_color_gradientn(values = seq(0,1,0.2),
                        colours = c('blue','green','yellow'))

p1 <- p + theme_bw() + theme(panel.border = element_blank(),
                             panel.grid.major = element_blank(),
                             panel.grid.minor = element_blank(),
                             axis.line = element_line(colour = "black"))
p1
## Fig 5c伪时序分析热图
order.genes <- order.genes[!grepl("ENSMPUG", order.genes)]
pdf("Fig5e.MP_M1_pseudotime_heatmap.pdf", 5/2.54*2,9/2.54*1.5)
plot_pseudotime_heatmap(cds[order.genes,], num_clusters = 4, cores = 1, show_rownames = F, return_heatmap = T)
dev.off()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容