当前位置:网站首页>nichenet实战silicosis
nichenet实战silicosis
2022-06-30 15:48:00 【youngleeyoung】
############################################https://www.jianshu.com/p/5db596333dfb
#https://cloud.tencent.com/developer/article/1819551
.libPaths()
.libPaths("G:/R_big_packages/")
.libPaths(c("G:/R_big_packages/","D:/Win10 System/Documents/R/win-library/4.1","C:/Program Files/R/R-4.1.0/library"))
.libPaths()
installed.packages()[, c("Package", "LibPath")]
Sys.chmod(.libPaths(),'777')
#library(devtools)
#install_github("saeyslab/nichenetr")
#https://www.jianshu.com/p/c0f3c3728a8d
#如果不能正常加载包的话,就首先unloadNamespace这些包!!!!!!!!!!!!!!!!!!!!!!!!!!!!
for (packagename in c("dplyr","recipes","tidyselect",
"dbplyr","tidyr","ggpubr","ggplot2","usethis","broom")) {
unload(packagename)
}
library(nichenetr)
library(Seurat) # please update to Seurat V4
library(tidyverse)
library(ggplot2)
#BiocManager::install("glue")
#library("glue")
sessionInfo()
'''
NicheNet分析实践
数据来源
本文的分析数据和代码来自NicheNet官方分析单细胞数据的教程,
https://github.com/saeyslab/nichenetr/blob/master/vignettes/seurat_wrapper.md
演示数据集源自Medaglia et al. 2017 “Spatial Reconstruction of Immune Niches by Combining Photoactivatable Reporters and scRNA-Seq.” Science, December, eaao4277.
https://doi.org/10.1126/science.aao4277.
我们将使用Medaglia等人的小鼠NICHE-seq数据,探索淋巴细胞性脉络膜脑膜炎病毒(LCMV)感染之前
和之后72小时的腹股沟淋巴结T细胞区域的细胞间通讯。
在该数据集中,观察到稳态下的CD8 T细胞与LCMV感染后的CD8 T细胞之间存在差异表达。NicheNet可用于观察淋巴结中的几种免疫细胞群
(即单核细胞,树突状细胞,NK细胞,B细胞,CD4 T细胞)如何调节和诱导这些观察到的基因表达变化。
'''
getwd()
path="G:/silicosis/sicosis/NicheNet/6-30_silisosis"
dir.create(path)
setwd(path)
getwd()
1#读入单细胞数据
#seuratObj = readRDS(url("https://zenodo.org/record/3531889/files/seuratObj.rds"))
#save(seuratObj,file = "G:/silicosis/sicosis/NicheNet/seuratobj.rds")
load(file = "G:/silicosis/sicosis/NicheNet/seuratobj.rds")
seuratObj@meta.data %>% head() ##aggregate是处理条件,SS相当于control,LCMV相当于case。
seuratObj@assays$RNA@data[1107:1108,501:505]
2##读入nichenet先验数据
#ligand_target_matrix <- readRDS(url("https://zenodo.org/record/3260758/files/ligand_target_matrix.rds"))
#save(ligand_target_matrix,file ="G:/silicosis/sicosis/NicheNet/ligand_target_matrix.rds" )
load(file ="G:/silicosis/sicosis/NicheNet/ligand_target_matrix.rds")
head(ligand_target_matrix)[1:4,1:5] #说明是人源的数据
#lr_network = readRDS(url("https://zenodo.org/record/3260758/files/lr_network.rds"))
#save(lr_network,file = "G:/silicosis/sicosis/NicheNet/lr_network.rds")
load(file = "G:/silicosis/sicosis/NicheNet/lr_network.rds")
head(lr_network)
#weighted_networks = readRDS(url("https://zenodo.org/record/3260758/files/weighted_networks.rds"))
#save(weighted_networks,file ="G:/silicosis/sicosis/NicheNet/weighted_networks.rds" )
load(file = "G:/silicosis/sicosis/NicheNet/weighted_networks.rds")
weighted_networks_lr = weighted_networks$lr_sig %>% inner_join(lr_network %>% distinct(from,to), by = c("from","to"))
head(weighted_networks$lr_sig) # interactions and their weights in the ligand-receptor + signaling network
# weighted_networks列表包含两个数据框,lr_sig是配体-受体权重信号网络,gr是配体-靶基因权重调控网络
3 ###
'''
NicheNet分析
我们希望使用NicheNet预测哪些配体可能影响CD8 T细胞在LCMV感染后的差异表达基因。
此例中‘CD8 T cell’是receiver细胞,‘CD4 T’, ‘Treg’, ‘Mono’, ‘NK’, ‘B’ and ‘DC’是sender细胞。
NicheNet提供了一个打包函数nichenet_seuratobj_aggregate,它可以一步完成seurat对象的配体调控网络分析。
'''
scRNA=seuratObj
table(scRNA$celltype,scRNA$aggregate)
Idents(scRNA)
Idents(scRNA) <- "celltype"
nichenet_output = nichenet_seuratobj_aggregate(seurat_obj = scRNA,
top_n_ligands = 20,
receiver = "CD8 T",
sender = c("CD4 T","Treg", "Mono", "NK", "B", "DC"),
condition_colname = "aggregate",
condition_oi = "LCMV",
condition_reference = "SS",
ligand_target_matrix = ligand_target_matrix,
lr_network = lr_network,
weighted_networks = weighted_networks,
organism = "mouse")
# top_n_ligands参数指定用于后续分析的高活性配体的数量
#save(nichenet_output,file = "nichenet_output.rds")
load(file = "G:/silicosis/sicosis/NicheNet/nichenet_output.rds")
getwd()
4#NicheNet结果
## 查看配体活性分析结果
# 主要参考pearson指标,bona_fide_ligand=True代表有文献报道的配体-受体,
# bona_fide_ligand=False代表PPI预测未经实验证实的配体-受体。
head(nichenet_output)
names(nichenet_output)
x <- nichenet_output$ligand_activities
write.csv(x, "ligand_activities.csv", row.names = F)
5#
# 查看top20 ligands
nichenet_output$top_ligands
# 查看top20 ligands在各个细胞亚群中表达情况
p = DotPlot(scRNA, features = nichenet_output$top_ligands, cols = "RdYlBu") + RotatedAxis()
ggsave("top20_ligands.png", p, width = 12, height = 6)
# 按"aggregate"的分类对比配体的表达情况
p = DotPlot(scRNA, features = nichenet_output$top_ligands, split.by = "aggregate") + RotatedAxis()
ggsave("top20_ligands_compare.png", p, width = 12, height = 8)
# 用小提琴图对比配体的表达情况
p = VlnPlot(scRNA, features = nichenet_output$top_ligands,
split.by = "aggregate",split.plot = TRUE, pt.size = 0)
ggsave("VlnPlot_ligands_compare.png", p, width = 12, height = 8)
6#
## 查看配体调控靶基因
p = nichenet_output$ligand_target_heatmap
ggsave("Heatmap_ligand-target.png", p, width = 12, height = 6)
# 更改热图的风格
p = nichenet_output$ligand_target_heatmap +
scale_fill_gradient2(low = "whitesmoke", high = "royalblue", breaks = c(0,0.0045,0.009)) +
xlab("anti-LCMV response genes in CD8 T cells") +
ylab("Prioritized immmune cell ligands")
ggsave("Heatmap_ligand-target2.png", p, width = 12, height = 6)
# 查看top配体调控的靶基因及其评分
x <- nichenet_output$ligand_target_matrix
#x2 <- nichenet_output$ligand_target_df
write.csv(x, "ligand_target.csv", row.names = F)
# 查看被配体调控靶基因的表达情况
p = DotPlot(scRNA %>% subset(idents = "CD8 T"),
features = nichenet_output$top_targets,
split.by = "aggregate") + RotatedAxis()
ggsave("Targets_Expression_dotplot.png", p, width = 12, height = 6)
p = VlnPlot(scRNA %>% subset(idents = "CD8 T"), features = nichenet_output$top_targets,
split.by = "aggregate", pt.size = 0, combine = T, ncol = 8)
ggsave("Targets_Expression_vlnplot.png", p, width = 12, height = 8)
7#
## 查看受体情况
# 查看配体-受体互作
p = nichenet_output$ligand_receptor_heatmap
ggsave("Heatmap_ligand-receptor.png", p, width = 12, height = 6)
x <- nichenet_output$ligand_receptor_matrix
#x <- nichenet_output$ligand_receptor_df
write.csv(x, "ligand_receptor.csv", row.names = F)
# 查看受体表达情况
p = DotPlot(scRNA %>% subset(idents = "CD8 T"),
features = nichenet_output$top_receptors,
split.by = "aggregate") + RotatedAxis()
ggsave("Receptors_Expression_dotplot.png", p, width = 12, height = 6)
p = VlnPlot(scRNA %>% subset(idents = "CD8 T"), features = nichenet_output$top_receptors,
split.by = "aggregate", pt.size = 0, combine = T, ncol = 8)
ggsave("Receptors_Expression_vlnplot.png", p, width = 12, height = 8)
# 有文献报道的配体-受体
# Show ‘bona fide’ ligand-receptor links
#that are described in the literature and not predicted based on PPI
p = nichenet_output$ligand_receptor_heatmap_bonafide
ggsave("Heatmap_ligand-receptor_bonafide.png", p, width = 8, height = 4)
x <- nichenet_output$ligand_receptor_matrix_bonafide
#x <- nichenet_output$ligand_receptor_df_bonafide
write.csv(x, "ligand_receptor_bonafide.csv", row.names = F)
边栏推荐
- Php7.3 centos7.9 installing sqlserver extensions
- Bidding announcement: Tianjin housing provident fund management center database all-in-one machine and database software project (budget: 6.45 million)
- Mathematical modeling for war preparation 33- grey prediction model 2
- php7.3 centos7.9安装sqlserver扩展
- Exception class_ Log frame
- register_chrdev和cdev_init cdev_add用法区别
- BC1.2 PD协议
- RT-Thread 堆區大小設置
- Etcd教程 — 第九章 Etcd之实现分布式锁
- Niuke.com: minimum cost of climbing stairs
猜你喜欢

Installing jupyter notebook under Anaconda

HMS core audio editing service 3D audio technology helps create an immersive auditory feast

Good partner for cloud skill improvement, senior brother cloud of Amazon officially opened today
![9: Chapter 3: e-commerce engineering analysis: 4: [general module]; (to be written...)](/img/96/cbed98ec69c952f1d231ce2ed25aab.png)
9: Chapter 3: e-commerce engineering analysis: 4: [general module]; (to be written...)

快照和备份

华为帐号多端协同,打造美好互联生活

I implement "stack" with C I

Exception class_ Log frame

BC1.2 PD协议

中航无人机科创板上市:市值385亿 拳头产品是翼龙无人机
随机推荐
After 15 years of working on 21 types of hardware, where is Google?
Additional: (not written yet, don't look at ~ ~ ~) corsfilter filter;
AVIC UAV technology innovation board is listed: the fist product with a market value of 38.5 billion is pterodactyl UAV
[wechat applet] basic use of common components (view/scroll-view/wiper, text/rich-text, button/image)
Bidding announcement: remote disaster recovery project of Shenzhen Finance Bureau database
Multi terminal collaboration of Huawei accounts to create a better internet life
[activity registration] it's your turn to explore the yuan universe! I will be waiting for you in Shenzhen on July 2!
【微信小程序】常用组件基本使用(view/scroll-view/swiper、text/rich-text、button/image)
附加:(还没写,别看~~~)CorsFilter过滤器;
名单揭晓 | 2021年度中国杰出知识产权服务团队
Raft introduction
互联网研发效能实践之去哪儿网(Qunar)核心领域DevOps落地实践
《网络是怎么样连接的》读书笔记 - 汇总篇
JS ES5也可以创建常量?
RT thread heap size setting
Halcon knowledge: regional topics [07]
2022蓝桥杯国赛B组-2022-(01背包求方案数)
【牛客网刷题系列 之 Verilog快速入门】~ 位拆分与运算
MC Instruction Decoder
Restartprocessifvisible process